美麗程式:頂尖程式設計師的思考方式

美麗程式:頂尖程式設計師的思考方式
定價:780
NT $ 647 ~ 741
  • 作者:Brian Kernighan//等
  • 譯者:陳建勳
  • 出版社:歐萊禮
  • 出版日期:2008-04-14
  • 語言:繁體中文
  • ISBN10:9866840190
  • ISBN13:9789866840197
  • 裝訂:平裝 / 668頁 / 普通級 / 單色印刷 / 初版
 

內容簡介

  本書收集了軟體設計領域的大師級作品,每個作品都獨一無二,而又見解深刻。走在時代前驅的設計大師,引領讀者一章章走過解決特殊難題的優雅方案,並說明各個方案的迷人因素。這不是另一本設計模式書籍,也不是另一本探討軟體工程方法對錯的專著。我們希望讀者有機會站在軟體設計巨人的肩上,從他們的高度看世界。三十八位撰碼大師,把他們打造專案架構、判斷建置代價、決定打破成規的重要時刻,化為字字珠磯,呈現在讀者面前。

 

目錄

前言 序

1 正規運算式比對器---by Brian Kernighan

程式設計實務
實作
討論
其他做法
基礎之上
結論

2 Subversion 的 Delta 編輯器:只談介面---by Karl Fogel

版本控制和目錄樹轉換
表達目錄樹的差異
delta 編輯器介面
這樣子,美嗎?
吸引人的抽象化
結論

3 我從沒寫過的最美麗程式---by Jon Bentley

我所寫過最美麗的程式
多還要更多、少還要更少
分析
何謂書寫?
結論
誌謝

4 找東西---by Tim Bray

論時間
問題:部落格資料
問題:誰取出什麼、何時?
大量搜尋
結論

5 正確>美麗>快速:設計 XML 查證器的教訓---by Elliotte Rusty Harold

XML 驗證的角色
問題
版本 1:實作雛型
版本 2:模仿 BNF 文法 O(N)
版本 3:初次最佳化 O(log N)
版本 4:第二次最佳化(不要檢查兩次)
版本 5:第三次最佳化(O(1))
版本 6:第四次最佳化(快取機制)
故事的寓意

6 整合測試的框架:來自脆弱性的美感---by Michael Feathers

驗收測試框架的三個類別
框架設計的挑戰
開放式框架
HTML 分析器能簡單到什麼程度?
結論

7 美麗測試---by Akberto Savoia

麻煩的二元搜尋
JUnit 簡介
釘牢二元搜尋
結論

8 動態產生影像處理程式---by Charles Petzold

9 由上而下運算子優先權---by Douglas Crockford

JavaScript
符號表
字符
優先權
運算式
插入運算子
前置運算子
指定運算子
常數
範圍
敘述
函式
陣列和物件實字
行所當行、想所當想

10 追尋加速的族群計數---by Henry S. Warren, Jr.

基本方法
個別擊破
其他方法
兩字的族群計數和與差
比較兩字的族群計數
計算陣列裡的 1 位元
應用

11 安全通訊:自由技術---by Ashish Gulhati

起步的關鍵
可用性是關鍵
基石
測試套組
可用之原型
清理、插入、下一步
在喜瑪拉亞山脈鑽研
看不見的手移動了
速率要緊
個人權利的通訊隱私
鑽研文明

12 BioPerl 的美麗程式---by Lincoln Stein

BioPerl 和 Bio::Graphics 模組
Bio::Graphics 設計流程
擴充 Bio::Graphics
結論和教訓

13 Gene Sorter 的設計---by Jim Kent

Gene Sorter 的用戶介面
透過網站維護和用戶間的對話盒
一點多型會走得長久
過濾出相關基因
大型美麗程式的理論
結論

14 優雅程式隨硬體演化:以高斯消去法為例---Jack Dongarra & Piotr
Luszczek

電腦架構對矩陣演算法的影響
分解法
LINPACK 的 DGEFA 次常式
LAPACK 的 DGETRF
遞迴 LU
ScaLAPACK 的 PDGETRF
多核心系統的多執行緒
有關錯誤分析和運算計數
未來研究方向
進階閱讀資料

