此时此刻的我

在这个信息爆炸的时代,更需要能够放慢脚步,沉下心,系统性的学习。

过去的我:学习轨迹记录

  • 学习极客时间的《深入剖析 Kuberntes》 - 87%
  • 分布式系统与区块链
    • 极客时间《分布式协议与算法实战》 - 4%
    • 《区块链核心算法解析》
    • 《Design Data-Intensive Applications》
      • 暂时主要是看第九章:一致性与共识
    • 《Distributed Systems, 3rd Edition, 2017》
      • 主要是第八章错误容忍
    • 《Distributed Algorithms, 2nd Edition, 2018》
      • 主要是第十二章与第十三章,共识算法
  • 完成博客《Kubernetes 网络是如何工作的》
  • 《在生命的尽头拥抱你-临终关怀医生手记》 - 进度 73%
  • 阅读 Programming Kubernetes - Developing Cloud Native Applications- 进度 7%

今年业余时间的技术侧学习计划(几个主题可以交替学习):

  1. (2 month)把 Go 的几本书都看了,同时做几个项目练练手,学学 Kubernetes 底层(预计用时 6w)
    1. 《Go 学习笔记(第六版下卷)》:基于 go 1.10,详细分析 go 的实现机制:内存分配、垃圾回收、并发调度等等
    2. 7天用Go从零实现分布式缓存GeeCache
    3. 7天用Go从零实现ORM框架GeeORM
    4. 7天用Go从零实现RPC框架GeeRPC
    5. Go 语言高性能编程
    6. balancer: 源码阅读,如何使用 go 实现常见 balancer 算法
  2. (2 month)分布式协议与区块链
    1. 《Blockchain in Action》
  3. (预计用时 1 month)学习 C 语言,同样也写写代码练练手
    1. The ANSI C Programming Language
    2. 极客时间《深入 C 语言和程序运行原理》
    3. 《Expert C Programming: Deep C Secrets》:我有个群就仿照了这书的名称
    4. 补充学习 gdb ld objdump objcopy
  4. (预计用时 3 month)学习 Linux
  • 极客时间 《Linux 内核技术实战课》
  • 极客时间 《Linux 性能优化实战》
  • The Linux Programming Interface: 学习 Linux 的顶级书藉,据说内容组织比 APUE 对新手更友好些。
  • flash-linux0.11-talk
  • 极客时间《容器实战高手课》
  • 极客时间《eBPF 核心技术与实战》
  1. (预计用时 2 month)学习计算机网络,看书、学习 CS144 课程、手动实现 TCP/IP 协议栈
  • 《Computer Networking - A Top-Down Approach, 7e》:这本书我以前学过一次,但是主要只学了应用层到传输层的内容。
  • 极客时间《网络排查案例课》

学习路径:实践类课程(比如极客时间专栏课)与系统化学习(CMU/MIT 公开课+教材)并重,可以同时或者交替进行。也并没有很严格的学习顺序要求,看兴趣吧。

不过有一点是确定的,就是希望今年一年至少能系统化地学习如下几个方面的知识:

  • Kubernetes 原理、kubernetes apiserver/operator 编程
  • 分布式与 etcd、区块链
    • 智能合约编程
  • Go 语言、Web 编程
  • 计算机网络:主要是熟悉 L3 网络层与 L4 传输层,结合 K8s 网络进行学习
  • Linux:学完 TLPR,能独立进行 Linux 性能调优与性能问题排查

电子版都可以在 z-library 上很方便地下载到,实体书的话可以在多抓鱼等二手书平台碰碰运气。

已读:

正在读:

计划读:

  • Kubernete、云原生、Go 语言
    • 《Go 学习笔记(第六版下卷)》:基于 go 1.10,详细分析 go 的实现机制:内存分配、垃圾回收、并发调度等等
  • 补充 C 语言
    • 《The ANSI C Programming Language》:上大学时看过中文版。为了学操作系统,有必要再看一遍,这次就读原著英文版吧。
    • 《Expert C Programming: Deep C Secrets》:我有个群就仿照了这书的名称
    • 补充学习 gdb ld objdump objcopy
  • Rust 语言
    • 极客时间《Rust 编程第一课》
  • 《Social Psychology, 13e, David Myers》
  • 《Principles Of Economics, 9e, N. Gregory Mankiw》
  • 《在峡江的转弯处 - 陈行甲人生笔记》
  • 《手把手教你读财报》
  • 《原则 - 应对变化中的世界秩序》
  • 《生命最后的读书会》
  • 《凤凰项目:一个 IT 运维的传奇故事》

