碼農翻身2

劉欣(@碼農翻身)

  • 出版商: 電子工業
  • 出版日期: 2024-02-01
  • 售價: $708
  • 貴賓價: 9.5$673
  • 語言: 簡體中文
  • 頁數: 280
  • ISBN: 712146697X
  • ISBN-13: 9787121466977
  • 立即出貨

商品描述

本書採用故事的方式講解了軟件編程,尤其是後端編程的重要領域,側重原理性知識。本書分為7章,第1章介紹了負載均衡和雙機熱備的原理,以及系統調用、阻塞、異步等重要概念;第2章介紹了session、token、緩存、數據復制、分佈式ID、NoSQL 等後端編程必備的知識;第3章介紹了後端編程常用軟件的原理;第4章介紹了各種編程語言的特性;第5章介紹了各種編程語言的本質;第6章介紹了網絡安全相關知識;第7章則總結了作者多年的工作經驗。這不是一本編程的入門書,剛開始學習編程的“純小白”讀起來會比較吃力,讀後可能會失望,但是稍有編程基礎的讀者讀起來會非常過癮,讀後會產生一種“原來如此”的感覺。

目錄大綱

第1章 基礎知識
1.1 負載均衡的原理
1.1.1 隱藏真實服務器
1.1.2 偷天換日
1.1.3 四層還是七層
1.1.4 責任分離
1.1.5 後記
1.2 雙機熱備的原理
1.2.1 夜半驚魂
1.2.2 詳細設計
1.2.3 匯報工作
1.2.4 充分利用資源
1.3 “軟件巨頭”卧談會
1.4 操作系統和Web服務器那點事兒
1.4.1 操作系統老大
1.4.2 系統調用
1.4.3 read和write
1.4.4 sendfile
1.5 我是一條內存
1.5.1 次序問題
1.5.2 編譯器
1.5.3 信息=位+上下文
1.5.4 指針
1.5.5 第二天
第2章 後端風雲
2.1 “乾掉”狀態,從session到token
2.1.1 美好的舊時光
2.1.2 session
2.1.3 沉重的負擔
2.1.4 時間換空間
2.1.5 如何退出
2.2 MySQL:緩存算什麽
2.2.1 從進程內到進程外
2.2.2 數據不一致
2.3 Redis:MySQL算什麽
2.3.1 黑客攻擊
2.3.2 緩存空值
2.3.3 布隆過濾器
2.3.4 數據失效
2.4 MySQL:硬盤罷工了,我該怎麽辦
2.4.1 讀寫分離
2.4.2 基於SQL語句的復制
2.4.3 基於行的復制
2.4.4 數據延遲
2.5 分佈式ID
2.5.1 重復執行
2.5.2 遺漏執行
2.5.3 各顯神通
2.5.4 拋棄數據庫
2.6 我建議你瞭解一點兒Serverless
2.6.1 局域網時代
2.6.2 數據中心
2.6.3 虛擬化
2.6.4 理想模式
2.6.5 Serverless的特點
2.7 NoSQL:一個帝國的崛起
2.7.1 關系數據庫帝國
2.7.2 危機
2.7.3 新希望
2.7.4 反抗
2.7.5 新的帝國
第3章 著名軟件是怎麽煉成的
3.1 搜索之路
3.1.1 引子
3.1.2 倒排索引
3.1.3 更進一步
3.1.4 架構
3.1.5 抽象
3.1.6 互聯網應用的新需求
3.1.7 從Java API 到 Web API
3.1.8 分佈式
3.1.9 集群
3.1.10 Elasticsearch的真正傳奇
3.2 HDFS的誕生
3.2.1 牛刀小試
3.2.2 分佈式
3.2.3 元數據
3.2.4 讀取文件
3.2.5 寫入文件
3.2.6 結束還是開始
3.2.7 並行計算
3.2.8 深入討論
3.2.9 MapReduce
3.3 一個著名的任務調度系統是怎麽設計的
3.3.1 實習生張大胖
3.3.2 crontab達人的煩惱
3.3.3 另起爐竈
3.3.4 持久化
3.3.5 高可用
3.3.6 開源
3.4 咖啡館的故事
3.4.1 兩個古怪老頭兒
3.4.2 RPC
3.4.3 XML-RPC
3.4.4 SOAP
3.4.5 幾年以後
3.4.6 RESTful的硬傷
3.4.7 中間層
3.4.8 靈活查詢
3.4.9 古怪的查詢
3.5 ZooKeeper到底是什麽
3.5.1 小梁的郵件
3.5.2 小王的Master選舉
3.5.3 小蔡的分佈式鎖
3.5.4 ZooKeeper
3.6 一件程序員必備武器的誕生
3.6.1 調試的基礎
3.6.2 JVM接口
3.6.3 通信
3.6.4 調試器
3.6.5 早朝
第4章 編程語言帝國爭鬥
4.1 Java帝國對Python的滲透能成功嗎
4.1.1 引子
4.1.2 泛型
4.1.3 反射
4.1.4 動態代理
4.1.5 錦囊妙計
4.1.6 真相大白
4.2 為什麽Python不用設計模式
4.2.1 Python沒有接口
4.2.2 Adapter模式
4.2.3 單例模式
4.2.4 Visitor模式
4.2.5 尾聲
4.3 Java小王子歷險記
4.3.1 JavaScript帝國
4.3.2 再次出發
4.3.3 Go帝國
4.4 Java能抵擋住JavaScript的進攻嗎
4.4.1 JavaScript的進攻
4.4.2 非阻塞異步I/O
4.4.3 京城酒樓
4.4.4 I/O府邸
4.4.5 異步操作
4.4.6 為什麽是Vert.x
4.5 JVM和Python解釋器的硬盤夜話
4.5.1 JVM先生
4.5.2 垃圾回收
4.5.3 GIL
4.5.4 尾聲
4.6 Java國王:這才是真正的封裝
4.6.1 把類隱藏起來
4.6.2 類的朋友
4.6.3 模塊化
4.6.4 ServiceLoader
第5章 編程語言的本質
5.1 C語言這麽厲害,它自身又是用什麽語言寫的.
5.2 為什麽面向對象糟透了
5.3 C語言:春節回老家過年,我發現只有我沒有對象
5.3.1 聚會
5.3.2 串門
5.3.3 封裝
5.3.4 繼承
5.3.5 多態
5.4 什麽是元編程
5.4.1 臨下班的緊急任務
5.4.2 模板:用程序來生成程序
5.4.3 元編程
5.5 為什麽“無人問津”的Lisp可以這麽硬氣
5.5.1 Lisp
5.5.2 程序就是數據
5.5.3 開發語言的語言
5.5.4 最後的反擊
5.6 JavaScript打工記
5.6.1 棧
5.6.2 唯一的員工:單線程
5.6.3 異步函數怎麽辦
5.6.4 隊列
5.6.5 事件隊列
5.7 簡單的this,復雜的this
5.8 編程語言的巔峰
5.8.1 數組
5.8.2 條件分支
5.8.3 函數調用
5.8.4 一切都歸於匯編
第6章 網絡安全
6.1 瀏覽器家族的安全反擊戰
6.1.1 前言
6.1.2 Cookie失竊
6.1.3 密碼失竊
6.1.4 家族會議
6.1.5 凡事都有例外
6.2 黑客三兄弟
6.2.1 代碼註入
6.2.2 偽造請求
6.2.3 另闢蹊徑
6.2.4 牛刀小試
6.2.5 瘋狂註入SQL
6.2.6 破解密碼
6.2.7 後記
6.3 黑客攻防日記
6.3.1 小黑的日記2010-6-22 晴
6.3.2 張大胖的日記2010-6-23陰
6.3.3 小黑的日記2010-6-24多雲
6.3.4 張大胖的日記2010-6-25陰
6.3.5 小黑的日記2010-6-26晴
6.3.6 張大胖的日記2010-6-27小雨
6.3.7 小黑的日記2010-6-28晴
6.3.8 張大胖的日記2010-6-29中雨
6.3.9 小黑的日記2010-6-30陰天
6.3.10 張大胖的日記2010-6-30暴雨
6.3.11 小黑的日記2010-7-1多雲
6.4 緩沖區溢出攻擊
第7章 “老司機”經驗
7.1 用費曼技巧自學編程
7.1.1 費曼技巧
7.1.2 實戰演練
7.1.3 小結
7.2 曾經廢寢忘食學到的技術,現在都沒用了
7.3 程序員七問
7.4 用你的技術賺更多的錢
7.5 閱讀源碼的三種境界
7.5.1 昨夜西風凋碧樹,獨上高樓,望盡天涯路
7.5.2 衣帶漸寬終不悔,為伊消得人憔悴
7.5.3 眾里尋他千百度,驀然迴首,那人卻在燈火闌珊處
7.6 Code Review的巔峰
7.6.1 Checkstyle和“連坐”
7.6.2 Check List
7.6.3 代碼量控制
7.6.4 結對編程
7.7 看問題要看到本質:從Web服務器說起
7.7.1 動態內容
7.7.2 Servlet
7.7.3 WSGI