15 美麗設計的長期益處---by Adam Kolawa

我所想的美麗程式
介紹 CERN 程式庫
外在美感
內在美感
結論

16 Linux 核心驅動程式模型:一起運作的益處---by Greg Kroah-Hartman

從基底開始
再進一步縮減
規模放大至幾千台裝置
小型物件的鬆散聯結

17 另一層間接層---by Diomidis Spinellis

從程式碼到指標
從函式引數到引數指標
從檔案系統到檔案系統層
從程式碼到領域特定語言
多工和解多工
永遠分層?

18 Python 的辭典:滿足所有人的需要---by Andrew Kuchling
辭典之內
特殊調整
碰撞
改變尺寸
迭代和動態修改
結論
誌謝

19 NumPy 的多維迭代器---by Travis E. Oliphant

N 維陣列運算的重大挑戰
N 維陣列的記憶體模型
NumPy 迭代器的起源
迭代器的設計
迭代器的介面
結論

20 NASA 火星探測任務~ 高度可靠的企業系統---by Ronald Mak

火星任務以及 CIP
任務需求
系統架構
案例研究:Streamer 服務
可靠度
結論

21 ERP5:追求最大適應力的設計---Rogerio Atem de Carvalho & Rafael
Monnerat

ERP 的一般目標
ERP5
底層 Zope 平台
ERP5 Project 的概念
ERP5 Project 撰碼
結論

22 一匙污水---by Bryan Cantrill

23 分散式程式設計和 MapReduce---Jeffrey Dean & Sanjay Ghemawat

引領範例
MapReduce 程式設計模型
其他 MapReduce 範例
分散式 MapReduce 的實作
模型的延伸
結論
其他閱讀資料
誌謝
附錄:字數計算解法

24 美麗的並行性---by Simon Peyton Jones

一個簡單的範例:銀行帳戶
軟體交易記憶體
聖誕老人問題
Haskell 的省思
結論
誌謝

25 語法抽象:syntax-case 展開器---by R. Kent Dybvig

syntax-case 的簡介
展開演算法
範例
結論

26 省力架構:網路軟體之物件導向框架---William R. Otte & Douglas C. Schmidt

樣本應用程式:日誌服務
日誌伺服器框架的物件導向設計
實作循序式日誌伺服器
實作並行日誌伺服器
結論

27 整合商務夥伴:REST 方式---by Andrew Patzer

專案背景
對外部客戶揭露服務
使用工廠模式替服務安排路徑
使用電子商務協定交換資料
結論

28 除錯之美---by Andreas Zeller

對除錯器除錯
系統化過程
搜尋問題
自動尋找失敗原因
delta 除錯
輸入最小化
獵捕缺陷
原型問題
結論
誌謝
其他讀物

29 把程式視為文章---by Yukihiro Matsumoto

30 對世界的唯一連繫---by Arun Mehta

基本設計模式
輸入介面
使用者介面的效率
下載
未來方向

31 Emacspeak:完備的音訊桌面---by T. V. Raman

產生語音輸出
具語音功能的 Emacs
無痛式線上資訊存取
摘要
誌謝

32 運行中的程式碼---by Laura Wingerd & Christopher Seiwald

有書籍的感覺
該相似處就要相似
縮排的危險
程式碼的導覽
我們所用的工具
DiffMerge 多變的過去
結論
誌謝
其他讀物

33 替「算書」寫程式---by Brian Hayes

非康莊大道
一點小忠告
三點一列問題
要小心應付的斜率
三角不等
迂迴曲折
廢話——我是說「啊哈!」
結論
進階閱讀
後記---by Andy Oram

作者群

索引

網路書店 類別 折扣 價格
  1. 新書
    83
    $647
  2. 新書
    9
    $702
  3. 新書
    9
    $702
  4. 新書
    9
    $702
  5. 新書
    9
    $702
  6. 新書
    95
    $741