标题解读:标题中的死神,是源自《死神》动漫里面的角色,斩魂刀是死神的武器,始解是斩魂刀的初始解放形态,卐解是斩魂刀的觉醒解放形态,也是死神的大招。意旨做程序界中程序员的佼佼者,一步一步最终修炼自己的大招。

本文选自左耳朵耗子叔的程序员练级攻略系统知识的内容,以此来分享一下。

进入专业的编程领域,学习系统知识是非常关键的一部分。

首先推荐的是翻译版图书《深入理解计算机系统》,原书名为《Computer Systems A Programmer’s Perspective》。不过,这本书叫做《程序员所需要了解的计算机知识》更为合适。

本书的最大优点是为程序员描述计算机系统的实现细节,帮助其在大脑中构造一个层次型的计算机系统。从最底层的数据在内存中的表示到流水线指令的构成,到虚拟存储器,到编译系统,到动态加载库,到最后的用户态应用。通过掌握程序是如何映射到系统上,以及程序是如何执行的,你能够更好地理解程序的行为为什么是这样的,以及效率低下是如何造成的。

推荐书籍

  • 《Unix 高级环境编程》。
  • 《Unix 网络编程》 第 1 卷 套接口 API 、第 2 卷 进程间通信 。
  • 《TCP/IP 详解 卷 I 协议》。这几本书的地位我就不多说了,你可以自己看相关的书评。但是,这三本书可能都不容易读,一方面是比较厚,另一方面是知识的密度太大了,所以,读起来有点枯燥和乏味。但是,这没办法,你得忍住。
  • 《TCP/IP 详解》这本书,是一本很奇怪的书。这本书迄今至少被 近五百篇学术论文引用过 。这本写给工程师看的书居然被各种学院派的论文来引用,也是很神奇的一件事了。而且,虽然理查德·史蒂文斯不是 TCP 的发明人,但是这本书中把这个协议深入浅出地讲出来,还画了几百张时序图,也是令人叹为观止了。
  • 《Linux C 编程一站式学习》
  • 《TCP/IP 网络编程》
  • 《图解 TCP/IP》,这本书其实并不是只讲了 TCP/IP,应该是叫《计算机网络》才对,主要是给想快速入门的人看的。
  • 《The TCP/IP Guide》,这本书在豆瓣上的评分 9.2,这里给的链接是这本书的 HTML 英文免费版的,里面的图画得很精彩。
  • 《Wireshark 数据包分析实战》。在这本书中,作者结合一些简单易懂的实际网络案例,图文并茂地演示使用 Wireshark 进行数据包分析的技术方法,可以让我们更好地了解和学习网络协议。当然,也拥有了一定的黑客的技能。

C10K问题

C10K 问题本质上是操作系统处理大并发请求的问题。对于 Web 时代的操作系统而言,对于客户端过来的大量的并发请求,需要创建相应的服务进程或线程。这些进程或线程多了,导致数据拷贝频繁(缓存 I/O、内核将数据拷贝到用户进程空间、阻塞), 进程 / 线程上下文切换消耗大,从而导致资源被耗尽而崩溃。这就是 C10K 问题的本质。

了解这个问题,并了解操作系统是如何通过多路复用的技术来解决这个问题的,有助于你了解各种 I/O 和异步模型,这对于你未来的编程和架构能力是相当重要的。

另外,现在,整个世界都在解决 C10M 问题,推荐看看 The Secret To 10 Million Concurrent Connections -The Kernel Is The Problem, Not The Solution一文。

小结

往后面走,你需要开始需要术业有专攻了。下面给一些建议的方向。

  • 底层方向:操作系统、文件系统、数据库、网络……
  • 架构方向:分布式系统架构、微服务、DevOps、Cloud Native……
  • 数据方向:大数据、机器学习、人工智能……
  • 前端方向:你对用户体验或是交互更感兴趣,那么你走前端的路吧。
  • 其它方向:比如,安全开发、运维开发、嵌入式开发……

这些方向你要仔细选择,因为一旦选好,就要勇往直前地走下去,当然,你要回头转别的方向也没什么问题,因为你有前面的这些基础知识在身,所以,不用害怕。只是不同的方向上会有不同的经验积累,经验积累是看书看不来的,这个是转方向的成本。

该笔记摘录自极客时间课程
《左耳听风》

