編輯推薦
吳漢洪 畢業於中國人民大學,獲經濟學博士學位。現為中國人民大學經濟學院經濟學教授,博士生導師。任中華外國經濟學說研究會理事。比利時魯汶大學高-級訪問學者。軟件驅動著現代世界,但對許多人來說其內部的工作原理仍然是個謎。雖然軟件在背後支撐著CGI圖形、安全網絡購物以及高速的Google搜索,並且我們每天都在使用軟件,但並不是每個人都確切瞭解其工作原理。
如果你想知道在計算機屏幕後麵究竟發生瞭什麼的話,本書將會帶你領略身邊那些軟件的神奇世界。例如,你將學到計算機生成的動畫是如何與現實世界中的鏡頭組閤起來並創造齣逼真特效的;視頻遊戲是如何實時渲染圖形的;哈希函數是如何混淆密碼以使其免受攻擊的;以及Google是如何對搜索結果進行排序的。
本書通俗易懂,具有詳細的解釋和任何人都能理解的直觀圖錶。本書不含任何代碼,故閱讀本無需技術背景。
如果想要瞭解計算機是如何在每天執行我們習以為常卻又很神奇的那些任務,你不必非得成為計算機科學傢,通過閱讀本書,你就可以領略軟件背後的奧秘。
通過閱讀本書,你還將瞭解:
? 加密的工作原理以及不同加密標準的安全程度;
? 如何壓縮視頻以滿足在綫流式播放;
? 數據是如何在龐大的數據庫中被搜索齣來(查找到)的;
? 應用程序是如何在沒有衝突的情況下協同工作的;
? 軟件是如何理解地圖信息並為你導航的。
內容簡介
軟件已經成為人們日常生活與工作中常見的輔助工具,但是對於軟件的工作原理,很多人卻不是非常瞭解。
本書對軟件的工作原理進行瞭解析,讓讀者對常用軟件的工作原理有一個大緻的瞭解。內容涉及數據如何加密、密碼如何使用和保護、如何創建計算機圖像、如何壓縮和存儲視頻、如何搜索數據、程序如何解決同樣的問題而不會引發衝突以及如何找齣路徑等方麵。
本書適閤從事軟件開發工作的專業技術人員,以及對軟件工作原理感興趣的讀者。
作者簡介
V. Anton Spraul,已經為來自世界各地的學生講授瞭15年以上的入門編程和計算機科學。同時他也是《Think Like a Programmer》(《像程序員一樣思考》)和《Computer Science Made Simple》這兩本書的作者。
目錄
第1章 加密 1
1.1 加密目標 2
1.2 換位法:相同的數據,不同的
順序 2
1.2.1 密鑰 4
1.2.2 對加密的攻擊 5
1.3 替換法:替換數據 6
1.3.1 變化替換模式 6
1.3.2 密鑰擴展 9
1.4 高級加密標準 9
1.4.1 二進製基礎 10
1.4.2 AES加密:概述 12
1.4.3 AES中的密鑰擴展 13
1.4.4 AES加密處理流程 14
1.4.5 數據塊鏈接 15
1.4.6 AES為什麼是安全的 16
1.4.7 AES可能遭受的攻擊 17
1.5 私鑰加密的限製 18
第2章 密碼 19
2.1 將密碼轉成數字 19
2.2 MD5散列函數 21
2.2.1 密碼編碼 21
2.2.2 按位運算 22
2.2.3 MD5散列流程 23
2.2.4 達到好的散列函數的
標準 24
2.3 數字簽名 25
2.3.1 身份問題 25
2.3.2 碰撞攻擊 25
2.4 身份認證係統中的密碼 26
2.4.1 危險的密碼錶 26
2.4.2 對密碼進行散列 27
2.4.3 字典式攻擊 27
2.4.4 散列錶 28
2.4.5 散列鏈 29
2.4.6 迭代式散列 32
2.4.7 為密碼“加鹽” 33
2.4.8 密碼錶安全嗎 34
2.5 密碼存儲服務 34
2.6 小結 35
第3章 網絡安全 37
3.1 公鑰加密是如何解決密鑰共享
問題的 37
3.2 公鑰加密所需的數學運算 38
3.2.1 可逆函數(Invertible
Functions) 38
3.2.2 單嚮函數(One-Way
Functions) 39
3.2.3 暗門函數(Trapdoor
Functions) 40
3.3 RSA加密法 42
3.3.1 創建密鑰 42
3.3.2 使用RSA加密數據 44
3.3.3 RSA的效率 45
3.3.4 在真實世界中使用RSA 46
3.3.5 身份認證中的RSA 49
3.4 網絡安全:HTTPS 51
3.4.1 握手 51
3.4.2 在HTTPS下傳輸數據 53
3.5 共享密鑰的問題解決瞭嗎 54
第4章 電影CGI 57
4.1 傳統動畫軟件 59
4.1.1 數字圖像是如何工作的 59
4.1.2 顔色是如何定義的 61
4.1.3 軟件是如何製作cel
動畫的 61
4.1.4 從cel動畫軟件到
渲染式的2D圖形 69
4.2 3D CGI軟件 69
4.2.1 如何描述3D場景 70
4.2.2 虛擬攝像機 71
4.2.3 直接光照 72
4.2.4 全局光照 76
4.2.5 如何進行光綫追蹤 76
4.2.6 全屏抗鋸齒 80
4.3 真實與模擬相結閤 81
4.4 理想化的電影級品質渲染 82
第5章 遊戲圖形 83
5.1 實時圖形的硬件 84
5.2 為什麼遊戲不使用射綫追蹤 85
5.3 隻有直綫,沒有麯綫 85
5.4 不使用射綫追蹤來進行投影 86
5.5 渲染三角形 87
5.5.1 畫傢算法 88
5.5.2 深度緩衝 89
5.6 實時光照 90
5.7 陰影 92
5.8 環境光照和環境遮擋 94
5.9 紋理映射 95
5.9.1 最鄰近采樣 97
5.9.2 雙綫性過濾 99
5.9.3 Mipmaps 100
5.9.4 三綫性過濾 101
5.10 反射 102
5.11 僞造麯綫 104
5.11.1 遠距頂替物 104
5.11.2 凹凸映射 104
5.11.3 麯麵細分 105
5.12 實時抗鋸齒 107
5.12.1 超級采樣 107
5.12.2 多重采樣 109
5.12.3 後期處理抗鋸齒 109
5.13 渲染預算 111
5.14 遊戲圖形展望 112
第6章 數據壓縮 113
6.1 遊程編碼 114
6.2 字典壓縮 116
6.2.1 基本方式 116
6.2.2 哈夫曼編碼 118
6.3 重組數據以獲得更好的壓縮 119
6.3.1 預測編碼 119
6.3.2 量化 120
6.4 JPEG圖像 120
6.4.1 顔色的另一種存儲方式 121
6.4.2 離散餘弦變換 122
6.4.3 二維DCT 125
6.4.4 對DCT處理結果進行
壓縮 128
6.4.5 JPEG圖像質量 131
6.5 壓縮高清視頻 134
6.5.1 時間壓縮 134
6.5.2 MPEG-2視頻壓縮 135
6.5.3 視頻質量與時間壓縮 138
6.6 視頻壓縮的現在和未來 139
第7章 搜索 141
7.1 定義搜索問題 141
7.2 將數據按序存放 142
7.2.1 選擇排序 142
7.2.2 快速排序 143
7.3 二分搜索 146
7.4 索引 148
7.5 散列 150
7.6 網絡搜索 153
7.6.1 為抓取到的網頁結果進行
排名 153
7.6.2 高效地使用索引 155
7.7 網絡搜索的前景 156
第8章 並發 157
8.1 為何需要並發 157
8.1.1 性能 158
8.1.2 多用戶環境 158
8.1.3 多任務處理 158
8.2 並發是如何齣錯的 159
8.3 使並發安全 162
8.3.1 隻讀數據 162
8.3.2 基於事務的處理過程 162
8.3.3 信號量 163
8.4 無限等待的問題 165
8.4.1 有序隊列 166
8.4.2 循環等待造成的飢餓 166
8.5 信號量的性能問題 168
8.6 並發的未來 169
第9章 地圖路徑 171
9.1 軟件中對地圖的定義 171
9.1.1 最佳優先搜索 174
9.1.2 重用之前的搜索結果 177
9.2 一次找齣所有最佳路徑 179
9.2.1 弗洛伊德算法 179
9.2.2 存儲路徑方嚮 182
9.3 路徑查找的未來 185
軟件的奧秘 加密 密碼 壓縮 搜索是如何工作的 下載 mobi epub pdf txt 電子書 格式
評分
☆☆☆☆☆
本書很給力,非常喜歡!
評分
☆☆☆☆☆
很好。。。。。。。。。。。。。。。
評分
☆☆☆☆☆
暑假看
評分
☆☆☆☆☆
書寫的很好
評分
☆☆☆☆☆
本書很給力,非常喜歡!
評分
☆☆☆☆☆
書的內容感覺還可以,但是不太值,比預期的要薄很多。
評分
☆☆☆☆☆
暑假看
評分
☆☆☆☆☆
本書很給力,非常喜歡!
評分
☆☆☆☆☆
涉及數據如何加密、密碼如何使用和保護、如何創建計算機圖像、如何壓縮和存儲視頻、如何搜索數據、程序如何解決同樣的問題而不會引發衝突以及如何找齣zui佳路徑等方麵