開源應(yīng)用程序的體系結(jié)構(gòu)

原名:The Architecture of Open Source Applications

鏈接:http://aosabook.org/en/index.html

Architects look at thousands of buildings during their training, and study critiques of those buildings written by masters. In contrast, most software developers only ever get to know a handful of large programs well—usually programs they wrote themselves—and never study the great programs of history. As a result, they repeat one another's mistakes rather than building on one another's successes.

Our goal is to change that. In these two books, the authors of four dozen open source applications explain how their software is structured, and why. What are each program's major components? How do they interact? And what did their builders learn during their development? In answering these questions, the contributors to these books provide unique insights into how they think.

If you are a junior developer, and want to learn how your more experienced colleagues think, these books are the place to start. If you are an intermediate or senior developer, and want to see how your peers have solved hard design problems, these books can help you too.

建筑師們?cè)谒麄兊挠?xùn)練過程中觀察了成千上萬的建筑,并對(duì)大師們所寫的評(píng)語進(jìn)行了研究。相比之下,大多數(shù)軟件開發(fā)人員只了解少數(shù)幾個(gè)大型程序——通常是他們自己編寫的程序——而且從來沒有研究過歷史上的偉大項(xiàng)目。因此,他們重復(fù)別人的錯(cuò)誤,而不是建立在彼此的成功之上。

我們的目標(biāo)是改變這種狀況。在這兩本書中,近50位開源軟件的作者解釋了他們的軟件是如何構(gòu)造的,以及為什么這么構(gòu)造。每個(gè)程序的主要組件是什么?它們?nèi)绾蜗嗷プ饔?他們的建設(shè)者在他們的發(fā)展過程中學(xué)到了什么?在回答這些問題時(shí),這些書的作者提供了獨(dú)特的見解,他們?nèi)绾嗡伎肌?/p>

如果你是一名初級(jí)開發(fā)人員,想要了解你的經(jīng)驗(yàn)豐富的同事們的想法,那么這些書就是開始的地方。如果你是一名中級(jí)或高級(jí)的開發(fā)人員,并且想看看你的同行是如何解決設(shè)計(jì)難題的,這些書也可以幫助你。


500 Lines or Less

經(jīng)驗(yàn)豐富的開發(fā)者解決有趣的問題

Introduction?Michael DiBernardo

介紹

1????Blockcode: A visual programming toolkit????Dethe Elza

塊代碼:可視化編程工具包

2????A Continuous Integration System????Malini Das

持續(xù)集成系統(tǒng)

3????Clustering by Consensus????Dustin J. Mitchell

集群的共識(shí)

4????Contingent: A Fully Dynamic Build System????Brandon Rhodes and Daniel Rocco

特遣隊(duì):完全動(dòng)態(tài)的構(gòu)建系統(tǒng)

5????A Web Crawler With asyncio Coroutines????A. Jesse Jiryu Davis and Guido van Rossum

一名網(wǎng)絡(luò)爬蟲,帶著asyncio coroutines

6????Dagoba: an in-memory graph database????Dann Toliver

dagoba:一個(gè)內(nèi)存中的圖形數(shù)據(jù)庫(kù)

7????DBDB: Dog Bed Database????Taavi Burns

dbdb:Dog Bed數(shù)據(jù)庫(kù)

8????An Event-Driven Web Framework????Leo Zovic

事件驅(qū)動(dòng)web框架

9????A Flow Shop Scheduler????Dr. Christian Muise

10????An Archaeology-Inspired Database????Yoav Rubin

11????Making Your Own Image Filters????Cate Huston

12????A Python Interpreter Written in Python????Allison Kaptur

Python編寫的解釋器

13????A 3D Modeller????Erick Dransch

14????A Simple Object Model????Carl Friedrich Bolz

15????Optical Character Recognition (OCR)????Marina Samuel

16????A Pedometer in the Real World????Dessy Daskalov

17????The Same-Origin Policy????Eunsuk Kang, Santiago Perez De Rosso, and Daniel Jackson

18????A Rejection Sampler????Jessica B. Hamrick

一個(gè)拒絕的人

19????Web Spreadsheet????Audrey Tang

網(wǎng)絡(luò)電子表格

