极客时间已完结课程限时免费阅读

90 | 程序员练级攻略:技术资源集散地

90 | 程序员练级攻略:技术资源集散地-极客时间

90 | 程序员练级攻略:技术资源集散地

讲述:杨超

时长14:36大小13.34M

你好,我是陈皓,网名左耳朵耗子。

个人技术博客

首先,我先推荐一些不错的个人技术博客。
Coding Horror ,这是杰夫·阿特伍德(Jeff Atwood)于 2004 年创办的博客,记录其在软件开发经历中的所思所想、点点滴滴。时至今日,该博客每天都有近 10 万人次的访问量,读者纷纷参与评论,各种观点与智慧在这里不断地激情碰撞。其博文选集在中国被翻译成《高效能程序员的修练》,在豆瓣上有 8.3 的高分。2008 年,他和 Joel Spolsky 联合创办了 StackOverflow 问答网站,为程序员在开发软件时节省了非常多的时间,并开启了“StackOverflow Copy + Paste 式编程”。
Joel on Software ,Joel Spolsky 的这个博客在全世界都有很多的读者和粉丝,其博文选集在中国被翻译成《软件随想录》在豆瓣上有 8.7 的高分。这是一本关于软件技术、人才、创业和企业管理的随想文集,作者以诙谐幽默的笔触将自己在软件行业的亲身感悟娓娓道来,观点新颖独特,简洁实用。
Clean Coder Blog ,这是编程大师“Bob 大叔”的博客,其真名叫 Robert C. Martin,世界级软件开发大师,设计模式和敏捷开发先驱,敏捷联盟首任主席,C++ Report 前主编,被后辈程序员尊称为“Bob 大叔”。其博文选集在中国被翻译成《程序员的职业素养》,在豆瓣上有 8.8 的高分。
Martin Fowler ,这是另外一个程序员大师,Martin 主要专注于面向对象分析与设计、统一建模语言、领域建模,以及敏捷软件开发方法,包括极限编程。他的《重构》、《分析模式》、《企业应用架构模式》、《领域特定语言》和《NoSQL 精粹》都是非常不错的书。在他的博客上有很多很多的编程和架构模式方法可以学习。
Paul Graham Essays ,美国著名程序员、风险投资家、博客和技术作家。《黑客与画家》是他的著作之一。2005 年他与人共同创建了科技创业孵化器 Y Combinator,孵化了 Airbnb、Dropbox、Stripe 等知名互联网公司。他有几篇创业方面的文章都很经典,如果你想创业,可以读一读这几篇:《How to Get Startup Ideas》、《Do Things that Don’t Scale》、《Startup = Growth》。Paul Graham 的文章以清新自然,思想深刻见长。不仅可以跟 Paul Graham 学创业,学思考,学技术,更可以学习写作。
Steve Yegge ,Steve Yegge 这个人算是一个知名的程序员了,在 Amazon 呆过,现在在 Google,他的文章都是长篇大论,最知名的文章就是对 Amazon 和 Google 平台的吐槽,这篇文章引发了大家的讨论和议论。
Bruce Eckel’s Programming Blog ,《Thinking in Java》作者的博客,他之前的博客在 artima - Computing Thoughts
Herb Sutter ,C++ 大拿,C++ 标准委员会专家,微软软件架构师。《Exceptional C++ 》、《More Exceptional C++》、《Exceptional C++ Style》作者。
Eli Bendersky’s website ,这位老哥从 2003 年就一直写博客到今天,其中的文章都非常不错,原理型的,主要是 C、C++ 和 Python 相关的。里面有很多干货。
Peter Krumins’ blog ,这位老哥从 2007 年开始写博客,他博客里好玩的东西太多了。
Brendan D. Gregg ,Brendan 是 Netflix 的工程师,他的博客里有大量的非常不错的文章,基本上都是和 Linux 性能分析相关的,这是一个如果你要玩底层性能分析一定不能错过的博客。
Evan Klitzke ,主要讨论 Linux 和 C++ 相关的内容。
Julia Evans ,主要讨论 Linux debug 工具和网络相关的内容。
null program ,和 C/C++ 相关的一个博客。其中关于 Linux 系统调用、GPU、无锁编程、JIT 编译的一些文章非常不错。
Fluent {C++} ,博主是 Murex 的首席工程师,主要玩 C++,在这个博客里有很多很不错的 C++ 相关的文章。
Preshing on Programming ,这也是一个和 C/C++ 相关的博客,其中有很多的干货。
Programming is Terrible ,这个博客有很多强观点的文章,主要是软件开发中的一些教训。
Accidentally Quadratic ,姑且翻译成事故二次方,这里有好些非常有趣的文章。
Hacker Noon ,这是一个一堆人在写的博客,里面有很多质量很高的文章。
其实还有很多不错的博客,不过,现在国外不错的博客都在一个叫 Medium 的网站,我也发现我 Google 很多东西时都会到这个网站上。这个网站上的内容不只有技术的,还有很多很多其他方面的内容,比如文化、艺术、科学等等。这个网站就是一个博客发布系统,其是由 Twitter 联合创始人埃文·克拉克·威廉姆斯(Evan Clark Williams)和克里斯多福·艾萨克·比兹·斯通(Christopher Isaac Biz Stone)创办的,这两个人觉得 Twitter 上全是垃圾没有营养的信息。所以,创办了 Medium,这个平台上有专业和非专业的贡献者,亦有受雇的编者。
我已经感觉到,未来高质量的文章都会在 Medium 这个平台上出现,因为有一些公司的技术博客也在这个平台上发布了,比如 Netflix 的。所以,你有必要上到这个平台上 follow 一些作者、专栏和主题。

