東坡下載:內(nèi)容最豐富最安全的下載站!

幫助|文件類型庫|最新更新|下載分類|排行榜

桌面主題教育相關(guān)素材下載字體下載外語學習高考考研建筑圖集高考作文書法字體桌面壁紙CAD圖紙考研素材

首頁硬件驅(qū)動硬件教程 → Unix編程藝術(shù) pdf格式免費中文版

Unix編程藝術(shù)

Unix編程藝術(shù)pdf格式免費中文版

  • 大。23.1M
  • 語言:中文
  • 平臺:WinAll
  • 更新:2015-05-05 09:56
  • 等級:
  • 類型:書集教程
  • 網(wǎng)站:http://californiadebtcollectionlawyers.com
  • 授權(quán):免費軟件
  • 廠商:
  • 產(chǎn)地:國產(chǎn)軟件
好用好玩 50%(0)
坑爹 坑爹 50%(0)
軟件介紹軟件截圖相關(guān)軟件軟件教程網(wǎng)友評論下載地址

人們習慣用經(jīng)典名著、典藏的不二之選這樣來詞匯來評價Unix編程藝術(shù)這本書,的確,這本書不僅完全展現(xiàn)了作者極其深厚的經(jīng)驗積累,更展現(xiàn)出了作者在所在的領(lǐng)域的智慧。該書覆蓋面廣、內(nèi)容深邃,是一本非常值得一看的書,本節(jié)內(nèi)容小編為大家整理帶來的是關(guān)于這本書的pdf格式中文版本,有需要的朋友點擊本文相應(yīng)的下載地址即可查看這本書的完整版!

Unix編程藝術(shù)內(nèi)容截圖

Unix編程藝術(shù)目錄

序 xxv

Part I 1

第1章 哲學 3

1.1 文化?什么文化 3

1.2 Unix的生命力 4

1.3 反對學習Unix文化的理由 5

1.4 Unix之失 6

1.5 Unix之得 7

1.5.1 開源軟件 7

1.5.2 跨平臺可移植性和開放標準 8

1.5.3 Internet和萬維網(wǎng) 8

1.5.4 開源社區(qū) 9

1.5.5 從頭到腳的靈活性 9

1.5.6 Unix Hack之趣 10

1.5.7 Unix的經(jīng)驗別處也可適用 11

1.6 Unix哲學基礎(chǔ) 11

1.6.1 模塊原則:使用簡潔的接口拼合簡單的部件 14

1.6.2 清晰原則: 清晰勝于機巧 14

1.6.3 組合原則:設(shè)計時考慮拼接組合 15

1.6.4 分離原則: 策略同機制分離,接口同引擎分離 16

1.6.5 簡潔原則:設(shè)計要簡潔,復雜度能低則低 17

1.6.6 吝嗇原則: 除非確無它法,不要編寫龐大的程序 18

1.6.7 透明性原則:設(shè)計要可見,以便審查和調(diào)試 18

1.6.8 健壯原則: 健壯源于透明與簡潔 18

1.6.9 表示原則: 把知識疊入數(shù)據(jù)以求邏輯質(zhì)樸而健壯 19

1.6.10 通俗原則:接口設(shè)計避免標新立異 20

1.6.11 緘默原則:如果一個程序沒什么好說的,就保持沉默 20

1.6.12 補救原則: 出現(xiàn)異常時,馬上退出并給出足量錯誤信息 21

1.6.13 經(jīng)濟原則: 寧花機器一分,不花程序員一秒 22

1.6.14 生成原則: 避免手工hack,盡量編寫程序去生成程序 22

1.6.15 優(yōu)化原則: 雕琢前先得有原型,跑之前先學會走 23

1.6.16 多樣原則:決不相信所謂“不二法門”的斷言 24

1.6.17 擴展原則: 設(shè)計著眼未來,未來總比預(yù)想快 24

1.7 Unix哲學之一言以蔽之 25

1.8 應(yīng)用Unix哲學 26

1.9 態(tài)度也要緊 26

第2章 歷史——雙流記 29

2.1 Unix的起源及歷史,1969-1995 29

