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活動流程:從做中學理解原理啟發創意 *設計程式並執行結果:以程式設計實踐問題解決 *課後練習實作:從範例實做激發無限創意
Scratch 3程式積木創意玩(最新加強版)
★ 詳細流程規劃!先拆解設計流程,再著手Scratch程式設計 ★ 培養邏輯與運算思維能力!跨領域學習、資訊素養、生活應用本書運用Scratch做為動畫遊戲與程式邏輯訓練的工具,以情境範例切入,從著手堆疊Scratch程式積木開始訓練邏輯,並運用創意設計作品,輕鬆激發思考能力、創造力及想像力。 *專業教師寫作:由教學經驗資深的教師執筆,內容的規劃及設計符合實際的教學目標及教學原理。 *範例融入生活:從生活情境中規劃專題,充滿知識性及挑戰性,使學生瞭解資訊科技在生活上的應用。 *操作步驟清晰:以完整及明確的學習步驟,引導學生學習程式設計的運算思維,進而能發揮創意,製作個人作品。 *延伸學習應用:抽象難懂容易混淆的概念或有多元操作方式時,輔以小撇步或小幫手等做特別說明。 *課後習題設計:讓學生腦力激盪,適性的發展自己的專題作品,加深增廣學習觸角,強化學習效果。
編寫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)提供清晰且實用的資訊。為了便於深入探索,所有程式碼和豐富的提交訊息都提供下載參考。 ‧選擇有效的思維方式和流程,並逃離不適用的不良隱喻 ‧使用檢查表來解放自己,以你既有的技能改善結果 ‧透過建立和部署你應用程式的垂直切片來克服「分析癱瘓」 ‧抵制導致程式碼腐敗和非必要的複雜性的力量 ‧掌握更好的技巧來改變程式碼行為 ‧發現更快、更有效解決程式碼問題的方法 ‧以更有生產力的方式思考效能和安全性 如果你曾經歷過糟糕專案的折磨,或者不得不應付無法維護的舊有程式碼,本指南將幫助你在下次和後續的「每一次」都把事情做得更好。
大師級逆向神器: 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沙盒加解密庫、網路庫、系統庫「自吐」 ✪收費直播間逆向分析 ✪會員制非法應用破解付費繞過機制 &
高速建立大型桌面應用:全新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市集。 .服務處理程序及外掛程式的開發。 &
玩真的!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章: ► 第一部分介紹在設計和使用軟體估算模型進行決策時,估算人員和專案經理都需要知道的軟體估算觀點。該部分解釋了估算過程的結構,包括嵌入在估算過程內的生產力模型,並澄清了估算人員和專案經理在角色和職責上的區別。最後,介紹估算中必須予以考慮的許多經濟學概念,比如規模經濟與規模不經濟、固定成本與變動成本等。 ► 第二部分則是介紹必要概念與技術,以理解估算過程結果的品質取決於輸入的品質和它使用的生產力模型之品質,以及瞭解估算過程所增加的調整因素有什麼樣的限制。 ► 第三部分探討建立估算模型過程中的相關問題,包括資料收集以及使用國際標準,以便在專案間、組織間、國家間橫向對比。除此,如何使用品質資料作為輸入並根據一系列經濟學概念來建立具有多個自變數的模型。 &
輕鬆學量子程式設計|從量子位元到量子演算法
‧由程式設計出發,無須高深數學與量子力學知識,可輕鬆學習量子程式設計 ‧所有範例程式皆詳細逐行說明,方便理解量子程式設計細節 ‧提供程式語言精簡介紹及量子程式原始碼下載 本書以IBM Qiskit為基礎,引導讀者以Python語言為基礎輕鬆設計量子程式,並直接在IBM Q量子電腦上執行。可以循序漸進學習量子位元、量子疊加、量子糾纏、量子遙傳、量子閘、量子線路以及量子演算法等觀念。 本書內容淺顯易懂,適合初學者入門學習及進階讀者參考使用。以量子程式設計為切入點,基於「做中學」的理念,直接展示範例程式,引導讀者透過程式執行結果,不需要高深的數學與量子力學知識,也能學習量子計算理論與技術。 全書以大量範例程式貫穿所有章節,每行程式碼具有詳細解說,附錄中並有Python程式語言基本介紹,方便讀者完全了解量子程式設計概念。每章習題均附完整解答,讓讀者具有良好學習案例。所有量子程式原始碼均於線上提供,方便讀者直接下載執行。
Test-Driven Development學習手冊
編寫多語言的整潔程式碼 「一本有趣的實作指南,可讓您加快測試驅動開發的速度。如果您想開始TDD,或是需要複習軟體開發人員所應掌握的重要技能之一,這本書就是為您準備的!」 —Ham Vocke Stack Overflow軟體開發人員 您的程式碼可做為身為開發人員的技能證明。無論您使用哪種語言,程式碼都應該乾淨、優雅、整潔。透過使用測試驅動開發(TDD),您將編寫出易於理解的程式碼,保持其優雅,並且可以在未來數月甚至數年內持續進行工作。透過這本指南,您將瞭解如何將TDD與三種不同的語言一起使用:Go、JavaScript和Python。 作者Saleem Siddiqui向您展示了如何使用單元測試驅動的方法來處理領域複雜性。TDD將需求劃分為小規模、可實作的功能,使您能夠解決問題,並且與您使用的語言和框架無關。透過本書,您將學習如何將TDD納入您的常規程式設計實務。 這本書可以幫助您: ‧使用TDD的divide-and-conquer來控制領域的複雜性 ‧瞭解TDD如何跨語言、測試框架和領域概念工作 ‧瞭解TDD如何實現持續整合 ‧支援運用TDD進行重構和重新設計 ‧學習如何用JavaScript編寫簡單有效的單元測試工具 ‧使用TDD期間生成的單元測試來設置持續整合環境 ‧在Go、JavaScript和Python中使用TDD編寫乾淨整潔的程式碼
Rust程式設計 第二版
開發快速、安全的系統 「《Programming Rust》作者使用大量的程式範例和專案來解釋Rust如何運作,如果你用過其他語言來設計系統,本書可讓你快速熟悉Rust。」 —Carol Nichols 《The Rust Programming Language》共同作者,Integer 32, LLC共同創辦人 系統程式是所有計算系統的基礎,為了編寫「性能敏感型」程式,程式設計師使用的語言,必須能夠控制記憶體、處理器時間和其他系統資源。Rust系統設計語言結合這些控制功能與現代系統,能抓到廣泛的錯誤種類,包括記憶體管理錯誤,以及執行緒資料爭用。 如果你是經驗老到的系統程式設計師,這本實用的指南教導你如何使用Rust來縮小性能與安全性之間的差距。Jim Blandy、Jason Orendorff與Leonora Tindall將展示如何使用Rust的功能來控制記憶體和處理器的使用,結合可預測的性能、記憶體安全、可信賴的並行程序。 本書的主題包括: ‧Rust的基本資料型態,以及所有權和借用等核心概念 ‧使用trait與泛型來寫出靈活的、有效率的程式 ‧編寫快速的、多執行緒的、無資料爭用的多執行緒程式 ‧Rust的主力工具:closure、iterator與非同步設計 ‧集合、字串與文字、輸入與輸出、巨集、unsafe程式碼,以及外部函式介面 新修訂的版本涵蓋Rust 2021版。
每個程式設計師都應該要知道的50個演算法
不管是在計算的科學與實務上,演算法總是扮演重要的角色。除了傳統的計算之外,對任何一個開發者或程式設計師而言,使用演算法解決實務問題的能力是非常重要且必須具備的技巧。本書不只會幫助你發展選用的技術以及使用演算法以解決實務問題,同時也能理解這些演算法是如何運作的。 & 本書從演算法的介紹開始,並說明各種演算法的設計技巧,再佐以實際範例來協助探討如何實作不同類型的演算法,諸如搜尋與排序。當你要進階更複雜的演算法集合時,你將會學到線性規劃、頁面排名以及各種圖(graph),甚至跨入AI領域學習如何使用機器學習演算法,並瞭解它們背後的數學與邏輯。隨後將更進一步探討一些案例研究,像是天氣預測、推文分群以及電影推薦引擎等等,瞭解如何應用這些演算法以達到最佳化。最終,你將精通平行處理技術的運用,讓你有能力可以使用這些演算法在計算密集的任務上。 & 讀完本書,你將精通各式各樣的演算法來解決職場上的電腦運算問題。 & 本書範例檔: github.com/packtpublishing/40-algorithms-every-programmer-should-know & 本書特色 & ☛學習現存於Python程式庫中的資料結構及演算法 ☛了解如何實作圖形演算法,並藉由網路分析進行詐欺偵測 ☛學會使用機器學習演算法,即時進行相似推文的分群並處理Twitter資料 ☛學會使用監督式學習演算法預測天氣 ☛學會使用Siamese Neural Networks執行單張影像的辨識 ☛建立一個推薦引擎,向訂閱者建議相關的電影 ☛部署機器學習模型時,使用對稱及非對稱加密,實作萬無一失的安全機制 &
流程架構|整合串流與事件驅動的未來
「James對流程架構這個新興領域下了傑出的定義,他總結當前的技術及運用新穎的框架,清晰闡述此技術在未來十年的發展。對於有興趣管理資料串流和事件的人來說,這些都是重要的觀念。」 —Paul Butterworth Chief Technology Officer, Vantiq, Inc. 現今的軟體開發正擁抱事件及資料串流,不僅優化了技術互動的方式,也優化企業整合方式以滿足客戶需求。流程是由模式及標準組成,這些模式和標準決定哪些活動及相關資料在Internet間交流。 本書探討演變過程的關鍵意涵:當事件及資料串流幫助您發掘新的活動來源,以增強現有業務或是開拓新市場時,會帶來甚麼改變?哪些技術和架構模式能幫助您的公司掌握流程所帶來的機遇?VMware全球首席技術官James Urquhart指導企業架構師、軟體開發人員以及產品經理來完成此過程。 ‧瞭解企業、政府和其他機構透過事件及資料串流進行整合時,動態流程帶來的好處 ‧透過視覺化的Wardley Mapping及承諾理論來認識流程整合的價值鏈 ‧瞭解當今事件驅動系統市場背後的基本概念 ‧學習當今的整合模式,將如何影響未來的即時事件流程 ‧探索為何企業應該架設並建構軟體,並於未來充分運用流程
Kotlin Collection全方位解析攻略:精通原理及實戰,寫出流暢好維護的程式(iT邦幫忙鐵人賽系列書)
本書內容改編自第 12 屆 iT 邦幫忙鐵人賽 Software Development 組佳作網站系列文章 《新手也能懂的 Kotlin Collection 賞玩門道》 集合(Collection)是各程式語言裡常見的資料類別,在 Kotlin 裡共有 Array、List、Set 及 Map 四種,在標準函式庫裡提供一系列設計精妙的集合 API,若能好好運用,可以減少很多重複冗長的工作,對操作資料有很大的幫助。本書專為 Kotlin 開發者設計,透過技法、心法、實戰三部份,系統化的解釋 Kotlin 集合的原理、功能及應用,是一本 Kotlin 開發者桌上必備的工具書。 本書特色 技法: 依不同目的及特性將 Kotlin 集合分類,綜覽超過 200 個方法,搭配範例程式碼及速查地圖,豐富讀者對操作技法的認識。 心法: 要掌握 Kotlin 集合,除了要精通語法外,也需通曉實作原理。書中透過閱讀標準函式庫的原始碼,陸續討論語法設計、命名邏輯及組合技等心法。 實戰: 只有理論是不夠的,唯有搭配實戰才能將知識落實在日常任務裡。透過情境解題,綜合運用集合的功能來面對各種資料處理情境,活用從心法與技法學到的知識。 &
Perl 學習手冊 第八版
涵蓋Perl 5.34 讓簡單的事更加容易,讓困難的事成為可能 「依然是最好的Perl學習管道:友善、正確、鼓舞人心。」 -Nathan Torkington 《Perl錦囊妙計》共同作者 「Perl學習手冊(第四版)被認為是Perl程式設計師在他的工作生涯中必讀的經典之一。本書充滿了實用的資訊,即使是Perl程式設計老手都能從書中的範例獲益良多。」 —Craig Maloney Slashdot評論家 若你剛開始學習Perl,那你選對書了。無論你是程式設計師、系統管理員或是網路駭客。這本被兩個世代使用者暱稱為「駱馬書」的暢銷書,延續作者們自1991年來所教授的熱門Perl入門課程。第八版涵蓋Perl 5.34版的最新更新。 Perl幾乎適用於任何平台上的任何工作,從簡短修復到完整的網路應用程式皆適合。《Perl學習手冊》不只教你基礎,還教你如何寫出簡單又簡短的程式,大約90%的Perl程式都是如此。每個章節最後都備有習題來幫助你練習剛剛所學習的知識。其他的書可能會教你如何用Perl寫程式,本書則是將你打造成真正的Perl程式設計師。 本書主題涵蓋: ‧Perl的資料和變數型別 ‧副程式 ‧檔案操作 ‧正規表達式 ‧字串處理(含Unicode) ‧串列與排序 ‧行程管理 ‧使用第三方模組
動手學GitHub!現代人不能不知道的協同合作平台
☆★☆★【微軟客戶事業成功群副總經理大力推薦!】★☆★☆ Microsoft工程師親自下筆,讓你輕鬆理解軟體開發流程! 對於多數的開發人員來說,GitHub是程式開發過程中作為版本管理與協同合作的服務平台;對於專業技術人員而言,他們可以在GitHub上找到許多好用的資源,藉此提升自己的專業技能;對於社群成員而言,他們可以建立技術人員之間的聯繫,進行交流與貢獻於開放原始碼專案,為全世界的人們解決問題。 但GitHub不僅僅只有如此而已,更多專案管理、自動化工作流程與資訊安全等概念隱藏其中。本書將從不同的角度來介紹GitHub,讓讀者不僅熟練其功能,也能從中理解何謂現代化軟體開發! 本書看點 ✪完整介紹GitHub常見功能,讓您完整熟悉GitHub操作 ✪Branch進階介紹:策略與管理規範 ✪輕量級工作流程:GitHub Flow與Fork Workfolw介紹 ✪詳細介紹Repository管理與社群功能 ✪詳細介紹GitHub Action,透過範本快速就夠自動化工作流程 ✪提供ASP.NET/ASP.NET Core持續整合與持續部署實作案例 ✪如何在GitHub執行agile管理流程 ✪何謂DevOps流程參考實現?GitHub DevOps流程豐富工具組合 ✪如何建立GitHub漏洞回報機制?如何透過GitHub修復並釋出安全支援版本 ✪如何使用程式碼掃描與秘密掃描功能 ✪如何經營GitHub,讓您的個人資料成為最棒的履歷 &
軟體架構:困難部分
分散式架構的權衡分析 「本書是每一位構建現代分散式系統的架構師所必讀的。」 -Aleksandar Serafimoski,Thoughtworks首席顧問 在軟體架構中沒有簡單的決定;相反的,存有許多困難的部分、困難的問題或沒有最佳實踐的議題,迫使你在各種妥協之中做出選擇。通過本書,你將學會如何在分散式架構所涉及的權衡取捨中嚴謹地思考。 擁有豐富架構經驗和執業顧問的作者群,探討了選擇適當架構的策略。藉由交織一個關於一組技術專業人士Sysops Squad的虛構故事,他們研究了從如何確定服務粒度、管理工作流程和協作、管理和解耦合約、以及管理分散式交易,到如何優化像是可擴展性、彈性和性能等操作特性的所有內容。 通過關注於常見問題,本書提供了一些技巧,可以協助你在面對架構師所面臨的問題時發現和權衡利弊。 ‧分析權衡並有效記錄您的決策 ‧就服務粒度方面做出更好的決策 ‧了解拆分整體式應用程式的複雜性 ‧管理和解耦服務之間的合約 ‧在高度分散式架構中處理資料 ‧學習在拆分應用程式時管理工作流程和交易的模式
Good Code, Bad Code|寫出高品質的程式碼
「書中豐富的知識可磨鍊強化您的工具集」 —Joe Ivans/California Regional MLS 「軟體開發職涯中很實用的建議和很有用的技巧」 —George Thomas/Manhattan Associates 「一本實用、內容豐富的書,旨在幫助開發人員寫出高品質、有效的程式碼」 —Christopher Villanueva/Independent Consultant 「書中的智慧、一流的內容和活用的資訊能幫您建立可維護的程式碼」 —Hawley Waldman/Consultant 軟體開發是團隊一起合作才能完成的工作。要讓應用程式成功,您的程式碼需要強固且易於讓別人理解、維護和運用。 無論您目前是在企業團隊中工作、為開放原始碼專案貢獻心力、或是在創業,都很值得去了解什麼是「好」的和「壞」的程式碼。 《Good Code, Bad Code》一書的內容針對怎麼寫出高品質程式碼有清晰和實用的介紹,本書內容很好閱讀、也很容易應用和很好記住。借助書中所介紹的多種即時又有用的技術,您能馬上學到需要多年經驗才能掌握的程式開發見解。在這本快節奏的書中,Google軟體工程師Tom Long會教您什麼時候套用書中所講述的規則,以及什麼時候去打破成規! 本書內容包括: ‧寫出讀起來像句子的函式 ‧確保您的程式碼沒有錯誤 ‧如何嗅出不良程式碼 ‧為您自己和您的團隊節省時間 本書適用於職業生涯已熟悉Java或C#等物件導向程式語言的開發人員。
演算法學習手冊|寫出更有效率的程式
「一本平易近人的著作,可讓你立即應用進而提升程式的執行效率。書中將教你電腦科學中會用到的基本演算法和資料型別。如果你正在找一份程式設計相關的技術工作,這本書可能會在下次的程式面試中幫助你取得好成績。」 — Zvi Galil 喬治亞理工學院 計算學院Frederick G. Storey主任暨名譽院長 論及撰寫有效率的程式時,每位軟體專業人士都需要具備有效率的演算法運作知識。在這本實務書籍中,《Algorithms in a Nutshell》作者George Heineman對於多種語言編寫程式時所用的效能改進關鍵演算法,有簡潔而詳實的介紹。軟體開發人員、測試人員、維護人員將理解演算法如何創造性地解決運算問題。 每章都會以前面章節內容為基礎,藉由清晰的圖示和不斷提供的新基本概念,包括演算法分析,對書中介紹的每個演算法做效能分級。你可以將每章所學到的內容,應用到該章最後的挑戰題中,如同模擬在程式術科面試場上的體驗。 閱讀本書,你將可以: ‧探索電腦科學和軟體工程核心的基本演算法 ‧學習有效率解決問題的常見策略,例如:分治法、動態規劃、貪婪方法 ‧使用Big-O分析與評估程式的時間複雜度 ‧使用現有的Python函式庫和資料結構來解決演算法問題 ‧了解重要演算法的主要步驟
屠龍:互動敘事法
好萊塢寫手都在讀的互動敘事劇情寫作終極指南 科技與故事結合,總有無窮的層次可以探索。「遊戲」是最新的說故事媒體,讓觀眾置身寫手創造的世界裡,與環境、劇情互動、與角色一起成長,並做出選擇、爭取期待的結局。 從行動裝置上數分鐘的零碎時間,到史詩電影般的3A大作動輒數十小時的敘事時長,遊戲魔法般的魅力讓人愛不釋手。這些人人都在玩的熱門作品,全都有一個好的「故事」,馬力歐要打敗庫巴拯救公主、憤怒鳥要擊垮豬並奪回蛋、《傳送門》裡雪兒要勝過人工智慧獲得蛋糕……遊戲機制搭配良好的故事架構與創意,能吸引無數熱情的玩家投入、逐漸形成粉絲社群。圍繞著經典的遊戲IP,影視、動漫、周邊又進一步開展驚人的商機。在多數觀眾已經習慣電玩遊戲的陪伴的現代,所有類型的寫作者、影視工作者都必須了解遊戲故事創作法,這種表現方法可以應用到電視、電影、漫畫甚至小說中,突破創作瓶頸、寫出讓人欲罷不能的經典大作。 & 掌握遊戲感十足、讓人快速進入情境的非線性敘事故事寫作法 刻劃代入感強的主角、反派、NPC,並撰寫生動對白、在遊戲中表現成長弧。 完美結合遊戲設計與三幕、多幕甚至無幕的故事架構,讓玩家沉浸故事無法自拔 &
最新世代平行運算:分散式系統主流框架實作指南
★☆★☆★【分散式系統的原理與實踐】★☆★☆★ 本書是一本說明分散式系統理論、實踐、專案知識的書籍,& 更是一本幫助建立完整的分散式系統知識系統的書籍。 & 隨著網路世界的複雜化,當今數位世界已進入元宇宙時代,而Paxos、RabbitMQ及Zookeeper等頂級專案的興起,更讓分散式系統的設計、實作、產品開發等從前專屬於高級系統架構師的工作,逐漸走入程式設計師的日常。但分散式系統包括理論、實踐、專案等多方面內容。這些內容往往交織穿插在一起,給軟體開發者的學習帶來了不少困難,讓許多軟體開發者在學習過程中感到混亂和迷茫。為了幫助讀者學習分散式系統,本書對分散式系統的相關理論、實踐、專案知識進行了詳細的介紹,理論聯繫實踐、實踐結合專案,層層漸進,力求讓讀者知其然並知其所以然,建立完整的分散式系統知識系統。本書從理論就非常下功夫,並幫助讀者在演算法及CAP、BASE及一致性原理上充分了解,更有使用RabbitMQ及ZooKeeper的專案實作,讓你從普通的軟體開發者,一躍成為規劃全局的系統架構設計師。 & 本書重點 ✪理論篇(第1章~第4章) 介紹了分散式系統的概念,並討論了分散式系統的優缺點及需要面對的問題,也討論了一致性、共識、分散式約束等重要理論知識。 & ✪實踐篇(第5章~第9章) 介紹了分散式鎖、分散式交易、服務發現與呼叫、服務保護與閘道、冪等介面等知識,介紹了理論篇所述的內容如何具體實施。 & ✪專案篇(第10章~第12章) 以架設具體的專案為導向,介紹了分散式系統中介軟體。其中,著重介紹了訊息系統中介軟體RabbitMQ和分散式協調中介軟體ZooKeeper。 & ✪複習篇(第13章) 對前三篇的內容加以整理。 &
Software Architecture in Practice中文版 第四版
《Software Architecture in Practice》是一本實用且經過驗證的現代軟體架構權威指南,第四版加入了關於行動性、雲端、能源管理、DevOps、量子計算的內容,以及十一篇新章節。本書徹底解釋何謂軟體架構、為何它很重要,以及如何以嚴謹且有效的方式進行設計、實例化、分析、演變與管理軟體架構。 本書作者是三位著名的軟體架構師,將在書中介紹完整的生命週期,展示實用的指引、專業的方法,以及經過測試的模型,可用於任何複雜程度的專案。你將學會如何使用架構來處理快速成長的需求、系統的規模與抽象,以及當系統以新的方式動態結合時,如何管理新興的品質屬性。 這本指南帶你深入了解如何利用架構來優化關鍵的品質屬性(包括性能、可修改性、資訊安全、妥善性、互操作性、可測試性、易用性、可部署性…等),並解釋如何管理與改良既有的架構,轉換它們來解決新問題,以及建構可重複使用的架構,將它變成戰略性商業資產。 ‧了解架構如何影響技術環境、專案生命週期、商業概況、你自己的實踐法,以及上述因素如何影響架構 ‧利用經過檢驗的模式、介面與方法來透過架構優化品質 ‧擔任行動設備、雲端、機器學習與量子計算的架構師 ‧為能源效率和安全性等日益重要的屬性進行設計 ‧藉著發現影響架構的重大因素,使用DevOps與部署管道來擴展系統,以及管理架構債務 ‧了解架構師在組織裡的角色,以提供更多價值
KODU 邊玩邊學 程式設計寶典
「做中學! 學中做! 培養全新體感遊戲實作基礎。從簡單的積木堆疊中,了解程式設計的邏輯。」KODU是微軟發佈的一款針對9到14歲兒童開發的視覺化程式設計語言,現在已經升級到1.4版本,該程式設計語言一經推出受到了一致好評,甚至在澳大利亞已經有兒童早期教育機構採用了KODU作為其教學的輔助工具,而對於這款軟體有很多豐富的過關等級讓孩子們在娛樂的同時對程式設計產生濃厚的興趣。KODU支援用滑鼠或鍵盤按鍵操作,內建了多款遊戲模式的範例,包括RPG冒險地圖以及若干經典遊戲,並支援即時偵錯。本書共包含了十八個章節,由淺入深的為讀者介紹KODU的重要程式設計技巧,並且透過範例對其進行詳細的講解。其中內容包含基礎概念入門、構建場景、添加物件、角色移動、外觀控制及路徑、偵測與計分、運算與變數、對話與音效、視角變化、角力比賽、過馬路、螢火蟲飛舞、賽跑遊戲、冰上曲棍球、勇闖迷宮、極速賽道、綠野仙蹤、棒球大賽等。相信經過課程的綜合演練,必定能讓讀者融會貫通KODU的應用程式開發技巧,還能輕鬆將設計理念融入今後的設計當中,創作出更為優秀的遊戲作品來。◆ 入門、應用到專題實作全攻略!◆ 快速邁向KODU的設計之路!◆ 超強的KODU全面創意開發體驗!
Azure DevOps顧問實戰
敏捷開發、Scrum、Azure DevOps專業顧問講師第一手經驗分享敏捷開發與DevOps技術這幾年在台灣飛快的發展,從過去只有少數人關注,到如今百家齊放。現在,不管你的專案規模大小、團隊人數、只要你在開發軟體,就一定、必須、絕對…會使用到DevOps工具,當然也應該採用敏捷開發相關的思維與技術。 幫助你更加得心應手地應用Azure DevOps 本書將與讀者分享第一手的Azure DevOps的顧問實戰經驗,協助讀者在面對未來的軟體開發專案與維運時,更加地得心應手。好的軟體開發與優質的專案管理是有其方法的,正確的觀念、心態、再加上好的工具、技巧,將會讓你和你的團隊更少加班、更多產出、當然日子也能過得更加快樂。 .為何現代企業必須實踐DevOps?它能帶來什麼價值? .何種Branch策略最適合高強度的CI/CD? .什麼是 PR-CI(PR Pipeline)?如何具體實現? .如何透過CI Pipeline進行程式碼品質檢查、套件安全性檢查、自動化測試、單元測試? .如何設計支援容器(Container)發佈的pipeline? .如何設計支援NuGet Publish套件發佈的pipeline? .如何實踐「藍綠部署」、「金絲雀部署」等現代化佈署需求? .Feature Toggle為何重要?該如何使用? .如何從需求開始,串聯到每次的程式碼異動、佈署、上版,讓一切有跡可循? .如何讓Code Reivew自動發生? .如何透過Release Gate或手動簽核,讓上版更有確據? .如何透過Test Plans讓測試更有效率、更有依據?
Martin Fowler的企業級軟體架構模式:軟體重構教父傳授51個模式,活用設計思考與架構決策
★★★榮獲素有IT書籍奧斯卡金像獎之稱的第13屆Jolt獎★★★ & ✎與一群專家級貢獻者David Rice、Matthew Foemmel、Edward Hieatt、 Robert Mee以及Randy Stafford共同合作,Martin Fowler之必讀經典✎ & [名家名著] 25 Martin Fowler的企業級軟體架構模式 Patterns of Enterprise Application Architecture & 陳傳興、張立顗 翻譯 黃忠成 審校 陳仕傑(91) 專文推薦 & 企業級軟體開發的實踐因許多新技術的出現而受惠。物件導向程式語言(如Java和.NET)與新工具和新技術的日趨普及,讓我們有能力建置更穩固與強健的應用程式,但它們並不容易實作。開發人員在企業級應用程式中總是會面臨相同的困境、遭遇同樣的難題,因為他們尚未充分領會到資深前輩們的架構經驗和失敗教訓。 & 本書介紹的,正是企業級軟體開發人員所面臨的種種嚴峻挑戰。企業級應用程式(如預約系統、供應鏈程式、金融系統等等)的挑戰是獨特的,與桌上型電腦系統和嵌入式系統同行所面臨的挑戰截然不同。因此,企業級開發人員往往必須自行挖掘解決方案。 & 本書作者Martin Fowler是全球知名的物件導向大師、軟體重構教父,他發現,儘管技術發生了變化──從Smalltalk到CORBA,再到Java與.NET──相同的基本設計概念仍然可以調整並應用來解決這些常見的問題。在一群專家級貢獻者的幫助下,Martin將40多種重複出現的解決方案淬鍊成為模式,並提供完整的脈絡,讓讀者能夠在面對困難的設計決策時做出正確的選擇,最終寫成這本不可或缺的解決方案手冊,它適用於任何的企業級軟體平台。 & 本書實際上是兩本書合二為一。第一個部分是開發企業級應用程式的簡單教學,讀者可以從頭到尾閱讀,以熟悉本書的範圍及章節安排。第二個部分則是本書的主軸,是關於模式本身的參考手冊,Martin為每一個模式都提供了用法和實作資訊,並搭配Java或C#程式碼的詳細範例。書中還利用豐富的UML圖形來進一步解釋這些概念。 & 你將從本書學會: ・將企業級應用程式劃分為多個分層 ・組織商業邏輯的主要方法 ・深入處理物件與關聯式資料庫之間的對應 ・使用MVC模式來組織Web的呈現 ・處理跨越多個交易的資料的並行問題 ・設計分散式物件介面 ・來自David Rice、Matthew Foemmel、Edward Hieatt、Robert Mee、Randy Stafford的專家級分享 &
系統程式設計 (下冊)
• 本書英文版System Programming獲得美國最權威的書評機構Bookauthority的推薦,並評為最佳網路程式設計書籍。 • 作者陳金追為電腦系統軟體世界級的專家!從事軟體研發三十幾年,曾為Oracle開發全新的資料庫復原系統。 • 想成為世界級的電腦軟體專家,看本書就對了!本書有系統地介紹如何以POSIX標準所規定的作業系統程式界面,做跨平台的軟體開發,設計出一流軟體。 上册第1-11章(系統程式設計): • 靜態與動態連結,動態載入。程序管理。軟體開發與軟體工程過程。 • 檔案輸入/輸出:循序I/O、隨機I/O、向量I/O、非同步I/O、直接I/O。 • 程序間通信方法:信號、旗誌、共有記憶、插口、有名與無名導管、信息排隊、映入記憶器檔案。 • Pthreads多程線程式設計:互斥鎖、條件變數、程線特有資料、修復吊死的互斥鎖、程線取消、生産消費問題。 • 共時控制:更新遺失問題、系統五與POSIX旗誌。以組合語言撰寫自己的上鎖與解鎖函數,比系統所提供的任何共時控制設施,都快上25~80%的速度。如何預防鎖死。 下冊第12-16章(網路程式設計): • 網路插口程式設計:不同種類的插口、客戶伺服程式、連線與非連線式通信、同時支援IPv4與IPv6、多工式伺服程式、多播作業、非同步連線、自動重新再連線、查取端口號。 • 插口選項:SO_KEEPALIVE、SO_LINGER、SO_REUSEADDR、SO_REUSEPORT 與緩衝器大小 。 • 性能調整:如何分別在應用軟體與作業系統核心層次,調整網路插口程式的性能。 • 分散式程式設計:如何解決跨印地(endian)、對位、32與64位元混合、永遠往後且往前相容、版本術、預防癱瘓攻撃。 • 電腦網路安全:對稱式與不對稱式密碼術。撰寫從事信息紋摘、加密、解密、HMAC、數位簽字,以及SSL/TLS等作業的客戶伺服程式。PKI,如何產生並建立自簽的X.509憑証,如何做不同格式憑證的轉換,SSL/TLS 程式設計,如何在SSL/TLS作業時驗證一串的憑證,以及如何在SSL/TLS上做客戶認證等。 • 如何設計一流軟體。 • 書中200多個C範例程式,均在Linux、AIX、Solaris、HPUX、Apple Darwin上測試過。網路插口程式也在微軟Windows測試過。
UML 物件導向 武功祕笈
關鍵語法與實用範例觀念解說!現在就全面領略UML的極緻表現!應用軟體設計與開發技術的日新月益,當「物件導向系統分析與設計」方法無法再滿足於新一代的雲端或Mobile應用軟體系統的開發規劃需求時,最新一代的「函數式物件導向系統分析與設計 (Function-Object Oriented Analysis And Design,FOOSA & FOOSD)」技術就應運而生。「函數式物件導向系統分析與設計 (Function-Object Oriented Analysis And Design,FOOSA & FOOSD)」是一種建構在「函數框架 (Functions Frame)」與「物件 (Object)」的交互結合的互動框架處理方式的系統分析與設計方式!能滿足現在新一代雲端或Mobile應用軟體系統的開發規劃需求!但目前此種嶄新的分析技術尚屬萌芽階層,逐漸的,會有愈來愈多的分析師會瞭解使用此種分析方法來規劃的優點!本書使用深入淺出的編寫方式來教導讀者與分析師學習此種最新的系統分析方法。並以各類實用的應用範例,以Step By Step的方式來教導讀者與分析師使用「函數式物件導向系統分析」方法規劃與設計應用系統!希望本書能帶給所有讀者與分析師些許的助益。