一路編程

一路編程
定價:390
NT $ 390
 

內容簡介

這是一本編程入門的書,然而,如果以書中所講內容作為入門標准,估計十有八九的在職程序員都不能算入門。現代軟件開發,已經不僅僅是寫出正確的代碼這麼簡單,環境、依賴、構建、版本、測試以及文檔,每一項都對軟件是否成功交付起到至關重要的作用,這些都是每一個程序員在開發軟件過程中必備的技能。

本書對於上述的每一種技能,都做了簡潔而精煉的介紹,以滿足很基本的日常軟件開發。換句話說,本書實際上是為現代軟件開發的入門,設下了最基本的門檻。相信每一個讀此書的人,不論是即將進入軟件行業,還是已經在軟件行業工作多年,都會獲得收獲。

STEVEN FOOTE,Web開發者,就職於LinkedIn。自學編程,熱愛技術,尤其是Web技術,持有楊百翰大學(Brigham Young University,會計專業全美第一名)會計專業學士和碩士學位。在攻讀碩士學位期間,他搭建了兩個AJAX風格Web應用的所有方面,從視覺設計到服務器和數據庫運維,以及其他所有東西。
 

目錄

1「Hello,World」寫下第一個程序1
選擇文本編輯器1
核心功能2
做出你的選擇4
Sublime Text5
TextMate5
Notepad++5
Gedit6
Vim6
Eclipse6
IntelliJ7
Xcode7
Visual Studio7
創建項目目錄8
從小處着手:創建測試文件8
HTML和JavaScript如何在瀏覽器中一起工作10
小幅修改的意義11
乘勝追擊13
在manifest.json中引用JavaScript16
讓它運行起來17
能力越大,責任越大18
總結18
2軟件如何工作19
什麼是「軟件」19
軟件生命周期20
源代碼——一切開始的地方21
一組指令21
編程語言22
從源代碼到0和127
編譯型語言與解釋型語言:源代碼何時變成二進制碼27
運行環境28
處理器執行29
輸入和輸出29
輸入讓軟件更實用(可重用)30
輸入從哪來31
軟件如何獲得輸入32
輸出類型32
GIGO:垃圾進,垃圾出(Garbage In,Garbage Out)33
狀態34
給kittenbook添加狀態35
內存和變量37
變量37
變量存儲38
有限的資源41
內存泄漏41
總結42
3認識你的計算機43
計算機很笨43
計算機有魔力44
站在巨人的肩膀上44
計算機內部44
處理器44
短期存儲器45
長期存儲器45
使用計算機46
文件系統46
命令行:取得控制權48
總結58
4構建工具59
(幾乎)全部自動化59
安裝Node60
安裝Grunt62
幫你創造軟件的軟件65
避免錯誤66
更快地工作66
自動化的任務67
編譯67
測試68
打包68
部署68
構建你自己的構建過程69
Gruntfile.js69
使用Grunt插件69
加載Grunt插件72
注冊任務73
看好了74
總結77
5數據(類型)、數據(結構)、數據(庫)79
數據類型79
為什麼存在不同的數據類型80
基本數據類型80
組合數據類型85
動態和靜態類型語言92
數據結構93
集合96
棧96
樹97
圖98
如何選擇高效的數據結構101
數據庫101
長期(持久化)存儲101
關系型數據庫101
SQL簡介103
總結105
6正則表達式107
Ctrl+F組合鍵:尋找模式107
在JavaScript中使用正則表達式108
重復109
?109
+110
*110
特殊字符和轉義字符111
{1,10}:創造屬於你的超能力111
匹配任意字符的「.」112
不要太貪婪112
從(A—Za—z)理解方括號113
字符列表113
范圍114
排除114
電話號碼模式115
我需要\s117
方括號的快捷方式118
限制條件119
提取標簽123
高級查找和替換124
(一行的)開頭和結尾124
標記125
全局匹配125
忽略大小寫125
多行125
什麼時候會用到正則表達式125
grep125
代碼重構126
校驗127
數據抽取127
總結127
7何時使用if、for、while129
操作符129
比較操作符129
邏輯操作符130
一元操作符132
二元操作符132
三元操作符135
「真」和「假」137
「語法糖」139
循環遍歷一個數組140
遍歷圖片140
嵌套循環141
你需要停下來142
無限循環144
再停一下145
當你不知道什麼時候停下145
何時執行145
事件145
監聽器146
定時任務147
超時147
在事情出錯前接住它148
編寫健壯的代碼149
總結149
8函數和方法151
函數結構151
定義152
調用152
參數153
調用棧155
代碼封裝156
一次做好一件事156
分而治之157
物盡其用161
代碼重用161
解決通用問題161
用更少的代碼做更多的事情161
不要做重復的事(DRY)163
作用域164
全局變量166
本地變量166
變量查找是怎麼工作的167
總結170
9編程標准171
編碼慣例171
設定標准172
黑科技,用還是不用172
立即付款還是先用后付款173
寫可維護的代碼173
代碼格式化174
保持一致175
空白字符176
規則不會自己出現:要制定規則177
使用其他人的成果179
更快地構建179
開源軟件179
由社區建立180
什麼時候該自己寫180
佳實踐181
文檔181
計划181
測試181
總結182
10文檔183
文檔化意圖184
自文檔代碼185
不要將顯而易見的東西寫入文檔187
過時文檔的危險性188
用文檔來找bug189
為自己寫文檔189
你的記憶力有多好189
為了學習而記錄文檔190
超越注釋的文檔190
給別人寫的文檔194
記錄你的決定195
記錄你的資源195
為了教學而寫文檔196
總結196
11計划197
三思而后行197
創建規格說明198
設計架構198
畫示意圖199
嘗試破壞你的系統200
迭代式計划201
為擴展設計202
你的優先級是什麼202
用戶體驗202
性能203
安全203
伸縮性203
截止日期204
平衡的藝術204
識別並創建限制條件204
知道可以做什麼,不可以做什麼204
總結206
12測試和調試207
手工測試207
邊做邊測208
嘗試些瘋狂的事208
吃你自己的狗糧209
自動化測試209
單元測試210
給Kittenbook配置測試213
失敗時代217
間諜喜歡我們(我們也喜歡間諜)218
集成測試221
盡早發現問題221
調試222
錯誤222
日志223
斷點224
查看、監控和控制台228
單步執行代碼229
調用棧231
找到根本原因231
編碼、測試、調試、不斷重復231
總結232
13授人以漁:如何用一生學習編程233
如何搜索233
找到正確的關鍵字234
以終為始236
識別高質量資源236
個人博客:隱藏的寶藏237
什麼地方、什麼時候,以及怎麼問編程問題237
什麼地方237
什麼時候240
怎麼問241
通過教別人來學習241
總結242
14構建你的技能243
做你自己的kittenbook243
給Facebook重新設計風格243
添加新功能244
分享你的kittenbook專屬版本245
找到你自己的項目245
解決你自己的問題246
志存高遠246
獲得幫助,提供幫助247
開源項目247
GitHub247
找項目248
貢獻的不同方式248
創建你自己的項目249
免費在線教育249
歐拉項目249
Udacity250
Coursera250
codeacademy251
Khan Academy(可汗學院)251
教程251
付費教育251
讀書252
Udacity和Coursera252
Treehouse253
總結253
15高級主題255
版本控制255
為什麼使用版本控制256
和團隊一起工作257
Subversion260
Git260
OOP(面向對象編程)266
類266
繼承267
實例268
設計模式268
發布訂閱268
中間人269
單例270
總結270
網路書店 類別 折扣 價格
  1. 新書
    $390