【读书笔记】《码农翻身》一本差点被书名耽误的好书
作者:互联网
写在开头
双11期间,当当网买了一波书,一般我买技术书籍都会提前先在网上大概浏览下目录和内容,再决定买不买纸质书,主要是为了防止自己买了后又觉得不感兴趣,闲置在那,浪费钱。这次买书为了凑单,准备额外多买一本书,本想再来一本小说,作为床头放松读物,但是翻到了销量前几的《码农翻身》,看了看副标题是:用故事给技术加点料。想了想就下单了,就权当是看小说顺便复习下技术,安慰下自己焦虑的内心。
本来看见这书名,也没对书的内容抱太大期望,结果拿到手发现还不错。每天晚上看几页,很快就把它看完了。
只能说这本书的名字有点令人摸不着头脑,我大胆猜测是作者对自己的内容充满信心,知道大家看了后肯定想要关注他的公众号,所以干脆就用公众号作为书的名字了。哈哈哈哈哈嗝。
声明:不是广告…我只是单纯想写笔记。
主观评价
正面:
把技术用故事包装,首先让大家了解为何要有这种技术,层层递进,介绍该技术随着时代的演变,读完那些原来不熟悉的技术,的确有豁然开朗的感觉。
勿在浮沙筑高阁,本书就是希望大家对于基础有所熟悉,有所了解。
负面:
老少咸宜,没有负面,硬要杠出来的话可能就是,大部分章节包括章节内小节没有衔接,不过这一点作者也解释过,希望大家把它当作一本工具书看待,闲下来随手看几章,不需要连续性。
主观打个分:
8.5分
适合人群:
0.5-2年经验的同学们。我觉得这本书其实并不适合0基础的同学,有些概念和技术,是要自己实际有了一定开发经验后,才能感悟到,否则就和教科书一样有点枯燥,看完了也没有太大收获。
内容笔记
第一章 计算机的世界你不懂
本章节主讲计算机的底层实现,也就是程序是怎么跑在计算机上的。
包括了:
计算机软硬件的结构,以及他们互相是如何通信的:详见“我是一块硬盘”,“我是一个键盘”。
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的同学,只想手动保存文件互相传文件的同学,应该好好看看这章
觉得Maven为何这么难用的同学,也该看看没有Maven的年代是多么的痛苦。(其实我一直觉得Maven蛮难用的,看了之后觉得有点错怪他了)
单元测试:记住一句话,你不敢重构代码,主要是因为你没有写单元测试!
我的编程语言简史
作者讲述了它使用的几种语言,以及它们之间的关系,某个语言必然是有优于领一个语言的优点的。大家可以着重看下声明式编程和命令式编程的区别,讲得非常通俗易懂!
老司机的精进
作者对于职业生涯的一些总结感悟,看完之后,我觉得可以让大家少走一些弯路,少踩一些坑!
后记
本文是我自己看书以来的笔记,内容杂乱,大家多担待,就当我是在记流水账好啦。
关注我
我是一名后端开发工程师。
主要关注后端开发,数据安全,爬虫,物联网,边缘计算等方向,欢迎交流。
各大平台都可以找到我
微信公众号:后端技术漫谈
Github:@qqxx6661
CSDN:@Rude3Knife
知乎:@Zhendong
简书:@蛮三刀把刀
掘金:@蛮三刀把刀
原创博客主要内容
Java知识点复习全手册
Leetcode算法题解析
剑指offer算法题解析
SpringBoot菜鸟入门实战系列
SpringCloud菜鸟入门实战系列
爬虫相关技术文章
后端开发相关技术文章
逸闻趣事/好书分享/个人兴趣
个人公众号:后端技术漫谈
公众号:后端技术漫谈.jpg
如果文章对你有帮助,不妨收藏,投币,转发,在看起来~
标签:同学,Java,递归,读书笔记,代码,技术,详见,好书,码农 来源: https://blog.51cto.com/15047490/2560724