本書(shū)倡導(dǎo)在計(jì)算機(jī)迅速發(fā)展、技術(shù)不斷革新的今天,回歸到計(jì)算機(jī)的基礎(chǔ)知識(shí)上。通過(guò)探究計(jì)算機(jī)的本質(zhì),提升工程師對(duì)計(jì)算機(jī)的興趣,在面對(duì)復(fù)雜的最新技術(shù)時(shí),能夠迅速掌握其要點(diǎn)并靈活運(yùn)用。 本書(shū)以圖配文,以計(jì)算機(jī)的三大原則為開(kāi)端、相繼介紹了計(jì)算機(jī)的結(jié)構(gòu)、手工匯編、程序流程、算法、數(shù)據(jù)結(jié)構(gòu)、面向?qū)ο缶幊、?shù)據(jù)庫(kù)、TCP/IP 網(wǎng)絡(luò)、數(shù)據(jù)加密、XML、計(jì)算機(jī)系統(tǒng)開(kāi)發(fā)以及SE 的相關(guān)知識(shí)。 圖文并茂,通俗易懂,非常適合計(jì)算機(jī)愛(ài)好者和相關(guān)從業(yè)人員閱讀。
作者簡(jiǎn)介
作者簡(jiǎn)介: 矢澤久雄 YAZAWA股份有限公司董事長(zhǎng)兼總經(jīng)理。GrapeCity信息技術(shù)集團(tuán)顧問(wèn)。電腦作家之友會(huì)會(huì)長(zhǎng)。 曾在某大型電子公司從事過(guò)電腦生產(chǎn),在Software House做過(guò)程序員,現(xiàn)主要從事軟件開(kāi)發(fā)工作。工作之余筆耕不輟,從電路到編程語(yǔ)言均有涉及。代表作有《程序是怎樣跑起來(lái)的》《使用C語(yǔ)言學(xué)習(xí)程序設(shè)計(jì)的基礎(chǔ)》《征服C++類和繼承》等。自稱軟件藝人。 譯者簡(jiǎn)介: 胡屹 多年從事Web開(kāi)發(fā)工作。熱愛(ài)編程,關(guān)注設(shè)計(jì)模式,致力于提升軟件開(kāi)發(fā)的質(zhì)量。曾獲得SCJP和PHP ZCE證書(shū)。
目錄: 第1章 計(jì)算機(jī)的三大原則 1 1.1 計(jì)算機(jī)的三個(gè)根本性基礎(chǔ) 3 1.2 輸入、運(yùn)算、輸出是硬件的基礎(chǔ) 4 1.3 軟件是指令和數(shù)據(jù)的集合 6 1.4 對(duì)計(jì)算機(jī)來(lái)說(shuō)什么都是數(shù)字 8 1.5 只要理解了三大原則,即使遇到難懂的最新技術(shù),也能輕松應(yīng)對(duì) 9 1.6 為了貼近人類,計(jì)算機(jī)在不斷地進(jìn)化 10 1.7 稍微預(yù)習(xí)一下第2章 13 第2章 試著制造一臺(tái)計(jì)算機(jī)吧 15 2.1 制作微型計(jì)算機(jī)所必需的元件 17 2.2 電路圖的讀法 21 2.3 連接電源、數(shù)據(jù)和地址總線 23 2.4 連接I/O 26 2.5 連接時(shí)鐘信號(hào) 27 2.6 連接用于區(qū)分讀寫(xiě)對(duì)象是內(nèi)存還是I/O的引腳 28 2.7 連接剩余的控制引腳 29 2.8 連接外部設(shè)備,通過(guò)DMA輸入程序 34 2.9 連接用于輸入輸出的外部設(shè)備 35 2.10 輸入測(cè)試程序并進(jìn)行調(diào)試 36 第3章 體驗(yàn)一次手工匯編 39 3.1 從程序員的角度看硬件 41 3.2 機(jī)器語(yǔ)言和匯編語(yǔ)言 44 3.3 Z80 CPU的寄存器結(jié)構(gòu) 49 3.4 追蹤程序的運(yùn)行過(guò)程 52 3.5 嘗試手工匯編 54 3.6 嘗試估算程序的執(zhí)行時(shí)間 57 第4章 程序像河水一樣流動(dòng)著 59 4.1 程序的流程分為三種 61 4.2 用流程圖表示程序的流程 65 4.3 表示循環(huán)程序塊的“帽子”和“短褲” 68 4.4 結(jié)構(gòu)化程序設(shè)計(jì) 72 4.5 畫(huà)流程圖來(lái)思考算法 75 4.6 特殊的程序流程——中斷處理 77 4.7 特殊的程序流程——事件驅(qū)動(dòng) 78 COLUMN 來(lái)自企業(yè)培訓(xùn)現(xiàn)場(chǎng) 電阻顏色代碼的諧音助記口訣 82 第5章 與算法成為好朋友的七個(gè)要點(diǎn) 85 5.1 算法是程序設(shè)計(jì)的“熟語(yǔ)” 87 5.2 要點(diǎn)1:算法中解決問(wèn)題的步驟是明確且有限的 88 5.3 要點(diǎn)2:計(jì)算機(jī)不靠直覺(jué)而是機(jī)械地解決問(wèn)題 89 5.4 要點(diǎn)3:了解并應(yīng)用典型算法 91 5.5 要點(diǎn)4:利用計(jì)算機(jī)的處理速度 92 5.6 要點(diǎn)5:使用編程技巧提升程序執(zhí)行速度 95 5.7 要點(diǎn)6:找出數(shù)字間的規(guī)律 99 5.8 要點(diǎn)7:先在紙上考慮算法 101 第6章 與數(shù)據(jù)結(jié)構(gòu)成為好朋友的七個(gè)要點(diǎn) 103 6.1 要點(diǎn)1:了解內(nèi)存和變量的關(guān)系 105 6.2 要點(diǎn)2:了解作為數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)的數(shù)組 108 6.3 要點(diǎn)3:了解數(shù)組的應(yīng)用——作為典型算法的數(shù)據(jù)結(jié)構(gòu) 109 6.4 要點(diǎn)4:了解并掌握典型數(shù)據(jù)結(jié)構(gòu)的類型和概念 111 6.5 要點(diǎn)5:了解棧和隊(duì)列的實(shí)現(xiàn)方法 114 6.6 要點(diǎn)6:了解結(jié)構(gòu)體的組成 118 6.7 要點(diǎn)7:了解鏈表和二叉樹(shù)的實(shí)現(xiàn)方法 120 第7章 成為會(huì)使用面向?qū)ο缶幊痰某绦騿T吧 125 7.1 面向?qū)ο缶幊獭 ?27 7.2 對(duì)OOP的多種理解方法 128 7.3 觀點(diǎn)1:面向?qū)ο缶幊掏ㄟ^(guò)把組件拼裝到一起構(gòu)建程序 130 7.4 觀點(diǎn)2:面向?qū)ο缶幊棠軌蛱嵘绦虻拈_(kāi)發(fā)效率和可維護(hù)性 132 7.5 觀點(diǎn)3:面向?qū)ο缶幊淌沁m用于大型程序的開(kāi)發(fā)方法 134 7.6 觀點(diǎn)4:面向?qū)ο缶幊叹褪窃跒楝F(xiàn)實(shí)世界建! 134 7.7 觀點(diǎn)5:面向?qū)ο缶幊炭梢越柚鶸ML設(shè)計(jì)程序 135 7.8 觀點(diǎn)6:面向?qū)ο缶幊掏ㄟ^(guò)在對(duì)象間傳遞消息驅(qū)動(dòng)程序 137 7.9 觀點(diǎn)7:在面向?qū)ο缶幊讨惺褂美^承、封裝和多態(tài) 140 7.10 類和對(duì)象的區(qū)別 141 7.11 類有三種使用方法 143 7.12 在Java和.NET中有關(guān)OOP的知識(shí)不能少 145 第8章 一用就會(huì)的數(shù)據(jù)庫(kù) 147 8.1 數(shù)據(jù)庫(kù)是數(shù)據(jù)的基地 149 8.2 數(shù)據(jù)文件、DBMS和數(shù)據(jù)庫(kù)應(yīng)用程序 151 8.3 設(shè)計(jì)數(shù)據(jù)庫(kù) 154 8.4 通過(guò)拆表和整理數(shù)據(jù)實(shí)現(xiàn)規(guī)范化 157 8.5 用主鍵和外鍵在表間建立關(guān)系 159 8.6 索引能夠提升數(shù)據(jù)的檢索速度 162 8.7 設(shè)計(jì)用戶界面 164 8.8 向DBMS發(fā)送CRUD操作的SQL語(yǔ)句 165 8.9 使用數(shù)據(jù)對(duì)象向DBMS發(fā)送SQL語(yǔ)句 167 8.10 事務(wù)控制也可以交給DBMS處理 170 COLUMN 來(lái)自企業(yè)培訓(xùn)現(xiàn)場(chǎng) 培訓(xùn)新人編程時(shí)推薦使用什么編程語(yǔ)言? 172 第9章 通過(guò)七個(gè)簡(jiǎn)單的實(shí)驗(yàn)理解TCP/IP網(wǎng)絡(luò) 175 9.1 實(shí)驗(yàn)環(huán)境 177 9.2 實(shí)驗(yàn)1:查看網(wǎng)卡的MAC地址 179 9.3 實(shí)驗(yàn)2:查看計(jì)算機(jī)的IP地址 182 9.4 實(shí)驗(yàn)3:了解DHCP服務(wù)器的作用 184 9.5 實(shí)驗(yàn)4:路由器是數(shù)據(jù)傳輸過(guò)程中的指路人 186 9.6 實(shí)驗(yàn)5:查看路由器的路由過(guò)程 188 9.7 實(shí)驗(yàn)6:DNS服務(wù)器可以把主機(jī)名解析成IP地址 190 9.8 實(shí)驗(yàn)7:查看IP地址和MAC地址的對(duì)應(yīng)關(guān)系 192 9.9 TCP的作用及TCP/IP網(wǎng)絡(luò)的層級(jí)模型 193 第10章 試著加密數(shù)據(jù)吧 197 10.1 先來(lái)明確一下什么是加密 199 10.2 錯(cuò)開(kāi)字符編碼的加密方式 201 10.3 密鑰越長(zhǎng),解密越困難 205 10.4 適用于互聯(lián)網(wǎng)的公開(kāi)密鑰加密技術(shù) 208 10.5 數(shù)字簽名可以證明數(shù)據(jù)的發(fā)送者是誰(shuí) 211 第11章 XML究竟是什么 215 11.1 XML是標(biāo)記語(yǔ)言 217 11.2 XML是可擴(kuò)展的語(yǔ)言 219 11.3 XML是元語(yǔ)言 220 11.4 XML可以為信息賦予意義 224 11.5 XML是通用的數(shù)據(jù)交換格式 227 11.6 可以為XML標(biāo)簽設(shè)定命名空間 230 11.7 可以嚴(yán)格地定義 XML的文檔結(jié)構(gòu) 232 11.8 用于解析XML的組件 233 11.9 XML可用于各種各樣的領(lǐng)域 235 第12章 SE負(fù)責(zé)監(jiān)管計(jì)算機(jī)系統(tǒng)的構(gòu)建 239 12.1 SE是自始至終參與系統(tǒng)開(kāi)發(fā)過(guò)程的工程師 241 12.2 SE未必?fù)?dān)任過(guò)程序員 243 12.3 系統(tǒng)開(kāi)發(fā)過(guò)程的規(guī)范 243 12.4 各個(gè)階段的工作內(nèi)容及文檔 245 12.5 所謂設(shè)計(jì),就是拆解 247 12.6 面向?qū)ο蠓ê?jiǎn)化了系統(tǒng)維護(hù)工作 249 12.7 技術(shù)能力和溝通能力 250 12.8 IT不等于引進(jìn)計(jì)算機(jī) 252 12.9 計(jì)算機(jī)系統(tǒng)的成功與失敗 253 12.10 大幅提升設(shè)備利用率的多機(jī)備份 255
|