YouTube 技术频道

下面是我订阅的一些我认为还不错的和编程相关的频道,推荐给你。
Devoxx ,Devoxx 的频道,其中有各种很不错的技术分享。
Coding Tech ,也是个非常不错的编程频道,涵盖各种技术。
Google Developer ,Google 公司的官方频道,其中包括 Google I/O 大会、教程、新闻、最佳实践、技巧分享……
Spring Developer ,Spring 的官方频道。
Prof. Dr. Jens Dittrich ,一个德国教授开的一个关于数据库相关的频道,里面有很不错的数据库内在原理的内容。
Red Hat Summit ,RedHat 峰会频道,其中有很多和 Linux 相关的技术新闻和分享。
Open Networking Summit ,这是一个网络相关的频道。
Dan Van Boxel ,这是一个机器学习工程师折腾各种事的视频,挺有意思的。
The New Boston ,这个频道应该是前端开发工程师必去的地方,可能也是我所知道的最好的关于前端技术的 YouTube 频道。
Derek Banas 是一个教程型的频道,其中包括编程语言、游戏开发、Web 开发……我个人觉得是一个可以用来练英文听力的频道。
Java ,Java 相关的各种分享。
CppCon ,C++ 大会的一些视频,可以让你了解很多 C++ 最新功能和相关的动态。
Computerphile ,这个频道是布雷迪·哈伦(Brady Haran)运作的几个频道中的一个,在这个频道里你可以看到很多很有趣的技术方面的科普教程、资讯、见闻等,说得都非常地简单易懂,所以有大量的订阅用户。布雷迪是个对任何技术都很有热情的人,这个频道是关于计算机技术的。除此之外,他还运作 Numberphile(数学)、Periodic Videos(化学)、Sixty Symbols(物理)、Deep Sky Videos(天文)等有众多阅人数的频道。如果你喜欢,你都可以一一订阅,感觉就是一个个人版的 Discovery。
关于安全,有如下四个频道你可以订阅一下:
DEFCONConference ,defcon.org 的官方频道。
CCCen ,Chaos Computer Club。
RSA Conference ,RSA Conference。
Black Hat - Black Hat Conference。

各大公司技术博客

细心的你一定会发现这份攻略中的很多推荐文章都来自于各个公司的技术团队的博客。是的,跟随这些公司的博客,你不但可以看到这些公司的工程技术,还能掌握到一些技术方向和趋势。
下面是 Airbnb、AWS、Cloudera、Dropbox、Facebook、Google 等各个公司的技术博客列表。

论文

要想将技术研究得精深,论文是必不可少的。那要如何读论文呢?

如何读论文

下面有几篇文章,教你一些读论文的方法,非常不错。

论文集散地