2.1.1 創(chuàng)世紀:1969-1971 30

2.1.2 出埃及記:1971-1980 32

2.1.3 TCP/IP 和Unix內(nèi)戰(zhàn):1980-1990 35

2.1.4 反擊帝國:1991-1995 41

2.2 黑客的起源和歷史:1961-1995 43

2.2.1 游戲在校園的林間:1961-1980 44

2.2.2 互聯(lián)網(wǎng)大融合與自由軟件運動:1981-1991 45

2.2.3 Linux 和實用主義者的應(yīng)對:1991-1998 48

2.3 開源運動:1998年及之后 49

2.4 Unix的歷史教訓 51

第3章 對比: Unix哲學同其他哲學的比較 53

3.1 操作系統(tǒng)的風格元素 53

3.1.1 什么是操作系統(tǒng)的統(tǒng)一性理念 54

3.1.2 多任務(wù)能力 54

3.1.3 協(xié)作進程 55

3.1.4 內(nèi)部邊界 57

3.1.5 文件屬性和記錄結(jié)構(gòu) 57

3.1.6 二進制文件格式 58

3.1.7 首選用戶界面風格 58

3.1.8 目標受眾 59

3.1.9 開發(fā)的門坎 60

3.2 操作系統(tǒng)的比較 61

3.2.1 VMS 61

3.2.2 MacOS 64

3.2.3 OS/2 65

3.2.4 Windows NT 68

3.2.5 BeOS 71

3.2.6 MVS 72

3.2.7 VM/CMS 74

3.2.8 Linux 76

3.3 種什么籽,得什么果 78

Part II 81

第4章 模塊性:保持清晰,保持簡潔 83

4.1 封裝和最佳模塊大小 85

4.2 緊湊性和正交性 87

4.2.1 緊湊性 87

4.2.2 正交性 89

4.2.3 SPOT原則 91

4.2.4 緊湊性和強單一中心 92

4.2.5 分離的價值 94

4.3 軟件是多層的 95

4.3.1 自頂向下和自底向上 95

4.3.2 膠合層 97

4.3.3 實例分析:被視為薄膠合層的C語言 98

4.4 程序庫 99

4.4.1 實例分析:GIMP插件 100

4.5 Unix和面向?qū)ο笳Z言 101

4.6 模塊式編碼 103

第5章 文本化:好協(xié)議產(chǎn)生好實踐 105

5.1 文本化的重要性 107

5.1.1 實例分析:Unix口令文件格式 109

5.1.2 實例分析:.newsrc格式 110

5.1.3 實例分析:PNG圖形文件格式 111

5.2 數(shù)據(jù)文件元格式 112

5.2.1 DSV 風格 113

5.2.2 RFC 822 格式 114

5.2.3 Cookie-Jar格式 115

5.2.4 Record-Jar格式 116

5.2.5 XML 117

5.2.6 Windows INI 格式 119

5.2.7 Unix文本文件格式的約定 120

5.2.8 文件壓縮的利弊 122

5.3 應(yīng)用協(xié)議設(shè)計 123

5.3.1 實例分析:SMTP,一個簡單的套接字協(xié)議 124

5.3.2 實例分析:POP3,郵局協(xié)議 124

5.3.3 實例分析:IMAP,互聯(lián)網(wǎng)消息訪問協(xié)議 126

5.4 應(yīng)用協(xié)議元格式 127

5.4.1 經(jīng)典的互聯(lián)網(wǎng)應(yīng)用元協(xié)議 127

5.4.2 作為通用應(yīng)用協(xié)議的HTTP 128

5.4.3 BEEP:塊可擴展交換協(xié)議 130

5.4.4 XML-RPC,SOAP和Jabber 131

第6章 透明性:來點兒光 133

6.1 研究實例 135

6.1.1 實例分析:audacity 135

6.1.2 實例分析:fetchmail的–v選項 136

6.1.3 實例分析:GCC 139

6.1.4 實例分析:kmail 140

6.1.5 實例分析:SNG 142

6.1.6 實例分析:Terminfo數(shù)據(jù)庫 144

6.1.7 實例分析:Freeciv數(shù)據(jù)文件 146

