程式設計師培養
《程式設計師培養》由一系列的獨立的部分組成,涵蓋的主題從個人責任、職業發展,直到用於使代碼保持靈活、並且易於改編和復用的各種架構技術。利用許多富有娛樂性的奇聞軼事、有思想性的例子以及有趣的類比,全面闡釋了軟體開發的許多不同方面的最佳實踐和重大陷阱。無論你是初學者,是有經驗的程式設計師,還是軟體項目經理,本書都適合你閱讀。
代碼清潔度
《代碼清潔度(英文版)》提出一種觀念:代碼質量與其整潔度成正比。乾淨的代碼,既在質量上較為可靠,也為後期維護、升級奠定了良好基礎。作為編程領域的佼佼者,《代碼清潔度(英文版)》作者給出了一系列行之有效的整潔代碼操作實踐。這些實踐在《代碼清潔度(英文版)》中體現為一條條規則(或稱「啟示」),並輔以來自現實項目的正、反兩面的範例。只要遵循這些規則,就能編寫出乾淨的代碼,從而有效提升代碼質量。
代碼大全
史蒂夫·麥康奈爾(Steve McConnell)被公認為軟體開發社區中的主要作家和演講者之一。他是Construx Software的首席軟體工程師。他的著作包括《代碼百科全書》和《快速軟體開發》,並被《軟體開發》雜誌授予「傑出產品衝擊獎」,以及《軟體項目生存指南》和《專業軟體開發》。
重建
重建,一言以蔽之,就是在不改變外部行為的前提下,有條不紊地改善代碼。多年前,正是本書原版的出版,使重建終於從編程高手們的小圈子走出,成為眾多普通程式設計師日常開發工作中不可或缺的一部分。本書也因此成為與《設計模式》齊名的經典著作,被譯為中、德、俄、日等眾多語言,在世界範圍內暢銷不衰。
本書凝聚了軟體開發社區專家多年摸索而獲得的寶貴經驗,擁有不因時光流逝而磨滅的價值。今天,無論是重建本身,業界對重建的理解,還是開發工具對重建的支持力度,都與本書最初出版時不可同日而語,但書中所蘊涵的意味和精華,依然值得反覆咀嚼,而且往往能夠常讀常新。
輕鬆解釋設計模式
《輕鬆解釋設計模式》(影印版)的編寫運用許多最新的研究,包括神經生物學、認知科學以及學習理論,這使得《輕鬆解釋設計模式》(影印版)能夠將這些設計模式深深地烙印在你的腦海中,不容易被遺忘。你將會更擅長於解決軟體設計中的問題,並能夠和你的團隊成員用模式的語言來更好地溝通
人月神話
暢銷20多年的經典傑作,以及軟體工程領域的聖經收藏! IBM大型計算機之父Fred Brooks擁有20多年的開發經驗,是有遠見的。技術獨具匠心與人文之美的完美結合!原件原件影印本,真正理解大師的明智思維,不再被翻譯模稜兩可打擾!它還包括最新的四篇經典論文,包括「 No Silver Bullet」!
代碼清潔度-程式設計師的職業素養
收集超過40年編程生涯的編程大師經驗
解釋軟體技術的原理,技術,工具和實踐
幫助專業軟體開發人員擁有令人欽佩的專業素質
成功的程式設計師在過去的工作和生活中經歷了大小不確定性,並承受著無盡的壓力。他們之所以成功是因為它們有共同點,並且深深關注創建軟體所需的實踐。他們將軟體開發視為需要精湛工藝的技能。他們通過專業標準要求自己。他們具有專業素養。
軟體開發專家Robert C. Martin在本書中介紹了真正的軟體技能的原理,技術,工具和實踐,展示了如何以自豪,自尊和自信來開發軟體,如何實現出色的性能和豐碩的成果,要實現有效的溝通和準確的估算,如何以坦率的態度面對困難,引導讀者認識到專業程式設計師肩負的重大責任,並說明什麼是程式設計師的專業素質。
本書的具體內容包括:
●成為一名真正的軟體專業人員的要求是什麼,如何應對矛盾和緊張的時間表以及不合理的管理人員;
●如何實現平滑編程並克服阻塞狀態;
●如何應對無盡的工作壓力,避免倒塌;
●如何培養持之以恆的態度以及如何接受新的發展方法;
●如何善於安排時間,避免陷入困境。
●如何營造有利於程式設計師和開發團隊繁榮的環境;
●我什麼時候該說「不」,怎麼說?
●我什麼時候應該說「是」,承諾意味著什麼。
該軟體功能強大,簡潔實用,令人讚嘆。開發人員和用戶都樂於使用此類軟體。它們不是由機器編寫的,而是由對軟體技能有堅定信念的專業軟體開發人員編寫的。這本書將幫助讀者成為專業軟體開發人員,並贏得只有他們才能擁有的榮譽感和成就感。
修改代碼的藝術
世界級計算機專家Michael C. Feathers的經典之作,軟體開發大師Robert C. Martin作序傾情推薦,修改遺留代碼的權威指南。深入剖析修改遺留代碼的各種方法和策略,從理解遺留代碼、為其編碼測試、重建及增加特性等方面給出大量實用建議,是所有程序開發人員必讀之作。
設計模式
本書結合了設計師實例,從面向對象的設計中選擇了23種設計模式,總結了最有價值的面向對象設計經驗,並以簡潔和可重用的形式進行了表達。本書描述了一組設計良好且表達清晰的軟體設計模式,這些模式在實際環境中特別有用。本書適用於大學計算機專業的學生,研究生和相關人員。
本書涉及的設計模式不描述新的或未經驗證的設計,僅描述那些已在不同系統中多次使用的成功設計。
程式設計師訪談經典
這本書是原始Google高級面試官的經驗。它與程式設計師面試的各個方面緊密相關。它全面而透徹地介紹了程式設計師應如何對面試做出回應以在面試中脫穎而出。第1章到第7章主要涉及對訪談過程的分析,訪談者的幕後決策和可能的問題,訪談之前的準備以及訪談結果的處理;第8章至第9章從數據結構,概念和算法,知識開始。共有4種類型的問題和其他面試問題。它向讀者提供來自許多知名公司(如Microsoft,Apple和Google)的150個編程面試問題,並為每個面試問題提供詳細的解決方案。
軟技能
這本書真正著眼於從「人員」(而不是技術或管理)的角度著眼於軟體開發人員的開發。本書討論的內容不僅涉及生活習慣,而且還涉及思維方式,突出了技術中的「人為」因素,並全面解釋了軟體行業從業人員需要了解的所有「軟技能」。本書著重於軟體開發人員生活的方方面面,從揭示面試過程到集中製作殺手resume,從創建受歡迎的博客到建立您,從提高工作效率到如何處理「 procrastination」。甚至包括如何投資房地產以及如何關注自己的健康。本書分為七個章節,包括職業文章,自我營銷文章,學習文章,生產力文章,財務文章,健身文章和精神文章。它總結了軟體行業從業者所需的「軟技能」。通過閱讀本書,軟體工程師,程式設計師和其他技術人員可以積極思考自己的職業,豐富自己的生活,並使自己更接近成功。
電腦程式的構建和解釋
《電腦程式的構建和解釋(原書第2版)》1984年出版,成型於美國麻省理工學院(MIT)多年使用的一本教材,1996年修訂為第2版。在過去的二十多年裡,《電腦程式的構建和解釋(原書第2版)》對於計算機科學的教育計劃產生了深刻的影響。第2版中大部分重要程序設計系統都重新修改並做過測試,包括各種解釋器和編譯器。作者根據其後十餘年的教學實踐,還對其他許多細節做了相應的修改。
編碼:計算機硬體和軟體背後隱藏的語言
這本書是關於計算機如何工作的。作者使用豐富的想像力和清晰的筆觸,以一種易於理解的方式來解釋看似複雜的理論,您根本不會感到呆板和僵硬。更重要的是,您將對計算機的工作方式有更深入的了解。這種理解不是抽象的,而是有一定深度的
算法導論
本書全面介紹了該算法。每種算法的分析既簡單易懂,又非常有趣,並且保持了數學上的嚴格性。本書的設計目標是全面的,適合多種用途。內容包括:算法在計算中的作用,概率分析和隨機算法介紹。該書專門討論了線性規劃,介紹了動態規劃的兩個應用,線性規劃的隨機化和近似算法等,以及遞歸解,快速排序中使用的除法和預期線性時序統計算法貪婪算法的元素的討論。該書還介紹了強連通子圖算法正確性的證明,哈密頓環的NP完備性的證明以及子集和問題。本書提供了900多個練習題和思考題,以及更詳細的案例研究。
人文軟體
在軟體管理領域,幾乎沒有與這本書可比的書籍。作為一本經久不衰的暢銷書,這本書深入了解了軟體開發的最大問題不是技術而是人。人為因素不容易解決,一旦解決,您將更有可能取得成功。
這本書是軟體管理領域的傳奇經典,被稱為「對美國軟體業影響最大的一本書」。整本書從管理人力資源,創建健康的辦公環境,僱用和保留合適的人員,有效的團隊形成,轉變企業文化和快樂的工作人員(更確切地說,從以下角度)解釋了如何思考和管理軟體開發的最大問題。技術)來獲得高效的項目和團隊。
作者在第三版中增加了6章,並對先前的內容進行了調整,以使其更能夠應對當今的軟體開發環境和挑戰。例如,第三版討論了領導力的一些病理症狀,在上一版中未將其歸納為病理學。該書還描述了會議文化的演變以及如何管理新老成員組成的混合團隊。為什麼有些日常工具會成為團隊的阻力而不是動力。任何需要管理軟體項目或軟體組織的人都可以從本書中找到有價值的建議
編程珍珠
本書是計算機科學方面的經典名著。書的內容圍繞程序設計人員面對的一系列實際問題展開。作者Jon Bentley 以其獨有的洞察力和創造力,引導讀者理解這些問題並學會解決方法,而這些正是程式設計師實際編程生涯中至關重要的。本書的特色是通過一些精心設計的有趣而又頗具指導意義的程序,對實用程序設計技巧及基本設計原則進行了透徹而睿智的描述,為複雜的編程問題提供了清晰而完備的解決思路。本書對各個層次的程式設計師都具有很高的閱讀價值。.多年以來,當程式設計師們推選出最心愛的計算機圖書時,《編程珍珠》總是位列前列。正如自然界裡珍珠出自細沙對牡蠣的磨礪,計算機科學大師Jon Bentley以其獨有的洞察力和創造力,從磨礪程式設計師的實際問題中凝結出一篇篇不朽的編程「珠璣」,成為世界計算機界名刊《ACM通訊》歷史上最受歡迎的專欄,最終結集為兩部不朽的計算機科學經典名著,影響和激勵著一代又一代程式設計師和計算機科學工作者。本書為第一卷,主要討論計算機科學中最本質的問題:如何正確選擇和高效地實現算法。..在書中,作者選取許多具有典型意義的複雜編程和算法問題,生動描繪了歷史上眾大師們在探索解決方案中發生的軼事、走過的彎路和不斷精益求精的歷程,引導讀者像真正的程式設計師和軟體工程師那樣富於創新性地思考,並透徹闡述和總結了許多獨特而精妙的設計原則、思考和解決問題的方法以及實用程序設計技巧。解決方案的代碼均以C/C++語言編寫,不僅有趣,而且有很大的實戰示範意義。每章後所附習題極具挑戰性和啟發性,書末給出了簡潔的解答。
企業應用程式架構模型
《企業應用程式架構模型》作者是當今面向對象軟體開發的權威,他在一組專家級合作者的幫助下,將40多種經常出現的解決方案轉化成模式,最終寫成這本能夠應用於任何一種企業應用平臺的、關於解決方案的、不可或缺的手冊。《企業應用程式架構模型》獲得了2003年度美國軟體開發雜誌圖書類的生產效率獎和讀者選擇獎。《企業應用程式架構模型》分為兩大部分。第一部分是關於如何開發企業應用的簡單介紹。第二部分是《企業應用程式架構模型》的主體,是關於模式的詳細參考手冊,每個模式都給出使用方法和實現信息,並配以詳細的Java代碼或C#代碼示例。此外,整《企業應用程式架構模型》中還用了大量UML圖來進一步闡明有關概念。
《企業應用程式架構模型》是為致力於設計和構建企業應用的軟體架構師、設計人員和編程人員而寫的,同時也可作為高等院校計算機專業及軟體學院相關課程的參考教材。
電腦程式的構建和解釋
算機程序的構造和解釋(原書第2版)》1984年出版,成型於美國麻省理工學院(MIT)多年使用的一本教材,1996年修訂為第2版。在過去的二十多年裡,《電腦程式的構建和解釋(原書第2版)》對於計算機科學的教育計劃產生了深刻的影響。第2版中大部分重要程序設計系統都重新修改並做過測試,包括各種解釋器和編譯器。作者根據其後十餘年的教學實踐,還對其他許多細節做了相應的修改。
電腦程式設計藝術
首先介紹編程的基本概念和技術,然後詳細說明信息結構,包括計算機中信息的表示形式,數據元素之間的結構關係以及有效的信息處理方法。此外,這本書還描述了編程在模擬,數值方法,符號計算,軟體和系統設計中的主要應用。第三版增加了數十種簡單但重要的算法和技術,並根據當前的研究趨勢對數學的預備作了許多更改。
域驅動設計
《域驅動設計:軟體核心複雜性應對之道》是域驅動設計方面的經典之作。全書圍繞著設計和開發實踐,結合若干真實的項目案例,向讀者闡述如何在真實的軟體開發中應用域驅動設計。書中給出了域驅動設計的系統化方法,並將人們普遍接受的一些最佳實踐綜合到一起,融入了作者的見解和經驗,展現了一些可擴展的設計最佳實踐、已驗證過的技術以及便於應對複雜領域的軟體項目開發的基本原則。《域驅動設計:軟體核心複雜性應對之道》適合各層次的面向對象軟體開發人員、系統分析員閱讀。
編程生活
業界頂級程式設計師是如何走上編程道路的?
他們的編程工作創造並改變了人類歷史。在此過程中有哪些經驗教訓?
他們對計算機軟體行業的過去,現在和未來有何獨特見解和見解?
他們需要培訓,發現,選擇和面試優秀程式設計師的哪些建議?
放開手頭的工作,聽聽這些軟體先驅的故事和建議。視野可以更廣闊,思維可以更清晰,方向可以更清晰,生活可以更加令人興奮。
作者Peter Seibel採訪了以下15位世界一流的編程大師。這本書是在將近80個小時的訪談記錄的基礎上編撰而成的。
Jamie Zawinski:Lisp程式設計師,XEmacs開發人員,Netscape瀏覽器和Mozilla核心開發人員。
d布拉德·菲茨派屈克(Brad Fitzpatrick):這本書中僅有的80年代,LiveJournal和內存緩存開發人員。現在適用於Google。
Douglas Crockford:JavaScript權威,JSON之父。現任Yahoo架構師。
Brendan Eich:JavaScript之父。 Mozilla的CTO。
約書亞·布洛赫(Joshua Bloch):如果戈斯林(Gosling)是Java的父親,那麼布洛赫(Bloch)是使Java真正成熟的教父,他是Java 2至5的核心架構師。現在,他是Google的首席Java架構師。
Joe Armstrong:Erlang和OTP(開放電信平臺)框架之父。
西蒙·佩頓·瓊斯(Simon Peyton Jones):Haskell的先驅。 ACM會員。現在,他是Microsoft Cambridge Research Institute的研究員。
Peter Norvig:Google研發總監。ACM研究員。
Guy Steele:精通多種語言,是Common Lisp和Scheme的開發者之一,Java語言規範的作者之一,並且是Common Lisp,Fortran,C,ECMAScript和Scheme等語言標準化委員會的成員。高性能科學計算語言的堡壘設計師。 ACM研究員,美國工程院院士。太陽公司院士。
Dan Ingalls:與Alan Kay合作開發Smalltalk,是該語言的真正實現者。現在,他是Sun公司的傑出工程師。
Peter L. Peter Deutsch:JIT(即時)編譯技術的發明者之一,也是PostScript文件瀏覽器GhostScript的作者。 ACM會員。太陽公司院士。
肯·湯普森(Ken Thompson):圖靈獎獲得者。 Unix之父。 UTF-8 Unicode編碼的設計器。
弗蘭·艾倫(Fran Allen):圖靈獎的首位女性獲獎者。編譯技術公認的權威。 IEEE院士,ACM成員,美國工程院院士。 IBM院士。
Bernie Cosell:Internet的創始人,是ARPANET路由計算機IMP的最早設計師之一。
Donald Knuth:多卷經典著作《計算機編程藝術》的作者,排版軟體TeX的作者,並獲得了圖靈獎。
快速軟體開發
提高軟體開發速度並按計劃完成項目是軟體開發項目管理中最常見,最難解決的問題。在總結包括Microsoft在內的美國軟體行業的數以萬計的軟體開發項目的實踐經驗,研究成果和經驗教訓的基礎上,本書列出了數十種可以直接在軟體中使用的經過實踐驗證的軟體。在開發過程中進行應用,以提高最佳實踐方法,開發策略,實踐技能等的開發速度,幫助開發人員和項目經理在了解軟體開發中最常見的錯誤的基礎上,根據他們的實際情況,制定出項目進度表成本,質量和其他目標的最佳解決方案。
算法
作為算法領域的經典參考書,「算法(英語版本第4版)」全面介紹了有關算法和數據結構的必要知識,並特別討論了排序,搜索,圖形處理和字符串處理。第四版專門提供了每個程式設計師都應該知道的50種算法,並提供了實際代碼,並且這些Java代碼以模塊化編程樣式實現,讀者可以輕鬆修改它們。本書的支持網站提供了本書內容的摘要以及更多資源,例如代碼實現,測試數據,練習和教學課件。
持續交付
Jez Humble的「持續交付(發布可靠軟體的系統方法)」描述了如何實現更快,更可靠和成本更低的自動化軟體交付,並描述了如何改善反饋並改善開發人員,測試人員和操作人員項目經理要實現這個目標。 「連續交付(發布可靠軟體的系統方法)」包括三個部分。第一部分解釋了持續交付背後的原則以及支持這些原則的實踐。第二部分是本書的核心,它全面介紹了部署管道。第三部分討論有關部署管道的輸入和輸出的更多詳細信息,包括增量開發技術,高級版本控制模式以及基礎結構,環境和數據的管理和組織治理。 「連續交付(發布可靠軟體的系統方法)」適合所有開發人員,測試人員,運維人員和項目經理學習和參考。
軟體架構設計
「軟體體系結構設計:大型網站的技術體系結構和業務體系結構的集成方式」圍繞軟體體系結構設計,系統地梳理了技術體系結構和業務體系結構的方法論和實踐。 「軟體體系結構設計:大型網站的技術體系結構和業務體系結構的集成」的內容分為五個部分。第1部分定義了體系結構的概念和範圍;第2部分包括程式語言,作業系統,網絡,資料庫,框架和中間件,從軟體等方面入手,並介紹體系結構的基本知識。第三部分從高並發,高可用性和穩定性,一致性,CAP理論等角度分析了技術架構知識。第四部分從業務架構思想,技術架構和業務開始。架構的集成觀點,闡述了業務架構的知識。第5部分從個人素質和團隊能力兩個方面解釋了從技術到管理的轉換方法。通過本書,讀者可以對商業軟體的體系結構方法有一個全面的了解,同時對軟體體系結構的核心功能有深刻的理解,並為個人技術的發展起到一定的參考作用。
「軟體體系結構設計:大型網站的技術體系結構和業務體系結構的集成方式」不僅適合工程師和建築師閱讀,而且適合包括企業系統開發人員在內的軟體開發從業人員。