20????Static Analysis????Leah Hanson

靜態(tài)分析

21????A Template Engine????Ned Batchelder

?一個(gè)模板引擎

22????A Simple Web Server????Greg Wilson

一個(gè)簡(jiǎn)單的Web服務(wù)器


The Performance of Open Source Applications

IntroductionTavish Armstrong

1High Performance Networking?in?ChromeIlya Grigorik

2From SocialCalc to?EtherCalcAudrey Tang

3NinjaEvan Martin

4Parsing?XML?at the Speed of?LightArseny Kapoulkine

5MemShrinkKyle Huey

6Applying Optimization Principle Patterns to Component Deployment and Configuration?ToolsDoug C. Schmidt,?William R. Otte, and?Aniruddha Gokhale

7InfinispanManik Surtani

8TalosClint Talbert?and?Joel Maher

9ZotonicArjan Scherpenisse?and?Marc Worrell

10Secrets of Mobile Network?PerformanceBryce Howard

11WarpKazu Yamamoto,?Michael Snoyman, and?Andreas Voellmy

12Working with Big Data in?BioinformaticsEric McDonald?and?C. Titus Brown


The Architecture of Open Source Applications Volume Ⅱ

Buy Volume II

IntroductionAmy Brown?and?Greg Wilson

1.Scalable Web Architecture and Distributed SystemsKate Matsudaira

2.Firefox Release EngineeringChris AtLee,?Lukas Blakk,?John O'Duinn, and?Armen Zambrano Gasparnian

3.FreeRTOSChristopher Svec

4.GDBStan Shebs

5.The Glasgow Haskell CompilerSimon Marlow?and?Simon Peyton-Jones

6.GitSusan Potter

7.GPSDEric Raymond

8.The Dynamic Language Runtime and the Iron LanguagesJeff Hardy

9.ITKLuis Ibanez?and?Brad King

10.GNU MailmanBarry Warsaw

11.matplotlibJohn Hunter?and?Michael Droettboom

12.MediaWikiSumana Harihareswara?and?Guillaume Paumier

13.MoodleTim Hunt

14.nginxAndrey Alexeev

15.Open MPIJeff Squyres

16.OSCARJennifer Ruttan

17.Processing.jsMike Kamermans

18.PuppetLuke Kanies

19.PyPyBenjamin Peterson

20.SQLAlchemyMichael Bayer

21.TwistedJessica McKellar

22.YesodMichael Snoyman

23.YoctoElizabeth Flanagan

24.ZeroMQMartin Sústrik

Bibliography


The Architecture of Open Source Applications Volume Ⅰ

IntroductionAmy Brown?and?Greg Wilson

1.AsteriskRussell Bryant

2.AudacityJames Crook

3.The Bourne-Again ShellChet Ramey

4.Berkeley DBMargo Seltzer?and?Keith Bostic

5.CMakeBill Hoffman?and?Kenneth Martin

6.EclipseKim Moir

7.GraphiteChris Davis

8.The Hadoop Distributed File SystemRobert Chansler,?Hairong Kuang,?Sanjay Radia,?Konstantin Shvachko, and?Suresh Srinivas

9.Continuous IntegrationC. Titus Brown?and?Rosangela Canino-Koning

10.JitsiEmil Ivov

11.LLVMChris Lattner

12.MercurialDirkjan Ochtman

13.The NoSQL EcosystemAdam Marcus

14.Python PackagingTarek Ziadé

15.Riak and Erlang/OTPFrancesco Cesarini,?Andy Gross, and?Justin Sheehy

16.Selenium WebDriverSimon Stewart

17.SendmailEric Allman

18.SnowFlockRoy Bryant?and?Andrés Lagar-Cavilla

19.SocialCalcAudrey Tang

20.TelepathyDanielle Madeley

21.Thousand ParsecAlan Laudicina?and?Aaron Mavrinac

22.VioletCay Horstmann

23.VisTrailsJuliana Freire,?David Koop,?Emanuele Santos,?Carlos Scheidegger,?Claudio Silva, and?Huy T. Vo

24.VTKBerk Geveci?and?Will Schroeder

25.Battle For WesnothRichard Shimooka?and?David White

Bibliography

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容