新手也能學會的Git&GitHub教科書
內容簡介:「YouTube」、「Udemy」超人氣講師直授 輕鬆點擊,快速掌握 Git! 支援Sourcetree。 操作全程詳細圖解,一定學得會! 命令操作與進階功能完全解說,每個階段都可使用! 從入門到精通,工程師必備的實務技巧! ‧點擊操作超簡單 使用圖形化介面的Sourcetree來解說Git。用滑鼠點擊操作,即使是不擅長使用指令的人,也能輕鬆又快速的學會Git與GitHub。 ‧所有步驟都有圖片 所有步驟都透過圖片詳細解說。從最基礎的操作開始,只要跟著步驟進行,一定能夠學會。 ‧逐步提升技能增強實力 特別收錄了命令操作方法及進階應用,透過專欄做進一步解說。內容豐富,讓讓初次接觸Git的人,也能穩步增強實力。
寫程式的AI戰友 VS Code x GitHub Copilot
◎本書特色: ☆從零開始:安裝 VS Code、設定 Python 環境、快速上手介面操作。 ☆AI 實戰:完整示範 Copilot 的用法——寫程式、除錯、重構、生成測試與文件。 ☆專案導向:涵蓋 CLI 工具、資料處理、API 整合等專案,邊學邊做,馬上能用。 ☆資料科學應用:結合 Jupyter Notebook、NumPy、Pandas、Matplotlib,立即展現 AI + Python 的威力。 ☆思維升級:教你如何成為「指揮 AI 的人」,而不是被 AI 主導,真正駕馭 Copilot。 ★★★「程式設計不再孤軍奮戰,讓 AI 成為你的戰友!」★★★☆☆☆「用 VS Code + Copilot,讓寫程式變得像聊天一樣簡單!」☆☆☆★★★「專案實戰,立即上手,程式設計不再卡關!」★★★《寫程式的AI戰友 - VS Code x GitHub Copilot》帶你進入 AI 輔助程式設計的新世代。本書不僅教你如何用 VS Code 打造專屬開發環境,更完整揭示 GitHub Copilot 的秘密武器:自動補全、錯誤修正、重構優化、AI 對話寫程式,讓你像專業工程師一樣高效開發。◎為何要讀這本書?在這個 AI 與程式設計緊密結合的時代,單靠背誦語法已經不足以讓你成為一位優秀的工程師。《寫程式的AI戰友 - VS Code x GitHub Copilot》將帶給你三大核心價值:1. 掌握開發主流工具VS Code 是全球最受歡迎的開發環境,本書完整介紹其安裝、操作與進階應用,讓你在最短時間內熟悉業界標準工具。2. 學會駕馭 AI,而不是被 AI 取代GitHub Copilot 能幫你寫程式,但本書更強調「思維升級」——如何正確下指令、判斷 AI 建議的正確性,培養「指揮 AI」的能力,避免淪為被動依賴。3. 專案實戰,立即上手從 CLI 工具到資料分析,從 API 整合到自動化報表,本書以專案導向學習,讓你邊學邊做,學到的技能馬上能應用在實際工作與專案中。◎ 讀完這本書,你將:☆ 熟悉 VS Code 與 Python 的整合操作。☆ 能使用 GitHub Copilot 提升開發效率,寫程式就像與 AI 對話。☆ 具備判斷、比較與優化程式碼的能力。☆ 透過專案實戰累積經驗,快速從初學者邁向專業者。這不只是一本文教你「怎麼寫程式」的書,而是一本幫你建立 「AI 時代程式設計思維」 的手冊。
本地端 Ollama×LangChain×LangGraph×LangSmith 開發手冊:打造 RAG、Agent、SQL 應用
內容介紹: >資 料 不 外 流,模 型 任 你 遊No data out, all models in play本書是專為考量資料隱私問題但又想開發結合大型語言模型 LLM 應用者所設計,不倚賴大型 AI 公司的雲端服務,利用 Ollama 系統建置本機 LLM 推論引擎,既保護隱私又節省串接大型 AI 公司 API 服務的費用。更重要的是,可視需要變換模型,不會被大型 AI 公司綁架,完全彈性自主。本書還具備以下特色:🛩️ LangChain 應用程式開發框架除了簡化程式撰寫,更可跨模型,即使要改用大型 AI 公司的模型也不需要重新撰寫程式。LangChain 框架提供有外部函式(工具)的抽象層,可立即將既有的函式變成模型可用的工具,加上 LangChain 社群的豐富工具,簡直就像是 LLM 軍火庫,讓模型不只能說一口好話,還能付諸行動,可以達成像是執行 SQL 語句查詢資料庫等各種功能。🛩️ RAG 應用開發對於需要參考私有資料的應用情境,LangChain 也提供有完整的 RAG 支援,不但可讀取 PDF/網頁/JSON 等各種格式資料來源,也提供多種文檔切割方式與 FAISS 等嵌入式資料庫儲存/檢索機制,瞬間就能幫模型補足專屬知識,協助解答問題。🛩️ AI Agent 代理應用LangChain 設計有現成的 AI Agent 框架,搭配剛剛提到的各式工具與 RAG 機制,即可設計可自主思考,規劃行動並實際完成任務的 ReAct Agent。🛩️ 獨家 LangGraph 主題考量到一般 Agent 帶來的不確定性,LangChain 生態系加入了 LangGraph 框架,可以設計具備穩定流程的 Agent 代理,避免 Agent 陷入無窮迴圈無法完成任務的窘境。🛩️ LangSmith 評估系統補上 Agent 代理應用的最後一塊拼圖,透過 LangSmith 服務檢視 Agent 執行過程,可評估執行效能、prompt 成效、模型規劃行動優劣,不再只用感覺評斷。本書特色: 🛩️ 自由彈性的本地端 Ollama 模型,節省 API 串接費用 🛩️ 出張嘴用自然語言替代 SQL 語句查詢資料庫🛩️ 從 PDF/網頁/JSON 檔擷取資料補充模型知識打造 RAG 應用🛩️ 善用 prompt 技巧避免模型產生幻覺🛩️ 設計有記憶、可自主決策規劃並執行任務的 AI Agent 代理🛩️ 獨家 LangGraph 教學,設計穩定流程的 AI Agent🛩️ 利用 LangSmith 監測 AI Agent 執行流程
設計模式與遊戲開發的完美結合 (好評回饋版)
【中文原創經典04】☝ 博碩嚴選!遊戲程式設計師人手一本不敗經典之作!☝ 首版上市累積銷售數千本!☝ 好評再上市,回饋發行中!誌謝(好評回饋版新增)本書自第一版於2016年1月發行至今,也經過了九年。承蒙讀者的愛戴與博碩的支持與推廣,才能有機會推出第三版。這九年間,科技領域的變化很大,從AI的萌芽與初步應用到ChatGPT等大型語言模型的橫空出世與普及化,AI技術的演進速度著實令人驚嘆。誠然,大型語言模型能夠快速提供各式問題的解答。然而,若要真正深入理解並系統性地學習一門知識,書本所提供的完整脈絡與扎實內容,仍是無可取代且不可或缺的。期盼這好評回饋版能持續為讀者帶來價值,成為您探索知識、精進技能的堅實夥伴。寫遊戲的首要之務就是要先有「好的設計」,否則哪能寫出可應對玩家、測試、企劃頻繁出現的新需求呢?那麼,怎樣才算是好的設計呢?除了掌握物件導向的設計原則外,直接在適當的場合套用適當的設計模式,自然是一條捷徑。GoF提出了23個模式,想要一次全都套用並非易事,不過,對於實質參與過或規畫過數十萬行以上的遊戲程式的人而言,不套用才奇怪!的確,很難想像,在一個簡單的專案中也能把GoF的23個模式都套用進去,但這本書幾乎做到了!關鍵在於作者的「遊戲開發經驗」。本書作者不但是實質參與大型遊戲開發的人,甚至本身負責的就是遊戲的軟體規劃,負責過的知名遊戲不勝枚舉,這些經驗,使得作者很清楚哪些模式可以套用在遊戲的哪個地方,或者反過來說,作者很清楚遊戲的哪類型功能應該套用哪個模式最為恰當。擁有這種能力的人當然不只一個,但願意把這些經驗濃縮設計出一個簡單的「P級陣地」遊戲並撰寫《設計模式與遊戲開發的完美結合》這本書來分享經驗者,蔡昇達堪稱是台灣遊戲界的第一人,甚至在整個台灣軟體業界,都很罕見。這本書的重點顯見於書名之中,著重在「設計模式」與「遊戲開發」,且兩者的重要性不相上下。作者撰寫本書的目的主要有二。首先,這本書是寫給遊戲程式設計師的,作者蔡昇達在遊戲設計業界累積了十年經驗,參與過無數耳熟能詳的專案(詳見下方..本書讚譽..),正所謂「十年磨一劍」,雖然動手完成這本書僅僅花費一年,但背後代表的是十年經驗的積累。本書作者希望所有的遊戲程式設計師能將工作重點,從「Coding」提升到「設計」的層次,藉由套用「設計模式」與多項物件導向設計原則,設計出可長可久的遊戲,不畏懼、甚至歡迎企劃、測試與使用者回饋帶來的修改需求與新需求。其次,本書也是寫給那些想要學習「設計模式」但不會寫遊戲的工程師閱讀的,本書採用的遊戲設計工具為Unity3D與C#,所使用的語法都是最簡單的,介面也是最容易上手的。至於遊戲部分,筆者挑選的是最常見、最淺顯易懂的範例,所有與本書遊戲相關的Domain Know-how,都難不倒任何一位曾經「玩過」戰鬥遊戲的軟體工程師。這樣做的目的在於,藉由遊戲做為範例,實際示範「設計模式」的強大之處。事實上,本書原本的另一個候選書名為《設計模式解析——以遊戲為例》。本書不同於其他講解「設計模式」的書籍,本書的所有範例都圍繞著同一個遊戲專案,並且將GoF的所有模式都套用到了該遊戲專案之中,光是這一點就很不容易,尤其是,本書還仔細思考過讀者的學習步伐,章節的安排讓讀者能夠循序漸進地學會所有的設計模式。讀者若在閱讀GoF的《設計模式》時,遇到無法理解的部分,也可將本書當作範例解析的參考書來使用。本書對於工程師而言,是一本非常容易閱讀的書籍,因為本書所有關於「設計模式」的章節架構、內容次序的安排都是相同的,步驟如下:1 土法煉鋼完成遊戲需求。2 簡介可以採用的「設計模式」,包含使用生活實例來解釋GoF對於該模式的定義。3 使用該「設計模式」重構或重新設計程式,以完成遊戲需求。4 搭配團隊對話的手法,討論日後遇到需求變化時,如何善用該「設計模式」的強大之處,以簡單的調整方式來進行維護。5 討論該「設計模式」還能與哪些「設計模式」配合,以及採用該「設計模式」的優缺點。6 最後則是討論該「設計模式」還能應用在遊戲設計的哪個環節。本書作者認為,透過上述步驟來學習「設計模式」與「遊戲開發」,是最能徹底明瞭「設計模式」與「遊戲開發」的學習方式。同時,本書還獲得了遊戲業界及軟體設計界的許多讚賞,因此,我們將之列為《中文原創經典》。~~~~~~~~~~~~~~本書讚譽~~~~~~~~~~~~~~本書作者經由十年的遊戲開發過程中,將設計模式理論巧妙地融合到實務之中,為讓讀者能更容易地了解如何運用此理論,書中透過一個遊戲的實作貫穿全書,呈現出設計模式的完整樣貌,且以淺顯易懂的比喻來解譯難以理解的設計模式,透過這些相信能夠讓想更深入了解此領域的讀者更容易上手,推薦給有興趣從事遊戲開發的朋友們。軒轅劍之父——蔡明宏暱稱『阿達』的蔡昇達先生,在台灣遊戲研發領域中,是位堪稱天才的程式設計師,我在擔任『仙劍Online』製作人期間,他是我對專案推展最大的信心來源。阿達在經歷過大型連網遊戲研發與營運過程洗禮後,升任為技術中心主管,並參與多款網頁遊戲與手機遊戲開發,充份展現他多元技術能力。在本書中,阿達除了傳達程式技術,更將他的實務經驗化為情境式範例,相信對遊戲設計有興趣的讀者,一定能獲益良多!資深遊戲製作人——李佳澤一個充滿技術涵養的作品,有別於其他的遊戲開發叢書,採用了整合式的專案教學,即一個專案包含了所有作者想要傳承的經驗,同時也能讓讀者學習到整個遊戲開發的過程,非常適合走在程式設計師之路的開發者,作者以其深厚的開發經驗深入探討程式設計師該有的GoF開發思維,是一本無論遊戲開發或專案開發都值得蒐藏的作品。Unity官方產品技術佈道師 ——Kelvin Lo《設計模式與遊戲開發的完美結合》將軟體的基本道理做了一個總整理,並且利用一個遊戲的範例來應用23個設計模式,這在設計模式的書籍中是較為少見的,作者企圖將軟體設計的領域擴展到所有與軟體有關的產業中,相當令人激賞!信仁軟體設計創辦人——賴信仁本書不僅榮登博碩文化《中文原創經典》系列,事實上,正是有了這本書才開始有了《中文原創經典》這個系列,換句話說,本書是《中文原創經典》當中,第一本由台灣工程師撰寫的書籍!博碩文化《名家名著》、《中文原創經典》總編輯——陳錦輝本書程式碼的GitHub下載點如下:https://github.com/sttsai/PBaseDefense_Unity3D
輕課程 用Scratch 3.0創作故事動畫及互動遊戲-最新版(第二版)-附MOSME行動學習一點通:影音.加值
1. 有趣的主題式教學引發學習興趣,淺顯易懂的內容適合基礎學習者,幫助您培養運算思維及邏輯能力。 2. 針對初學者編撰。程式語言是人工智慧的基礎,科學素養及解決問題能力的養成,趁早學習可得到最佳效益!
超圖解 C 語言:用資料結構×演算法突破 APCS
//不只考檢測、更鍛鍊未來程式力// 本書是專為有志往資訊科系發展的讀者所設計,具有以下幾項特色: □ 【紮實基礎教學】:全面涵蓋 C 語言各項主題,沒學過程式設計也可從本書開始入門。主題涵蓋基本語法、函式、陣列、遞迴、指標與多維陣列、動態記憶體配置、前置處理器、結構體與自訂資料型態、到檔案輸出入等,不限於 APCS 檢測範圍,更為未來鋪路。 □ 【超圖解觀念解說】:程式設計抽象概念往往是初學者卡關主因,本書作者親手繪製數百張圖解以及流程圖具像呈現程式設計抽象觀念,易讀又好理解。 □ 【線上開發環境】:學習程式設計就是要動手練習,本書採用線上開發環境,不需安裝軟體,只要打開瀏覽器,就可以開始動手寫程式,甚至在手機、平板上都沒問題。 在 APCS 檢定的準備上,則是採取以下策略: □ 【從思維邏輯解題】:著重解決問題的思維邏輯,帶你用紙筆解析問題,思考解法。 □ 【單一程式語言】:APCS 的觀念題以 C 語言出題,學 C 語言無可避免,本書實作題也採用 C 語言,只要專心學習單一語言,不需要同時學習兩種語言,以免耗時又容易混淆觀念。 □ 【資料結構與演算法】:帶你思考如何善用資料儲存方法或是執行步驟,讓程式更簡潔、更有效率。涵蓋堆疊、佇列、鏈節串列、樹狀結構、圖形等基本資料結構,以及排序、動態規劃、回溯、雜湊等關鍵演算法。 本書不限定在 APCS 的範疇,也為未來往軟體工程師做準備,包含以下延伸內容: □ 【業界軟體工具】:gcc 編譯指令、make 專案建置、gdb 除錯程式等實務軟體工作現場必備的工具,為未來進入職場做好準備。 □ 【進階程式主題】:檔案輸出入、動態記憶體配置、模組化程式設計、文字編碼等。另外,本書也提供有 C++ 附錄,對於想要進一步瞭解 C++ 的讀者,快速介紹 C++ 與 C 的差異,並且針對最核心的物件導向概念,做了深入淺出的介紹。 本書特色 □ 從基本語法、函式、陣列、遞迴、指標與多維陣列、動態記憶體配置、前置處理器、結構體與自訂資料型態、到檔案輸出入,完整打好基礎 □ 線上編譯環境,開瀏覽器就可立即練習 □ APCS 觀念題實戰演練,驗證學習成效 □ APCS 實作模擬題解析,熟練思考邏輯 □ ○/✗對照示範,建立程式正確觀念 □ 用流程圖輔助,具像理解程式邏輯 □ 涵蓋鏈結串列、樹狀結構、圖形、堆疊、佇列等基本資料結構 □ 涵蓋搜尋、排序、動態規劃、回溯法、雜湊等關鍵演算法 □ 包含 C++ 簡介附錄,提供進一步探索 C++ 的敲門磚 □ gcc、make、gdb 等開發工具簡介,跨入軟體開發專業領域 &
Unity 3D遊戲設計實戰(第三版)
【學業界專文推薦】 ‧依斯楚互動娛樂股份有限公司/吳嘉沅 董事長 ‧國立台北教育大學玩具與遊戲設計所前所長/張世宗 教授 ‧工業技術研究院/萬象 資深研究員 ‧夢郡遊戲/曾柏祐 創辦人 5大熱門遊戲設計實例, 依樣就能設計出3D好遊戲! Unity是一款適合中小型遊戲製作的跨平台專業遊戲引擎,功能強大,學習曲線短。本書以Unity為開發工具,前半部第1~5章為基礎內容,後半部第6~10章則為實例應用,範例以Unity 2019版示範操作,可線上下載範例檔。沒有深奧的理論,採循序漸進的實例體會遊戲開發的樂趣,製作出目前熱門的遊戲類型。 ‧5大精彩主題作品(坦克大戰、投籃遊戲、紙片人冒險遊戲、敵軍總部射擊遊戲,以及室內展覽應用),各遊戲專案檔中均整理出開發遊戲的素材及模型檔,對於不擅長美術設計的人來說,可以依此迅速進行遊戲設計。 ‧透過不同程度的學習主題,初學者可以先從基本操作與程式腳本的基礎課程入門,進階者則可以直接進入遊戲專案製作。 ‧不用寫程式腳本,也能依樣設計出好遊戲。程式使用C#,程式腳本中附有中文說明,對於剛入門的人或遊戲美術背景的學生來說,可以更快瞭解程式開發的架構,進而學會編修程式腳本。
遊戲設計的有趣理論 第二版
十周年紀念版 「經典之作。」 -Noah Falstein, Google首席遊戲設計師 「這是我讀過最棒的遊戲設計書籍。」 -David Jaffe, 戰神(God of War)創意總監 「這本書為遊戲所做的一切,正如《Understanding Comics》為漫畫藝術所做的相同。」 -Cory Doctorow, 《Little Brother》作者 10週年全彩版本,這本經典帶您深入探討現代電玩遊戲背後的影響力,以及這些現代遊戲與跳棋等類型的傳統遊戲之間共有的元素。資深遊戲設計師,拉夫.柯斯特在本書中著重於探究『何為有趣?』以及『為什麼有趣是所有遊戲中最重要的元素?』 為什麼某些遊戲很快就讓人提不起興致了?但某些遊戲無論經過多少年,仍讓人興致勃勃地想要挑戰?遊戲為什麼是強大的基礎學習工具?無論您是遊戲開發者、重度玩家,或只是個好奇的觀察者,這本圖文並茂的全新經典版本,都能讓您瞭解這股主流文化背後的驅動力,同時,也能啟發您的靈感,讓您更加深入。 在本書中,您會看到: ‧遊戲能激發我們尋找模式、解決難題的本能 ‧大多數成功的遊戲都運用了相同的元素 ‧愛玩遊戲的女性多於男性 ‧許多遊戲仍舊在教導我們基本的生存技能 ‧現代遊戲中的虛構情節較概念元素更加發達 ‧真正有創意的設計師,很少從其他遊戲中獲取靈感 ‧遊戲發展已超越其史前起源
互動式網站程式設計-ASP.NET4.5使用VB2013(第二版)
本書自網際網路、瀏覽器談起網頁設計的操作基礎,進而論及ASP.NET的工作介面和事件程序、HTML標記和CSS的設定,主軸為建立一個商務網站,配合資料庫的使用,讓使用者能夠管理會員相關設定,最後並以VB和JavaScript為輔,讓讀者運用更多元的技巧設計網頁。 本書特色 精選ASP.NET 網頁設計138招,讓您從初學到進階,輕鬆入門,快速上手。 重要部分提供實例演練,操作步驟圖解詳細且一目了然。 重點提示解答疑惑,貼心告知讀者必要的小技巧。 隨章附有是非、選擇、問答與實作題,多元複習法打通您的任督二脈。 &
Matlab 程式設計(第2版)
不管是在學學生或是工程師,都需要運用到數學運算。Matlab 的出現,讓許多人不用再憑空想像數學式的物理意義,也解決了實現各種工程模組時所遭遇的問題,使得 Matlab 成為許多領域的工程師首要的工具。本書著重在各種學科都可適用的基礎內容,另外也加入了許多常用的功能,例如符號運算、GUI 介面、Simulink 與影像處理等。 本書是專為初學者設計,以最容易入門的方式介紹 Matlab 語法,佐以大量活用實例,就算沒有程式設計經驗的讀者,也能藉由本書完成各種 Matlab 應用。 本書特色● 專為 Matlab 初學者所設計● 徹底熟悉 Matlab 指令、語法與程式設計● 以大量的實例幫助讀者活用 Matlab 指令● 獨立介紹符號運算、GUI、Simulink 與數位影像處理四大主題
建構可擴展系統|設計分散式架構
內容簡介:「建構可擴展的分散式系統很困難,這本書讓它容易多了。」 -Mark Richards 軟體架構師,DeveloperToArchitect.com創始人 「透過生動的例子和不拖泥帶水的風格,Gorton教授介紹並討論了可擴展分散式系統設計基本的原則、架構和技術,對於學生和從事實際工作者而言,都是一本必備的現代教材。」 —Anna Liu,Amazon網路服務高階經理 🎯現代應用架構的實戰之選 🚀從理論到實務,一站掌握可擴展系統的必要基礎! 🚀內容專業,搭配豐富圖解與幽默文字,輕鬆易讀好吸收。 🚀AWS資深經理與CMU教授聯名推薦,適合初學者,也適合專業架構師與工程師。 🚀帶你看穿大型系統設計背後的核心原理,打造具備規模、又能持續演進的架構。 隨著用戶數激增、資料量不斷膨脹,組織如何在設計決策與技術債之間取捨? 《建構可擴展系統》由分散式架構專家Ian Gorton撰寫,為軟體架構師和開發人員全面剖析可擴展系統的關鍵原理與實務做法。 本書深入說明複製、狀態管理、負載平衡及快取的設計技巧,結合NoSQL、微服務與事件串流處理,全面展現現代分散式系統的進階架構思維。適合所有專注於雲端、微服務、資料庫和事件驅動系統設計的技術工作者,是新手入門、中階進修與架構師深度學習的最佳參考。 適合對分散式併發系統毫無經驗、或需要加深對理論和實務設計知識的軟體工程師和架構師。 ------------------------------------- 在許多系統中,可擴展性成為使用者群體增長的主要驅推動力量。吸引人的特徵和高實用性造就了成功,這也帶來了更多需要處理的請求和更多需要管理的資料。但是,當在輕度負荷下合理的設計決策突然變成了技術債務的時候,表示組織也達到一個改變的轉折點。這本實用的書涵蓋了能夠用於快速且符合成本效益地擴展應用程式的設計方法以及技術。 作者Ian Gorton帶領著軟體架構師和開發者了解分散式系統的基本原則。你將會探索包括複製、狀態管理、負荷平衡和快取等可擴展解決方案的基本要素,對於資料庫、微服務和基於事件串流系統所涉及的可擴展性,皆有特定的章節探討。 你會專注在: ‧可擴展系統的基礎:學習可擴展性的基本設計原則,成本、併發性和架構權衡取捨 ‧設計可擴展的服務:探索服務設計、快取、異步訊息傳遞、無伺服器處理和微服務 ‧設計可擴展的資料系統:學習資料系統的基礎、NoSQL資料庫以及最終一致性與強烈一致性 ‧設計可擴展的串流系統:探索串流處理系統和可擴展的事件驅動處理
漫畫設計模式:生活中的程式智慧漫畫
https://youtu.be/SsGMuL3duTU用簡單易懂的漫畫帶你學習設計模式!►從實際案例探究設計模式,讓程式更易維護►設計原則聚焦需求變動,預留彈性空間►工廠家族(簡單、方法、抽象)應對不同生產需求►生成器與原型模式,靈活構建與複製物件►單例模式:獨佔資源,集中管理關鍵邏輯►轉接器與橋接模式,化解介面衝突,分離抽象與實現►組合模式與裝飾模式,輕鬆應對結構與功能的複雜組合►面板(外觀)與享元模式,封裝系統複雜度、共用重複資源►代理模式:隔離繁瑣流程,提供便捷替代►職責鏈、命令、仲介者等行為模式,強化溝通與流程控管►觀察者與備忘錄模式,監控狀態並保留歷史►狀態、策略、範本方法、存取者模式,讓程式更具彈性可擴充本書共三大部分,說明物件導向與六大設計原則的關係。接著分別說明簡單工廠、工廠方法、抽象工廠、生成器、原型、單例與轉接器等模式,並以各種生活與專案場景示範其應用。然後討論橋接、組合、裝飾、面板、享元與代理模式,之後闡述職責鏈、命令、解譯器、迭代器、仲介者、觀察者、備忘錄、狀態、策略、範本方法及存取者模式,最後整理並統合設計手法,強調物件導向思維與模式選用原則,帶領讀者掌握系統架構與程式維護的要訣。讀完開篇部分,可先了解設計模式緣起與原則概念,然後深入學習第二部分二十三種模式所代表的核心思路,並透過實例實践予以理解與應用。
高速建立大型桌面應用:全新Electron框架現在就動手做
https://youtu.be/nm2KYgTuRI4☆★好評再上市★☆★導入實際開發場景與案例,由淺入深、循序漸進★★帶領讀者快速掌握 Electron 開發必備知識及技巧★【本書內容】隨著Electorn的流行,越來越多的開發人員開始學習和使用Electron框架。本書特別針對一些會讓初學者感到困惑的問題提出解決方案,舉例來說,官方文件詳盡地列舉了Electron提供的API以及其呼叫的方式和參數說明,然而卻完全沒有任何案例進行實作的教學,本書針對這個痛點,將全書10章分別按不同的主題設計成一個完整連貫的開發案例,讓讀者真正知道在專案開發中會遇到的問題並加以解決。另外目前坊間完全沒有Electron的中文書籍,對於Web工程師來說,桌面應用程式的跨度有點大,必須了解node.js和Chrominum的原理。主處理程序與繪製處理程序的概念等知識,會在應用程式開發的過程中感到困惑,本書清楚完整地說明了這個部分,讓開發者在寫程式時更加放心。非常適合有一定的前端知識基礎,開始學習或即將使用Electron進行開發的讀者,也適合傳統桌面用戶端開發,想了解Electron框架的C#/C++/QT開發人員。當然如果你已經是Electron的使用者,想更進一步精進自己的技術,這本書也一樣非常適合你。【本書特點】.只要會Html+CSS+Javascript,就能開發出跨平台的輕量桌面應用程式。.利用Web開發的Chrominum為基礎。.Node為基礎的桌面環境設定。.了解不同作業系統之間的處理程序。.了解應用程式中視窗的多種組合應用。.帶參數的應用程式設計。.修改Windows的登錄檔。.處理硬體裝置及系統UI。.錯誤處理及程式品質控制。.將應用程式打包及發佈到Windows市集。.服務處理程序及外掛程式的開發。【適合讀者】1.從事Web前端開發,有一定的前端知識基礎,出於興趣開始學習Electron框架,或是專案即將使用Electron進行開發,想快速上手Electron的開發人員。2.從事傳統桌面用戶端開發,想了解Electron框架,對擴充自己技術廣度有訴求的開發人員。3.已經使用Electron框架開發過專案,熟悉Electron的基本使用,但想學習更多案例實踐的開發人員。
深入淺出軟體架構
內容簡介:架構思維學習手冊 「這本書巧妙地將複雜的軟體架構概念提煉成容易理解的內容。它有令人渾然忘我的練習,採用易讀的寫作風格,是適合學生和專業老手的理想資源。」 —James Erler,Medtronic嵌入式軟體工程師 軟體架構很難,所以你的大腦會騙你無法學會它。你的大腦會這樣想:「最好把注意力放在更重要的事情上,比如午餐要吃什麼,或白海豚會不會轉彎」。好消息是,你可以欺騙大腦,讓它以為軟體架構是非學會不可的重要技術,我們將告訴你該怎麼做。 你可以從這本書學到什麼? 如果你是想要學習軟體架構的軟體開發者,這本「深入淺出」指南是很好的起點。這是一本充滿風趣文字和實作練習的精彩資源,由《深入淺出 Git》和《軟體架構原理|工程方法》的作者們教你如何運用架構思維。你將學到軟體架構的兩大定律,以及定義架構的四個維度,並深入瞭解架構特性、學會辨識系統的邏輯組件,以及深入瞭解各種架構風格。我們將幫助你完全認識軟體架構,看完這本書之後,你將順利進入軟體架構的領域。 本書為何如此與眾不同? 曾經讀過《深入淺出》系列的讀者一定知道,這本書充滿了專為大腦設計的視覺化風格,好玩、好讀又好吸收;尚未看過的讀者也別擔心,翻開書就是讓你欲罷不能的沉浸式學習!本書跳脫讓人眼睛酸澀又昏昏欲睡的技術文字,用圖像和情境打造多重感官的閱讀饗宴,帶你一口氣讀懂軟體架構。學習原來可以這麼有趣又有感!
軟體設計耦合的平衡之道:建構模組化軟體系統的通用設計原則
[名家名著] 34軟體設計耦合的平衡之道:建構模組化軟體系統的通用設計原則Balancing Coupling in Software Design: Universal Design Principles for Architecting Modular Software Systems♛ Vaughn Vernon Signature Series系列叢書 ♛理解耦合對軟體設計決策的影響──然後駕馭它!如果你想打造模組化、可演進和具備高韌性的軟體系統,就必須設計出正確的耦合關係。你做的每一個設計決策都會影響耦合,而它們會回過頭來影響你將來可用的設計選項。然而,直到這本書出現之前,耦合很少得到應有的重視。打從軟體工程的開天闢地之初,人們就發現,若要建構模組化軟體系統,正確的耦合管理就是非常重要的一件事。這個主題多年來被廣泛研究過,但有些知識已遭遺忘,有些則難以套用在當今的開發環境。作者根據他自身累積的知識,打造一個通用模型,甚至針對現代軟體工程的慣例來量身調整,替模組化軟體設計帶來令人耳目一新的觀點。透過清楚說明這些原則與實踐,作者將引導你釐清耦合的多維度特性,並示範如何讓耦合成為強大的設計工具,以有效管理軟體複雜性、提高模組化程度。本書說不定會顛覆你對軟體設計的全面認知!❑ 內容亮點☑︎定義耦合的概念,以及它在系統設計與系統架構中扮演的角色☑︎解釋耦合為何會增加系統複雜性,但亦能促進模組化程度☑︎介紹一個整體模型,將耦合變成設計模組化軟體的工具☑︎展示如何演進設計決策,來支援軟體系統的持續成長☑︎以基於真實使用案例的詳細範例示範書內討論的原則
Kotlin程式開發技巧全方位實作指南:語言快速入門與實例解析
【本書特色】 ✪完整探討Kotlin語言的基礎知識與專業技術 ✪發揮Kotlin語言的簡潔性,多元表現綜合範例 ✪內容去蕪存菁,重點學習Kotlin語言的實戰應用 ✪淺顯易懂的系統化學習架構,降低學習門檻 系統化的實戰學習架構,帶你完整掌握Kotlin程式語言的觀念【內容簡介】Kotlin語言由JetBrains所開發,於2011年推出後,因其簡潔性與擴充性等優點,被Google預定為開發Android行動裝置的首選程式語言。Kotlin語言除了可以在JVM中執行之外,也可以編譯為獨立的執行程式,或是編譯為JavaScript後,在網頁中使用。市面上鮮少有專門探討Kotlin語言的書籍,大部分的人都是在學習Android程式設計的過程中,附帶學習Kotlin的一些用法。然而,Kotlin語言的簡潔性、擴充性與專用的語法表達,需要經過完整的學習,才能掌握Kotlin語言的特色。本書所有的範例程式碼皆使用Kotlin專用的語法、擴充函式與敘述來撰寫,以使讀者可以完整學習到Kotlin語言,當後續在學習或開發Android程式時,便能發揮Kotlin最好的特色與效率。【精采內容】✪建立與設定Kotlin開發環境✪Kotlin專用變數宣告與設定✪資料型別轉換與標準輸出輸入✪判斷選擇語法與重複敘述語法✪使用陣列與陣列常用函式✪使用List、Map與Set✪設計各種自訂函式✪深入學習Lambda敘述式✪探討各種作用域函式✪Kotlin物件導向程式設計✪Kotlin泛型設計✪探討多工執行的各種技術✪學習如何建立原生執行檔案✪學習處理文字檔案、二進位檔案與隨機存取檔案
多核心CPU加速程式32倍 - 深入高平行開發深度原理及專案實戰
https://youtu.be/rd1J6v5jImQ╲\好評再版/╱☆先了解作業系統中的執行緒排程架構☆多核心CPU上設計Java平行程式☆併發式程式的設計理念,分工、同步、互斥☆核心原理說明,原子性、可見性、有序性Synchronized、AQS、CAS、鎖、執行緒池、ThreadLocal的核心原理☆手動開發執行緒池實戰案例☆使用CAS開發自旋鎖實戰案例☆使用讀/寫鎖實戰快取☆使用AQS實現可重入鎖☆開發分散式鎖架構☆完整大型實戰一個秒殺系統的完整架構【內容簡介】高併發是高流量、高資料量服務線上系統架構必須具備的特性,如果想從微觀核心到併發應用,再到業務架構學習高併發的核心原理,以及高併發系統的工程架構最佳實踐,本書是中文書籍中最佳的範本,在細節部分,對核心排程、同步非同步、各類鎖的實現細節都有詳盡的敘述,另外在在併發應用層面,對CAS問題、ABA問題、連接池實現,也有很完整的案例講解。在更高的架構層面上,對快取併發實戰、電子商務超賣問題、秒殺系統架構,更有清楚且應用上的說明,讓讀者能從CPU、作業系統、JVM底層原理為基礎,站在實踐的角度上全面了解高併發的基本原理及實用。在電腦多核心時代,併發程式設計是每個程式設計師都應掌握的技能,伺服器上的CPU核心在EPYC出後,成千上百個處理器同時為你工作,如果你寫出來的程式還無法執行多處理程序,多執行緒,多核心,小心真的成為時代的眼淚!
無瑕的程式碼 函數式設計篇:原則、模式與實踐
[名家名著] 33無瑕的程式碼 函數式設計篇:原則、模式與實踐Functional Design: Principles, Patterns, and Practices❝乍看之下,物件導向和函數式這兩種範式似乎互不相容,一個強調資料抽象與封裝狀態,另一個則倡導不可變與純函數。事實上,即便兩者出發點不同,卻能在合適的脈絡下融為一體,互相補足,最終協助我們打造更強韌、更具表達力的軟體系統。對一位想要同時掌握物件導向與函數式思維的工程師來說,如何在日常工作中權衡並結合這兩種做法,正是本書所提出的關鍵挑戰與寶貴建議。❞────微軟最有價值專家(Microsoft MVP)|本書譯者 張立顗(Poy Chang)❝Uncle Bob精心展示了函數式設計,這是當今軟體開發中極為流行且高效的設計方式。透過深入的原則和實踐案例,本書不僅適合軟體開發者,也對任何追求卓越程式品質的專業人士都具有極高的實用價值。Uncle Bob的洞見和清晰的寫作風格使這本書成為了一本不可多得的學習資源。❞────博碩文化總編輯 & CEO CSM 陳錦輝(Simon)一本精通函數式程式設計的實用指南,寫出更優雅、更整潔的程式碼!在本書中,世界級軟體開發傳奇大師、暢銷書《Clean Code》的作者Robert C. Martin(Uncle Bob)將深入解說,為何要使用函數式程式設計(functional programming),以及如何運用函數式設計來建置更符合實際需求的系統。Uncle Bob將比較傳統的物件導向程式設計(如Java)與函數式語言(如Clojure)所採用的結構,並指出各自的最佳應用場景。他將展示如何在不同的情境下,明智地選擇合適且合理的做法,來建置更優秀、更優雅的系統。Uncle Bob不僅手法務實,他還將理論簡化,把重點放在「實戰」與「解決問題」的具體做法。透過簡單易懂的範例,開發者將發現,容易學習且語意豐富的Clojure語言,如何幫助他們提升程式碼的整潔度、品質、開發紀律與效率。Uncle Bob還將從函數式程式設計的角度,深入探討廣為人知的SOLID原則與「四人幫」設計模式,解釋這些模式對於函數式程式設計師的價值,並指導讀者如何利用它們來實現更卓越的成果。【內容亮點】・理解函數式程式設計的基本概念:不可變性、持久性資料、遞迴、迭代、延遲、狀態性・透過精心設計的案例研究,比較函數式方法與物件導向方法・探索資料流的函數式設計技巧・使用經典的SOLID原則來編寫更好的Clojure程式碼・精通函數式測試、GUI與並行的實用方法・在函數式環境中充分發揮設計模式的作用・逐步建置企業級的Clojure應用程式【下載範例程式檔案】https://github.com/unclebob/FunctionalDesign
Microsoft Azure AI Services與Azure OpenAI從入門到人工智慧程式開發-使用Python(含MCF AI-900國際認證)
內容簡介:體貼初學者學習Azure AI服務的流程! Azure AI服務功能介紹 > Azure AI服務申請 > 語法解說 > AI範例實作 ■ 專家與教師共同執筆 由微軟AI + Developer 雙領域 MVP與科技大學教師共同編著,針對初學者學習Azure AI領域所應具備的基本素養,所編寫入門教材,內容由淺入深,以引發學習動機為最主要考量,帶領初學者靈活運用Azure AI與Azure OpenAI進行開發AI應用程式。 ■ 內容多元且淺顯易懂 對Azure AI服務的理論做深入淺出的說明,同時廣泛列舉相關應用實例,並使用適當的插圖和圖表,說明Azure AI技術的原理和實際運作方案,讓初學者對Azure AI有更進一步的認識。 ■ Azure AI服務開發技能 介紹實用的入門開發實作,以培養初學者規劃AI解決方案的能力。實作包含:電腦視覺、OCR光學字元辨識、自訂視覺、臉部偵測與分析、文字分析、問題解答知識庫、翻譯、語音合成以及機器學習分類、迴歸和叢集模型的實作範例,並介紹目前最火紅的Azure OpenAI生成式AI開發聊天機器人與AI繪圖程式;詳盡說明實作的程式碼與操作步驟,培養初學者開發AI應用程式的能力。 ■ Microsoft AI-900人工智慧基礎國際認證能力訓練 將認證考試重點融入書中,讀者能藉由練習來了解該章內容重點,同時書末彙整MCF AI-900核心能力國際認證模擬試題,是考取MCF AI-900人工智慧基礎國際認證的最佳教材。
使用ESP32開發智慧燈管裝置MQTT控制篇
本書是『ESP系列程式設計』之『智慧家庭篇氣氛燈泡』的第六本書,是筆者針對智慧家庭為主軸,進行開發各種智慧家庭產品之小小書系列,主要是給讀者熟悉使用Arduino Compatiable 開發板:ESP32 開發板(網址:http://www.ESP32.com/)來開發氣氛燈泡之商業版雛型(ProtoTyping),進而介紹這些產品衍伸出來的技術、程式攥寫技巧,以漸進式的方法介紹、使用方式、電路連接範例等等。ESP32 開發板最強大的特點:他是完全Arduino Compatiable 開發板,並在板內加上無線模組:ESP32 WiFi Module,無線網路涵蓋距離,在不外加天線之下,就可以到達20公尺以上,這對於家庭運用上,不只是足夠,還是遠遠超過其需求。更重要的是它的簡單易學的開發工具,最強大的是它網路功能與簡單易學的模組函式庫,幾乎Maker想到應用於物聯網開發的東西,可以透過眾多的周邊模組,都可以輕易的將想要完成的東西用堆積木的方式快速建立,而且價格比原廠Arduino Yun或Arduino + Wifi Shield更具優勢,最強大的是這些周邊模組對應的函式庫,因為開放硬體(Open Hardware)與開放原始碼(Open Source)機緣下,全世界有數以千萬計的科技、研發人員長久不斷的支持,讓Maker不需要具有深厚的電子、電機與電路能力,就可以輕易駕御這些模組。所以本書要介紹臺灣、中國、歐美等市面上最常見的智慧家庭產品:Led燈泡與燈管,使用逆向工程的技巧,推敲出這些產品開發的可行性技巧,並以實作方式重作這些產品,讓讀者可以輕鬆學會這些產品開發的可行性技巧,進而提升各位Maker的實力,希望筆者可以推出更多的入門書籍給更多想要進入『ESP32 開發板』、『物聯網』這個未來大趨勢,所有才有這個物聯網系列的產生。
快速精通iOS 18程式設計:從零開始活用Swift與SwiftUI開發技巧 快速精通iOS 18程式設計:從零開始活用Swift與SwiftUI開發技巧
【本書特色】 從零開始掌握SwiftUI框架與開發技巧 快速強化你的iOS App開發實戰能力 輕鬆成為專業程式設計師 ♚使用Xcode 16 & iOS 18 & Swift 6.0開發 ♚了解Xcode開發工具 ♚使用清單視圖、堆疊視圖設計UI與深色模式 ♚快速學習Swift App程式編寫、物件導向與SwiftUI程式設計 ♚運用SwiftData與CloudKit存取資料 ♚使用地圖與相機 ♚實作動態視覺效果 ♚開發使用者通知 ♚App本地化 ♚App測試與上架程序 【好評推薦】 「AppCoda的書令人非常激賞,內容寫得非常清楚,即使沒有任何概念,書中的內容會鼓勵你獨立思考並吸收這些觀念,沒有其他比這更詳盡的學習資源了。」 ──日本Sheehan,Ingot LLC 「這本書寫得非常好,簡潔有力,書中的範例非常棒且貼近真實的應用,它真的幫助我完成第一個App,並於App Store上架,內容給我許多進一步強化與更新App的想法。我將它作為我的參考指南,也很感謝每當Swift與iOS有做變更時,都能收到更新。」 ──David Greenfield,ThreadABead作者 「這本書教導我如何建立我想要的App,書中的內容規劃得很好,每一章的篇幅拿捏得恰到好處,不會太過冗長而無法消化,想要學習開發第一個App並進階學習的話,我強烈推薦這本內容超棒的好書。」 ──Stephen Donnelly,Rascalbiscuit總監 「這是我在學習Swift時所找到的學習書籍之一。作為一個初學者,這本書非常容易學習與理解,整本書以貼近真實生活的範例來建立App,這種學習方式真是太天才了,最後也能夠實用它。我學習了很多,也運用了很多其中的內容於我的App中。我發現我會常常回來參考此書,這真的是一本很棒的作品。」 ──Bill Harned,Percent Off作者 「這是有關iOS開發最棒的書籍,內容編排絕佳且容易跟著實作,是很棒的開發學習良伴。」 ──Ali Akkawi,iOS與Android行動App自由工作者 作者分享多年來的iOS開發經驗,並且集結廣受歡迎的iOS教學文章,以SwiftUI框架重新編寫,精心設計出30個章節。由基礎入門開始,逐步實作出具有精美UI及實用功能、支援雲端資料傳輸與深色模式的FoodPin App,而且FoodPin App完全支援新推出的iOS 18以及iPhone 16/16 Pro、iPad Pro。本書首先介紹Swift語言的觀念,再教導你使用Swift與SwiftUI建立你的第一個App,然後你會學到規劃App的原型,並且本書每一章中會針對iOS開發的各個面向提供提示、技巧以及許多需要親手操作的作業,最後你可以從無到有來開發出一個真正的App。本書也會教導你如何使用Xcode來佈局使用者介面,並熟悉iOS 18 SDK的基本API,跟著本書的內容學習,將可獲得真實開發App的體驗,且打好Swift程式語言的基礎,掌握程式開發的訣竅。本書專為Swift與iOS程式設計的初學者而撰寫,不論你是想學習新程式語言的程式設計師,或是想要將你的設計轉換為iOS App的設計師,這本書絕對是你的首選。【本書精采內容】✪Swift基礎介紹✪利用Playground快速學習Swift✪使用Swift與SwiftUI從無到有打造第一個App✪學習App原型設計與前置規劃✪建立App與SwiftUI的常用元件✪了解堆疊視圖建立自適應UI✪設計適合所有螢幕尺寸的App,讓UI相容最新的iPhone 16/16 Pro與iPad Pro✪設計導覽列大標題✪自訂表格視圖儲存格來打造更優美的App✪學習自訂清單視圖✪運用導覽視圖✪了解物件導向程式設計✪建立動畫與視覺效果✪使用相機與相片庫✪運用地圖並學會最新的標註功能✪使用搜尋列做關鍵字搜尋✪建立導覽畫面來讓使用者迅速熟悉App✪使用Searchable加入搜尋列✪在App嵌入瀏覽器與網頁視圖✪運用使用者通知來提升App黏著度✪運用觸覺觸控及內容選單✪使用SwiftData儲存資料至資料庫✪整合運用CloudKit✪App多國語系化✪在實機上部署與測試App,並且學會WiFi部署功能✪使用TestFlight安排Beta測試✪在App Store上架你的App
圖說運算思維與演算邏輯:使用Python+ChatGPT,訓練系統化思考與問題解析方法(暢銷回饋版)
用AI幫助學習運算思維! 為了讓讀者能更容易理解運算思維與演算邏輯,本書採用豐富圖例來闡述觀念,並使用簡潔、易懂、易學的Python語言來實作程式,重要指引包括:必懂的資料結構,如陣列、矩陣、串列、等,並說明分治法、貪心法、動態規劃法…等演算邏輯。另外,本書新增了「ChatGPT與Python程式設計」的內容,以及開發小型遊戲程式。 用AI幫助學習運算思維,暢銷回饋熱賣中!【本書特色】✦ 依演算邏輯規劃章節架構,增加訓練的強度✦ 運用Python實作,訓練運算思維與演算邏輯✦ 結合ChatGPT輔助應用,加速程式設計✦ 採豐富圖例講解,精確提高演算法的理解程度✦ 提供完整範例程式碼,增強學習成效運算思維是用來培養系統化邏輯概念的基礎,進而學習在面對問題時能有系統的分析與拆解問題的能力。為了讓讀者能更容易地來理解運算思維與演算邏輯,本書採用豐富圖例來闡述觀念,並使用簡潔、易懂、易學的Python語言來實作程式,重要指引包括:程式設計與運算思維之間的關係,必懂的資料結構,如陣列、矩陣、串列、堆疊、佇列、樹狀結構、圖形及雜湊表等,並說明分治法、貪心法、動態規劃法、樹狀演算法、堆疊與佇列…等演算邏輯。另外,新增了「ChatGPT與Python程式設計」的內容,藉由熱門的ChatGPT聊天機器人,學習如何利用它來協助寫文章、擬信件、驗證程式…等,並運用ChatGPT開發小型遊戲程式,精彩AI範例如下:✚ 使用Pygame遊戲套件繪製多媒體圖案✚ 以內建模組及模擬大樂透的開獎程式✚ 建立四個主功能表的視窗應用程式✚ 迷宮問題的解決方案✚ 海龜繪圖法繪製圖形✚ 猜數字遊戲✚ OX井字遊戲✚ 猜拳遊戲✚ 比牌面大小遊戲
你的第一本Git與GitHub入門書:輕鬆實作本機與遠端儲存庫的版本控制
新手的第一本Git與GitHub入門手冊!帶你輕鬆在Windows和Linux作業系統學習Teamwork小組開發Git/GitHub版本控制的協同開發本書是一本支援Windows/Linux作業系統的Git/GitHub入門書,也是一本探討版本控制和小組協同開發的書,更是一本活用生成式AI幫助你寫出Git/GitHub版本控制提示詞的參考手冊,可以讓初學者輕鬆在Windows/Linux作業系統下,學習Git/GitHub版本控制與協同開發。本書循序漸進從Git安裝、MS-DOS和Linux Bash命令開始,在說明本機Git儲存庫的使用後,才進入共享儲存庫和遠端GitHub儲存庫,等到完整學習Git/GitHub儲存庫的相關操作後,就可以運用Git/GitHub來進行Git Flow和GitHub Flow工作流程的協同開發。讀完本書,你除了可直接運用開發工具內建的Git功能,來靈活運用本機Git和遠端GitHub儲存庫來進行軟體開發的版本控制和協同開發外,你還可以透過生成式AI的幫助,藉由各種模擬的情況,學會正確地描述問題並詢問ChatGPT來幫助你解決在實際開發過程中,各種Git命令和GitHub操作上的問題。▍你將學會◆ 命令列模式的基礎MS-DOS和Linux Bash命令◆ 實際演練工作目錄的Git檔案狀態轉換與Git分支的並行開發◆ 本機Git儲存庫和遠端GitHub儲存庫(共享儲存庫)之間的關係與操作◆ 如何解決合併衝突問題和GitHub提取請求操作◆ 實作Git Flow與GitHub Flow工作流程的小組協同開發◆ 在工作目錄回復檔案狀態、比對檔案內容差異,和回復提交版本的歷史記錄
內行人才知道的系統設計面試指南 第二輯
內容簡介:🏆 Amazon.com ★★★★★1200+ 則五星評價,IT類連續三年霸榜雙榜首 📌 FAANG 級別的系統設計面試攻略,全面強化技術與應試實力 📌 漸進式解題架構×豐富實戰案例,自信迎戰高階技術面試 📌 全彩印刷×心智圖總結,歸納解題重點與脈絡 這本書非常出色!是第一本書的精彩延續。我強烈推薦給所有正在準備系統設計面試的人。 —— Sunny Patel,微軟軟體工程經理 我曾在 FAANG 擔任技術主管,但當要快速理解某些不熟悉的領域時,我還是需要一些協助。 如果你投入時間學習,本書可以在你討論到系統瓶頸與替代方案時,協助你獲得許多兼具廣度與深度的知識,而這正是大家對於技術主管的期待。 —— Herbert Degano,Coinbase 資深軟體工程師 本書為《內行人才知道的系統設計面試指南》的續作,收錄全新的系統設計面試問題與解決方案。但無須閱讀過前冊也可以輕鬆理解並受益於本書的內容。具備分散式系統基礎知識的讀者更能順利閱讀本書。 本書提供了一套可靠的策略與知識庫,幫助您應對各種系統設計問題,使您在關鍵面試中更具信心。此外,本書建立了一套循序漸進的解題架構,透過豐富的真實案例,詳細解析系統設計方法,搭配清晰易懂的步驟,讓您能夠有效掌握解題思路。 本書包含以下內容: .面試官想從答題中看到的真正重點,以及其中內行人才懂的門道。 .用來解決任何系統設計面試問題的四步驟框架。 .13道真實的系統設計面試問題及詳細解決方案。 .300+個直觀圖表,以視覺化方式解釋不同系統的運作原理。 來自讀者的讚譽👍 「對通過senior+級別的面試非常有幫助」 「優質內容,對通過FANNG+的系統設計面試輪有很大的幫助」 「軟體工程師都應該看這本書」 「對於需要準備系統面試的人而言,這本書很值得一看!」 「不僅對面試有幫助,對日常的實際設計也很有用,是最好的系統設計書」 「用大量的圖表和簡單易懂的方式解說觀念,看完一定會有收獲」 「除了書中發現的大量例子之外,對我來說最重要的方面是向面試官展示設計的正式方法」 「不僅有利於面試準備,而且有足夠的技術深度,非常實用,可以作為日常工作的靈感來源」 「準備系統設計面試的最佳資源,讓我更有信心」
Scratch 3程式積木創意玩:增訂AI應用
★ 詳細流程規劃!先拆解設計流程,再著手Scratch程式設計 ★ 培養邏輯與運算思維能力!跨領域學習、資訊素養、AI生活應用 本書運用Scratch做為動畫遊戲與程式邏輯訓練的工具,以情境範例切入,從著手堆疊Scratch程式積木開始訓練邏輯,並運用創意設計作品,輕鬆激發思考能力、創造力及想像力。 ✧專業教師寫作:由教學經驗資深的教師執筆,內容的規劃及設計符合實際的教學目標及教學原理。 ✧範例融入生活:從生活情境中規劃專題,充滿知識性及挑戰性,使學生瞭解資訊科技在生活上的應用。 ✧操作步驟清晰:以完整及明確的學習步驟,引導學生學習程式設計的運算思維,進而能發揮創意,製作個人作品。 ✧延伸學習應用:容易混淆的概念或有多元操作方式時,輔以小撇步或小幫手等做特別說明。 ✧課後習題設計:讓學生腦力激盪,適性的發展自己的專題作品,加深增廣學習觸角,強化學習效果。 ✧AI能力大躍進:將情境範例延伸至AI領域生活應用,體驗熱門的人工智慧。
程式不會動就不能下班!給新手工程師的 Debug 攻略
程式寫好了卻不會動,到底怎麼辦?【寫程式不再「撞牆」,就靠這一本!】寫過程式的人,一定都遇過這樣的情況:◇ 出現一堆錯誤訊息,根本看不懂 @@◇ 執行結果不正確,但看不出問題在哪裡?◇ 找到問題的位置了,但試過所有方法都沒用?!不論是功力多麼高強的程式設計師,工作依然必須與 bug 為伍。「迅速找出問題並解決」也就成為了程式設計中最重要的技能之一。本書網羅各種寫程式時會遭遇的難題,說明破解的手法,是新手工程師不可或缺的攻略秘笈。內容包含▶▶▶‧讀懂錯誤訊息、從中找出重要資訊的方法‧蒐集必要線索、循跡找出源頭、有條有理解決問題的方法‧使用 debug 的常用技巧與除錯器的方法‧寫出高品質程式,將 bug 防患於未然的方法從剛開始寫程式的新人,到已經進入職場的工程師,只要心中有著「希望能變得更擅長 debug」的想法,相信都能從本書習得需要的知識。本書特色:★ 少見以「犯錯」切入的 debug 教學,「從錯中學」最有效★ 情境式漫畫與對話,快速代入自身經驗★ 程式碼範例還原常見 bug,實際演示 debug 技巧★ 圖示解說程式觀念,整體印象更加深★ 小專欄補充程式設計知識,拓展專業視野
用Scratch學AI體感互動程式設計(附教學影片)
超值學習資源!作者親自錄製了長達148分鐘的影音教學影片,是初學者學習與教師教學的最佳強化工具。 邁向AI新世代!透過Scratch體驗人工智慧、互動程式設計,激發邏輯思考、想像力與創造力。 ✧ 體驗AI與Scratch體感互動:應用程式設計運算思維與演算法實作程式。 ✧ 培養21世紀核心素養:「Doing做中學」、「Thinking學中思」、「Creating思中創」等。 ✧ 結合AI與學科領域知識:設計手寫筆、隔空抓鼠、與寵物玩互動、全民健康操、臉部器官辨識、感官樂器、心情療癒機、彈跳氣球、真人與機器猜拳等9個範例程式。 ✧ 螺旋式概念學習:以邏輯順序組合程式語言概念、強化迷思概念的理解。 ✧ 精進式延申學習:延申單元概念知識,以觸類旁通方式,加深增廣學習觸角。
多團隊高效協作密技:大規模敏捷開發方法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新加坡商鈦坦科技 總經理
程式設計邏輯訓練超簡單:Scratch 3初學特訓班與AI應用(第二版)(附影音教學/範例檔)
榮獲程式設計師、家長與老師好評 國內第一本最具廣度與深度的Scratch 3中文書 入門、應用到專題實作全攻略 直擊全球程式學習新風潮 透過簡單的圖像拼塊拖拉,自然建構運算思維、 邏輯思考、解決問題、程式設計與互動創意的能力, 跨入AI人工智慧新領域 全新Scratch 3,全面啟動 超乎想像,最棒的創意設計體驗與AI應用 麻省理工學院媒體實驗室所開發的免費圖形化程式設計軟體Scratch早已成為建構運算思維、學習程式設計、進行邏輯訓練,以及創造互動設計的最佳入門工具。無程式基礎者也能在拼塊拖拉之間就完成結合劇情、動畫、遊戲、影像與音樂,甚至是與硬體互動的創意設計作品。新一代的Scratch 3再進化,融入許多進階應用功能,如語音、翻譯,甚至是AI人工智慧等,也讓創意開發更強大。 【書籍特色】 ˙國內第一本最具廣度與深度的Scratch 3中文書。 ˙同步提供線上版與離線版的安裝與使用解說。 ˙採用全新開發介面與模式,全面循序漸進分類介紹各式內建拼塊與擴增模組。 ˙結合超多進階功能應用,如偵測判斷、提問、視訊、語音、翻譯拼塊…等。 ˙彙整專題開發常用技巧,如:角色、場景的移動、計時器、繪圖、物理運動…等。 ˙以好玩有趣的小範例進行解說,提供整合演練,融入扎實的程式學習流程。 ˙涵蓋18個不同面向的專題實戰,大幅提升創意設計能力。 ˙加碼介紹時下最熱門的Micro:bit裝置,讓Scratch也能軟硬通吃。 ˙新增超熱門的Scratch+AI專題開發,運用Google發展的無程式碼機器學習工具Teachable Machine進行模型訓練,使用TM2Scratch積木導入訓練模型,應用到Scratch動畫或遊戲中,增加人機互動的樂趣。 ˙提供超過300分鐘的專題開發影音教學,快速提升學習力。 【超值學習資源】 超過300分鐘專題影音教學 範例檔/練習檔/附錄PDF
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提供現實世界中的案例研究,其中考量到了近來對軟體開發的演化日益增長的支援。 本書分為三個部分: ‧機制:第一部包括了定義演化式架構機制的章節,說明團隊如何使用技術和工具來建置適應性函數、部署管線,以及其他用來治理和演化軟體專案的機制。 ‧結構:第二部涵蓋的架構風格和設計原則針對耦合、重複使用,以及為了實現更乾淨俐落的長期演化而必須考慮的其他結構因素。 ‧影響:第三部則探討第一部介紹的工程實務做法與第二部分的結構考量之間的交集。
屠龍:互動敘事法
沉浸、選擇和故事,就是未來! 觀眾不只是聽,還要參與,由自己決定「原力」是光明還是黑暗 & 科技與故事結合,隨之開啟另一番主流敘事風潮。從電視、電影的興起,到方興未艾的電玩遊戲,莫不如此。如今,成熟的網路串流技術為影視戲劇推動新一波敘事熱潮,緊貼科技而生的電玩遊戲發展出沉浸、參與的獨特敘事體驗,所有說故事的創作者、經營者和經銷商都在不斷追求更大膽的點子,準備在未來可預期的科技媒體上大放光彩。然而,未來的敘事會是如何、又該從何做起?那看起來像是電玩遊戲代表的超級瑪利歐將與影視代表的亞里斯多德一決高下?不,實際上是瑪利歐需求亞里斯多德,未來必定是二者的緊密結合。這正是本書要教給你的核心主張,作者以長期深入電玩遊戲開發與影視編劇的精闢視角,旁徵博引各類電玩遊戲和影視作品及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的學習世界裡。
深度探索Go語言:物件模型與runtime的原理特性及應用
●&& &x86組合語言基礎知識,通用暫存器、常用指令,記憶體分頁 ●&& &指標的實現原理,指標組成、相關操作,以及Go語言的unsafe套件等。 ●&& &函數、堆疊框佈局、呼叫約定、變數逃逸、Function Value、閉包、defer和panic ●&& &方法,實現原理,接收者類型、Method Value和組合式繼承 ●&& &介面,Go語言動態特性,括裝箱、方法集、動態派發、類型斷言、類型系統和反射 ●&& &goroutine實現,GMP模型、goroutine的建立與退出、排程迴圈、先佔式排程、timer、netpoller和監控執行緒 ●&& &同步,記憶體亂數、原子指令、自旋鎖、runtime互斥鎖和訊號量、ync.Mutex、hannel ●&& &堆積記憶體管理,heapArena、mspan,mallocgc函數、C的三色抽象、寫入屏障 ●&& &堆疊記憶體管理,goroutine堆疊的分配、增長、收縮和釋放 想要有C語言的高速和Python的便利性嗎?Go是最棒的選擇,Go語言在語言層面上支援程式碼協同(goroutine)和通道(channel),這使得併發程式設計變得非常簡單和高效。 在多核CPU時代,高效的併發程式設計已經成為軟體開發的必備技能之一。此外Go語言的語法設計簡單清晰,注重可讀性和簡潔性,使得初學者能夠快速入門。 Go語言的標準函數庫提供了豐富的功能,可以直接使用,避免了一些繁瑣的工作。另外在跨平臺支援方面,Go語言的編譯器可以將程式編譯成機器碼,支援跨平臺編譯,可以在不同的作業系統和硬體平臺上運行,這對於開發跨平臺應用程式非常有幫助。 Go最有名的就是其高性能。Go語言的編譯速度非常快,生成的二進位檔案也很小,運行速度也非常快。 Go語言在一些性能要求較高的應用領域,如Web服務、巨量資料處理、容器等方面表現出色。另外其開發效率高,Go語言在一些方面與Python、Ruby等動態語言相似,但又具有靜態語言的優點。 Go語言的編譯器能夠在編譯期間捕捉一些錯誤,這使得程式的穩固性更高。同時,Go語言的工具鏈非常完善,如go fmt、go vet等工具可以幫助開發者規範程式,提高開發效率。 &
邊玩邊學,使用Scratch學習AI程式設計專案大集合
現在立刻嘗試「實現你腦中的各種創意」! 無須數學知識! 無須文字型程式設計語言! 可以成為自由研究的靈感! 這本書是Scratch機器學習入門書《邊玩邊學,使用Scratch學習AI程式設計》的姊妹作,主要介紹透過Scratch,就可以運用影像辨識、聲音辨識、推測姿勢等功能,設計出有趣作品的作法,不需要文字型程式設計語言與複雜的數學知識。裡面也包含整合micro:bit及伺服馬達的作品,透過大量範例,讓你可以思考、創造出運用機器學習機制的原創作品。