一份书单
Learn enough to be dangerous
一、计算机本科学习
1.计算机组成原理
- 《计算机组成与设计: 软硬件接口》相对清晰简单,主要基于Mips
- 《深入理解计算机系统(第2版)》 又称作 CSAPP
- 《编码:隐匿在计算机软硬件背后的语言》
2.操作系统
- 《Operating Systems: Three Easy Pieces》, 必读, 神书
- 清华大学操作系统实验课ucore
- 现代操作系统
3.面向对象程序设计
设计模式
- 《大话设计模式》很通俗易懂,入门用
- 《Code Complete》又叫做代码大全,非常有帮助
- 《架构整洁之道》算是神书之一,对架构理解非常有帮助
- 《设计模式:可复用面向对象软件的基础》
- 《编程珠玑》
4.编译原理
- 《龙书(Compilers: Principles,Techniques,and Tools)》
- 《虎书(Modern Compiler Implementation in C)》
- 《鲸书(Advanced Compiler Design and Implementation)》
- llvm 现代编译器,拥有非常好的IR--指令中间表示
- 90min-scheme2c 经典教程
5.计算机网络
- 教材 《计算机网络 谢希仁》,写的一般,只是够用,做了计算机网络实验才能明白书上在说啥。
- 《计算机网络:自顶向下》听说比教材好一些。
6.数理基础
高等代数
- 《线性代数就应该这样学》
- 《线性代数及其应用》
- 《Analysis I : Third Edition》
微积分
- 《托马斯微积分》从高中基础开始
- 《普林斯顿微积分读本》
- 菲赫金哥尔茨的微积分教程
- 卓里奇的数学分析
- rudin的数学分析原理
离散数学
- 《离散数学及其应用》
- 《具体数学》这本公式多,有很多在计算机领域的实际应用,比较难啃,需要深入读和做题。
概率统计
- 《概率论与数理统计》陈希孺
- 《初等概率论》钟开莱
最优化
信息论
https://www.zhihu.com/question/44110295/answer/1201169774
其他
- 《数学悖论与三次数学危机》讲数学史,围绕数学史上促使数学发展的悖论,讲述为什么我们现在的数学体系是现在这个样子,很推荐作为数学科普读物。
- 《数学女孩》结城浩,有很多有趣的题目,轻松的数学读物,展现数学的美。
7.数据结构
- 清华大学MOOC 邓俊辉老师 《数据结构》, 很清晰。
8.ACM算法竞赛
- 《算法竞赛入门经典 刘汝佳》入门
- 练习、练习、不断地练习!
- Leetcode
- 洛谷
- codeforce
- Top Coder
9.信息安全
- CTF竞赛, 靶场
- 密码学
- 吾爱破解论坛
- 反汇编 ida pro
- how to become a hacker
- kali-linux
10. 编程语言学习
C language
- 黑C: 《C程序设计语言》不是唐浩强那本
python
- 推荐先看 廖雪峰的教程,菜鸟教程快速上手。
- 《流畅的python》推荐在有一定python基础和实践后阅读,比较多和解释器直接交互的部分,和Java的反射机制有点类似。
Java
- 《Java核心技术 卷I》
C++
- 《C++ Primer》推荐
- 《C++ Primer Plus》读完半本,觉得一般,比较繁琐。
Objective-C
- 《objective-C编程》
- 《深入理解MacOSX&iOS操作系统》
- 《Effective objective-C》
- 《iOS编程(第四版)》
ruby 小众
- ruby on rails tutorial, 读完整本书,实现所有书上的功能,就能基本理解web的整套流程。
- ruby china 官方网站
- 《ruby元编程》对于理解动态语言很有帮助
- The Art of the Metaobject Protocal (AMOP)
人工智能
- 西瓜书 《机器学习 周志华》
- 花书 《深度学习》
- 《统计机器学习 李航》
- 《信号与系统》作为计算机视觉的先导课,重点是傅里叶变换
- 课程,吴恩达 深度学习, bilibili上有中文字幕, 零基础教学
- 课程, 李飞飞 CS231n 计算机视觉
- 深度学习框架: 首选 pytorch, 其次 tensorflow, 然后MXNET,未来可能oneflow
- awesome object detection
动手教程:
- 《可解释的机器学习》
杂书
- 自控力
- 打造Faceboo
- 黑客与画家
- 被讨厌的勇气:阿德勒心理学,对人际关系非常有指导意义
- 哈佛大学: 积极心理学,公开课,又称作<幸福课>, 学会如何变得更加快乐,很推荐。
- 中国哲学史 冯友兰
- 影响力 罗伯特•B•西奥迪尼
- 与原生家庭和解,爱丽丝.米勒
三、好用的工具
- Typora 最好看舒服的markdown书写工具,写文档必备
- Tmux 非常方便的终端复用工具,在远程主机维持一个服务,可断线重连
- Vim 服务端用到比较多
- git Git权威指南中文手册
Them
- 陈立杰
- 楼天城
- 韩衍隽
- 范浩强
- 乔明达
- 戴文渊
- 唐文斌
- Jure Leskovec
开源书单
- https://github.com/CyC2018/CS-Notes 109k star
- https://github.com/iamshuaidi/CS-Book pdfs 4.3k star
- https://github.com/woai3c/recommended-books pdfs 直接下载 1.5k star
- https://github.com/justjavac/free-programming-books-zh_CN 69k star