要成长为一个高手,论文是你一定要读的。下面是一些非常不错的计算机方面的论文集散地。
2 Minute Papers ,这是一个 YouTube 的频道,其会给出一些非常不错的和计算机相关的论文介绍,让你了解目前最有意思的一些科学突破,每次两分钟左右。
Best Paper Awards in Computer Science ,从 1996 年以来,获奖的计算机科学方面的论文收集。
Google Scholar ,Google 学术搜索(英语:Google Scholar)是一个可以免费搜索学术文章的网络搜索引擎,由计算机专家阿努拉格·阿查里雅(Anurag Acharya)开发。2004 年 11 月,Google 第一次发布了 Google 学术搜索的试用版。该项索引包括了世界上绝大部分出版的学术期刊。
Facebook ,Facebook 公司的论文。
Research at Google ,Google 发布一些论文。
Microsoft Research ,微软发布的论文。
MIT’s Artificial Intelligence Lab Publications ,MIT 和人工智能相关的论文。
MIT’s Distributed System’s Reading Group ,MIT 和分布式系统相关的论文。
arXiv Paper Repository ,arXiv 是一个收集物理学、数学、计算机科学与生物学的论文预印本的网站,始于 1991 年 8 月 14 日。截至 2008 年 10 月,arXiv.org 已收集超过 50 万篇预印本。至 2014 年底,藏量达到 1 百万篇。
在 2014 年时,约以每月 8000 篇的速度增加。arXiv 的存在是造就科学出版业中所谓开放获取运动的因素之一。现今的一些数学家及科学家习惯先将其论文上传至 arXiv.org,再提交予专业的学术期刊。这个趋势对传统学术期刊的经营模式造成了可观的冲击。
SciRate ,arXiv 上的论文太多,所以,SciRate 索引了 arXiv 上的一些好评的论文,并供大家评论和打分。(开源代码。)
cat-v.org ,这个网站,不只有论文,还有技术手册或是一些有意思的文章,包括一些历史资料什么的。
Usenix: Best Papers ,Usenix 上推荐的最佳论文。
The Morning Paper ,该博客会每天推送一篇论文,特别棒。
Lobste.rs tagged as PDF ,Lobsters 是一个聚焦于技术的社区,主要是链接聚合和对话题进行讨论。其中的 PDF 分类可以认为也是一个论文的集散地。
Papers We Love ,GitHub 上的一个近 3 万颗星的计算机科学方面的论文社区。

小结

总结一下今天的内容。这篇文章我主要跟你分享了一些好的学习资源,帮你开拓眼界,为后续学习夯实基础。
首先,我推荐了 Coding Horror、Joel on Software、Clean Coder Blog、Martin Fowler、Paul Graham Essays 等多个知名的个人技术博客。然后分享了一些我认为还不错的和编程相关的 YouTube 频道,比如 Coding Tech、Amazon Web Services、Facebook Developers、Google Developer 等。
随后是 Airbnb、AWS、Cloudera、Dropbox、Facebook、Google 等各个公司的技术博客,跟随这些公司的博客,你不但可以看到这些公司的工程技术,还能掌握到一些技术方向和趋势。最后,想成长为一个高手,论文是一定要读的。所以,我给出了一个非常不错的计算机方面的论文集散地,并推荐了一些学习资源来教你如何读这些论文。
我一直认为,学习需要自我驱动,要学会自己“找食物”,而不是“等着喂”。程序员练级攻略 2018 版到今天就全部更新完成了,但我认为,这其实只是技术练级的起点,还有很多知识和技术,需要我们不断地去探索和发现。加油,我能做到的,你一定也可以做到。
下面是《程序员练级攻略》系列文章的目录。
分享给需要的人,Ta购买本课程,你将得29
生成海报并分享

赞 20

提建议

上一篇
89 | 程序员练级攻略:UI/UX设计
下一篇
91 | 程序员练级攻略的正确打开方式
unpreview
 写留言

