多團隊高效協作密技:大規模敏捷開發方法Large Scale Scrum簡單學(iThome鐵人賽系列書)
規模化不是角色變多, 流程變複雜, 而是協作方式的改變!導入LeSS的最佳教戰手冊!深入淺出帶你解決協作開發會遇到的難題擴展學習漸進式學習進而拓展團隊的能力和彈性團隊協作如何一起協作以減低相依性帶來的延遲開發導向從開發角度協作而非控制性的專案管理叔公講古進行講說的過程當中適時加入補充資料系統性/高效性/務實性對於多團隊協作提供最好的解決方案!本書內容改編自第15屆iThome鐵人賽IT管理組的冠軍系列文章《多團隊如何協作進行敏捷開發的利器──Large Scale Scrum(LeSS)》。關於大規模敏捷的因應之道,目前市面上已經盛傳許多做法。有些增加了很多角色,導致流程變得十分複雜,讓人難以著手。有些則是過於簡陋,打算以不變應萬變,卻讓人不知如何在實務上應用。還有一些解法的發明者不是開發人員,因此有很多開發協作的問題並沒有得到解決。LeSS的解法主要是採取反脆弱的精神,來面對黑天鵝的世界。不是讓你規避和別的團隊協作、完全切割得乾乾淨淨,而是在開發過程中,藉由不斷地協作,知道別的團隊在做什麼,並學習對方不同的觀點,來抵抗更多複雜的狀況。❖目標讀者想要讓團隊成員擴展學習的範圍對於多團隊間相互依賴感到困擾想知道大規模敏捷框架如何運作想知道從開發角度如何多人協作❖評審推薦如果你想要了解 LeSS,這本書可做為你的第一本書,如果你想要在團隊中導入 LeSS,相信也可以從這本書中獲得指引。在此誠摯跟各位推薦本書,也預祝各位,在推動敏捷的路上,持續迭代,持續變強。游舒帆這本書有很多小故事、小實踐、小心法,即使不是跑大規模敏捷,即使不是跑 LeSS,也都相當有參考價值。它們背後都是有深刻的系統思考與具體的實驗佐證。 我很享受閱讀這本書,願你也能享受此樂趣。敏捷魔藥師 葉秉哲(William Yeh)❖專業推薦本書是台灣少數談論大型組織敏捷導入的第一手經驗分享,它不僅僅是一個工具手冊,也是一份實踐指南,為那些希望在大規模開發環境中,認真推行敏捷的人提供了寶貴的經驗和見解。董大偉Microsoft MVP|Microsoft Regional Director這本書不僅是敏捷實踐者的寶典,更是引領您在敏捷旅途上邁向成功的指南。David 的經驗和智慧將陪伴每一位敏捷愛好者,幫助您在打造符合市場需求的產品與服務的同時,共創理想的工作環境,造福身邊的人。敏捷黑手阿一 林裕丞(Yves Lin)台灣敏捷協會首任理事長我很喜歡 David 結合自身十多年的敏捷實戰經驗,寫成這本精彩的書,把常見對敏捷開發的迷失及在多團隊時常常會遇到的問題,都一一詳列出並加以說明。李境展 Tomas Li新加坡商鈦坦科技 總經理
Rust最佳入門與實戰
★☆★國內第一本介紹Rust實戰的專書★☆★【本書特點】☆Rust重要觀念介紹:泛型(Generics)、特徵(Trait)、巨集(Macro)、閉包(Closure)、並行處理(Concurrency)、所有權(Ownership)。☆Rust實戰:機器學習、WebAssembly、區塊鏈(Blockchain)、跨語言整合(FFI),包括Python、C、JS…等。☆常見應用實作:資料庫存取、網站開發、桌面程式、檔案系統存取…等。【本書目標對象】1. 熟悉C語言的學生或工程師:可學習到最新的程式語言設計理念,改寫或升級舊系統(Legacy system)。2. 熟悉Python語言的學生或工程師:可學習到如何開發安全與高效能的應用系統。3. 同時熟悉C與Python語言的學生或工程師:可學習到如何整合Python與Rust,提升系統開發的生產力。4. 機器學習工程師:可學習如何利用Rust建立高效系統,以提升模型訓練(Training)與推論(Inference)的速度。
API設計模式|簡化整合的訊息交換技術
「本書綜合了理論與實務,包含許多深度見解但不失大局觀。這些見解基於豐富的實務經驗,並以嚴謹的學術方式撰寫,同時結合從業人員的回饋。我深信本書會為社群帶來幫助。」 —PROF. DR. DR. H. C. FRANK LEYMANN, MANAGING DIRECTOR, INSTITUTE OF ARCHITECTURE OF APPLICATION SYSTEMS, UNIVERSITY OF STUTTGART 適用於任何領域、技術或平台的API設計模式 API為各組織及生態系帶來突破性創新及數位轉型。架構師、設計師及開發者們需要專業設計指南,以建立友善、可信賴且高效的API。本書解決複雜的API通訊及內容,介紹可用於任何技術或平台的API設計方針。 集結五位作者撰寫的專業內容,從專案啟動、設定目標,到定義需求、細化設計、規劃演進以及建立實用文件,涵蓋整個API生命週期。本書將眾多實務者的集體智慧整合為44個API設計模式,使用背景、優缺點、概念解決方案及具體範例來解釋,並以兩個不同產業的專案,就領域模型、執行案例、決策敘事及套用模式作一致性解釋,使這些設計模式更易理解。 ‧以設計模式識別及克服API設計挑戰 ‧合理擴增API端點及服務 ‧設計請求和回應訊息的形式 ‧提升訊息設計品質 ‧API演進計畫 ‧API文件撰寫及溝通 ‧結合設計模式以解決實際問題,並做出最佳取捨 撰寫本書的團隊是架構師和開發人員的黃金組合,由經驗豐富的產業專家、模式社群領導者,以及學界研究員與講師所組成。作者們忠實地運用模式概念,將從包含設計力的問題情境中帶往概念性解決方案,包括具體的範例以及相關的模式建議。 許多模式都透過模式會議的指導與寫作者研討會,漸進且反覆地改善與加強,從中凝聚眾人知識得到結論。 本書提供多種API設計空間觀點,從規模與架構到訊息表現結構和品質屬性驅動設計,再到API演進。其模式語言可透過不同的途徑來瀏覽,包括專案階段和結構元素。全書分以五種類別共介紹44種模式,每個模式都有專屬的圖示幫助表達其本質,用作為助記符號及描繪API與其元素。 本書在提供決策模型中採取了獨特且新穎的一步,蒐集關於應用程式的重複出現問題、選項及標準,提供逐步、容易遵循的設計指南,且不會過度簡化API設計固有的複雜性。 本書結合理論與豐富的實務經驗為基礎,包含大量有價值的深刻建議而不失大局,並以學術性的嚴謹和從業人員社群的回饋方式記錄。不論是現在或是未來,與API設計與演進有關的研究、開發及教育的API設計人員,都將從模式中獲益。
實戰領域驅動設計:高效軟體開發的正確觀點、應用策略與實作指引
領域驅動設計之父 Eric Evans 親推的必看專書! 「搞笑談軟工」板主 Teddy 專文推薦 關於 [名家名著] 30 領域驅動設計(DDD)是一種軟體開發方法,只要實作得當,可以幫助開發人員設計出高品質的軟體模型,明確地反映出預期業務目標。然而能不能成功實作 DDD,卻是許多 DDD 開發人員所遭遇到的共同難題,對於新接觸 DDD 的人來說更是困難重重。作者 Vaughn Vernon 以一種獨到的方式將 DDD 中的抽象概念統整起來,並做出規範,而這些指導原則,正是實作 DDD 的最佳指引。作者用搭飛機來比喻接觸 DDD 的心情,將 Eric Evans 的《領域驅動設計: 軟體核心複雜度的解決方法》比喻為「從高處俯瞰的視角與寬廣的視野」,而本書則像是一張地圖,其作用是「帶領各位讀者緩緩降落、停穩飛機,走一條熟悉的路線安全到家」。 《實戰領域驅動設計》以由上而下的方式說明 DDD,將戰略模式與基礎的戰術程式設計工具自然地結合起來。Vaughn Vernon 示範了如何在現代軟體架構中實作 DDD,強調業務領域概念的重要性與價值之同時,又不失技術層面上的務實考量。 本書是基於 Eric Evans 的開創性著作《領域驅動設計》一書而來,作者透過我們都熟知的業務領域範例講解如何實作 DDD。所有的原則都搭配真實的 Java 程式範例,對於 C# 程式語言的開發人員也同樣適用,所有的範例內容都來自於一個設想案例:基於一個假想的大型 SaaS 多租戶 Scrum 協作系統的開發案例研究。 本書作者將帶領讀者跨越「DDD-Lite」的侷限,不僅僅是將DDD作為一套技術工具運用,而是透過 Bounded Context、情境地圖、通用語言,充分運用 DDD 的「戰略設計模式」。而透過書中的技術與範例,可以加速軟體開發、提高品質,讓軟體更具靈活性與可擴展性,同時緊密地與業務目標保持一致。 【本書精彩內容】 ☑ 以正確的方法踏入 DDD 的世界,就能快速從中獲益 ☑ 說明如何將 DDD 運用於不同的架構中,包括六角架構、SOA、REST、CQRS、事件驅動設計以及基於 Data Fabric/網格的架構 ☑ 妥善地設計與運用實體,並了解何時該使用值物件而非實體 ☑ 學習掌握與運用 DDD 強大的新技術——領域事件 ☑ 利用 ORM 與 NoSQL 和其他資料庫等技術來實作 Repository 各界專業人士推薦 「閱讀 DDD 藍皮書時搭配本書一起服用,學習效果更好。此外,本書還包含在 DDD 藍皮書中沒有提到,但後來 DDD 社群廣泛使用的模式,像是領域事件(Domain Event)、事件溯源(Event Sourcing)、六角架構、命令與查詢責任分離(CQRS)等,兼顧深度與廣度,誠意十足。」—Teddy Chen,部落格「搞笑談軟工」板主 我個人的著作《領域驅動設計》(Domain-Driven Design)一書出版近九年,這些年已經累積了不少關於 DDD 的新知識,包括基礎知識新的介紹方式,而 Vaughn 這本書正是對 DDD 有最完整闡述的指引,更為我們帶來了全新的實作觀點。」—Eric Evans,《領域驅動設計》作者 「對於期望提升技術的軟體開發人員來說,想在軟體開發過程中遵循最佳的專業實踐方法來設計與實作領域驅動的企業應用程式,《實戰領域驅動設計》傳授了過去幾十年領域驅動設計和企業應用程式架構社群努力耕耘的寶貴知識。」—Randy Stafford,自由架構設計師,Oracle Coherence 產品開發部門 「對於渴望落實 DDD 設計的人來說,絕對不可錯過本書。」—Udi Daham,NServiceBus 創辦人 &
建立演進式系統架構|支援常態性的變更 第二版
讓架構師了解如何將系統架構視為靈活的推進器,以因應快速變化的需求。 提供最新技術、知識和訣竅,以確保軟體架構敏捷且跟上時代變遷。「隨著對軟體能做什麼的期望加速改變,我們必須想方設法演化我們的架構,以適應這一事實。這本手冊將幫助你了解如何將系統架構視為可塑的推進器,而非難以撼動的障礙。」 —Sam Newman 架構師,《Building Microservices》作者 「本書第二版將為你提供最新的技術、知識和訣竅,以確保軟體架構足夠敏捷,能夠跟上不斷的變化。」 —Mark Richards developertoarchitect.com 隨著新工具、框架、技術和典範的不斷湧現,軟體開發生態系統也在持續變動。僅在過去五年間,軟體開發核心工程實踐方面的逐步進展就促使業界認識到架構本身也必須演化才能滿足不停變化的使用者需求。在這個全面更新的版本中,作者Neal Ford、Rebecca Parsons、Patrick Kua和Pramod Sadalage提供現實世界中的案例研究,其中考量到了近來對軟體開發的演化日益增長的支援。 本書分為三個部分: ‧機制:第一部包括了定義演化式架構機制的章節,說明團隊如何使用技術和工具來建置適應性函數、部署管線,以及其他用來治理和演化軟體專案的機制。 ‧結構:第二部涵蓋的架構風格和設計原則針對耦合、重複使用,以及為了實現更乾淨俐落的長期演化而必須考慮的其他結構因素。 ‧影響:第三部則探討第一部介紹的工程實務做法與第二部分的結構考量之間的交集。
輕課程 用Scratch 3.0創作故事動畫及互動遊戲-最新版(第二版)-附MOSME行動學習一點通:影音.加值
1. 有趣的主題式教學引發學習興趣,淺顯易懂的內容適合基礎學習者,幫助您培養運算思維及邏輯能力。 2. 針對初學者編撰。程式語言是人工智慧的基礎,科學素養及解決問題能力的養成,趁早學習可得到最佳效益!
屠龍:互動敘事法
沉浸、選擇和故事,就是未來! 觀眾不只是聽,還要參與,由自己決定「原力」是光明還是黑暗 & 科技與故事結合,隨之開啟另一番主流敘事風潮。從電視、電影的興起,到方興未艾的電玩遊戲,莫不如此。如今,成熟的網路串流技術為影視戲劇推動新一波敘事熱潮,緊貼科技而生的電玩遊戲發展出沉浸、參與的獨特敘事體驗,所有說故事的創作者、經營者和經銷商都在不斷追求更大膽的點子,準備在未來可預期的科技媒體上大放光彩。然而,未來的敘事會是如何、又該從何做起?那看起來像是電玩遊戲代表的超級瑪利歐將與影視代表的亞里斯多德一決高下?不,實際上是瑪利歐需求亞里斯多德,未來必定是二者的緊密結合。這正是本書要教給你的核心主張,作者以長期深入電玩遊戲開發與影視編劇的精闢視角,旁徵博引各類電玩遊戲和影視作品及IP版本,解析精彩、觀點清晰,並教你從起手式習作、到整合寫出你的概念文件(如電影劇情提要或系列權威書)。不論你是從哪裡出發的說故事人、編劇、腳本家,目標是電玩遊戲寫作或是儲備未來影視故事的技術,都不能錯過本書開啟的未來敘事模式。 & 翻開本書,掌握正在快速崛起的互動敘事寫作法 & *整合玩法與故事 世界傳說/競爭、目標與障礙/遊戲機制與情境脈絡/突發玩法與突發敘事/情緒臨場感/關卡、地圖設計 *建立寫作結構 三幕、五幕、八幕結構/平行與分支敘事/線性與非線性敘事/關卡的敘事功能/轉折與伏筆/多重結局 *創造適玩角色 玩家替身與角色/自主性與成長弧/行動與情緒歷程/反派與非玩家角色/衝突、抉擇與後果/語氣:對白和短句 *發展獨立遊戲 遊戲概念文件/開源工具/關卡編輯器/遊戲引擎/遊戲寫作軟體/通路行銷簡介 國外業界佳評 *這是我從業多年來見過最有創意的電玩遊戲故事創作聖經。—賴瑞‧瑞博(Larry Hryb),微軟Xbox Live的程式設計總監 *深入淺出地連結傳統敘事與非線性說故事技巧,每位寫手都必須擁有。—菲利浦‧艾斯納(Philip Eisner),電影《撕裂地平線》編劇 *這本書是名副其實的知識寶庫,對任何熱愛遊戲的人來說都是非常寶貴的工具!書中對互動敘事發展與演變的見解使人信服—德魯.卡賓森(Drew Karpyshyn),遊戲《星際大戰:舊共和國的騎士》與《質量效應》寫手 *讓電影或電視編劇快速了解有關遊戲知識。連結電玩遊戲與其他娛樂媒體的一本詳盡易讀的指南。—丹.布特羅斯(Dan Boutros),遊戲《陰屍路.襲擊》執行製作人 & 國內專家推薦(按姓名筆劃排序) CUTKEY Studio 獨立遊戲工作室/遊戲《符文重生》開發團隊 石昌杰 國立臺灣藝術大學多媒體動畫藝術學系教授 林仁智 國立臺北教育大學數位科技設計學系玩具與遊戲設計碩士班教授兼系主任 玻璃心工作室 獨立遊戲工作室/遊戲《守夜人:長夜》開發團隊 鄧樹遠 樹德科技大學動畫與遊戲設計系主任 賴建都 世新大學數位多媒體設計學系主任 &
團隊自省指南|打造敏捷團隊
起手式‧團隊自省套路& 手法‧心態& & 能夠了解「團隊自省」具體作法的書籍& ‧不只有理論,還有實踐指南& ‧以虛構的開發現場為主題,詳細介紹目標、流程和手法& 在敏捷開發的活動中不可或缺的「團隊自省」,是指能讓團隊成員定期檢視過去的做法,使團隊逐漸朝更好的方向進步的活動。然而,即使已經開始實施了團隊自省,也有許多團隊發展的不順利,現狀無法得到明顯的改善。& & 本書旨在為這樣的團隊提供協助,通過漫畫的形式,以虛構的開發現場為舞台,以易懂的文字闡述團隊自省中「為什麼要做」、「有什麼好處」、「如何做」等內容。& & 此外,書中介紹了能讓讀者可以在自己的團隊中立即實踐的多種手法。作為團隊引導者,作者以豐富的團隊自省引導經驗,為讀者解釋了具體的開始方式,以及根據不同的團隊情況選擇合適的手法和套路。& & ‧不知道如何進行團隊自省& ‧成員缺乏熱情,感受不到團隊自省的價值& ‧重複相同的技巧和形式而變得乏味,致無法持續下去& & 對於有這些煩惱的讀者來說,本書作為團隊自省指南一定會有所幫助。& 希望通過本書,您能加深對團隊自省的理解,並踏出讓團隊變得更好的第一步。 &
產品經理全方位敏捷實踐:從活用 Scrum 到強化 PM 心理素質, 成為 AI 無法取代的產品負責人(iThome鐵人賽系列書)【軟精裝】
前進高薪科技業必備!&快速掌握「產品經理通識」和「Scrum 敏捷開發」本書內容改編自第 14 屆 iThome 鐵人賽 Agile 組優選系列文章《我們與敏捷的距離-30 天上手產品敏捷專案管理》。全書圍繞在「產品開發敏捷化」這個關鍵核心,帶領讀者了解產品思維、敏捷開發、Scrum 方法以及培養敏捷心理素質等重要主題。本書目標是幫助有志成為優秀產品經理的你,深入學習如何擁有產品思維,實踐敏捷開發以及掌握產品規劃能力,成為 AI 無法取代的產品負責人。本書重點特色●&透過豐富實戰案例,快速掌握產品經理職涯中必學的重要知識點與核心通識。●&從零開始學會敏捷開發與 Scrum 方法,即使沒寫過程式、不是工程師背景也能輕鬆理解。●&面對敏捷專案的高度不確定性,從心理學的角度提出可實踐的具體方法,讓你提升心理素質、打造敏捷體質,並能夠幫助團隊培養應對模糊環境的能力。●&活學活用,獨家一人敏捷術!分享如何將敏捷方法改造成最符合自己的型態,靈活地應用於工作與日常生活中。●&「敏捷災難現場錦囊」專欄:提供在實務上可能會遇到的問題錦囊妙計,打開後能夠立即派上用場。●&「敏捷實踐心得」專欄:筆者將實務經驗內化後所進行的歸納總結,供你快速吸收精華。●&「敏捷達人分享」專欄:分享各行各業敏捷達人的視角,幫助參考多元觀點,以在實務中能更加靈活應用敏捷方法。目標讀者☑ 想要轉職軟體 PM 的你⇒ 透過本書可學習產品開發的核心通識,以及軟體業界最常使用的敏捷開發模式。☑ 新手產品負責人與 Scrum Master⇒ 告別低效的瀑布式開發,了解敏捷開發的優點,並嘗試導入實際運行。☑ 身處敏捷專案中,但總覺得見樹不見林的工程師及設計師朋友們⇒ 透過本書通盤了解敏捷思維與 Scrum 框架,成為其他夥伴心目中好合作又強大的神隊友!☑ 想進入理想中高薪科技業的新鮮人⇒ 本書帶你了解如何評估市場機會、依據價值進行優先排序規劃產品,以及與不同職能角色、利害關係人溝通的眉角。
設計模式之美
Google前工程師教你寫出高品質的程式 物件導向程式設計範式、設計原則、程式規範、重構技巧、設計模式 「無論是平時工作還是業餘時間研究原始碼,研發工程師都會接觸各種設計模式,設計模式涉及的知識較多,學習者想要系統掌握設計模式,並非易事,本書可以幫助學習者實現這一目標。本書的講解更加貼近實戰,可以説明學習者將設計模式應用到專案中。本書是研發工程師的學習教程。」 —袁傑 百度工程師 「本書內容通俗易懂,不但包括設計模式知識,而且提供設計模式應用範例。本書是作者多年研發心得總結,值得讀者閱讀。」 —佳霖 阿里巴巴工程師 「本書講解了寫出高質量程式所需的知識,包括物件導向程式設計範式、設計原則、程式規範、重構技巧、設計模式,是一本説明讀者提高程式品質的很好的參考書!」 —李志剛 騰訊工程師 「程式品質決定專案的開發和維護成本,因此,在寫程式時,研發工程師要隨時注意程式品質。本書從設計模式知識到實戰應用,詳細闡述了如何寫出高品質程式的技術。強烈推薦大家閱讀本書。」 —張陽 位元組跳動工程師 「本書理論和實踐相結合,既利用通俗易懂的語言講解了理論知識,又提供了生動有趣的應用範例,無論你是準備求職的新手,還是正在從事專案開發的工程師,本書都可以給你有益的指導。」 —鄭漢卿 嗶哩嗶哩工程師 「本書是關於設計模式難得的好書。總之,學設計模式,看本書就對了。」 —馬超 拼多多工程師
UniGraphics 基礎應用 實戰演練
精選UG重要基礎操作指令,將應用技巧結合至實際操作中。UG是EDS公司推出的集CAD/CAM/CAE為一體的3D參數化產品設計軟體平臺,該軟體系統以Parasolid幾何造型核心為基礎,提供了特徵參數化設計、草圖參數化設計和裝配參數化設計等高效設計功能。其擁有強大的實體造型、曲面造型、虛擬裝配和工程圖設計能力,並具有良好的高階語言介面。UG是目前使用最為廣泛的CAD/CAM/CAE軟體之一,廣泛應用於汽車、航空、醫療器械、機械、造船、消費產品等行業。本書精選UG重要基礎操作指令,透過實例引導分別講述UG的基礎應用、拉伸、旋轉、掃掠、基準面、薄殼與肋材、組立件與工程圖等功能。將重要的應用技巧結合到實際教學中,使讀者可以循序漸進、隨學隨用、邊看邊做,便於鞏固所學的知識,在工作與學習中能快速得到實踐。本書特色1. 本書內容淺顯易懂,適合初學者或具有3D軟體基礎者,能幫助讀者快速上手、輕鬆學習。2. Step by Step的範例式引導教學,讓讀者學習無障礙。3. 本書範例檔包含完整書中範例資料,方便讀者參照觀摩。
程式邏輯訓練從App Inventor 2中文版範例開始 (2版)
零距離接觸多達100則以上的App Inventor 2範例,帶您一步一步前往App Inventor 2的世界! & 本書使用簡易的情境敘述、一目了然之程式流程圖並搭配各式各樣App Inventor 2程式範例,讓讀者能快速建立正確又清晰的程式邏輯基礎,亦能應用在其他程式語言設計上。書內範例內容由基礎工具一路延伸至多媒體、繪圖、感測器等進階應用,其中更包含了常見的演算法觀念,不僅能讓初學者打下程式設計基礎,也能讓已接觸過程式語言的讀者對於程式設計邏輯更加清楚熟練。 & ※請至五南官網下載範例檔案 檔案內容包含: App範例程式碼、App Inventor 2程式開發環境介紹、使用TinyWebDB元件的前置設定說明、樂高機器人應用範例、通信連接App應用介紹。 &
微服務開發指南|使用Spring Cloud與Docker
微服務當道!一次掌握微服務架構與優勢! 數位轉型浪潮席捲而來,創新科技衝擊全球市場! 由於雲端服務可隨需求調整的彈性,迅速成為企業降低營運成本的首選,也讓微服務(Microservices)成為這波趨勢的浪頭!相較於傳統的單體(Monolithic)系統,微服務規模小而且可獨立部署,具備高彈性、精確擴充、可個別更新、一定程度的錯誤隔離避免系統崩潰等特性,且讓組織可以針對單一服務組建以敏捷方式運作的團隊,幫助企業快速應對市場變化。 容器(Container)技術如Docker的成熟,也讓微服務架構得以快速推展。容器是資源控制且可攜式作業環境,沒有作業系統的龐大複雜,比傳統的虛擬機器來得更小更輕量。將微服務放置在各個容器,即可打造獨立自主的執行環境,減少不必要的資源浪費並加快啟動速度。 本書首先介紹單體與微服務架構的差別,同時介紹建構微服務時用於解決問題的諸多設計模式,包含核心模式、路由模式、用戶端彈性模式、安全模式、日誌紀錄和追踪模式等。 其次簡述實作微服務專案必要的容器技術,包含Docker、Dockerfile、Docker Compose與Maven對Docker的整合。 最後以Spring Cloud家族的生態系統,如Spring Boot、Spring Cloud Config、Spring Cloud Gateway、Spring Cloud Stream、Spring Cloud LoadBalancer、Spring Cloud Security、Spring Cloud Sleuth等,搭配坊間熱門開源專案,如Netflix Eureka、Resilience4j、Kafka、Zookeeper、Redis、ELK Stack、Zipkin、Keycloak等,詮釋微服務設計模式的實務應用。 本書適合具備Java實務、對微服務架構和Spring Cloud開發有興趣的讀者閱讀。
約耳再談軟體
軟體開發者、設計者、管理者,以及常與這些人打交道的其他人等(不知是有幸還是不幸))大家三不五時總會遇到的更多有趣問題 繼2004年暢銷大作《約耳趣談軟體》(Joel On Software)出版後,各方對續作的期待從沒間斷過。 因此,我們再次回到名滿天下的JoelonSoftware.com,精選出其中最新、最受歡迎的文章(許多文章甚至被下載超過一百萬次以上)。 在這本《約耳再談軟體》(More Joel On Software)中,全書內容不但更新、更棒,而且飽藏約耳本人對於軟體開發、軟體設計、經營軟體事業等等各方面的看法與感想,其中包括: ‧關於非凡人才的管理與聘僱,本書提供了各種最佳的做法 ‧對軟體有興趣、想投身軟體業的人才,以及想要僱用這類人才的管理者,本書提供了許多建言 ‧關於如何建立產品、如何分辨設計好壞,約耳提供了各種獨特的見解 ‧關於如何開創、經營一個很有效率的軟體(相關)事業,本書提供許多最前沿的「第一線」看法 ‧在建立一個與眾不同、獨特而有自發性的組織時,約耳也大方分享親身經歷的實際感受 約耳非凡的寫作技巧與技術知識,加上他兼具諷刺與幽默的文筆,讓他成為了一個真正的程式設計大師。 本書集結了他許多全新的文章,內容精彩程度甚至超越前作,而且在經營軟體事業、管理軟體人才等方面的各種技巧,在軟體業的各個應用層面上也涵蓋到更寬廣的範圍。
重構的時機與實作|五行程式碼規則
「內容很接地氣、焦點集中且掌握關鍵。這本書會挑戰您,但不會嚇到您,也不會侮辱您的智商。」 —Robert C. Martin 「這是一本有趣且令人愉悅的參考書,探索了程式設計中最容易被忽視的部分──程式碼重構。」 —Charles Lam, EVN AG 「這本書給了我全新的觀點,教我如何保持程式碼的可讀性和可維護性。我非常推薦這本書。」 —John Norcott, Webstaurantstore 「書中這些技巧簡單卻強大,而且範例練習題讓我們學習時變得很容易。它們可以應用在我所知道的任何程式語言上!」 —Christian Hasselbalch Thoudahl, BEC Financial Technologies 大多數的程式碼庫中都含有錯誤和沒有效率的程式,您需要找到並修正這些程式。正確的「重構」能讓您的程式碼變得優雅、易讀且好維護。在本書中,您將學習一種獨特的重構方法,可以用五行或更少的程式碼來實作任何方法。您還會發現一個大部分資深開發人員都知道的秘密:「有時候快速寫出程式碼稍後再修正,這種做法可能會更有效率!」 《重構的時機與實作|五行程式碼規則》是針對各種程度的開發人員重新探索重構的全新觀點。在本書中,讀者將掌握作者Christian Clausen創新的做法,學習具體的規則,把方法中的程式行縮減到五行或更少!讀者能從書中學會掌握重構的時機、學到適用於大多數常見問題的具體重構模式,以及應該刪除之程式碼的特徵。 本書內容 ‧不良程式碼的特徵 ‧在不必理解程式碼的情況下安全地改進程式 ‧平衡最佳化和程式碼的泛化通用性 ‧正確的編譯器使用方法 本書適合各種程度的程式開發人員閱讀。書中的範例程式是使用易讀的TypeScript,採用類似Java和C#的編寫風格來呈現。
ESP32工業物聯網6門課The Six Basic Courses to Industry Internet of Thing Programming Based on ESP32
本書是『工業4.0系列』介紹常用的工業感測裝置與物聯網整合應用的書籍,書名為『ESP32工業物聯網6門課』,主要是運用Modbus工業通訊與網路通訊,轉接到RS485與Modbus RTU的通訊協定,與工業上的感測裝置通訊與控制,進而透過整合的專書,是筆者針對工業上的應用為主軸,本書進階的特點是MQTT Broker伺服器的應用,透過分散式的技術,透過訂閱與發佈的機制,就可以透過本書開發的控制板,輕鬆透過通訊方式控制遠端的工業通訊裝置,基於這樣的機制,更可以簡單用常用的語言:如python進行開發產業上控制這些工業感測裝置,並可以透大電力控制能力的繼電器模組控制電力設備的應用,主要是給讀者在物聯網的基礎技術下,更可以簡單控制工業上的控制裝置,透過本書的範例與程式攥寫技巧,以漸進式的方法介紹使用方式、分散式的控制等等。 Arduino/ESP32開發板最強大的不只是它的簡單易學的開發工具,最強大的是它網路功能與簡單易學的模組函式庫,幾乎Maker想到應用於物聯網開發的東西,可以透過眾多的周邊模組,都可以輕易的將想要完成的東西用堆積木的方式快速建立,而且價格比原廠Arduino Yun或Arduino + Wifi Shield更具優勢,最強大的是這些周邊模組對應的函式庫,瑞昱科技有專職的研發人員不斷的支持,讓Maker不需要具有深厚的電子、電機與電路能力,就可以輕易駕御這些模組。 所以本書要介紹台灣、中國、歐美等市面上最常見的智慧家庭產品,使用逆向工程的技巧,推敲出這些產品開發的可行性技巧,並以實作方式重作這些產品,讓讀者可以輕鬆學會這些產品開發的可行性技巧,進而提升各位Maker的實力,希望筆者可以推出更多的入門書籍給更多想要進入『Arduino 』、『ESP32』、『物聯網』、『工業4.0』這個未來大趨勢,所有才有這個物聯網系列的產生。
InfoPath 電子表單程式設計 實戰演練
「最完整與強大的表單設計與應用軟體一躍升級成為電子表單設計達人!」這是一本專門講解用來設計辦公室表單的應用軟體-InfoPath的技術用書!在競爭激烈的今天,企業辦公方式已脫離以往還是以【辦公室】為主要的工作地點、【文件】為主要洽公依據的老舊的作業模式!行動辦公室以及辦公室資訊無紙化、與辦公通訊化、視訊化的掘起,已成為企業強化競爭力最佳的利器!而這一切最重要的、同時也是最基礎的就是:【辦公室全面電腦資訊化】。簡單的說InfoPath就是一款專門用來規劃、設計與處理電子表單與電子單據的辦公室應用軟體!最令人激賞的是:能使用視覺化的操作與設計方式,規劃與設計企業制式電子表單或是客製化的企業電子表單都能輕而易舉的完成!而且InfoPath更能使用XML來設計複雜層次的訂單或行銷單據,更能使用程式化來設計特定表單欄位的資料正確性檢核與帶入,更能結合其他Office 相關軟體 (Excel、Word…) 來整合所有業務行銷的表單或報表作業!本書Step By Step的由淺入深詳細教導讀者,相信所有讀者在辦公室的工作會更加得心應手!現在就讓我們一起進入InfoPath電子表單設計世界。
高效能Go程式設計|資料驅動的效能優化
「《Efficient Go》是一本很棒且充滿洞見的書籍,可以改變您對Go軟體效能的看法。您將學習如何透過資料驅動的評估來優化程式碼庫,並辨識出可優化的程式碼模式。這本書將使您感到輕鬆自在,並且當您開始編寫程式碼時,會更關心程式碼的效能!」 —Saswata Mukherjee, Red Hat工程師 隨著技術的進步、市場的快速變化以及系統複雜度的提高,軟體工程師往往會忽略軟體效率這個令人不安的問題。然而,以可觀察性驅動的戰術性效能優化對每個產品都至關重要,它可以節省資金並確保業務成功。 這本書提供了任何工程師所需的工具和知識,以有效、專業且無壓力的方式提高軟體效率。作者Bartłomiej Płotka提供讓您的系統可以更快並且消耗更少資源所需的工具和知識,以及如何使用Go達成更好效率。此外,大多數內容與語言無關,您可以將小而有效的習慣帶入程式設計或產品管理週期中。 本書會向您展示如何: ‧釐清並協商效率目標 ‧在各種等級上優化效率 ‧有效地使用CPU和記憶體等公共資源 ‧透過Prometheus、Jaeger和Parca等開源專案,使用度量、日誌記錄、追踪和(持續)效能分析等可觀察性信號來評估效率 ‧應用go test、pprof、benchstat和k6等工具來建立可靠的微觀和宏觀基準測試 ‧有效率地使用Go及其特性,例如切片、泛型、goroutine、配置語意、垃圾收集等 &
深入淺出 Git
完整認識Git的學習指南 「工欲善其事,必先利其器。如果只有一定程度的知識是很危險的。雖然Git入門只需要幾小時,但Git的微妙、強大及深度需要經年累月才能透徹。《深入淺出Git》每一頁都有你本來以為已經了解的資訊或解說。不論你對Git有多熟,Raju絕對能讓你變得更會使用Git。」 ──Nate Schutta VMware軟體架構師與開發人員後援 你將從本書學到什麼 很多Git使用者都是使用「食譜」(recipe),就是靠網路上找到的指令並複製、貼上,但並沒有真正了解Git怎麼使用。但如果遇到難題的時候怎麼辦呢?不可能輕輕鬆鬆就迎刃而解。透過本書的動手操作練習,可以學習使用Git的各種方式並快樂學習。Raju Gandhi透過一層一層的抽絲剝繭幫你解密Git背後強大卻很單純的引擎,不只能學會「怎麼用」,還能了解「背後的原理」。本書會讓你真正學會分支、合併、提交等指令,同時學會團隊協作的最佳做法,並將Git的能力發揮到極致。 本書為何如此與眾不同 曾經看過《深入淺出》系列的讀者應該猜想得到,本書充滿專為大腦運作而設計的視覺化風格;尚未看過的讀者,內容保證包君滿意。不同於令人昏昏欲睡的厚重文字,本書透過多重感官的閱讀饗宴,帶領大腦沉浸在Git的學習世界裡。
邊玩邊學,使用Scratch學習AI程式設計專案大集合
現在立刻嘗試「實現你腦中的各種創意」! 無須數學知識! 無須文字型程式設計語言! 可以成為自由研究的靈感! 這本書是Scratch機器學習入門書《邊玩邊學,使用Scratch學習AI程式設計》的姊妹作,主要介紹透過Scratch,就可以運用影像辨識、聲音辨識、推測姿勢等功能,設計出有趣作品的作法,不需要文字型程式設計語言與複雜的數學知識。裡面也包含整合micro:bit及伺服馬達的作品,透過大量範例,讓你可以思考、創造出運用機器學習機制的原創作品。
Tkinter入門
在過去,我們所寫的大多數程式只有一個輸入,將問題解決以後,輸出答案就大功告成了。現在不同了,我們常常要寫一個互動式的程式,而Tkinter可以使用一種指令來設計一個按鈕,這是非常有趣的。 要設計一個互動式程式,我們一定要在電腦的桌面上開一個視窗。Tkinter提供指令,使我們能夠開啟一個視窗,視窗的名字和大小也可以由我們利用指令來決定。 我們日常生活中所使用的軟體往往是互動式的,購物、向醫院掛號、在大學預定會議室、餐廳點餐系統、選課系統、圖書館借書系統等等,都可以利用Tkinter來寫這類的程式。 學習Tkinter並不難,但必須非常熟悉Tkinter的指令和函式。寫這本書的目的是要讓讀者們知道如何利用Tkinter,透過淺顯易懂的內容架構,期望能成為各位學習互動式程式時最佳的啟蒙工具書。 &
Scratch 堆疊遊戲動畫 武功祕笈
「玩遊戲學程式‧輕鬆學習程式設計技能」二十一世紀,資訊爆炸的年代,更是資訊向下扎根的年代!資訊向下扎根最基本的就是從學校開始,讓學齡兒童從小就開始接觸資訊、瞭解資訊、學習資訊、應用資訊!而培養兒童對電腦資訊的邏輯概念、流程處理觀念有所瞭解,最基礎的功夫就是:【程式設計】!本書以Scratch為教導講解版本,Step By Step由淺到深,一個指令一個指令教導同學使用【積木堆疊】的方式來建立與實作有趣又實用的動畫遊戲程式。讓同學可以在繪圖、動畫處理、遊戲建置中,學習到重要的數學和電腦處理邏輯觀念以及程式設計的技能,同時也可以學習啟發創意的思考、以及系統化的推論與流程安排、與團隊合作等。本書分為十一章,前四章為Scratch程式積木的使用詳細講解,並搭配實用的應用專題,讓讀者與同學輕鬆上手就能學會Scratch!第五到第十一章則為Scratch的各類應用專題設計,每一章都有不同的設計主題,讓讀者能在Step By Step有趣又實用的專題裡,快速的瞭解Scratch!喜歡Scratch!讀完本書,相信所有讀者與同學都會愛上Scratch!本書特色:1、詳細講解Scratch各類型功能的程式積木用途與使用方式、以及不同主題的應用專案,讓同學能輕鬆上手。2、本書附贈高達25M的範例檔,包含本書內容完整的Scratch原始程式檔,可在Scratch中直接開啟執行,立即觀看執行的結果。
快速精通SwiftUI框架:全面進化SwiftUI進階開發實戰技術
本書精心設計了21個章節,採用「從做中學」的方式來探索SwiftUI,內容集合了許多實作練習與專案。我們將逐步了解如何以宣告式語法來建立使用者介面,並深入探討SwiftUI框架,教你如何使用各種UI控制元件,並建立不同類型的使用者介面。有了基礎知識,且了解這些通用元件的用法之後,我們會將你所學到的知識放在一起,你將學會建立一個完整的應用程式。 本書是為SwiftUI框架的初學者與開發者所撰寫,不論你是剛學習iOS App開發或是有經驗的iOS開發者,本書皆可幫助你有效學習SwiftUI,你還將學習如何以SwiftUI來整合UIKit,本書絕對是你強化iOS App開發實務的必讀首選。 【本書精采內容】 ✪SwiftUI介紹。 ✪處理文字及圖片。 ✪使用堆疊佈局使用者介面。 ✪應用UI控制元件。 ✪實作路徑與形狀來繪製圖形。 ✪使用滾動視圖來建立輪播式UI。 ✪了解狀態與綁定。 ✪學習重構程式碼。 ✪了解基礎動畫與轉場。 ✪了解清單、ForEach與識別。 ✪使用SwiftUI按鈕、標籤與漸層。 ✪使用導覽UI與自訂導覽列。 ✪實作模態視圖、浮動按鈕與警告提示視窗。 ✪使用選擇器、切換開關與步進器建立表單。 ✪使用Combine與Environment物件進行資料共享。 ✪使用滑動刪除、內容選單與動作表。 ✪使用Combine與視圖模型建立註冊表單。 ✪了解SwiftUI的內建手勢。 ✪使用外觀定位點顯示展開式底部表。 ✪使用手勢與動畫建立如Tinder的UI。 ✪建立如Apple錢包的動畫與視圖轉場。 ✪使用JSON、滑桿與資料篩選。 ✪學習結合UIKit與SwiftUI。 本書特色 從做中學,透過實作來探索SwiftUI 使用SwiftUI框架做出不同類型的使用者介面 聰明運用SwiftUI和Combine框架開發iOS App 快速強化iOS App開發的實務應用能力 ♚使用Xcode 14 iOS 16開發 ♚處理文字及圖片 ♚了解狀態及綁定 ♚應用UI控制元件 ♚輕鬆建立表單 ♚進行資料共享 ♚使用滾動視圖建立輪播式UI ♚實作導覽堆疊及自訂導覽列 ♚實作路徑與形狀來繪製圖形 ♚使用堆疊建立複雜佈局 ♚製作動畫及轉場效果 ♚實作模態視圖、浮動按鈕及警告提示視窗 ♚建立多樣化佈局的清單視圖 ♚運用內容選單、手勢與動作表 ♚運用JSON、滑桿與資料篩選 ♚使用外觀定位點顯示展開式底部表 &
區塊鏈NFT與Web3實務應用
第一本兼具探討區塊鏈、NFT與Web3技術與產業實務應用的專業書籍! 想一窺區塊鏈之原貌與風采?想一探NFT跨世代之投資價值觀?想駕馭區塊鏈生態圈之核心技術?想體驗區塊鏈可能商轉之實務應用?想親證中心去化之Web3無何有鄉?本書讓您所願速成就!區塊鏈相關技術包羅萬象妙難測,本書去蕪存菁但取三大精華單元加以深探:以太坊私有鏈、智能合約及應用程式DApp。全書概分為基礎觀念、核心技術、個案設計以及實務應用等主題章節。 基礎觀念與核心技術五章以手把手方式引領讀者習得區塊鏈與智能合約相關技術及應用。DApp個案設計以供應鏈金融與自動醫療理賠兩項可商轉的經典實務案例助讀者體解區塊鏈之真實義;最後實務應用深入淺出地解析具跨世代價值觀的NFT、元宇宙與Web3在未來可能的發展趨勢,並親領讀者發行第一個NFT非同質化代幣,親臨Web3的無何有之郷! 時移重析區塊鏈 境遷新探NFT 中心去化無何有 來日喜迎Web3
演算法邏輯力:工程師必備的演算法解題、設計、加速技巧
無師自通最高難度的計算問題! & 本書將教你如何解決艱難的程式設計問題,並設計屬於你自己的演算法。透過教學大神Daniel Zingaro從USACO、IOI等世界級程式競賽中精選來的範例,你將學會如何分類問題、選擇資料結構,並辨認出適合的演算法。同時也將學到,你所選擇的資料結構(無論是雜湊表、堆積、或樹)會如何影響執行時間,以及如何讓你的演算法加速,包括應用遞迴、動態規劃、二元搜尋等強大的策略來解決艱難的問題。 & 透過程式碼的逐一講解,你將學到的演算法和資料結構包括: ❏ 用圖與廣度優先搜尋演算法來尋找桌遊的最佳策略、或是翻譯一本書的最好方法。 ❏ 用Dijkstra演算法來判斷有多少老鼠能成功走出迷宮、或是兩個地點之間最短路徑的數量。 ❏ 用聯集尋找資料結構來回答關於社群網路上的連結或判斷敵友等問題。 ❏ 用堆積資料結構來決定促銷活動期間所送出的獎金金額。 ❏ 用雜湊表資料結構來判斷雪花是否獨一無二、或在字典中辨認出複合詞。 & ➤本書中的每一道問題都可在程式解題系統網站上,由系統判定是否正確解題,網站的網址和問題編號都會列在說明之中。 &
用mBlock玩mBot機器人互動程式設計(最新加強版)
★ AI人工智慧、IoT物聯網、ML機器深度學習。全應用! ★ 以「做中學」、「學中思」、「思中創」培養應用資訊科技與運算思維解決問題能力以mBlock 5(v5.4版)程式積木將mBot化身百變智能小尖兵,設計:競速賽車、星星之舞學習機、避障機、智能送餐機、AI智能辨識、氣象播報機、智能學習機與娛樂機等,成為生活上的好幫手,讓生活更有趣。 *體驗生活情境範例:從生活情境中架構專題 *拆解mBot執行動作的原理:資訊科技融入學習領域知識 *測試mBot感測器運作:運用演算法分析問題 *規劃專題互動情境:規劃問題解決方法 *設計mBot活動流程:從做中學理解原理啟發創意 *設計程式並執行結果:以程式設計實踐問題解決 *課後練習實作:從範例實做激發無限創意
編寫Rust指令列程式|透過小巧完整的程式學習Rust CLI
「本書是在實務環境中練習編寫Rust程式的最佳做法。Ken為您鋪陳「測試」、「crate運用」、「常見問題解決方案」的技能培養之道。」 —Carol Nichols Integer 32共同創辦人 「《Command-Line Rust》舉例說明如何建置工具程式,而這些內容可以向您和同事證明Rust是值得學習的程式語言。」 —Tim McNamara 《Rust in Action》作者 Rust在Stack Overflow年度開發者大調查中已蟬聯好多年「最受歡迎的程式設計語言」。此一開源系統程式語言目前用途廣泛,從遊戲引擎、作業系統到瀏覽器元件、虛擬實境模擬引擎無所不包。然而Rust也算是相當複雜的語言,伴隨著眾所周知的困難學習曲線。 本指南並非聚焦於Rust語言的全面論述,而是每章各別選用小巧完整的程式,藉以傳授Rust的概念。作者Ken Youens-Clark為您舉例說明如何著手編寫與測試所選的每一個程式,以建立完整的應用成品。您將學習如何處理Rust中的錯誤、讀寫檔案以及使用正規表達式、Rust型別、結構等議題。 了解如何: ‧利用Rust的標準函式庫與資料型別(如:數值、字串、向量、結構、Option與Result)建立指令列程式 ‧編寫和測試Rust程式與函式 ‧讀寫檔案,其中包括stdin、stdout與stderr ‧記錄和驗證指令列引數 ‧撰寫能正常處理異常的程式 ‧使用正規表達式和Rust crate自行剖析原始內容與分隔文字 ‧運用和控制隨機性
提升程式設計的資料結構力 第三版|國際程式設計競賽之資料結構原理、題型、解題技巧與重點解析
ACM-ICPC訓練聯盟推薦教材適用於ACM、IOI等各類程式設計競賽訓練本書以作者長期教學和競賽訓練中總結的資料結構和進階資料結構知識體系,以及行之有效的程式編寫能力訓練方法,以各類程式設計競賽的試題為素材編寫而成。本書包含四個部分:基本程式編寫能力的磨練、線性串列的程式編寫實作、樹的程式編寫實作和圖的程式編寫實作。本書不僅可以作為ACM-ICPC、IOI等各類程式設計競賽的訓練教程,也可以作為程式設計、資料結構課程的教學與實作教材。 ‧以資料結構、進階資料結構的知識系統為大綱,以程式設計競賽試題的解題實作作為核心單元,透過啟發式、案例化的教學,引導讀者透過程式編寫培養解決問題的能力。 ‧第三版從解題策略的角度進行了脫胎換骨的改進,並新增了進階資料結構部分的實作。 ‧精選306道程式設計競賽試題,其中160道試題作為實作範例試題,每道試題不僅有詳盡的試題解析,還提供標有詳細註解的參考程式;另外的146道試題為題庫試題,所有試題都有清晰的提示。
Kotlin 小宇宙:使用 Coroutine 優雅的執行非同步任務(iThome鐵人賽系列書)
本書內容改編自【第13屆】2021iThome鐵人賽 Software Development組佳作網路系列文章 ──《Coroutine 停看聽》 內容從非同步任務概念到 Coroutine 建構器的使用、結構化併發、多任務的處理...,完整包含所有使用 Kotlin Coroutine 需注意的要點,並在每一小節附上心智圖幫助學習,讀完本書一定可以讓你更加認識 Kotlin Coroutine。 本書特色 ◼掌握 Kotlin Coroutine 與執行緒的不同之處,以及如何解決執行緒的痛點。 ◼內容包括 Kotlin Coroutine 的核心、多任務的處理以及單元測試,涵蓋所有實用部分,讓你讀完本書後脫離初學者的行列。 ◼使用簡單易懂的範例介紹基礎核心觀念,循序漸進了解 Kotlin Coroutine,才能夠應用到真實專案中。 ◼每章節附上心智圖,讓你左腦右腦一起動,文字圖像記憶一起來。 專業推薦 「Coroutine 往往是讓開發者選擇使用 Kotlin 的重要原因。Andy 的這本 Coroutine 專書從基礎觀念到進階語法加上測試應用,再輔以心智圖歸納,完整補足了 Kotlin 技術書籍版塊的缺口。若您跟我一樣也曾在 Coroutine 學習之路上翻過車,在此推薦 Andy 的大作,再給自己一次進入 Kotlin 宇宙的機會。」────JetBrains 技術傳教士 | 范聖佑 「Coroutine 不論是純 Kotlin 或 Android 開發都非常重要的一環,讓我們一起跟著 Andy 優雅的學習如何使用吧~」────Android GDE | Tim 林俊廷 &
領域驅動設計學習手冊
保持軟體架構與業務戰略的一致& & 現在建立軟體比過去任何時候都更加困難了。作為一名開發人員,您不僅要緊跟著變化萬千的技術趨勢,還需要了解軟體背後的業務領域。這本實用的書籍為您提供了一組核心模式、原則和實踐,用於分析業務領域、理解業務戰略,最重要的是,保持軟體設計和業務需求的一致。& & 作者Vlad Khononov向您展示了這些實踐如何帶來業務邏輯(business logic)的穩固實行,並有助於軟體設計和架構與時俱進。您將檢視領域驅動設計(domain-driven design,DDD)和其他方法之間的關係,以確保您制定出符合業務需求的架構決策。您還將會探索在初創企業中實踐DDD的真實故事。& & 透過這本書,您將學習如何:& ‧分析企業的業務領域,以明白您正在建立的系統如何符合競爭戰略& ‧使用DDD的戰略和戰術工具來建構解決業務需求的有效軟體解決方案& ‧在您遇到的業務領域中建立共同理解& ‧將系統分解為限界上下文(bounded contexts)& ‧協調多個團隊的工作& ‧逐漸將DDD導入棕地(brownfield)專案& & 好評推薦 & 「Vladik Khononov思想獨特,多年來他一直應用DDD來解決實際的業務問題。他的想法不斷推動著整個DDD社群的發展,而這本書將會啟發初入門的DDD從業者。」──Nick Tune,技術顧問 &
三國鼎立唯一開源CPU架構:RISC-V處理器設計快速上手
☆★☆ AIoT 時代三國鼎立,動手設計屬於自己的 CPU 開闢新時代,從本書開始!☆★☆ & RISC-V是一個開放、開源的架構,人人都可獲取,因此,企業、學校和個人都可以主動參與相關的研發,這勢必能夠帶來更多的創新。 & 憑藉著簡潔、模組化且擴充性強的特點,RISC-V的晶片產品源源不絕地被推向市場,使得晶片產業得以蓬勃發展。這樣的發展趨勢終將推動RISC-V成為ISA領域的一項開放標準。每一次技術變遷都會帶來一個新生產業的崛起。從主機時代到PC時代,成就了Intel;從PC時代到行動時代,成就了ARM;從行動時代到AIoT時代,我們能否抓住RISC-V的機遇? & 本書作者是著名RISC-V公司芯來科技的創辦人,曾在世界最大的半導體公司擔任高級工程師,也是華人地區少見專注於RISC-V的硬體公司。 & 本書以蜂鳥E203,為開發平台,這是中文地區最早被RISC-V基金會官方首页收錄的開放原始碼核心。在X86、ARM、之外,我們是否能靠著RISC-V再開闢出一條新的捷徑?看看Linux的成功,或許你已經參與了一個新時代的降臨。 & 【本書特點】 ● CPU 的基礎知識、指令集架構的歷史。 ● RISC-V 架構及其特點。 ● 當前全世界的商業或開放原始碼 RISC-V 處理器。 ● RISC-V 處理器核心的整體設計思想和頂層介面。 ● RISC-V 處理器單選指單元、執行單元、交付單元微架構和原始程式。 ● RISC-V 匯流排協定,以及該模組的微架構和原始程式、處理器的記憶體架構。 ● RISC-V 的中斷和異常機制,硬體實現微架構和原始程式。 ● RISC-V 架構定義的偵錯方案,硬體實現微架構和原始程式。 ● RISC-V 的可擴充性,訂製一款輔助處理器。 &
提升程式設計的運算思維力 第二版|國際程式設計競賽之演算法原理、題型、解題技巧與重點解析
適用於ACM, IOI等各類程式設計競賽訓練 精析典型賽題,提供詳細註解的參考程式,高效率訓練思維能力和編寫程式能力 本書以作者長期教學和競賽訓練中總結的資料結構和進階資料結構知識體系,以及行之有效的程式編寫能力訓練方法,以各類程式設計競賽的試題為素材編寫而成。透過啟發式、案例化的教學,系統、全面地培養讀者編寫程式解決問題的能力。本書不僅可以作為ACM-ICPC、IOI等程式設計競賽的訓練教學課程,亦可作為大專院校程式設計相關課程教材,以及對編寫程式感興趣的讀者的自學讀物。 ‧從ACM-ICPC、IOI等各類程式設計競賽中精選300餘道典型賽題,並歸為Ad Hoc、模擬、數論、組合分析、貪心、動態規劃、高階資料結構、計算幾何八類,使讀者掌握各類經典問題的思考方法和解題策略。 ‧將150餘道試題作為範例試題,每道試題不僅有詳盡的試題解析,同時提供詳細註解的參考程式;其他試題為題庫試題,每道試題提供清晰的提示,進一步訓練讀者解題策略。 ‧第二版內容針對數論、組合分析兩章透過程式設計競賽試題及其解析,完整涵蓋其相關知識點,貪心、動態規劃兩章則加強了對經典問題的解析。
ESP32物聯網基礎10門課The Ten Basic Courses to IoT Programming Based on ESP32
本書是『ESP系列程式設計』使用ESP 32開發板,特別為大學課程之教學用書,主要教導新手與初階使用之讀者熟悉使用ESP32開發板,進入物聯網網路的連接、應用,並連接感測元件,可以將資料上傳到雲端。 本書一個特點就是從最基本的GPIO使用到最後建立與設計整個雲端平台的架構與應用,全部含括在內。最先開始使用最基礎的溫溼度感測器,進而製作一個網際網路的物聯網的基礎應用,並應用LINE的工具,介紹訊息推播,可以即時告知使用者感測訊息,並且對於雲端平台的安裝、建置、設定、資料庫規劃、進而建立資料代理人(DB Agent)的機制,並且可以與MQTT Broker通訊與交換資料,並且可以透過異質語言,如Python,建立資料介面代理人程式(Data Visualized Agent)機制,拓展的物聯網的強大外掛能力,進而可以進行大數據運算與資訊視覺化的強大應用…等等。 ESP 32開發板最強大的不只是它的簡單易學的開發工具,最強大的是它網路功能與簡單易學的模組函式庫,幾乎Maker想到應用於物聯網開發的東西,只要透過眾多的周邊模組,都可以輕易的將想要完成的東西用堆積木的方式快速建立,而且ESP 32開發板市售價格比原廠Arduino Yun或Arduino + Wifi Shield更具優勢,讓Maker不需要具有深厚的電子、電機與電路能力,就可以輕易駕御這些模組。 筆者很早就開始使用ESP 32開發板,也算是先驅使用者,希望筆者可以推出更多的入門書籍給更多想要進入『ESP 32開發板』、『物聯網』這個未來大趨勢,所有才有這個系列的產生。 &
提升程式設計力|國際程式設計競賽精選解題解析
ACM-ICPC訓練聯盟推薦教材 適用於ACM、IOI等各類程式設計競賽訓練 本書針對程式設計初學者的學習需求,以作者長期教學和競賽訓練中總結的知識體系,加上行之有效的程式設計能力訓練方法,以各類程式設計競賽的初級試題為素材編寫而成。透過啟發式、案例化的方式,吸引讀者探索和思考,順利地達到程式設計入門的效果。本書不僅可以作為ACM-ICPC、IOI等程式設計競賽的訓練初步教程,也可作為程式設計相關課程的實作教材,以及對程式設計感興趣的讀者的自學讀物。 ‧從ACM-ICPC等各類國內外程式設計競賽中精選80餘道初級試題作為本書的範例試題,包含程式設計起點、選擇結構、迴圈結構、嵌套結構、陣列、函數、指標、數學計算、排序和C++ STL。解題知識涉及程式語言、從簡單的中學數學和物理到導數和矩陣,啟發學生邏輯思維,並以此磨練讀者程式設計解決問題的能力。 ‧每道試題不僅有詳盡的試題解析,還提供了詳細註釋的參考程式,讀者可參考這些清楚的提示,進一步訓練以程式設計解決問題的能力。 ‧書中的經典試題可用於程式設計相關課程的實作教學,還可用於輔導學生進行程式設計入門和競賽訓練。
多核心CPU加速程式32倍:深入高平行開發深度原理及專案實戰
☆★☆★【高平行開發的天花板!】★☆★☆ 在深度原理與專案實戰內一探究竟! 高併發是高流量、高資料量服務線上系統架構必須具備的特性,如果想從微觀核心到併發應用,再到業務架構學習高併發的核心原理,以及高併發系統的工程架構最佳實踐,本書是中文書籍中最佳的範本,在細節部分,對核心排程、同步非同步、各類鎖的實現細節都有詳盡的敘述,另外在併發應用層面,對CAS問題、ABA問題、連接池實現,也有很完整的案例講解。在更高的架構層面上,對快取併發實戰、電子商務超賣問題、秒殺系統架構,更有清楚且應用上的說明,讓讀者能從CPU、作業系統、JVM底層原理為基礎,站在實踐的角度上全面了解高併發的基本原理及實用。在電腦多核心時代,併發程式設計是每個程式設計師都應掌握的技能,伺服器上的CPU核心在EPYC出後,成千上百個處理器同時為你工作,如果你寫出來的程式還無法執行多處理程序,多執行緒,多核心,小心真的成為時代的眼淚! 本書看點 ✪了解作業系統中的執行緒排程架構 ✪多核心CPU上設計Java平行程式 ✪併發式程式的設計理念,分工、同步、互斥 ✪核心原理說明,原子性、可見性、有序性 ✪Synchronized、AQS、CAS、鎖、執行緒池、ThreadLocal的核心原理 ✪手動開發執行緒池實戰案例 ✪使用CAS開發自旋鎖實戰案例 ✪使用讀/寫鎖實戰快取 ✪使用AQS實現可重入鎖 ✪開發分散式鎖架構 ✪完整大型實戰一個秒殺系統的完整架構 &
敏捷開發的藝術 第二版
「James Shore運用新的工具、技巧與過去十年的經驗將第一版的內容全面翻新。第二版所蘊含的知識和經驗將協助將目前的工作模式,變得更加敏捷且有效率。」 -Bill Wake, XP123, LLC 大多數的軟體公司自認為善用「敏捷」的相關實務做法,但是對這些實務作法與理解,卻與敏捷的真諦和運用大相逕庭。如果您期望提升軟體開發團隊的敏捷力,本書將詳盡、清楚、具體地為您提供指引,告訴您該做些什麼,為什麼這麼做,以及何時該進行權衡取捨。 本書將傳統敏捷的實務指引進行全面更新。憑藉作者超過20年的敏捷經驗,針對如何採用敏捷,如何基於敏捷進行規畫、開發與管理,提供明確直接的建議。將極限編程(Extreme Programming)、Scrum、精實(Lean)、DevOps,以及其它最佳實務做法的新創見整合為連貫而緊密的整體。您將能從本書中了解如何成功將敏捷開發導入團隊與組織,或是理解敏捷可能並不適合您所處環境的原由。 本書為下列四個面向提供指引: ‧提升敏捷力:創造敏捷成功與規模化的必備條件 ‧專注價值:團隊合作、了解優先序、建立可視化、持續改善 ‧可靠地交付軟體:共有主導責任、降低開發成本、演進式設計、持續部署 ‧優化價值:產品規畫、預算與試驗的主導責任,以及打造領先市場的軟體
iOS 16程式設計實戰:SwiftUI全面剖析
◎以最新版Xcode14與Swift語言貫穿全書所有章節 ◎最新最精彩最完整的SwiftUI超級實用範例,功力百倍擴增 ◎涵蓋Charts、Vision、Bluetooth等高級框架應用 ◎經濟部iPAS行動裝置程式設計師能力鑑定指定參考用書iOS日新月異,如果想要寫出專業級的iOS App,本書絕對值回票價,它是每位iOS工程師必備的一本重量級工具書。 -- 資策會數位教育研究所主任 王淳平 朱老師為人幽默風趣,著作深入淺出,對於 iOS 的技術細節著墨既深且廣。無論對於初學或者資深的iOS開發者,這本書都是值得隨時在手的好工具。 -- 誠藝顧問有限公司技術總監 劉佑國(Kent Liu) 行動裝置作業系統變化快速,對程式設計師來說是一大挑戰,iOS更是如此。朱老師運用清楚明白的講解以及大量的範例,讓不論是初學者或是已有經驗的程式設計師都能精準掌握最新作業系統的特性,有效縮短學習的時間。本人在此特別推薦此書,這是對iOS程式設計有興趣的朋友都該擁有的一本好書。 -- 國立聯合大學電子工程學系副教授 王聲葦 程式設計師最困擾的是日新月異的開發工具,「iOS程式設計實戰」是一本可跟上技術演替的書,一直是行動應用開發人員的最佳夥伴,更是iPAS行動裝置程式設計師初級證照考科「行動裝置程式開發 -iOS程式設計」與中級考科「行動裝置跨平台程式開發- iOS開發實務」必備的工具書。 -- 國立虎尾科技大學資訊工程學系副教授暨教育部彰雲嘉數位機會中心輔導團主任 江季翰
Code That Fits in Your Head|軟體工程的啟發式方法
降低程式碼的複雜度,寫出能裝進您大腦的程式碼 「Mark Seemann以清晰、徹底的方式解釋複雜概念而聞名。在本書中,他將自己廣泛的軟體開發經驗濃縮為一套好用且務實的技巧,用於編寫具有永續性又容易親近的程式碼。本書將是每位程式設計師的必讀之作。」 — Scott Wlaschin,《Domain Modeling Made Functional》作者 如何降低程式碼的複雜度並以更具永續發展性的方式開發軟體 在以可持續發展的步調編寫程式碼和控制導致專案失控的複雜性方面,《Code That Fits in Your Head》提供了不可或缺的實務建議。 Mark Seemann在幫助軟體團隊成功的過程中積累了幾十年的經驗,他指導你從零(無程式碼)開始一直到部署功能,並告訴你如何在新增功能、處理橫切關注點、疑難排解和最佳化時,保持良好的「巡航速度」。你會發現針對關鍵議題的寶貴靈感、實務做法和流程,包括檢查表、團隊合作、封裝與分解、API設計和單元測試。 Seemann藉由從一個完整的範例專案中提取出來的程式碼實例來闡明他的見解。它們以C#語言編寫,旨在為使用任何物件導向語言的人(包括Java、C++和TypeScript)提供清晰且實用的資訊。為了便於深入探索,所有程式碼和豐富的提交訊息都提供下載參考。 ‧選擇有效的思維方式和流程,並逃離不適用的不良隱喻 ‧使用檢查表來解放自己,以你既有的技能改善結果 ‧透過建立和部署你應用程式的垂直切片來克服「分析癱瘓」 ‧抵制導致程式碼腐敗和非必要的複雜性的力量 ‧掌握更好的技巧來改變程式碼行為 ‧發現更快、更有效解決程式碼問題的方法 ‧以更有生產力的方式思考效能和安全性 如果你曾經歷過糟糕專案的折磨,或者不得不應付無法維護的舊有程式碼,本指南將幫助你在下次和後續的「每一次」都把事情做得更好。
高速建立大型桌面應用:全新Electron框架現在就動手做
★ 導入實際開發場景與案例,由淺入深、循序漸進 ★ ★ 帶領讀者快速掌握 Electron 開發必備知識及技巧 ★ 隨著Electorn的流行,越來越多的開發人員開始學習和使用Electron框架。本書特別針對一些會讓初學者感到困惑的問題提出解決方案,舉例來說,官方文件詳盡地列舉了Electron提供的API以及其呼叫的方式和參數說明,然而卻完全沒有任何案例進行實作的教學,本書針對這個痛點,將全書10章分別按不同的主題設計成一個完整連貫的開發案例,讓讀者真正知道在專案開發中會遇到的問題並加以解決。另外目前坊間完全沒有Electron的中文書籍,對於Web工程師來說,桌面應用程式的跨度有點大,必須了解node.js和Chrominum的原理。主處理程序與繪製處理程序的概念等知識,會在應用程式開發的過程中感到困惑,本書清楚完整地說明了這個部分,讓開發者在寫程式時更加放心。非常適合有一定的前端知識基礎,開始學習或即將使用Electron進行開發的讀者,也適合傳統桌面用戶端開發,想了解Electron框架的C#/C++/QT開發人員。當然如果你已經是Electron的使用者,想更進一步精進自己的技術,這本書也一樣非常適合你。 【適合讀者】 1.從事Web前端開發,有一定的前端知識基礎,出於興趣開始學習Electron框架,或是專案即將使用Electron進行開發,想快速上手Electron的開發人員。 2.從事傳統桌面用戶端開發,想了解Electron框架,對擴充自己技術廣度有訴求的開發人員。 3.已經使用Electron框架開發過專案,熟悉Electron的基本使用,但想學習更多案例實踐的開發人員。 本書特色 .只要會Html+CSS+Javascript,就能開發出跨平台的輕量桌面應用程式。 .利用Web開發的Chrominum為基礎。 .Node為基礎的桌面環境設定。 .了解不同作業系統之間的處理程序。 .了解應用程式中視窗的多種組合應用。 .帶參數的應用程式設計。 .修改Windows的登錄檔。 .處理硬體裝置及系統UI。 .錯誤處理及程式品質控制。 .將應用程式打包及發佈到Windows市集。 .服務處理程序及外掛程式的開發。 &
大師級逆向神器: Android Frida協定剖析及應用
☆★☆★【偶爾想走後門,卻不知如何下手?】★☆★☆ 只有本書,教你如何「安全逆向」! & 駭客堅持使用Android而非iPhone最大的原因,就是其基於Linux的開放及「可亂搞」性。然而就是因為Linux的開放及「可亂搞」,使得Android系統的安全性一直飽受質疑。當你在使用手機時,後台的演算法及爬蟲不斷地從你的手機中撈出資料,因此逆向工程及App安全,一直是Android駭客最感興趣的技術領域。Frida自從2014年末問世以來,迅速在全球安全社區掀起了熱潮,借助Frida動態修改記憶體的特性實現了快速逆向和演算法呼叫功能,Android應用安全分析和對抗技術從未像如今這樣成熟和自動化。然而道高一尺魔高一丈,大型軟體和平台的開發者也逐漸把演算法藏得越來越深,增加演算法本身的複雜度,或利用中間層將演算法保護,使得逆向工作變得更加困難,而Frida的沙盒機制,讓大家能更利用簡單的逆向方法解決這些問題。本書充實地介紹了如何安裝和使用Frida、基本的環境架設、Frida-tools、Frida指令稿、Frida API、批次自動化Trace和分析、RPC遠端方法呼叫,並包含大量App逆向與協定分析案例實戰,此外,還介紹了更加穩定的框架Xposed的使用方法,以及從Android原始程式開始訂製屬於自己的抓取封包沙盒,打造無法被繞過的抓取封包環境等內容。 & 本書看點 ✪真正Android逆向工程的實作框架 ✪動態修改記憶體架構,使用Kali-Nethunter ✪VM中安裝Kali連上Android手機進行 ✪Xposed、Xposed Hook完整安裝及使用說明 ✪封包/套件截取沙盒 ✪Frida逆向、RPC、協定分析及取證 ✪Android原始碼編輯及Xposed魔改 ✪Android沙盒加解密庫、網路庫、系統庫「自吐」 ✪收費直播間逆向分析 ✪會員制非法應用破解付費繞過機制 &
玩真的!Git ✕ GitHub 實戰手冊 - coding 實境、協同開發、雲端同步, 用最具臨場感的開發實例紮實學會!
根據知名開發者論壇 Stack Overflow 的最新統計, 有 83% 的開發者會使用版本控制 (version control) 工具來管控程式, 當中更高達 93.87% 是使用 Git 這套工具來做;而用 Git 通常也會接觸的 GitHub 網站更被視為求職重要的技術履歷 線上作品集, 市場說了算, 熟悉 Git、GitHub 絕對是程式開發者避不掉的! & 在學習 Git 的管道上, 市面不乏一些教學書, 網頁文章當然也是隨便搜都有, 不過依小編親身體驗, 大部分教學內容多以一些陽春的文字檔來演練 (小編心聲:示範程式版本控制為什麼不拿真正的程式來 demo!), 當然, 用陽春範例來回實驗 Git 指令絕對是「風~平~浪~靜」, 但那不叫學, 只是玩玩指令而已! & 要學 Git ✕ GitHub, 就用這本最有開發「臨場感」的書來學吧! & 【用真正要做版本控制的程式做 demo, 跟陽春的實驗教學說掰掰!】 & 本書透過作者日常的程式開發案例, 帶讀者一窺開發者是如何善用 Git、GitHub。書中展示如何用自己的程式做版控, 你不會看到「123測試」、「aabbcc」這類實驗文字檔, 陽春案例很難感受最好在什麼階段建立版本, 或某一程式版本中有重大 bug 該怎麼應對..., 你絕對不希望將 Git 用在自己的程式時再來直視種種難題! & 為了真實體驗開發情境, 本書除了命令列的指令教學外, 也會示範如何用 Visual Studio、VS Code...等程式開發工具來操作 Git, 還會示範如何活用 GitHub 做多人雲端同步協作。 & 你終究要把 Git 用在自己的程式上、操作自己慣用的開發工具、甚至加入團隊開發的行列, 跟著本書「真槍實彈」演練一遍才會學得深刻! & 【真正從「做」中學!而不光用「看」的】 & 小編的第 2 個學習體驗是, 很多教學內容受限於情境難以產生 (尤其涉及多人合作、或者解決版本合併衝突的操作功能), 想照著做時你手邊根本沒有雷同的情境, 也就無從驗證自己操作起來會是什麼結果。 & 為此, 本書在介紹功能操作前, 對於如何快速建構出操作情境都會稍做提示, 無非希望你動手做做看;若需演練「一人分飾多角」的多人協作功能, 也分享如何做才不會造成閱讀的混亂感, 學習本書時一定可以感受到作者精心設計的種種巧思! & 【施威銘研究室監修, 針對原書進行大量補充, 提供學習經驗】 & 最後, 本書所有內容都經小編實際演練過, 書中針對原書進行大量補充, 並適當添加註解, 例如學 Git、GitHub 一開始不太熟, 很容易在建立情境、演練功能時就把儲存庫弄的很混亂、影響後續操作 (混亂時就不得不乾脆放棄然後重建一個, 超花時間...)。 & 書中小編會以過來人的經驗, 引領你一開始就把「如何回復」這個學習的強心針學到手, 如此一來無論任何功能都可以放心勇敢去試!諸如此類的分享, 希望您的學習之路能夠紮實、順利。歡迎一起加入 Git ✕ GitHub 的世界吧! & 本書特色 & □ 起手式就跟 GitHub 連動, 最符合現況的開發 workflow& □ Python、網頁前端程式、Java、C#..., 想管控什麼程式都適用 □ 除了命令列學 Git 外, 也教你在 Visual Studio、VS Code...等開發工具做版控, 更貼近開發實境 □ 學習一開始小編就教你安心的回復技巧, 勇敢嘗試各種功能都不怕! □ git status/log/show/rebase/rebase -i/reset/branch/add/commit/push/pull/stash/amend/cherry-pick/notes/tag/diff/bisect/blame...所有功能都精心設計演練情境, 充份掌握 Git 指令使用時機 □其他實務內容: ‧5 個 Git ✕ GitHub 操作關鍵區域 ‧提交 commit 的最佳時機建議 ‧避免合併衝突的操作建議 ‧利用 GitHub 的 Pull Request 完成多人協同檢視、合併 &
深入淺出Swift程式設計
易學易用的Swift編程指南 「《深入淺出Swift程式設計》真的很神奇,將Swift這個程式語言的精華濃縮在一本書裡,不僅程式開發新手能輕鬆消化書中內容,對資深開發人員來說也十分具有參考價值。」 ─Ish ShaBazz Illuminated Bits LLC創辦人 你將從本書學到什麼? 大家對Swift的第一印象經常是Apple創造出來的程式語言,用於開發iOS、iPadOS、macOS、watchOS和tvOS上的應用程式,但它的用途其實相當廣泛,遠不止於此。由於Apple以開放原始碼的形式發表Swift,使這項語言陸續在系統程式設計和伺服器端程式碼上也獲得採用,可以在Linux和Windows上運行。那麼,你將從哪裡開始起步呢?《深入淺出Swift程式設計》將帶你從零開始探索:從收集、控制資料到重複利用程式碼、自訂資料型態,以及經由開發安全、協定導向的程式碼,學習利用SwiftUI來建立程式結構與使用者介面。完全掌握Swift會讓你具備開發一切程式的能力,從行動和網頁應用程式,到遊戲、架構、命令列工具等等都將是你的囊中之物。 本書為何如此與眾不同? 曾經看過《深入淺出》系列的讀者應該猜想得到,本書充滿專為大腦運作而設計的視覺化風格;尚未看過的讀者,內容保證包君滿意。不同於令人昏昏欲睡的厚重文字,本書透過多重感官的閱讀饗宴,帶領大腦沉浸在Swift的學習世界裡。
演算法生存指南
「What I cannot create, I do not understand.」 - Richard Feynman 最實用演算法指南,讓你在隨機森林裡也不迷航。 & 本書挑選出最實用、出現頻率最高的演算法及相關例題,並以C++實作,透過實作來了解每一種演算法的流程,同時每章節後皆附上 LeetCode 或 APCS考古題與線上批改系統連結供讀者練習。 本書適合… ✪修習資料結構與演算法之學生 ✪準備APCS或程式競試的學生 ✪準備面試或轉職成為軟體工程師的你 本書特色 ✪挑選出最實用且出現頻率最高的演算法,並附上每個演算法的步驟圖解與實作程式碼 ✪每章節後皆附上LeetCode 或 APCS考古題與線上批改系統連結供讀者練習 ✪仿照大學教材與進度編排,可做為大學課程的輔助或先修教材 ✪講解常見的C++ STL 用法及操作原理,熟悉 C++ STL的使用能夠使你在程式競賽或面試中脫穎而出 ✪程式競賽中常見的技巧或相關注意事項 電子資源 github.com/lkm543/Algorithm &
持續API管理|在不斷演變的生態系統中做出正確決策 第二版
「本書將引導你實作和管理普遍存在的API生態系統。」 —Gregor Hohpe 《The Software Architect Elevator》作者 發表API需要付出大量的精力,但付出與收獲不一定成比例。在API成熟之前做太多的規劃是沒必要的,但是規劃不足可能導致災難。本書的第二版將提供「單API」與「多API生態系統」的成熟度模型,協助你在正確的時機投資正確的人力和公司資源,來實現正確的成熟度。 如何在「實現敏捷性與速度的渴望」和「穩健和可擴展地營運」之間取得平衡?如果你是軟體架構師、專案總監或產品負責人,本書的四位API專家將告訴你如何在連續的生命週期中將API當成產品來管理,從而實現價值最大化。 ‧了解需要治理的API決策有哪些 ‧採取AaaP(API即產品)方法來設計、部署與管理API ‧探索API產品工作的十大基礎支柱 ‧學會持續改善模型如何在整個API生命週期中主宰變動 ‧認識API產品週期的五個階段 ‧深入了解設計、建構與維護API所需的團隊角色 ‧學習管理組織所發表的API
文科社會組也會程式設計
■文科生學程式,前進IT產業!加入護國神山不是夢! ■本書程式碼及教材,免費下載: shorturl.at/NOPW1 ■ 針對108課綱科技領域高中「程式設計」,特別是針對文科(社會組)學生,一本快速入門又實用的程式設計教科書,銜接十二年國教的資訊教育 本書目標讀者─ 1.文科社會組高中生。 2.非資訊專業科系的大專學生(通識課程)、一般上班族、有志於一窺程式設計領域堂奧的青少年讀者。 3.自認數理成績低分、邏輯思考遜的你,也能學會程式設計的運算思維,應用在專業領域。 4.不是只有理科生能進最賺錢的IT產業,具有「運算思維」的文科生更有價值! 本書特色 1.針對108新課綱「程式設計」課程(高中社會組、大學通識)教學使用,師生可以拿來當教科書。 2.不是為「程式設計」而學程式設計,而是為了程式設計的應用領域(如商業、統計、會計、文書、大量資料處理、重複性工作處理……)而學習程式設計。沒基礎,甚至沒興趣的非資訊專業人士,可以不用寫程式,也能學到最重要的「運算思維」。 3.附免費程式碼及教材電子檔,師生可以下載,即學即用。 &
電腦&程式設計知識圖鑑:0基礎也好懂!科技素養與邏輯力躍進的第一步!
AI時代不可不知的知識 AI是什麼?究竟什麼是程式設計? 程式語言有何區別? 最輕鬆、易懂的電腦&程式設計圖鑑! & 咦?! 硬體、軟體與程式設計的必備要素 都變成了可愛、生動的角色! 這些既熟悉又陌生的角色,你都認識嗎? 超級電腦──透過複雜的計算來支撐社會! 硬碟&SSD──什麼都記得住的記憶專家 編譯器──負責聯繫電腦與人類的翻譯家! 程式錯誤──害程式異常的搗蛋鬼! Python──以程式庫為傲的AI教練 ……精彩圖解超好懂!功能、使用情境一目瞭然! & 歡迎來到電腦的世界! 平板電腦/智慧型手機/超級電腦/CPU/RAM/ROM/主機板/硬碟/SSD…… 除了基本資料、特長與實際應用範例,還有豐富的知識補充, 電腦有哪些周邊產品?內部構造長怎樣?電腦與AI的關係是什麼? 將介紹電腦的類型、零件及其功能,從今天開始你也是電腦知識王! & 我們的生活中充滿著程式設計? 沒有程式下達指令,就無法驅動電腦! 什麼是程式設計?程式設計有什麼用途?程式又是如何編寫的? 當程式出現錯誤會發生什麼狀況? 介紹程式的基本思維,清楚易懂的流程結構說明, 原來程式設計這麼有趣! & 電腦之間有共通語言嗎? C語言?Java?Python? 這些好像看過、卻從不了解的名詞代表著什麼? 用0和1就可以表達資訊?!程式語言有哪些?要怎麼學? 介紹人類語言與機械語言之間的差異, 結合彼此的智慧就能創造無限的可能性! &
UNITY程式設計教戰手冊
許多初學者在接觸Unity遊戲引擎時,往往會覺得系統龐大而無法掌握學習方向。尤其是程式設計部分,更讓許多人覺得無從下手,即便閱讀大量書籍與網路文獻亦無法具體改善。為了解決學習困難的問題,作者以多年教學經驗,建立從零開始的學習路徑,讓初學者可以透過本書,輕易學習Unity程式設計,並且在閱讀本書之後,擁有自行學習的能力。閱讀本書並不需要任何程式基礎,只要從頭開始照著書本案例一步一步練習,就可以具備基礎Unity遊戲程式設計能力。本書以初學者為出發點,以完整的遊戲程式開發過程為學習路徑,輔以大量圖片說明,讓沒有程式基礎的讀者,可以由淺而深的學習Unity程式設計。本書內容經過實際課堂教學驗證與完善,並獲得學生一致好評,值得向初學者推薦。 本書附有遊戲專案檔(請至五南官網下載),可供讀者參考。 作者E-mail為 sam-cc@umail.hinet.net ,對於本書內容有任何疑問,歡迎透過電子郵件與作者連絡。 &
軟體專案估算
本書主要分享了作者多年來設計可靠的軟體估算過程方面豐富的經驗。這些估算過程可以作為管理者的決策支援工具。 本書還介紹了一些基本的統計學和經濟學概念。這些概念是理解如何設計、評價和改進軟體估算模型的基礎。 因為量化資料和量化模型是工程、科學和管理領域的基礎,所以本書對於各種規模的軟體組織都會非常有用。同時管理者將會在本書中找到關於軟體專案估算量化改善的有效策略,書中也提供了大量的實例,供讀者參考與學習。 本書適合軟體專案估算相關的IT實務人員、軟體經理、審計人員,以及軟體專案管理相關課程的學生閱讀。 本書分為三大部分,共13章: ► 第一部分介紹在設計和使用軟體估算模型進行決策時,估算人員和專案經理都需要知道的軟體估算觀點。該部分解釋了估算過程的結構,包括嵌入在估算過程內的生產力模型,並澄清了估算人員和專案經理在角色和職責上的區別。最後,介紹估算中必須予以考慮的許多經濟學概念,比如規模經濟與規模不經濟、固定成本與變動成本等。 ► 第二部分則是介紹必要概念與技術,以理解估算過程結果的品質取決於輸入的品質和它使用的生產力模型之品質,以及瞭解估算過程所增加的調整因素有什麼樣的限制。 ► 第三部分探討建立估算模型過程中的相關問題,包括資料收集以及使用國際標準,以便在專案間、組織間、國家間橫向對比。除此,如何使用品質資料作為輸入並根據一系列經濟學概念來建立具有多個自變數的模型。 &