网上技术分享评级
(按对个人成长帮助排名)
垃圾级别:程序员的生活、吐槽、抱怨、职业规划、人际交往经验、科技圈的新闻、人物访谈、编程语言宗教。首先要明白,这些文章的出现是有利益在推动的,可能是网站/公众号的编辑的KPI;可能是为了吸引眼球为网站拉流量,赚取PV然后放广告谋利益;可能是团队/项目为了说故事,扩大影响力,就在网上变相说自己牛逼。其特点是不提设计空间(design space和trade-off)和不提系统设计实现重点,只是只言片语提一下Buzzword,为了造轮子而去挖坑或者用开源工具而去做项目,进一步夸大性能提升和业务提升,强调自己的工作量。这些内容并不一定能帮助读者的成长,只能浅尝。
木材级别:具体的技术细节,可能遇到的坑,如何实现某种细节效果,博客。
——最好在自己动手时用搜索引擎针对性地获取这些资料,平时看到特别特别感兴趣的可以保存备忘,但是不必每一个都存。看到一些新人在印象笔记里存了大量技术文章,看上去很努力,回过头再也不去碰,自己管理和搜索都比较麻烦,过一段时间也可能过时。还是交给互联网和搜索引擎来管理。钢材级别:分门别类的介绍各种语言实践,开源工具适合的场合,架构的演化过程。通过熟悉这些东西就能自己搭建常见的系统架构,并根据业务增长和用户扩张进行演化,使用恰当的语言把不同的系统粘合起来,例如基于Web和数据库的应用:LAMP、MEAN、Memcached、Nginx的使用;基于爬虫和数据分析框架的应用:Scrapy、Thrift、Kafka、HDFS、Spark。
钻石级别:基础原理(数据库设计、数据结构、算法、并行编程、计算机网络、操作系统)、类似于GoF、POSA设计模式的编程经验总结、类似于Google、Facebook、Linkedin系统架构的实现论文(比如USENIX组织的相关会议OSDI、NSDI),在会议上的slides分享:http://www.cs.cornell.edu/projects/ladis2009/talks/dean-keynote-ladis2009.pdf
如果说钢材级别是用轮子,那通过学习这些钻石级别的基础原理,并能够在系统底层进行实践,就能够设计出满足业务特殊需求的轮子,极大地提升系统的性能、可扩展性、可伸缩性;并进一步用技术创新推动业务和产品的创新。