圖書信息
【作者】[日] 矢澤久雄
【ISBN】978-7-115-39227-5
【日期】2015-05
圖書簡介
《計算機是怎樣跑起來的》以圖配文,以計算機的三大原則為開端、相繼介紹了計算機的結構、手工彙編、程式流程、算法、數據結構、面向對象編程、資料庫、TCP/IP 網路、數據加密、XML、計算機系統開發以及SE 的相關知識。本書適合計算機愛好者和相關從業人員閱讀。
目錄
第1章 計算機的三大原則 1
1.1 計算機的三個根本性基礎 3
1.2 輸入、運算、輸出是硬體的基礎 4
1.3 軟體是指令和數據的集合 6
1.4 對計算機來說什麼都是數字 8
1.5 只要理解了三大原則,即使遇到難懂的最新技術,也能輕鬆應對 9
1.6 為了貼近人類,計算機在不斷地進化 10
1.7 稍微預習一下第2章 13
第2章 試著製造一台計算機吧 15
2.1 製作微型計算機所必需的元件 17
2.2 電路圖的讀法 21
2.3 連線電源、數據和地址匯流排 23
2.4 連線I/O 26
2.5 連線時鐘信號 27
2.6 連線用於區分讀寫對象是記憶體還是I/O的引腳 28
2.7 連線剩餘的控制引腳 29
2.8 連線外部設備,通過DMA輸入程式 34
2.9 連線用於輸入輸出的外部設備 35
2.10 輸入測試程式並進行調試 36
第3章 體驗一次手工彙編 39
3.1 從程式設計師的角度看硬體 41
3.2 機器語言和彙編語言 44
3.3 Z80 CPU的暫存器結構 49
3.4 追蹤程式的運行過程 52
3.5 嘗試手工彙編 54
3.6 嘗試估算程式的執行時間 57
第4章 程式像河水一樣流動著 59
4.1 程式的流程分為三種 61
4.2 用流程圖表示程式的流程 65
4.3 表示循環程式塊的“帽子”和“短褲” 68
4.4 結構化程式設計 72
4.5 畫流程圖來思考算法 75
4.6 特殊的程式流程——中斷處理 77
4.7 特殊的程式流程——事件驅動 78
COLUMN 來自企業培訓現場 電阻顏色代碼的諧音助記口訣 82
第5章 與算法成為好朋友的七個要點 85
5.1 算法是程式設計的“熟語” 87
5.2 要點1:算法中解決問題的步驟是明確且有限的 88
5.3 要點2:計算機不靠直覺而是機械地解決問題 89
5.4 要點3:了解並套用典型算法 91
5.5 要點4:利用計算機的處理速度 92
5.6 要點5:使用編程技巧提升程式執行速度 95
5.7 要點6:找出數字間的規律 99
5.8 要點7:先在紙上考慮算法 101
第6章 與數據結構成為好朋友的七個要點 103
6.1 要點1:了解記憶體和變數的關係 105
6.2 要點2:了解作為數據結構基礎的數組 108
6.3 要點3:了解數組的套用——作為典型算法的數據結構 109
6.4 要點4:了解並掌握典型數據結構的類型和概念 111
6.5 要點5:了解棧和佇列的實現方法 114
6.6 要點6:了解結構體的組成 118
6.7 要點7:了解鍊表和二叉樹的實現方法 120
第7章 成為會使用面向對象編程的程式設計師吧 125
7.1 面向對象編程 127
7.2 對OOP的多種理解方法 128
7.3 觀點1:面向對象編程通過把組件拼裝到一起構建程式 130
7.4 觀點2:面向對象編程能夠提升程式的開發效率和可維護性 132
7.5 觀點3:面向對象編程是適用於大型程式的開發方法 134
7.6 觀點4:面向對象編程就是在為現實世界建模 134
7.7 觀點5:面向對象編程可以藉助UML設計程式 135
7.8 觀點6:面向對象編程通過在對象間傳遞訊息驅動程式 137
7.9 觀點7:在面向對象編程中使用繼承、封裝和多態 140
7.10 類和對象的區別 141
7.11 類有三種使用方法 143
7.12 在Java和.NET中有關OOP的知識不能少 145
第8章 一用就會的資料庫 147
8.1 資料庫是數據的基地 149
8.2 數據檔案、DBMS和資料庫應用程式 151
8.3 設計資料庫 154
8.4 通過拆表和整理數據實現規範化 157
8.5 用主鍵和外鍵在表間建立關係 159
8.6 索引能夠提升數據的檢索速度 162
8.7 設計用戶界面 164
8.8 向DBMS傳送CRUD操作的SQL語句 165
8.9 使用數據對象向DBMS傳送SQL語句 167
8.10 事務控制也可以交給DBMS處理 170
COLUMN 來自企業培訓現場 培訓新人編程時推薦使用什麼程式語言? 172
第9章 通過七個簡單的實驗理解TCP/IP網路 175
9.1 實驗環境 177
9.2 實驗1:查看網卡的MAC地址 179
9.3 實驗2:查看計算機的IP位址 182
9.4 實驗3:了解DHCP伺服器的作用 184
9.5 實驗4:路由器是數據傳輸過程中的指路人 186
9.6 實驗5:查看路由器的路由過程 188
9.7 實驗6:DNS伺服器可以把主機名解析成IP位址 190
9.8 實驗7:查看IP位址和MAC地址的對應關係 192
9.9 TCP的作用及TCP/IP網路的層級模型 193
第10章 試著加密數據吧 197
10.1 先來明確一下什麼是加密 199
10.2 錯開字元編碼的加密方式 201
10.3 密鑰越長,解密越困難 205
10.4 適用於網際網路的公開密鑰加密技術 208
10.5 數字簽名可以證明數據的傳送者是誰 211
第11章 XML究竟是什麼 215
11.1 XML是標記語言 217
11.2 XML是可擴展的語言 219
11.3 XML是元語言 220
11.4 XML可以為信息賦予意義 224
11.5 XML是通用的數據交換格式 227
11.6 可以為XML標籤設定命名空間 230
11.7 可以嚴格地定義 XML的文檔結構 232
11.8 用於解析XML的組件 233
11.9 XML可用於各種各樣的領域 235
第12章 SE負責監管計算機系統的構建 239
12.1 SE是自始至終參與系統開發過程的工程師 241
12.2 SE未必擔任過程式設計師 243
12.3 系統開發過程的規範 243
12.4 各個階段的工作內容及文檔 245
12.5 所謂設計,就是拆解 247
12.6 面向對象法簡化了系統維護工作 249
12.7 技術能力和溝通能力 250
12.8 IT不等於引進計算機 252
12.9 計算機系統的成功與失敗 253
12.10 大幅提升設備利用率的多機備份 255