在这个信息爆炸的时代,更需要能够放慢脚步,沉下心,系统性的学习。
一、我正在研究这些
按优先级排序
- Linux Device Drivers Development 2nd Edition
- 英语阅读
- The Great Gatsby - 7/41
- 英语单词与听力练习
- 一点英语 270 天英语学习 - 196/270 (漏打卡 110 天…)
二、我今年还想搞搞这些
今年的学习进展:
- Go 语言 Web 编程
- Go语言动手写Web框架 - 进度 20%
- Go 语言高性能编程
- Kubernetes 原理、Kubernetes APIServer/Operator 编程
- 操作系统
- 计算机网络
- TCP/IP Illustrated, Volume 1, 2nd Edition - 进度 31/920
- Linux 性能调优与 Linux 网络技术
- 《深入理解 Linux 网络 - 张彦飞》 - 14/320
- 极客时间《网络排查案例课》
- 极客时间 《Linux 性能优化实战》
三、今年的阅读进展
电子版都可以在 z-library 上很方便地下载到,实体书的话可以在多抓鱼等二手书平台碰碰运气。
已读:
- The Moon and Sixpence
正在读:
- Linux Device Driver Development - Second Edition: Linux 驱动编程入门,2022 年出的新书,基于 Linux 5.10,amazon 上评价不错,目前只有英文版,写的很好,对新手很友好。
- Linux Driver Development for Embedded Processors 2nd Edition: 这本是 2018 年出的,写得没上面那本好、内容也没那么新,但是看评价也不错,特点是有许多的 Lab 可做。
- Linux/Unix 系统编程手册(上册)
想读,但是没啥计划:
- 英语语法
- 《English Grammer In Use》
- 《英语语法新思维——初级教程》 - 8/366
- 英语阅读:
- Sophie’s World
- Majo no Tabitabi(魔女之旅)Vol.1
- Tasogare-iro no Uta Tsukai(黄昏色的咏使)Vol.1
- Moon Palace, by Pual Auster - 读过中文版,但是看英文版词汇量也不高,可以一读
- 《江城》
- 《被讨厌的勇气》
- 《科学革命的结构》
- 《这才是心理学 - 看穿伪科学的批判性思维 第 11 版》
- 《语言学的邀请》- 进度 68/288
- 对语言学有点兴趣,同时听说这本书对表达(沟通、写作)也大有帮助~
- 《云原生服务网格 Istio:原理、实践、架构与源码解析》
- 比较老的书了,不过用来学下 Istio 的底层架构跟源码,感觉还是有价值的。
- 《生命最后的读书会》
- 《凤凰项目:一个 IT 运维的传奇故事》
- 《复杂 - 梅拉尼 米歇尔》
- 《Principles Of Economics, 9e, N. Gregory Mankiw》
四、备选学习路线
1. 高优先级
嵌入式/物联网
嵌入式跟 IoT 是我 2022 年底开的新坑,目前兴趣强烈。
我目前收集的相关内容(仅是一个资料合集,内容有重复的):
- 嵌入式 Linux 系列
- Linux Device Driver Development - Second Edition: Linux 驱动编程入门,2022 年出的新书,基于 Linux 5.10,amazon 上评价不错,目前只有英文版,写的很好,对新手很友好。
- Linux Driver Development for Embedded Processors 2nd Edition: 这本是 2018 年出的,写得没上面那本好、内容也没那么新,但是看评价也不错,特点是有许多的 Lab 可做。
- Linux Kernel Programming: A comprehensive guide to kernel internals: Linux 内核编程领域的新书,适合入门 Linux 内核,amazon 上评价挺好,先收藏一个
- Understanding the Linux Kernel, 3rd Edition:Linux 内核技术进阶。
- linux-insides: 从 bootloader 开始讲解了 Linux 内核的许多重要的功能模块,看 stars 很高所以也在这里列一下。
- 从零开始造 OS
- 电路原理
- Practical Electronics for Inventors, Fourth Edition
- 芯片
- STM32 ESP32 RK3588s
- 目前的学习目标
- DIY 无人机编队飞行!要达成这个目标需要学习的东西有点多,慢慢努力吧~
操作系统
理解 Linux 操作系统也是我继续精进技术必不可少的技能。
- 核心课程:课程 6.S081 + 书 Operating Systems - Three Easy Pieces
- 学到 xv6 时可结合这份资料啃源码:xv6-annotated
- Systems Performance: Enterprise and the Cloud, 2nd Edition (2020): 进阶读物,搞系统性能优化的
- 《BPF Performance Tools(英文版)》:进阶读物,Linux 内核技术,主要用于搞 Linux 网络数据包处理、性能分析、系统监控的。
- Linux 系统
- 极客时间 《Linux 内核技术实战课》
- flash-linux0.11-talk
- 极客时间《容器实战高手课》
- 极客时间《eBPF 核心技术与实战》
- C 语言 / Rust 语言
- 极客时间《深入 C 语言和程序运行原理》
- 极客时间《Rust 编程第一课》
计算机网络
计算机网络可算是我的老本行了,用来吃饭的家伙事,技艺不能落下。
- 课程 CS 144: Introduction to Computer Networking
- 以前学过一次《Computer Networking - A Top-Down Approach, 7e》,这次算是重学吧。
- 课程主要使用 C++,我或许可以考虑用 rust/go 实现下协议栈?
- TCP/IP 协议栈的实现:可以参考 google/gvisor
机器学习与深度学习
2022 到 2023 这两年,AI 技术又陆续出现明显突破,ChatGPT 与 Stable Diffusion 都令人印象深刻。 我与大多数普通人一样,对 AI 技术本身兴趣不大,更感兴趣的是 AI 能带给世界哪些改变。 所以我的目标仅仅是入个门,能在自己感兴趣的领域应用上 AI 的研究成果。
- 动手学深度学习 - Pytorch 版 - 14.3%
其他杂项
Go 语言进阶
- 《Go 学习笔记(第六版下卷)》
- 基于 go 1.10,详细分析 go 的实现机制:内存分配、垃圾回收、并发调度等等
- 《Go 学习笔记(第六版下卷)》
英语
- American Pronunciation Workshop 美语发音教程
- Master Spoken English Feeling Phonics 进阶发音教程
- 《英语语法新思维——初级教程》
- 《English Grammer In Use》语法书
- 《Key words for fluency》口语表达
生活:
- 娱乐+运动:
- 轮滑:倒滑后压步
- 游泳:学会蛙泳并且提升速度
其他资料
这个列表中的内容没啥优先级,反正先列着,什么时候有兴趣可以玩玩。
附一份屌炸天的 CS 自学指南:https://github.com/pkuflyingpig/cs-self-learning/
写几个小项目(使用 rust/go)
- 实现一个文本编辑器
- 实现一个简单的 Linux 容器
- 网络代理(不到 2000 行的 TUN 库)
Go 语言 Web 编程
- 7天用Go从零实现分布式缓存GeeCache
- 7天用Go从零实现ORM框架GeeORM
- 7天用Go从零实现RPC框架GeeRPC
- balancer: 源码阅读,如何使用 go 实现常见 balancer 算法
Security Training for Engineers - PagerDuty: 花几个小时,快速学习开发人员需要了解的安全知识
Openresty 技术栈:(暂时感觉兴趣不大)
- 阅读《自己动手实现 Lua》
- 深入学习 Nginx 及 epoll
容器与 Kubernetes
- Hacking Kubernetes: Threat-Driven Analysis and Defense: Kubernetes 安全,威胁模型以及如何防护。
- Container Security: Fundamental Technology Concepts that Protect Containerized Applications: 容器安全,这书在亚马逊上评价很好。
检索技术
- 这就是搜索引擎
- 极客时间《检索技术 25 讲》
分布式数据库:
- 学习路线
- 极客时间《分布式协议与算法实战》 - 学习进度 50%
- 分布式系统:课程 MIT 6.824 + 书 Designing Data-Intensive Applications
- 数据库系统:课程 CMU 15-445
- 参加 tidb 的 talent-plan,完成 tinykv 项目
- 其他参考书籍
- 《Distributed Systems, 3rd Edition, 2017》
- 《Distributed Algorithms, 2nd Edition, 2018》
- SQL进阶教程
编程语言理论:
- 《Crafting Interpreters》:亚马逊销量第一的编译器设计书籍,好评如潮。
- 之前挑战《编程语言实现模式》,很遗憾失败了,这次我决定拿此书再战。
- Essentials of Programming Languages, 3rd Edition
- The Little Schemer - 4th Edition
- 《WebAssembly 核心原理》
- 用 Go 语言讲编程语言理论
- 《自己动手实现 Lua》
- 《自己动手实现 Java 虚拟机》
五、备选书单
如下是我目前想读的书单,如果决定读,就把对应的书移到「计划读」中。
- 文学类:
- 《百年孤独》:高中的时候读过一遍,但是都忘差不多了
- 《霍乱时期的爱情》
- 《苏菲的世界》:据说是哲学启蒙读物,曾经看过,但是对内容完全没印象了。
- 《你一生的故事》:我也曾是个科幻迷
- 《沈从文的后半生》:这本书更偏研究性质,有点难读
- 《房思琪的初恋乐园》
- 《月光落在左手上》
- 《了不起的盖茨比》
- 《The Windup Girl》:高中时读过中文版,刷新我三观,现在想再读一遍英文原版。
- 人文社科
- 《Social Psychology, 13e, David Myers》
- 《Intimate Relationships》 - 进度 14/449
- 《手把手教你读财报》
- 《原则 - 应对变化中的世界秩序》
- 《探路之役 - 1978-1922 年的中国经济改革》
- 《筚路维艰 - 中国社会主义路径的五次选择》
- 《刘擎西方现代思想讲义》
- 《圆圈正义-作为自由前提的信念》
- 《人体简史》
- 《邓小平时代》
- 《论中国》
- 《时间的秩序》
- 《极简宇宙史》
- 《人生脚本》
- 《投资中最简单的事》
- 《债务危机 - 我的应对原则》
- 《分析与思考 - 黄奇帆的复旦经济课》:这本书会需要一定的经济学基础知识,打算在入门经济学后再看
- 技术类
- 《人月神话》
- 《绩效使能:超越 OKR》
- 《奈飞文化手册》
- 《幕后产品-打造突破式思维》
- 《重构 - 改善既有代码的设计》
其他 ideas
- 我看到 github 上 gopala-kr/10-weeks 这个项目,作者进行了一项挑战——每周学习一个新技术栈,目标是在一周内理解该技术栈各项热词的含义并列出大纲,使用该技术构建一个简单的程序,并写一篇博客。我觉得我也可以试试,不过可以把难度降低一些——利用业余时间,每两个月学习一门新技术,并达成与 gopala-kr 类似的目标。
- 其他感兴趣的
- 3D 建模与渲染:Blender、Unreal Engine 5、C++、taichi
- 音乐:乐理、Synthesizer V、Reaper、midi 键盘