6.2 為透明性和可顯性而設(shè)計 148

6.2.1 透明性之禪 149

6.2.2 為透明性和可顯性而編碼 150

6.2.3 透明性和避免過度保護 151

6.2.4 透明性和可編輯的表現(xiàn)形式 152

6.2.5 透明性、故障診斷和故障恢復 153

6.3 為可維護性而設(shè)計 154

第7章 多道程序設(shè)計: 分離進程為獨立的功能 157

7.1 從性能調(diào)整中分離復雜度控制 159

7.2 Unix IPC 方法的分類 160

7.2.1 把任務(wù)轉(zhuǎn)給專門程序 160

7.2.2 管道、重定向和過濾器 161

7.2.3 包裝器 166

7.2.4 安全性包裝器和Bernstein鏈 167

7.2.5 從進程 168

7.2.6 對等進程間通信 169

7.3 要避免的問題和方法 176

7.3.1 廢棄的Unix IPC方法 176

7.3.2 遠程過程調(diào)用 178

7.3.3 線程——恐嚇或威脅 180

7.4 在設(shè)計層次上的進程劃分 181

第8章 微型語言:尋找歌唱的樂符 183

8.1 理解語言分類法 185

8.2 應(yīng)用微型語言 187

8.2.1 案例分析:sng 187

8.2.2 案例分析:正則表達式 188

8.2.3 案例分析:Glade 191

8.2.4 案例分析:m4 193

8.2.5 案例分析:XSLT 194

8.2.6 案例分析:The Documenter's Workbench Tools 195

8.2.7 案例分析:fetchmail的運行控制語法 199

8.2.8 案例分析:awk 200

8.2.9 案例分析:PostScript 202

8.2.10 案例分析:bc和dc 203

8.2.11 案例分析:Emacs Lisp 205

8.2.12 案例分析:JavaScript 205

8.3 設(shè)計微型語言 206

8.3.1 選擇正確的復雜度 207

8.3.2 擴展和嵌入語言 209

8.3.3 編寫自定義語法 210

8.3.4 宏—慎用 210

8.3.5 語言還是應(yīng)用協(xié)議 212

第9章 生成:提升規(guī)格說明的層次 215

9.1 數(shù)據(jù)驅(qū)動編程 216

9.1.1 實例分析:ascii 217

9.1.2 實例分析:統(tǒng)計學的垃圾郵件統(tǒng)計 218

9.1.3 實例分析:fetchmailconf中的元類改動 219

9.2 專用代碼的生成 225

9.2.1 實例分析:生成ascii顯示的代碼 225

9.2.2 實例分析:為列表生成HTML代碼 227

第10章 配置:邁出正確的第一步 231

10.1 什么應(yīng)是可配置的 231

10.2 配置在哪里 233

10.3 運行控制文件 234

10.3.1 實例分析:.netrc文件 236

10.3.2 到其它操作系統(tǒng)的可移植性 238

10.4 環(huán)境變量 238

10.4.1 系統(tǒng)環(huán)境變量 238

10.4.2 用戶環(huán)境變量 240

10.4.3 何時使用環(huán)境變量 240

10.4.4 到其它操作系統(tǒng)的可移植性 242

10.5 命令行選項 242

10.5.1 從–a到–z的命令行選項 243

10.5.2 到其它操作系統(tǒng)的可移植性 248

10.6 如何挑選方法 248

10.6.1 實例分析:fetchmail 249

10.6.2 實例分析:XFree86服務(wù)器 251

10.7 論打破規(guī)則 252

第11章 接口:Unix環(huán)境下的用戶接口設(shè)計模式 253

11.1 最小立異原則的應(yīng)用 254

11.2 Unix接口設(shè)計的歷史 256

11.3 接口設(shè)計評估 257

11.4 CLI和可視接口之間的權(quán)衡 259

11.4.1 實例分析:編寫計算器程序的兩種方式 262

11.5 透明度、表現(xiàn)力和可配置性 264

11.6 Unix接口設(shè)計模式 266

11.6.1 過濾器模式 266

11.6.2 Cantrip模式 268

11.6.3 源模式 268