做程序界中的死神,继续提升灵力上限相关推荐

  1. 做程序界中的死神,提升灵力上限

    标题解读:标题中的死神,是源自<死神>动漫里面的角色,斩魂刀是死神的武器,始解是斩魂刀的初始解放形态,卐解是斩魂刀的觉醒解放形态,也是死神的大招.意旨做程序界中程序员的佼佼者,一步一步最终 ...

  2. 做程序界中的死神,获取自己的灵力修养

    标题解读:标题中的死神,是源自<死神>动漫里面的角色,斩魂刀是死神的武器,始解是斩魂刀的初始解放形态,卐解是斩魂刀的觉醒解放形态,也是死神的大招.意旨做程序界中程序员的佼佼者,一步一步最终 ...

  3. 做程序界中的死神,锻造合适的斩魂刀

    标题解读:标题中的死神,是源自<死神>动漫里面的角色,斩魂刀是死神的武器,始解是斩魂刀的初始解放形态,卐解是斩魂刀的觉醒解放形态,也是死神的大招.意旨做程序界中程序员的佼佼者,一步一步最终 ...

  4. 做程序界中的死神,提升斩魂刀

    标题解读:标题中的死神,是源自<死神>动漫里面的角色,斩魂刀是死神的武器,始解是斩魂刀的初始解放形态,卐解是斩魂刀的觉醒解放形态,也是死神的大招.意旨做程序界中程序员的佼佼者,一步一步最终 ...

  5. 做程序界的死神,获取自己的斩魂刀

    标题解读:标题中的死神,是源自<死神>动漫里面的角色,斩魂刀是死神的武器,始解是斩魂刀的初始解放形态,卐解是斩魂刀的觉醒解放形态,也是死神的大招.意旨做程序界中程序员的佼佼者,一步一步最终 ...

  6. 程序界的高手传奇(转)

    程序界的高手传奇(转)[@more@] (1)MIT BBS上说微软电话面试的一道题就是"Who do you think is the best coder, and why?" ...

  7. Metaverse 元宇宙入门-08-Content, Services, and Asset Businesses in the Metaverse 元界中的内容、服务和资产业务

    元界中的内容.服务和资产业务 这是"元界入门"的第八部分,重点介绍内容.服务和资产业务在"元界"中的作用. 在这里,内容.服务和资产业务被定义为"与用 ...

  8. 程序员中"5%神话";刘未鹏:为什么你应该写博客

    程序员中"5%神话":刘未鹏:为什么你应该写博客 http://timyang.net/programming/mythical-5/ Bruce Eckel(Thinking in Java/C++ ...

  9. 做跨界的跳跃,不惧怕学习,不惧怕失败 —— 阿里云 MVP 裔隽专访

    十足的苹果粉: 摄影爱好者,且精通 Lightroom 后期: <Visual Basic 3-4 编程技巧与程序实例><Python 机器学习实战>书作者之一: 曾经带领 2 ...

最新文章

  1. 如何初始化静态地图?
  2. [Leetcode] Insertion Sort List
  3. 人工智能时代的数据中心该怎么建?腾讯给出了自己的答案
  4. 关于抠图的一些文章方法收集
  5. Java监视器绑定的超人
  6. android发送网络请求没反应,Android无法使用HttpURLConnection发送GET请求
  7. ICML2020 | 一行代码就能实现的测试集上分技巧
  8. python orm_python的orm
  9. NFrog[NHibernate代码工具]发布第一个版本
  10. 高甜预警|甜齁你的情人节促销海报设计模板
  11. django mysql 2059_Django mysqlclient后端生成django.db.utils。操作错误:(2059,NULL)在Windows中...
  12. spring异常+自定义以及使用
  13. 结构型模式分类与简介
  14. Pytorch 学习笔记--to(device)的用法
  15. Linux下四款常见远程工具比较
  16. 1610C - Keshi Is Throwing a Party 题解
  17. [NLP] 文本分类之TextCNN模型原理和实现(超详细)
  18. C语言实现输出最长的名字
  19. win10配置python虚拟环境的路径
  20. java年份判断_java怎么判断年份是否是闰年

热门文章

  1. 75寸电视长宽多少厘米
  2. 家用洗地机哪款好?家用洗地机好用品牌推荐
  3. 《JOEL说软件》中文版翻译质量令人失望
  4. 太少的相濡以沫,太多的相忘江湖
  5. JavaScript原生实现广告栏滑动
  6. 二进制文件转文本工具
  7. STM32的内部参照电压VREFINT(1.2V)和ADC参考电压Vref+如何区分呢
  8. dwcs6中php为什么浏览不了,dreamweaver CS6编辑浏览器列表无法添加浏览器的解决处理...
  9. AI产业快速落地难?破局人来了
  10. 关于QQBot机器人掉线问题修复