create by db on 2020-12-20 23:09:42
Recently revised in 2020-12-22 15:50:00闲时要有吃紧的心思,忙时要有悠闲的趣味
前言
最近在看《码农翻身》,这是一本买了很久的书了,以前大略过了几眼,现在趁有时间又读了一遍。这是一本很赞的书,涵盖了前端及后台大多数的内容,读了之后,有些收获。在此分享给大家。
个人心得
个人心得
作为一本技术书籍,作者一讲故事的方式来讲述技术细节,讲的生动有趣,从硬件到软件,从 Java 到 Web,内容庞杂,涉猎广泛,对初学者来说,对简历计算机系统的全局观很有帮助。
与我来说,本书普及了很多工作及日常学习中接触不到或者认识不到自己不了解的知识,对前后端整个开发框架(包括测试流程、硬件、软件、编程思维)有了进一步的了解。当然,仍然只是粗粗浅浅的理解而已。指望一本书醍醐灌顶,本来就是不靠谱的。
再说下关于本书的评价:涉猎虽广,深度一般,部分内容老旧(有些东西只讲了一些历史实现方式,比如 jsp)。书上内容东一榔头西一棒槌,没有太好的连续性;有很多专业名词没有进一步的解释,对于一些纯小白来说不怎么友好。作为一个菜鸟前端,关于 Java 的一些内容及单词,我是对照着百度百科及 CSDN 教程来看的,然后把注释写到书页下面,部分内容看完了也是一知半解。
如作者所说,本书不适合 0 基础的小白阅读,更建议 0.5-2 年经验的同学们来看。其作用也基于开阔眼界、增长见识、查漏补缺。如果希望深入知识点,还需要去看专业书籍。
另外,这本书就是作者公众号上博客的集合。看完书,顺便关注了一波作者的公众号——码农翻身,上面的文章比书上更加丰富,值得一读。只不过我一直觉得公众号更适合轻阅读,没有在公众号看技术文章的习惯……
最后感谢作者,向前辈学习、致敬!
内容笔记
第一章 计算机的世界你不懂
本章节主讲计算机的底层实现,也就是程序是怎么跑在计算机上的。 包括了:
-
计算机软硬件的结构,以及他们互相是如何通信的:详见“我是一块硬盘”,“我是一个键盘”。
-
CPU 是如何执行程序的,包括 CPU 执行代码的逻辑,从内存调度程序,线程和进程的发展由来:详见“我是一个进程/线程”,“CPU 阿甘”,“从 1 加到 100”,“绕不开的加法器”。 网络数据是如何传输的:详见 TCPIP,“搞清楚 WebSocket”
-
数据库是怎么产生的,为啥想在的数据库要是关系模型:详见“数据库的奇妙之旅”。 编程语言的发展史:“一个翻译家族的发展史”。
-
编程中的锁:我们常说的共享变量锁问题总结
-
递归和尾递归:正常情况下,一个递归就会用一个栈帧,但是当递归调用是函数体中最后执行的语句,斌且返回值不属于表达式的一部分时,这个递归就是尾递归。现代编译器会优化这个代码,复用栈帧。
Java 帝国
本章描述了与 Java 有关生态的各种框架,概念。
-
Java Class:详细介绍了虚拟机是如何处理 Java 代码的
-
持久化:Java 处理数据存储的方式
-
JDBC 的诞生:为啥我们会有 JDBC,以及 JDBC 是如何演变成现在这种设计的:简单工程--》工厂方法
-
宫廷内斗:讲了数据库操作的事务以及分布式事务
-
JSP:JSP 是如何被淘汰的哈哈哈,还不是因为 JS 自己在浏览器实现了 MVC!
-
消息队列:为啥我们会有消息队列的需求,还不是为了解耦!后面还介绍了消息队列的协议设计,我们都要遵守协议!
-
动态代理:AOP 相关
-
注解:比 XML 更好用的东西,也讲了我们怎么去实现一个自定义注解
-
泛型:搞不清泛型的同志们,可以看下。还有一些实际编码中需要注意的细节。
-
日志系统:logback+slf4j 万岁
-
序列化:JSON 和 XML 当立,还有未来的趋势,RPC 中的序列化
-
加锁:和系统的锁不完全相同,这里的锁是 Java 中处理数据时需要注意的问题。
-
Spring 的本质:Spring 的 DI 和 AOP,用到了哪些设计模式?
浪潮之巅的 Web
这一章每小节基本都是一个技术问题的历史介绍,也是最像小说的一章,我就不每个小节都总结了,只写我比较关注的几个重点:
-
机房夜话:SSO 单点登录的实现方式
-
从密码到 token:OAuth 实现的三种方式!
-
从 SOA 到微服务:前者做系统的集成,后者做系统的拆分
-
HTTPServer:从多进程,到 select,到 epoll,讲述了服务器是如何逐步优化高并发访问的。
代码管理那些事
主要讲的 Git 和 SVN 等关于代码管理的内容
- 单元测试:记住一句话,你不敢重构代码,主要是因为你没有写单元测试!
我的编程语言简史
作者讲述了它使用的几种语言,以及它们之间的关系,某个语言必然是有优于领一个语言的优点的。大家可以着重看下声明式编程和命令式编程的区别,讲得非常通俗易懂!
老司机的精进
作者对于职业生涯的一些总结感悟,前辈的踩坑之路,参考一下还是不错的!
后记
总之,《码农翻身》这本书是很值得一读的,而且读起来颇为有趣,比较适合作为休闲书去扩充知识面。
路漫漫其修远兮,与诸君共勉。
后记:Hello 小伙伴们,如果觉得本文还不错,记得点个赞或者给个 star,你们的赞和 star 是我编写更多更丰富文章的动力!GitHub 地址
文档协议
db 的文档库 由 db 采用 知识共享 署名-非商业性使用-相同方式共享 4.0 国际 许可协议进行许可。
基于github.com/danygitgit上的作品创作。
本许可协议授权之外的使用权限可以从 creativecommons.org/licenses/by… 处获得。