11.6.4 接收器模式 269

11.6.5 編譯器模式 269

11.6.6 ed模式 270

11.6.7 Roguelike 模式 270

11.6.8 “引擎和接口分離”模式 273

11.6.9 CLI服務(wù)器模式 278

11.6.10 基于語言的接口模式 279

11.7 應(yīng)用Unix接口設(shè)計模式 280

11.7.1

11.8 網(wǎng)頁瀏覽器作為通用前端 281

11.9 沉默是金 284

第12章 優(yōu)化 287

12.1 什么也別做,就站在那兒 287

12.2 先估量,后優(yōu)化 288

12.3 非定域性之害 290

12.4 吞吐量和延遲 291

12.4.1 批操作 292

12.4.2 重疊操作 293

12.4.3 緩存操作結(jié)果 293

第13章 復雜度:盡可能簡單,但別簡過了頭 295

13.1 談?wù)剰碗s度 296

13.1.1 復雜度的三個來源 296

13.1.2 接口復雜度和實現(xiàn)復雜度的折中 298

13.1.3 必然的、可能的和偶然的復雜度 299

13.1.4 映射復雜度 300

13.1.5 當簡潔性不能勝任 302

13.2 五個編輯器的故事 302

13.2.1 ed 304

13.2.2 vi 305

13.2.3 Sam 306

13.2.4 Emacs 307

13.2.5 Wily 308

13.3 編輯器的適當規(guī)模 309

13.3.1 甄別復雜度問題 309

13.3.2 折衷無用 312

13.3.3 Emacs是個反Unix傳統(tǒng)的論據(jù)嗎 314

13.4 軟件的適度規(guī)模 316

Part III 319

第14章 語言:C還是非C 321

14.1 Unix下語言的豐饒 321

14.2 為什么不是C 323

14.3 解釋型語言和混合策略 325

14.4 語言評估 325

14.4.1 C 326

14.4.2 C++ 327

14.4.3 Shell 330

14.4.4 Perl 332

14.4.5 Tcl 334

14.4.6 Python 336

14.4.7 Java 339

14.4.8 Emacs Lisp 342

14.5 未來趨勢 344

14.6 選擇X工具包 346

第15章 工具:開發(fā)的戰(zhàn)術(shù) 349

15.1 開發(fā)者友好的操作系統(tǒng) 349

15.2 編輯器選擇 350

15.2.1 了解vi 351

15.2.2 了解Emacs 351

15.2.3 非虔誠的選擇:兩者兼用 352

15.3 專用代碼生成器 352

15.3.1 yacc和lex 353

15.3.2 實例分析:fetchmailrc的語法 356

15.3.3 實例分析:Glade 356

15.4 make:自動化編譯 357

15.4.1 make的基本理論 357

15.4.2 非C/C++開發(fā)中的make 359

15.4.3 通用生成目標 359

15.4.4 生成Makefile 362

15.5 版本控制系統(tǒng) 364

15.5.1 為什么需要版本控制 364

15.5.2 手工版本控制 365

15.5.3 自動化的版本控制 366

15.5.4 Unix的版本控制工具 367

15.6 運行期調(diào)試 369

15.7 性能分析 370

15.8 使用Emacs整合工具 370

15.8.1 Emacs和make 371

15.8.2 Emacs和運行期調(diào)試 371

15.8.3 Emacs和版本控制 371

15.8.4 Emacs和Profiling 372

15.8.5 像IDE一樣,但更強 373

第16章 重用:論不要重新發(fā)明輪子 375

16.1 豬小兵的故事 376

16.2 透明性是重用的關(guān)鍵 379

16.3 從重用到開源 380

16.4 生命中最美好的就是“開放” 381

16.5 何處找 384

16.6 使用開源軟件的問題 385

16.7 許可證問題 386

16.7.1 開放源碼的資格 386

16.7.2 標準開放源碼許可證 388

16.7.3 何時需要律師 390

Part IV 391

第17章 可移植性:軟件可移植性與遵循標準 393

17.1 C語言的演化 394

17.1.1 早期的C語言 395

17.1.2 C 語言標準 396

17.2 Unix 標準 398