生活:

  • 娱乐+运动:
    • 轮滑:倒滑后压步

附一份屌炸天的 CS 自学指南:https://github.com/pkuflyingpig/cs-self-learning/

  • 学习英语,目标是能流利地读写交流。

    • 主要是可以扩宽工作的选择面,外企很多职位会要求英文读写流利。
  • 容器底层原理

    • 容器镜像的文件系统:overlayfs
    • 镜像的构建流程:研究 buildkit/buildah 的实现
  • Openresty 技术栈:(暂时感觉兴趣不大)

    • 阅读《Lua 程序设计》
    • 阅读 APISIX 源码 + Openresty
    • 深入学习 Nginx 及 epoll
  • [进阶]操作系统(大概是以 OSTEP 为核心,学习时缺啥补啥吧):

    • 核心课程:Operating Systems - Three Easy Pieces: 建议结合 6.S081 课程一起学习
    • OSTEP 学习指南:https://github.com/ryan4yin/computer-science/blob/master/coursepages/coresystems/ostep/OSTEP.md
    • 学到 xv6 时可结合这份资料啃源码:xv6-annotated
    • Advanced Programming in the UNIX Environment, 3rd Edition: 同样是 Linux/Unix 系统的神书。学 OSTEP 遇到瓶颈时或可阅读。
    • Systems Performance: Enterprise and the Cloud, 2nd Edition (2020): 进阶读物,搞系统性能优化的
    • Linux eBPF: 目前相当火热的技术,极客时间买了《eBPF 核心技术与实战》,很期待。
  • 计算机网络

  • [进阶]数据库、数据结构与算法(暂时感觉兴趣不大)

    • redis 底层
    • mysql/postgresql 底层
  • 机器学习

  • 深度学习(需要机器学习基础?)

    • deep-learning - coursera: 仍然是吴恩达教授出品,圣经级别的机器学习课程,火爆多年了,内容对小白很友好。

如下是我目前想读的书单,如果决定读,就把对应的书移到「计划读」中。

  • 文学类:
    • 《百年孤独》:高中的时候读过一遍,但是都忘差不多了
    • 《霍乱时期的爱情》
    • 《苏菲的世界》:据说是哲学启蒙读物,曾经看过,但是对内容完全没印象了。
    • 《你一生的故事》:我也曾是个科幻迷
    • 《沈从文的后半生》
    • 《我与地坛》
    • 《将饮茶》
    • 《吾国与吾民 - 林语堂》
    • 《房思琪的初恋乐园》
    • 《可是我偏偏不喜欢》
    • 《月光落在左手上》
  • 人文社科
    • 《爱的艺术》
    • 《亲密关系》
    • 《怎样征服美丽少女》:哈哈,之前在豆瓣还是哪看到的,听说很有用。
    • 《被讨厌的勇气》
    • 《邓小平时代》
    • 《论中国》
    • 《探路之役 - 1978-1922 年的中国经济改革》
    • 《筚路维艰 - 中国社会主义路径的五次选择》
    • 《人体简史》
    • 《科学革命的结构》
    • 《时间的秩序》
    • 《极简宇宙史》
    • 《刘擎西方现代思想讲义》
    • 《圆圈正义-作为自由前提的信念》
    • 《人生脚本》
    • 《投资中最简单的事》
    • 《债务危机 - 我的应对原则》
    • 《这才是心理学 - 看穿伪科学的批判性思维 第 11 版》
  • 技术类

  • 我看到 github 上 gopala-kr/10-weeks 这个项目,作者进行了一项挑战——每周学习一个新技术栈,目标是在一周内理解该技术栈各项热词的含义并列出大纲,使用该技术构建一个简单的程序,并写一篇博客。我觉得我也可以试试,不过可以把难度降低一些——利用业余时间,每两个月学习一门新技术,并达成与 gopala-kr 的目标
  • 其他感兴趣的
    • 前端:Preact+Css
    • 3D 建模与渲染:Blender、Unreal Engine 5、C++、taichi
    • 音乐:乐理、Synthesizer V、Reaper、midi 键盘