总有一天我会搞清楚所有的细节
刚进校园那会儿,我还是个软工新生。对计算机行业的大部分概念只是听过:面经、八股、活水、HC,一大半是黑话;对就业方向的理解也停留在前端、后端、算法、游戏、嵌入式这些词上,像是高中文理分科的一张表,以后选一个就完事。
那时我默认技术是分立的:选了哪个方向,就沿着哪条线往下走,别的与我无关。后来才发现,这种分法是招聘市场的分法,不是技术本身的分法。招聘需要把人切成岗位,技术却从不按岗位延伸。所以我想,在技术热忱还没被现实冲散前,一定要建立起一整个大技术观。
你写了一个 Demo,在本地跑通,然后连上服务器把它跑起来。这中间发生了什么?
DNS 把域名解析成 IP,TCP 完成三次握手,TLS 协商出密钥,HTTP 请求落到 80 或 443 端口;服务器上,systemd 早把 sshd 拉了起来,sshd 为你会话 fork 出一个 shell,shell 再启动你的进程;内核给它分配地址空间和文件描述符,检查 UID 与 GID,调度器安排它什么时候拿到 CPU。你只敲了一行 ssh,这些都在背后为你支撑。
大多数人到跑通了就停下,我也一样。一段时间内,跑通就是终点。但如果一直只学当前用得到的那部分,几年后我会变成一个熟练的调包侠——能交付,但说不清为什么。我始终认为这个层次的人只是软件用得熟练,而非真正的软件工程师。
在AI不断替代低端程序员的情况下,往往熟练不如熟悉、熟悉不如精通。我希望博客未来的更新能更深入,至少往下挖一层。用 Docker,就看 namespace 和 cgroup;写 SQL,就看索引和 B+ 树;配 Nginx,就看它怎么把请求转给上游。挖到看不懂为止,把看不懂的地方记下来。技术不是一堆互不相干的方向,是一张网。我要做的不是背下每个结点,而是知道线是怎么连的。
所以,总有一天我会搞清楚所有的细节。
支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!





