本人学过的资料清单,列在这里的基本都是值得一读的(不然我也不会把它看完),如果需要学习相关的主题都可以参考。加粗的是强烈推荐的。
书籍
纸质书
程序员修炼之道:通向务实的最高境界
经典的程序员必读书籍,书中包含了给程序员的 99 条建议,涵盖了软件开发的方方面面,既有非常实用的实战建议,也有很多重要编程概念的阐释,读完会有很大的收获。
计算机底层的迷雾
图文并茂地讲了 CPU、内存、操作系统、cache 等的原理,讲解非常深入浅出,如果没时间看计算机系统原理的大部头看看这本也挺好的。
JavaScript Ninja
对 JavaScript 中的函数、对象、闭包、异步编程等知识点进行了生动而深入的阐述,适合在学习完 JS 基础后进阶学习。
JavaScript 面向对象精要
比较老的一本书,涵盖了 JS 面向对象的所有需要了解的知识(不包括 es6 之后的)。这本看完基本上对于原型链
Crafting The Interpreter(看了一半)
有趣的编译原理实战书籍,通过手动构建两个编译器来学习编译原理(分别使用 Java 和 C),同时还能学到一些比较好玩的设计模式和 C 语言技巧。
How Software Works
特别有意思的一本小书,讲解的内容涵盖了计算机图形学、密码学、压缩算法等等,学完可以对这些计算机世界的基础技术有一个基本的了解,非常有利于拓展视野。
讲离散数学的一本小书,思路很清晰,适合快速入门学习。
软技能:代码之外的生存指南
程序员软技能
这本书讲了一些程序员职业生涯中需要的软技能,包括职业规划、沟通、时间管理、团队协作等等。
PWA in action 中文版
PWA 在国内用不了,但国内也有类似的技术,其背后的思想也非常值得了解。过一过这本书就能对 PWA 和 Service Worker 的使用有一个基本的掌握。
著名的 JS 书籍《你不知道的 JavaScript》英文原版。
C 和指针
讲得特别好的一本 C 语言书籍,翻译很不错,读起来很流畅。
面向对象是怎样工作的
讲解面向对象理论的一本小书,读完对面向对象有了更清晰的认识。
大话数据结构
我的数据结构入门书籍,别人让我推荐相关书籍的话我会推荐这一本。
Rust 官方教程,实习的时候看了一遍,但因为没怎么实际使用所以基本忘差不多了。在看书的基础上还是应该多做一些实战项目,否则学习效果不好。
用可视化的方式讲线性代数,简洁清晰,适合复习用。
前端架构师 - 侯策
讲了一些前端比较深入的知识点,准备面试可以看看。
CSS 揭秘
很喜欢 CSS 的朋友可以看看这本书,讲了很多奇技淫巧。
小册
前端工程师必须了解的知识。
讲解图片和视频技术非常清晰的一个课程,给我的面试帮了大忙。
比较鸡汤,如果有免费阅读的机会可以过一过,一些观点还是很有价值的。
张鑫旭写的技术写作指南,涵盖了准备、写作、发布的全流程,有很多值得参考的信息。
把这玩意练一遍 TS 基本就没问题了。
很好的一本函数式编程入门书籍,讲解易于理解的同时也不乏深度。
用 C 语言写一个 Lisp 编译器,讲解清晰,适合 C 语言和编译原理入门。
上面几本小册都是入门性质的,如果需要学习或复习相关的技术,看这几本就可以了。
上面三本都是音乐相关的小册,网站做得特别好,可以在线互动练习。对乐理感兴趣的朋友不要错过。
视频课程
Youtube
Coursera
通过 SML,Racket,Ruby 讲各种编程语言概念,包括面向对象和函数式编程,这些知识是每一个想要写好代码的程序员都应该了解的。看过这个之后学任何语言都能快速上手。
学完之后可以对整个计算机系统的原理有一个初步的了解,从最底层的硬件到操作系统、编译器,实战化的学习方式非常有益于知识入脑。
Udemy
Linux Mastery: Master the Linux Command Line in 11.5 Hours
很好的 Linux 入门课程,学完之后可以比较熟练地使用 Unix 系统命令行。
Frontend Masters
Frontend Masters 是国外的一个内容质量极高的前端学习平台,采用会员制,价格较高(一年一千多)。Github Education 会赠送 6 个月的免费体验,淘宝上也可以购买账号。
列在这里的课程基本没有不好的(讲得不好的我看一半就不看了),需要学习什么 topic 就直接参考对应的课程即可。