17.2.1 標準和Unix之戰(zhàn) 398

17.2.2 慶功宴上的幽靈 401

17.2.3 開源世界的Unix標準 402

17.3 IETF和RFC標準化過程 403

17.4 規(guī)格DNA,代碼RNA 405

17.5 可移植性編程 408

17.5.1 可移植性和編程語言選擇 409

17.5.2 避免系統(tǒng)依賴性 412

17.5.3 移植工具 413

17.6 國際化 413

17.7 可移植性、開放標準以及開放源碼 414

第18章 文檔:向網(wǎng)絡(luò)世界闡釋代碼 417

18.1 文檔概念 418

18.2 Unix風格 420

18.2.1 大文檔偏愛 420

18.2.2 文化風格 421

18.3 各種Unix文檔格式 422

18.3.1 troff和Documenter's Workbench Tools 422

18.3.2 TEX 424

18.3.3 Texinfo 425

18.3.4 POD 425

18.3.5 HTML 426

18.3.6 DocBook 426

18.4 當前的混亂和可能的出路 426

18.5 DocBook 427

18.5.1 文檔類型定義 427

18.5.2 其它DTD 428

18.5.3 DocBook 工具鏈 429

18.5.4 移植工具 431

18.5.5 編輯工具 432

18.5.6 相關(guān)標準和實踐 433

18.5.7 SGML 433

18.5.8 XML-DocBook 參考書籍 433

18.6 編寫Unix文檔的最佳實踐 434

第19章 開放源碼:在Unix新社區(qū)中編程 437

19.1 Unix和開放源碼 438

19.2 與開源開發(fā)者協(xié)同工作的最佳實踐 440

19.2.1 良好的修補實踐 440

19.2.2 良好的項目、檔案文件命名實踐 444

19.2.3 良好的開發(fā)實踐 447

19.2.4 良好的發(fā)行制作實踐 450

19.2.5 良好的交流實踐 454

19.3 許可證的邏輯:如何挑選 456

19.4 為什么應(yīng)使用某個標準許可證 457

19.5 各種開源許可證 457

19.5.1 MIT或者X Consortium許可證 457

19.5.2 經(jīng)典BSD許可證 457

19.5.3 Artistic許可證 458

19.5.4 通用公共許可證 458

19.5.5 Mozilla 公共許可證 459

第20章 未來:危機與機遇 461

20.1 Unix傳統(tǒng)中的必然和偶然 461

20.2 Plan 9:未來之路 464

20.3 Unix設(shè)計中的問題 466

20.3.1 Unix文件就是一大袋字節(jié) 466

20.3.2 Unix對GUI的支持孱弱 467

20.3.3 文件刪除不可撤銷 468

20.3.4 Unix假定文件系統(tǒng)是靜態(tài)的 469

20.3.5 作業(yè)控制設(shè)計拙劣 469

20.3.6 Unix API 沒有使用異常 470

20.3.7 ioctl(2)和fcntl(2)是個尷尬 471

20.3.8 Unix安全模型可能太過原始 471

20.3.9 Unix名字種類太多 472

20.3.10 文件系統(tǒng)可能有害論 472

20.3.11 朝向全局互聯(lián)網(wǎng)地址空間 472

20.4 Unix的環(huán)境問題 473

20.5 Unix文化中的問題 475

20.6 信任的理由 477

附錄A 縮寫詞表 479

附錄B 參考文獻 483

附錄C 貢獻者 495

附錄D 無根的根:無名師的Unix心傳 499

Colophon 510

索引 511 

更多免費文檔資料下載,敬請關(guān)注東坡下載站!

PC官方
安卓官方手機版
IOS官方手機版

Unix編程藝術(shù)截圖

下載地址

Unix編程藝術(shù) pdf格式免費中文版

熱門評論
最新評論
發(fā)表評論 查看所有評論(0)
昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
字數(shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)

編輯推薦

報錯

請簡要描述您遇到的錯誤,我們將盡快予以修正。

轉(zhuǎn)帖到論壇
輪壇轉(zhuǎn)帖HTML方式

輪壇轉(zhuǎn)帖UBB方式