做程序界中的死神,继续提升灵力上限
标题解读:标题中的死神,是源自《死神》动漫里面的角色,斩魂刀是死神的武器,始解是斩魂刀的初始解放形态,卐解是斩魂刀的觉醒解放形态,也是死神的大招。意旨做程序界中程序员的佼佼者,一步一步最终修炼自己的大招。
本文选自左耳朵耗子叔的程序员练级攻略系统知识的内容,以此来分享一下。
进入专业的编程领域,学习系统知识是非常关键的一部分。
首先推荐的是翻译版图书《深入理解计算机系统》,原书名为《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……
- 数据方向:大数据、机器学习、人工智能……
- 前端方向:你对用户体验或是交互更感兴趣,那么你走前端的路吧。
- 其它方向:比如,安全开发、运维开发、嵌入式开发……
这些方向你要仔细选择,因为一旦选好,就要勇往直前地走下去,当然,你要回头转别的方向也没什么问题,因为你有前面的这些基础知识在身,所以,不用害怕。只是不同的方向上会有不同的经验积累,经验积累是看书看不来的,这个是转方向的成本。
该笔记摘录自极客时间课程
《左耳听风》
做程序界中的死神,继续提升灵力上限相关推荐
- 做程序界中的死神,提升灵力上限
标题解读:标题中的死神,是源自<死神>动漫里面的角色,斩魂刀是死神的武器,始解是斩魂刀的初始解放形态,卐解是斩魂刀的觉醒解放形态,也是死神的大招.意旨做程序界中程序员的佼佼者,一步一步最终 ...
- 做程序界中的死神,获取自己的灵力修养
标题解读:标题中的死神,是源自<死神>动漫里面的角色,斩魂刀是死神的武器,始解是斩魂刀的初始解放形态,卐解是斩魂刀的觉醒解放形态,也是死神的大招.意旨做程序界中程序员的佼佼者,一步一步最终 ...
- 做程序界中的死神,锻造合适的斩魂刀
标题解读:标题中的死神,是源自<死神>动漫里面的角色,斩魂刀是死神的武器,始解是斩魂刀的初始解放形态,卐解是斩魂刀的觉醒解放形态,也是死神的大招.意旨做程序界中程序员的佼佼者,一步一步最终 ...
- 做程序界中的死神,提升斩魂刀
标题解读:标题中的死神,是源自<死神>动漫里面的角色,斩魂刀是死神的武器,始解是斩魂刀的初始解放形态,卐解是斩魂刀的觉醒解放形态,也是死神的大招.意旨做程序界中程序员的佼佼者,一步一步最终 ...
- 做程序界的死神,获取自己的斩魂刀
标题解读:标题中的死神,是源自<死神>动漫里面的角色,斩魂刀是死神的武器,始解是斩魂刀的初始解放形态,卐解是斩魂刀的觉醒解放形态,也是死神的大招.意旨做程序界中程序员的佼佼者,一步一步最终 ...
- 程序界的高手传奇(转)
程序界的高手传奇(转)[@more@] (1)MIT BBS上说微软电话面试的一道题就是"Who do you think is the best coder, and why?" ...
- Metaverse 元宇宙入门-08-Content, Services, and Asset Businesses in the Metaverse 元界中的内容、服务和资产业务
元界中的内容.服务和资产业务 这是"元界入门"的第八部分,重点介绍内容.服务和资产业务在"元界"中的作用. 在这里,内容.服务和资产业务被定义为"与用 ...
- 程序员中"5%神话";刘未鹏:为什么你应该写博客
程序员中"5%神话":刘未鹏:为什么你应该写博客 http://timyang.net/programming/mythical-5/ Bruce Eckel(Thinking in Java/C++ ...
- 做跨界的跳跃,不惧怕学习,不惧怕失败 —— 阿里云 MVP 裔隽专访
十足的苹果粉: 摄影爱好者,且精通 Lightroom 后期: <Visual Basic 3-4 编程技巧与程序实例><Python 机器学习实战>书作者之一: 曾经带领 2 ...
最新文章
- 如何初始化静态地图?
- [Leetcode] Insertion Sort List
- 人工智能时代的数据中心该怎么建?腾讯给出了自己的答案
- 关于抠图的一些文章方法收集
- Java监视器绑定的超人
- android发送网络请求没反应,Android无法使用HttpURLConnection发送GET请求
- ICML2020 | 一行代码就能实现的测试集上分技巧
- python orm_python的orm
- NFrog[NHibernate代码工具]发布第一个版本
- 高甜预警|甜齁你的情人节促销海报设计模板
- django mysql 2059_Django mysqlclient后端生成django.db.utils。操作错误:(2059,NULL)在Windows中...
- spring异常+自定义以及使用
- 结构型模式分类与简介
- Pytorch 学习笔记--to(device)的用法
- Linux下四款常见远程工具比较
- 1610C - Keshi Is Throwing a Party 题解
- [NLP] 文本分类之TextCNN模型原理和实现(超详细)
- C语言实现输出最长的名字
- win10配置python虚拟环境的路径
- java年份判断_java怎么判断年份是否是闰年