精选留言(56)

  • 寻路之人
    2018-08-09
    耗哥,什么时候写一下如何阅读学习github开源项目经验呢,等了好久哦
    49
  • 图·美克尔
    2018-08-09
    看到了一百级时能点的天赋了…
    25
  • 铁憨憨
    2018-08-09
    就这样,结束了吗?好想多听老师讲些golang的内容
    10
  • ydp
    2018-08-11
    感谢耗子老师,持续关注您的博客(coolshell.cn)八九年,很早之前看过您博客那篇修炼文章以及很多其他方面的文章,收获很大。 这次的2018版修炼系列,深度,广度更加宽广,像是获得了一个宝盒,可以持续修炼,精进自己的能力。这次资料更加具体系统,深入(比如:What every programmer should kown about memory;对cpu,内存的更多系列更加深入的认知)。 您推荐的很多资料,零散的看过一些,不够系统,深入度也有一些欠缺(现在的技术水平处于高级开发和初级架构师之间)。这个系列刚好画好了一张很好的修炼地图,不知道自己能否完全坚持下来,非常感谢。 虽然这个修炼系列结束,这里提点儿小建议,希望您能采纳: 不知道后续能否在coolshell上开几篇资源贴,持续更新您看到的新的领域,新的方向一些优质内容,您的修为高度看到的问题,推荐的一些深度的资料,应该可以让更多人受益。非常感谢! 再次感谢耗子老师o(^o^)o
    展开
    9
  • newjueqi
    2018-08-10
    怎么没有中文资料的推荐?

    作者回复: 没有。因为计算机的第一手资料在国外,学习第一手资料是很关键的

    8
  • chestnut
    2018-09-11
    耗子叔叔,我是一名中级java开发工程师,咨询一个问题:3个月的时间想快速成长为高级程序员,并且去阿里上班。在不耽误工作的前提下,系统复习,该如何做? 文中说的成长体系我都懂,但是要养家糊口,所以第一部想快速成长。
    共 3 条评论
    7
  • DeppWang
    2020-03-05
    Bruce Eckel’s 新博客地址:https://www.bruceeckel.com/
    3
  • 零零
    2019-12-30
    以前没好好看这篇,前一阵子get 到medium的好,今天发现耗子叔早就提过了orz,专栏每次再读都有新收获
    3
  • (╯‵□′)╯︵┻━...
    2019-11-16
    推荐Derek Banas大叔。他的视频是我们上一个大项目的御用免费技术栈入门培训。在youtube还没有倍速播放的年代能够通过自己的声线和节奏让人进入心流。念代码有说唱节奏,视频聚焦效果很好。好像因此启蒙了我的技分享讲话风格。 他的30分钟学会XXX系列涵盖了普通码农会接触到的几乎所有主流技术概念,可以当认知的干地图的。本来flag过合适我的全看一遍,直到后来发现了Oreilly。。。
    展开
    3
  • 深藏Blue
    2019-08-26
    耗子老师,我迫切的需要知道,在国内练级的第一步 --- 无障碍访问 Google Search & YouTube 怎么做到
    共 3 条评论
    3
  • 平头百姓
    2019-04-24
    感谢大哥,订阅的太晚了
    共 1 条评论
    3
  • 2019-01-12
    困难很有意思,你不干他,他会偷偷的干你,你一旦坚定不移的干他,他就消失了。宝图已阅,寻宝路才刚刚开始,加油!
    3
  • 蓓岑2015
    2018-11-02
    大家都说github是程序员的知识宝库,可是面对浩瀚的github,程序员该怎么快速高效的获取自己想要的知识呢?或者请老师写一个github最佳实践吧,O(∩_∩)O谢谢。
    3
  • 十三画生
    2018-10-11
    对于一个正在读研的学生来说,这些整理过的学习资源实在是太给力了,找准方向,认真学就完事了,每天可以投入12h+的时间在这上面,好充实。
    3
  • 劳动的人儿
    2018-09-18
    英语基础不好的人,只是会音标和简单语法如何才能到达阅读英文资料的水平呢
    共 2 条评论
    3
  • 右耳朵猫咪
    2018-09-13
    读了耗子哥的文章,我流泪了。为什么会流泪呢,是因为耗子哥在文章里加了洋葱!对,是洋葱!太精彩了,太让人感动了,这种浑然天成的叙事手法让人眼前一亮,为之一振!但是我现在好害怕,我怕我以后再也读不到这么好的文章了,怎么办!啊!
    共 1 条评论
    3
  • 希望
    2018-08-10
    想知道耗子哥是如何组织自己的知识的。很多东西学习了,或者实践了,当时还是印象很深刻。但过一段时间没有接触后就忘记了。结果就是自己的知识结构很杂,而且都是碎片化的,不够系统
    3
  • haha
    2018-08-09
    感谢晧叔总结这么多干货!
    3
  • JSJohnsonJS
    2022-07-16
    读这一章节,有点像玩《艾尔登法环》一样,一开始收集地图碎片打开了很多的地图,让人感叹,这个世界是如此是宽广。然后每一块地图,都有无数的细节,都有一个艰难的Boss。看完本章节,地图打开了,但是对地图的探索,才刚刚开始。
    2
  • 程序员小跃
    2019-12-12
    终于断断续续的把程序员练级攻略初步浏览完,我也知道,这不是结束,是一个新的开始。需要时间的积累,需要实践的积累,需要能力的提升,希望若干年后能成为自己想成为的那个人
    2