中图网(原中国图书网):网上书店,尾货特色书店,30万种特价书低至2折!

歡迎光臨中圖網 請 | 注冊

包郵 UNIX編程藝術

出版社:電子工業出版社出版時間:2020-12-08
開本: 16開 頁數: 530
中 圖 價:¥49.5(5.0折) 定價  ¥99.0 登錄后可看到會員價
暫時缺貨 收藏
開年大促, 全場包郵
?新疆、西藏除外
本類五星書更多>
買過本商品的人還買了

UNIX編程藝術 版權信息

UNIX編程藝術 本書特色

《傳世經典書叢:UNIX編程藝術》內容涉及社群文化、軟件開發設計與實現,覆蓋面廣、內容深邃,完全展現了作者極其深厚的經驗積累和領域智慧。 推薦購買: 《實現領域驅動設計》 《游戲引擎架構》 《淘寶技術這十年》 《元素模式》 《ZeroMQ:云時代極速消息通信庫》 《從Paxos到Zookeeper:分布式一致性原理與實踐》

UNIX編程藝術 內容簡介

本書主要介紹了Unix系統領域中的設計和開發哲學、思想文化體系、原則與經驗,由公認的Unix編程大師、開源運動領袖人物之一Eric S. Raymond傾力多年寫作而成。包括Unix設計者在內的多位領域專家也為本書貢獻了寶貴的內容。本書內容涉及社群文化、軟件開發設計與實現,覆蓋面廣、內容深邃,完全展現了作者極其深厚的經驗積累和領域智慧。

UNIX編程藝術 目錄

