程序員的制勝技 Street Coder: The Rules to Break and How to Break Them
[土耳其] 塞達特·卡帕諾格魯(Sedat Kapanoglu)
- 出版商: 人民郵電
- 出版日期: 2024-09-01
- 定價: $479
- 售價: 7.5 折 $359
- 語言: 簡體中文
- 頁數: 228
- ISBN: 7115611564
- ISBN-13: 9787115611567
-
相關分類:
C#
- 此書翻譯自: Street Coder: The Rules to Break and How to Break Them
立即出貨
買這商品的人也買了...
-
$509恰如其分的軟件架構:風險驅動的設計方法 -
$374全棧工程師Web開發指南 -
Statistics Hacks 統計學駭客 75招 (Statistics Hacks)$580$458 -
$607編程與類型系統 -
編譯器設計, 2/e (Engineering a Compiler, 2/e)$719$683 -
$534高效能團隊模式:支持軟件快速交付的組織架構 (Team Topologies: Organizing Business and Technology Teams for Fast Flow) -
$662iOS 黑客攻防秘籍, 2/e -
$407Python 代碼整潔之道 (Practices of the Python Pro) -
$658程序員的底層思維 -
Linux 內核完全註釋$474$450 -
深入淺出密碼學$719$683 -
軟體測試實務 : 業界成功案例與高效實踐 [ I ]$650$507 -
程序員的 README$479$455 -
$611深入淺出 SSD:固態存儲核心技術、原理與實戰, 2/e -
Linux 源碼趣讀$948$901 -
個人敏捷性:解鎖目標、調適和轉型$450$297 -
CPU 眼裡的 C/C++$534$507 -
$473遞歸算法與項目實戰 -
Staff 工程師之路|獻給個人貢獻者成長與改變的導航指南 (The Staff Engineer's Path)$580$458 -
機器學習的公式推導和程式實作$580$458 -
重構:改善 .NET 與 C# 應用程式的設計,償還欠下的技術債 (使用 GitHub Copilot 與 Visual Studio) (Refactoring with C#: Safely improve .NET applications and pay down technical debt with Visual Studio, .NET 8, and C# 12)$850$663 -
AI 神助攻!程式設計新境界 – GitHub Copilot 開發 Python 如虎添翼 : 提示工程、問題分解、測試案例、除錯$560$442 -
實戰領域驅動設計:高效軟體開發的正確觀點、應用策略與實作指引 (Implementing Domain-Driven Design)$1,280$960 -
遞迴演算法大師親授面試心法:Python 與 JavaScript 解題全攻略 (The Recursive Book of Recursion)$680$448 -
深度學習編譯器設計$534$507
中文年末書展|繁簡參展書2書75折 詳見活動內容 »
-
75折
為你寫的 Vue Components:從原子到系統,一步步用設計思維打造面面俱到的元件實戰力 (iThome 鐵人賽系列書)$780$585 -
75折
BDD in Action, 2/e (中文版)$960$720 -
75折
看不見的戰場:社群、AI 與企業資安危機$750$563 -
79折
AI 精準提問 × 高效應用:DeepSeek、ChatGPT、Claude、Gemini、Copilot 一本搞定$390$308 -
7折
超實用!Word.Excel.PowerPoint 辦公室 Office 365 省時高手必備 50招, 4/e (暢銷回饋版)$420$294 -
75折
裂縫碎光:資安數位生存戰$550$412 -
日本當代最強插畫 2025 : 150位當代最強畫師豪華作品集$640$576 -
79折
Google BI 解決方案:Looker Studio × AI 數據驅動行銷實作,完美整合 Google Analytics 4、Google Ads、ChatGPT、Gemini$630$498 -
79折
超有料 Plus!職場第一實用的 AI 工作術 - 用對 AI 工具、自動化 Agent, 讓生產力全面進化!$599$473 -
75折
從零開始學 Visual C# 2022 程式設計, 4/e (暢銷回饋版)$690$518 -
75折
Windows 11 制霸攻略:圖解 AI 與 Copilot 應用,輕鬆搞懂新手必學的 Windows 技巧$640$480 -
75折
精準駕馭 Word!論文寫作絕非難事 (好評回饋版)$480$360 -
Sam Yang 的插畫藝術:用 Procreate / PS 畫出最強男友視角 x 女孩美好日常$699$629 -
79折
AI 加持!Google Sheets 超級工作流$599$473 -
78折
想要 SSR? 快使用 Nuxt 吧!:Nuxt 讓 Vue.js 更好處理 SEO 搜尋引擎最佳化(iThome鐵人賽系列書)$780$608 -
78折
超實用!業務.總管.人資的辦公室 WORD 365 省時高手必備 50招 (第二版)$500$390 -
7折
Node-RED + YOLO + ESP32-CAM:AIoT 智慧物聯網與邊緣 AI 專題實戰$680$476 -
79折
「生成式⇄AI」:52 個零程式互動體驗,打造新世代人工智慧素養$599$473 -
7折
Windows APT Warfare:惡意程式前線戰術指南, 3/e$720$504 -
75折
我輩程式人:回顧從 Ada 到 AI 這條程式路,程式人如何改變世界的歷史與未來展望 (We, Programmers: A Chronicle of Coders from Ada to AI)$850$637 -
75折
不用自己寫!用 GitHub Copilot 搞定 LLM 應用開發$600$450 -
79折
Tensorflow 接班王者:Google JAX 深度學習又快又強大 (好評回饋版)$780$616 -
79折
GPT4 會你也會 - 共融機器人的多模態互動式情感分析 (好評回饋版)$700$553 -
79折
技術士技能檢定 電腦軟體應用丙級術科解題教本|Office 2021$460$363 -
75折
Notion 與 Notion AI 全能實戰手冊:生活、學習與職場的智慧策略 (暢銷回饋版)$560$420
相關主題
商品描述
本書專註於介紹項目開發領域的實戰方法和高效範式,共 9 章,從預備理論知識開始,按照業務開發的真實流程詳細闡述了以往開發的經驗誤區,並結合實際的.NET 和 C#代碼,給出經過大量項目檢驗的解決方案。
本書絕不是市面上隨處可見的技術手冊。作者用他獨有的幽默感和數十年的軟件開發經驗,將軟件開發的實戰故事一一道來。
正如作者所言,無論你是非科班出身的開發者,還是已經入行幾年的開發“上道人”,本書都能對你有所裨益。
作者簡介
塞達特·卡帕諾格魯(Sedat Kapanoglu),
一名自學成才的軟件開發工程師,來自土耳其埃斯基謝希爾。他曾在美國華盛頓州西雅圖的微軟公司擔任 Windows 核心操作系統工程師,擁有長達30年的專業軟件開發經歷。
塞達特是土耳其備受歡迎的社交平臺——酸字典的創建者。在20世紀90年代,他活躍於土耳其的國際數字藝術社區 demoscene,專註於通過代碼生成圖形和音樂的藝術創作。
目錄大綱
第 1 章 初入行當 1
1.1 在實戰中,什麼最重要? 2
1.2 誰是實戰程序員? 3
1.3 傑出實戰程序員 4
1.3.1 懂得質疑 4
1.3.2 結果驅動 5
1.3.3 高產出 6
1.3.4 接受復雜性和模糊性 6
1.4 現代軟件開發存在的問題 6
1.4.1 技術繁多 8
1.4.2 遍閱範式 8
1.4.3 科技黑箱 9
1.4.4 低估開銷 10
1.4.5 自掃門前雪 10
1.4.6 憎惡重復 11
1.5 特別說明 11
1.6 本書主題 11
本章總結 12
第 2 章 實用的理論 13
2.1 算法速成 14
2.1.1 要有好的 Big-O 16
2.2 深入數據結構 17
2.2.1 字符串 18
2.2.2 數組 21
2.2.3 列表 22
2.2.4 鏈表 23
2.2.5 隊列 24
2.2.6 字典 24
2.2.7 哈希集合 26
2.2.8 棧 26
2.2.9 調用棧 27
2.3 類型有大用 28
2.3.1 使用強類型 28
2.3.2 有效性證明 29
2.3.3 巧用框架 34
2.3.4 用類型防止打錯字 37
2.3.5 null 的可與不可 38
2.3.6 免費的更好性能 44
2.3.7 引用類型與值類型 45
本章總結 48
第 3 章 有用的反模式 50
3.1 若無損壞,亦可破壞 51
3.1.1 面對代碼剛性 51
3.1.2 快刀斬亂麻 52
3.1.3 敬畏邊界 53
3.1.4 隔離相同功能 54
3.1.5 網頁示例 56
3.1.6 不要留下技術債 57
3.2 從頭開始寫 57
推倒重寫 58
3.3 修復它,即使它沒有壞掉 59
3.3.1 奔向未來 59
3.3.2 整潔僅次於功能 60
3.4 重復你自己 62
復用還是直接復制? 66
3.5 是我所創 67
3.6 不要使用繼承 70
3.7 不要使用類 72
3.7.1 enum 太好用了! 72
3.7.2 結構體真棒! 74
3.8 寫點糟糕代碼 79
3.8.1 不要使用 If/Else 79
3.8.2 使用 goto 81
3.9 不寫代碼註釋 84
3.9.1 選個好名字 85
3.9.2 充分利用函數 86
本章總結 88
第 4 章 美味的測試 89
4.1 測試的類型 90
4.1.1 手動測試 90
4.1.2 自動化測試 91
4.1.3 執意玩火:在生產環境中測試 91
4.1.4 選擇正確的測試方法 92
4.2 如何停止抱怨,愛上測試? 94
4.3 不要使用 TDD 或其他縮寫 100
4.4 為你自己的目的寫測試 101
4.5 決定測試對象 102
4.5.1 尊重邊界 103
4.5.2 代碼覆蓋率 105
4.6 不要寫測試 107
4.6.1 不要寫代碼 107
4.6.2 不要一次寫完所有的測試 107
4.7 讓編譯器測試你的代碼 108
4.7.1 消除 null 檢查 108
4.7.2 消除範圍檢查 111
4.7.3 消除有效值檢查 113
4.8 命名測試 115
本章總結 116
第 5 章 正名重構 117
5.1 為什麼我們要重構? 118
5.2 架構修改 118
5.2.1 識別組件 121
5.2.2 評估工作量和風險 122
5.2.3 樹立威信 122
5.2.4 重構讓重構更容易 124
5.2.5 最後沖刺 130
5.3 可靠重構 130
5.4 什麼時候不重構 132
本章總結 133
第 6 章 安全審查 134
6.1 黑客之外 135
6.2 威脅模型 136
袖珍威脅模型 137
6.3 編寫安全的網絡應用程序 140
6.3.1 在設計時考慮到安全問題 140
6.3.2 隱蔽性安全的用處 141
6.3.3 不要光靠你自己去實現安全 142
6.3.4 SQL 註入攻擊 142
6.3.5 跨站腳本攻擊 148
6.3.6 跨站請求偽造 152
6.4 引發第 一次“洪水” 153
6.4.1 不要使用驗證碼 153
6.4.2 驗證碼的代替品 154
6.4.3 不要使用緩存 155
6.5 存儲機密信息 155
保存源代碼中的機密信息 156
本章總結 161
第 7 章 死磕優化 163
7.1 解決該解決的問題 164
7.1.1 簡單的基準測試 164
7.1.2 性能與響應性 167
7.2 遲緩的剖析 168
7.3 從頭開始 169
7.3.1 嵌套循環 170
7.3.2 面向字符串的編程 172
7.3.3 評估 173
7.4 打破瓶頸 174
7.4.1 不要打包數據 174
7.4.2 就地取材 175
7.4.3 將依賴性工作分開 176
7.4.4 要有可預測性 177
7.4.5 SIMD 179
7.5 I/O 的 1 秒與 0 秒 181
7.5.1 讓 I/O 更快 181
7.5.2 避免 I/O 阻塞 183
7.5.3 古老的方式 184
7.5.4 現代式 async/await 185
7.5.5 異步 I/O 的弊端 186
7.6 如果所有方法都失敗了,試試緩存吧 187
本章總結 187
第 8 章 可口擴展 188
8.1 不要使用鎖 189
雙重檢查的鎖 195
8.2 擁抱不一致 198
可怕的 NOLOCK 198
8.3 不要緩存數據庫連接 200
以 ORM 的形式 203
8.4 不要使用線程 203
8.4.1 異步代碼的問題 207
8.4.2 異步多線程 208
8.5 尊重單體 208
本章總結 209
第 9 章 與 bug 共存 210
9.1 不要修復 bug 211
9.2 錯誤恐懼 212
9.2.1 有關異常的真相 213
9.2.2 不要捕捉異常 215
9.2.3 容異性 217
9.2.4 沒有事務的容異性 221
9.2.5 異常與錯誤 221
9.3 不要調試 223
9.3.1 printf()調試法 224
9.3.2 初識轉儲 225
9.3.3 高階小黃鴨調試法 228
本章總結 228


