寫在開頭
雙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菜鳥入門實戰系列
- 爬蟲相關技術文章
- 后端開發相關技術文章
- 逸聞趣事/好書分享/個人興趣
個人公眾號:后端技術漫談
如果文章對你有幫助,不妨收藏,投幣,轉發,在看起來~