Contents 序 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和萬維網 8 1.5.4 開源社區 9 1.5.5 從頭到腳的靈活性 9 1.5.6 Unix Hack之趣 10 1.5.7 Unix的經驗別處也可適用 11 1.6 Unix哲學基礎 11 1.6.1 模塊原則:使用簡潔的接口拼合簡單的部件 14 1.6.2 清晰原則: 清晰勝于機巧 14 1.6.3 組合原則:設計時考慮拼接組合 15 1.6.4 分離原則: 策略同機制分離,接口同引擎分離 16 1.6.5 簡潔原則:設計要簡潔,復雜度能低則低 17 1.6.6 吝嗇原則: 除非確無它法,不要編寫龐大的程序 18 1.6.7 透明性原則:設計要可見,以便審查和調試 18 1.6.8 健壯原則: 健壯源于透明與簡潔 18 1.6.9 表示原則: 把知識疊入數據以求邏輯質樸而健壯 19 1.6.10 通俗原則:接口設計避免標新立異 20 1.6.11 緘默原則:如果一個程序沒什么好說的,就保持沉默 20 1.6.12 補救原則: 出現異常時,馬上退出并給出足量錯誤信息 21 1.6.13 經濟原則: 寧花機器一分,不花程序員一秒 22 1.6.14 生成原則: 避免手工hack,盡量編寫程序去生成程序 22 1.6.15 優化原則: 雕琢前先得有原型,跑之前先學會走 23 1.6.16 多樣原則:決不相信所謂“不二法門”的斷言 24 1.6.17 擴展原則: 設計著眼未來,未來總比預想快 24 1.7 Unix哲學之一言以蔽之 25 1.8 應用Unix哲學 26 1.9 態度也要緊 26 第2章 歷史——雙流記 29 2.1 Unix的起源及歷史,1969-1995 29 2.1.1 創世紀:1969-1971 30 2.1.2 出埃及記:1971-1980 32 2.1.3 TCP/IP 和Unix內戰:1980-1990 35 2.1.4 反擊帝國:1991-1995 41 2.2 黑客的起源和歷史:1961-1995 43 2.2.1 游戲在校園的林間:1961-1980 44 2.2.2 互聯網大融合與自由軟件運動:1981-1991 45 2.2.3 Linux 和實用主義者的應對:1991-1998 48 2.3 開源運動:1998年及之后 49 2.4 Unix的歷史教訓 51 第3章 對比: Unix哲學同其他哲學的比較 53 3.1 操作系統的風格元素 53 3.1.1 什么是操作系統的統一性理念 54 3.1.2 多任務能力 54 3.1.3 協作進程 55 3.1.4 內部邊界 57 3.1.5 文件屬性和記錄結構 57 3.1.6 二進制文件格式 58 3.1.7 首選用戶界面風格 58 3.1.8 目標受眾 59 3.1.9 開發的門坎 60 3.2 操作系統的比較 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和面向對象語言 101 4.6 模塊式編碼 103 第5章 文本化:好協議產生好實踐 105 5.1 文本化的重要性 107 5.1.1 實例分析:Unix口令文件格式 109 5.1.2 實例分析:.newsrc格式 110 5.1.3 實例分析:PNG圖形文件格式 111 5.2 數據文件元格式 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 應用協議設計 123 5.3.1 實例分析:SMTP,一個簡單的套接字協議 124 5.3.2 實例分析:POP3,郵局協議 124 5.3.3 實例分析:IMAP,互聯網消息訪問協議 126 5.4 應用協議元格式 127 5.4.1 經典的互聯網應用元協議 127 5.4.2 作為通用應用協議的HTTP 128 5.4.3 BEEP:塊可擴展交換協議 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數據庫 144 6.1.7 實例分析:Freeciv數據文件 146 6.2 為透明性和可顯性而設計 148 6.2.1 透明性之禪 149 6.2.2 為透明性和可顯性而編碼 150 6.2.3 透明性和避免過度保護 151 6.2.4 透明性和可編輯的表現形式 152 6.2.5 透明性、故障診斷和故障恢復 153 6.3 為可維護性而設計 154 第7章 多道程序設計: 分離進程為獨立的功能 157 7.1 從性能調整中分離復雜度控制 159 7.2 Unix IPC 方法的分類 160 7.2.1 把任務轉給專門程序 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 遠程過程調用 178 7.3.3 線程——恐嚇或威脅 180 7.4 在設計層次上的進程劃分 181 第8章 微型語言:尋找歌唱的樂符 183 8.1 理解語言分類法 185 8.2 應用微型語言 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 設計微型語言 206 8.3.1 選擇正確的復雜度 207 8.3.2 擴展和嵌入語言 209 8.3.3 編寫自定義語法 210 8.3.4 宏—慎用 210 8.3.5 語言還是應用協議 212 第9章 生成:提升規格說明的層次 215 9.1 數據驅動編程 216 9.1.1 實例分析:ascii 217 9.1.2 實例分析:統計學的垃圾郵件統計 218 9.1.3 實例分析:fetchmailconf中的元類改動 219 9.2 專用代碼的生成 225 9.2.1 實例分析:生成ascii顯示的代碼 225 9.2.2 實例分析:為列表生成HTML代碼 227 第10章 配置:邁出正確的**步 231 10.1 什么應是可配置的 231 10.2 配置在哪里 233 10.3 運行控制文件 234 10.3.1 實例分析:.netrc文件 236 10.3.2 到其它操作系統的可移植性 238 10.4 環境變量 238 10.4.1 系統環境變量 238 10.4.2 用戶環境變量 240 10.4.3 何時使用環境變量 240 10.4.4 到其它操作系統的可移植性 242 10.5 命令行選項 242 10.5.1 從–a到–z的命令行選項 243 10.5.2 到其它操作系統的可移植性 248 10.6 如何挑選方法 248 10.6.1 實例分析:fetchmail 249 10.6.2 實例分析:XFree86服務器 251 10.7 論打破規則 252 第11章 接口:Unix環境下的用戶接口設計模式 253 11.1 *小立異原則的應用 254 11.2 Unix接口設計的歷史 256 11.3 接口設計評估 257 11.4 CLI和可視接口之間的權衡 259 11.4.1 實例分析:編寫計算器程序的兩種方式 262 11.5 透明度、表現力和可配置性 264 11.6 Unix接口設計模式 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服務器模式 278 11.6.10 基于語言的接口模式 279 11.7 應用Unix接口設計模式 280 11.7.1 11.8 網頁瀏覽器作為通用前端 281 11.9 沉默是金 284 第12章 優化 287 12.1 什么也別做,就站在那兒 287 12.2 先估量,后優化 288 12.3 非定域性之害 290 12.4 吞吐量和延遲 291 12.4.1 批操作 292 12.4.2 重疊操作 293 12.4.3 緩存操作結果 293 第13章 復雜度:盡可能簡單,但別簡過了頭 295 13.1 談談復雜度 296 13.1.1 復雜度的三個來源 296 13.1.2 接口復雜度和實現復雜度的折中 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 編輯器的適當規模 309 13.3.1 甄別復雜度問題 309 13.3.2 折衷無用 312 13.3.3 Emacs是個反Unix傳統的論據嗎 314 13.4 軟件的適度規模 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章 工具:開發的戰術 349 15.1 開發者友好的操作系統 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++開發中的make 359 15.4.3 通用生成目標 359 15.4.4 生成Makefile 362 15.5 版本控制系統 364 15.5.1 為什么需要版本控制 364 15.5.2 手工版本控制 365 15.5.3 自動化的版本控制 366 15.5.4 Unix的版本控制工具 367 15.6 運行期調試 369 15.7 性能分析 370 15.8 使用Emacs整合工具 370 15.8.1 Emacs和make 371 15.8.2 Emacs和運行期調試 371 15.8.3 Emacs和版本控制 371 15.8.4 Emacs和Profiling 372 15.8.5 像IDE一樣,但更強 373 第16章 重用:論不要重新發明輪子 375 16.1 豬小兵的故事 376 16.2 透明性是重用的關鍵 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之戰 398 17.2.2 慶功宴上的幽靈 401 17.2.3 開源世界的Unix標準 402 17.3 IETF和RFC標準化過程 403 17.4 規格DNA,代碼RNA 405 17.5 可移植性編程 408 17.5.1 可移植性和編程語言選擇 409 17.5.2 避免系統依賴性 412 17.5.3 移植工具 413 17.6 國際化 413 17.7 可移植性、開放標準以及開放源碼 414 第18章 文檔:向網絡世界闡釋代碼 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 相關標準和實踐 433 18.5.7 SGML 433 18.5.8 XML-DocBook 參考書籍 433 18.6 編寫Unix文檔的*佳實踐 434 第19章 開放源碼:在Unix新社區中編程 437 19.1 Unix和開放源碼 438 19.2 與開源開發者協同工作的*佳實踐 440 19.2.1 良好的修補實踐 440 19.2.2 良好的項目、檔案文件命名實踐 444 19.2.3 良好的開發實踐 447 19.2.4 良好的發行制作實踐 450 19.2.5 良好的交流實踐 454 19.3 許可證的邏輯:如何挑選 456 19.4 為什么應使用某個標準許可證 457 19.5 各種開源許可證 457 19.5.1 MIT或者X Consortium許可證 457 19.5.2 經典BSD許可證 457 19.5.3 Artistic許可證 458 19.5.4 通用公共許可證 458 19.5.5 Mozilla 公共許可證 459 第20章 未來:危機與機遇 461 20.1 Unix傳統中的必然和偶然 461 20.2 Plan 9:未來之路 464 20.3 Unix設計中的問題 466 20.3.1 Unix文件就是一大袋字節 466 20.3.2 Unix對GUI的支持孱弱 467 20.3.3 文件刪除不可撤銷 468 20.3.4 Unix假定文件系統是靜態的 469 20.3.5 作業控制設計拙劣 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 文件系統可能有害論 472 20.3.11 朝向全局互聯網地址空間 472 20.4 Unix的環境問題 473 20.5 Unix文化中的問題 475 20.6 信任的理由 477 附錄A 縮寫詞表 479 附錄B 參考文獻 483 附錄C 貢獻者 495 附錄D 無根的根:無名師的Unix心傳 499 Colophon 510 索引 511
展開全部

