跳转至

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

个人技术博客

首先,我先推荐一些不错的个人技术博客。

  • 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 ,也是个非常不错的编程频道,涵盖各种技术。
  • Amazon Web Services
  • Facebook Developers
  • Google Developer ,Google公司的官方频道,其中包括Google I/O 大会、教程、新闻、最佳实践、技巧分享……
  • Spring Developer ,Spring的官方频道。
  • Microsoft Research
  • MIT 公开课
  • Stanford Online
  • 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版到今天就全部更新完成了,但我认为,这其实只是技术练级的起点,还有很多知识和技术,需要我们不断地去探索和发现。加油,我能做到的,你一定也可以做到。

下面是《程序员练级攻略》系列文章的目录。

精选留言(15)
  • newjueqi 👍(14) 💬(1)

    怎么没有中文资料的推荐?

    2018-08-10

  • 宏辉 👍(1) 💬(1)

    很是好奇,耗叔是如何整理记录这些个学习资料的?还有您的一些学习方法,思考问题解决问题的方法论。在后面的篇章能不能进行一下分享。

    2019-07-31

  • 小黑 👍(0) 💬(1)

    耗爷的文章都挺好的,但这么多外链的文章在手机上看真是累……,语音也没有意义。

    2018-08-10

  • 寻路之人 👍(52) 💬(0)

    耗哥,什么时候写一下如何阅读学习github开源项目经验呢,等了好久哦

    2018-08-09

  • 图·美克尔 👍(25) 💬(0)

    看到了一百级时能点的天赋了…

    2018-08-09

  • 铁憨憨 👍(10) 💬(0)

    就这样,结束了吗?好想多听老师讲些golang的内容

    2018-08-09

  • ydp 👍(9) 💬(0)

    感谢耗子老师,持续关注您的博客(coolshell.cn)八九年,很早之前看过您博客那篇修炼文章以及很多其他方面的文章,收获很大。 这次的2018版修炼系列,深度,广度更加宽广,像是获得了一个宝盒,可以持续修炼,精进自己的能力。这次资料更加具体系统,深入(比如:What every programmer should kown about memory;对cpu,内存的更多系列更加深入的认知)。 您推荐的很多资料,零散的看过一些,不够系统,深入度也有一些欠缺(现在的技术水平处于高级开发和初级架构师之间)。这个系列刚好画好了一张很好的修炼地图,不知道自己能否完全坚持下来,非常感谢。 虽然这个修炼系列结束,这里提点儿小建议,希望您能采纳: 不知道后续能否在coolshell上开几篇资源贴,持续更新您看到的新的领域,新的方向一些优质内容,您的修为高度看到的问题,推荐的一些深度的资料,应该可以让更多人受益。非常感谢! 再次感谢耗子老师o(^o^)o

    2018-08-11

  • chestnut 👍(8) 💬(3)

    耗子叔叔,我是一名中级java开发工程师,咨询一个问题:3个月的时间想快速成长为高级程序员,并且去阿里上班。在不耽误工作的前提下,系统复习,该如何做? 文中说的成长体系我都懂,但是要养家糊口,所以第一部想快速成长。

    2018-09-11

  • 十三画生 👍(5) 💬(0)

    对于一个正在读研的学生来说,这些整理过的学习资源实在是太给力了,找准方向,认真学就完事了,每天可以投入12h+的时间在这上面,好充实。

    2018-10-11

  • 德普王 👍(4) 💬(0)

    Bruce Eckel’s 新博客地址:https://www.bruceeckel.com/

    2020-03-05

  • 零零 👍(4) 💬(0)

    以前没好好看这篇,前一阵子get 到medium的好,今天发现耗子叔早就提过了orz,专栏每次再读都有新收获

    2019-12-30

  • (╯‵□′)╯︵┻━┻ 👍(4) 💬(0)

    推荐Derek Banas大叔。他的视频是我们上一个大项目的御用免费技术栈入门培训。在youtube还没有倍速播放的年代能够通过自己的声线和节奏让人进入心流。念代码有说唱节奏,视频聚焦效果很好。好像因此启蒙了我的技分享讲话风格。 他的30分钟学会XXX系列涵盖了普通码农会接触到的几乎所有主流技术概念,可以当认知的干地图的。本来flag过合适我的全看一遍,直到后来发现了Oreilly。。。

    2019-11-16

  • 深藏Blue 👍(4) 💬(4)

    耗子老师,我迫切的需要知道,在国内练级的第一步 --- 无障碍访问 Google Search & YouTube 怎么做到

    2019-08-26

  • 👍(4) 💬(0)

    困难很有意思,你不干他,他会偷偷的干你,你一旦坚定不移的干他,他就消失了。宝图已阅,寻宝路才刚刚开始,加油!

    2019-01-12

  • JSJohnsonJS 👍(3) 💬(0)

    读这一章节,有点像玩《艾尔登法环》一样,一开始收集地图碎片打开了很多的地图,让人感叹,这个世界是如此是宽广。然后每一块地图,都有无数的细节,都有一个艰难的Boss。看完本章节,地图打开了,但是对地图的探索,才刚刚开始。

    2022-07-16