UNIX編程藝術 作者簡介

Eric S.RAYMOND 從1982年開始就是UNIX開發者。作為開源社區文化的倡導和呼吁者,他在《大教堂與市集》中寫下了這場運動的宣言,同時他還是《新黑客詞典》的編輯。

商品評論(0條)
暫無評論……
書友推薦
本類暢銷
編輯推薦
返回頂部
中圖網
在線客服
主站蜘蛛池模板: 安徽净化板_合肥岩棉板厂家_玻镁板厂家_安徽科艺美洁净科技有限公司 | 留学生辅导网-在线课程论文辅导-留学生挂科申诉机构 | 水篦子|雨篦子|镀锌格栅雨水篦子|不锈钢排水篦子|地下车库水箅子—安平县云航丝网制品厂 | 润滑油加盟_润滑油厂家_润滑油品牌-深圳市沃丹润滑科技有限公司 琉璃瓦-琉璃瓦厂家-安徽盛阳新型建材科技有限公司 | 科客,主见不成见| 东莞市天进机械有限公司-钉箱机-粘箱机-糊箱机-打钉机认准东莞天进机械-厂家直供更放心! | 机构创新组合设计实验台_液压实验台_气动实训台-戴育教仪厂 | 纳米涂料品牌 防雾抗污纳米陶瓷涂料厂家_虹瓷科技 | 盘煤仪,盘料仪,盘点仪,堆料测量仪,便携式激光盘煤仪-中科航宇(北京)自动化工程技术有限公司 | 气动隔膜泵-电动隔膜泵-循环热水泵-液下排污/螺杆/管道/化工泵「厂家」浙江绿邦 | YJLV22铝芯铠装电缆-MYPTJ矿用高压橡套电缆-天津市电缆总厂 | 低压载波电能表-单相导轨式电能表-华邦电力科技股份有限公司-智能物联网综合管理平台 | 螺纹三通快插接头-弯通快插接头-宁波舜驰气动科技有限公司 | 企典软件一站式企业管理平台,可私有、本地化部署!在线CRM客户关系管理系统|移动办公OA管理系统|HR人事管理系统|人力 | 黑龙江「京科脑康」医院-哈尔滨失眠医院_哈尔滨治疗抑郁症医院_哈尔滨精神心理医院 | 苏州防水公司_厂房屋面外墙防水_地下室卫生间防水堵漏-苏州伊诺尔防水工程有限公司 | 电动打包机_气动打包机_钢带捆扎机_废纸打包机_手动捆扎机 | 上海办公室装修,办公楼装修设计,办公空间设计,企业展厅设计_写艺装饰公司 | 中开泵,中开泵厂家,双吸中开泵-山东博二泵业有限公司 | 温控器生产厂家-提供温度开关/热保护器定制与批发-惠州市华恺威电子科技有限公司 | 臭氧实验装置_实验室臭氧发生器-北京同林臭氧装置网 | 铝箔-铝板-花纹铝板-铝型材-铝棒管-上海百亚金属材料有限公司 | 对辊式破碎机-对辊制砂机-双辊-双齿辊破碎机-巩义市裕顺机械制造有限公司 | 上海赞永| arch电源_SINPRO_开关电源_模块电源_医疗电源-东佑源 | 电磁流量计_智能防腐防爆管道式计量表-金湖凯铭仪表有限公司 | 东莞喷砂机-喷砂机-喷砂机配件-喷砂器材-喷砂加工-东莞市协帆喷砂机械设备有限公司 | 布袋式除尘器|木工除尘器|螺旋输送机|斗式提升机|刮板输送机|除尘器配件-泊头市德佳环保设备 | 双效节能浓缩器-热回流提取浓缩机组-温州市利宏机械 | 接地电阻测试仪[厂家直销]_电缆故障测试仪[精准定位]_耐压测试仪-武汉南电至诚电力设备 | 东莞螺丝|东莞螺丝厂|东莞不锈钢螺丝|东莞组合螺丝|东莞精密螺丝厂家-东莞利浩五金专业紧固件厂家 | 在线钠离子分析仪-硅酸根离子浓度测定仪-油液水分测定仪价格-北京时代新维测控设备有限公司 | 福兰德PVC地板|PVC塑胶地板|PVC运动地板|PVC商用地板-中国弹性地板系统专业解决方案领先供应商! 福建成考网-福建成人高考网 | 广州云仓代发-昊哥云仓专业电商仓储托管外包代发货服务 | 气动隔膜泵-电动隔膜泵-循环热水泵-液下排污/螺杆/管道/化工泵「厂家」浙江绿邦 | 山东太阳能路灯厂家-庭院灯生产厂家-济南晟启灯饰有限公司 | 吸音板,隔音板,吸音材料,吸音板价格,声学材料 - 佛山诺声吸音板厂家 | 长沙中央空调维修,中央空调清洗维保,空气能热水工程,价格,公司就找维小保-湖南维小保环保科技有限公司 | CTAB,表面活性剂1631溴型(十六烷基三甲基溴化铵)-上海升纬化工原料有限公司 | 圣才学习网-考研考证学习平台,提供万种考研考证电子书、题库、视频课程等考试资料 | 天津试验仪器-电液伺服万能材料试验机,恒温恒湿标准养护箱,水泥恒应力压力试验机-天津鑫高伟业科技有限公司 |