C++17 教學範本 第五版
從新手晉身為C++專家 使用新的C++17學習如何撰寫程式。經由循序漸進的範例引導,你將從菜鳥蛻變成為專業的C++程式設計師。透過本書和最新C++17編譯器,可讓你在最短的時間內撰寫出真正的C++程式,即便原本不具備程式設計的相關知識。 所有程式語言概念的表達,皆搭配可執行運作的範例程式做說明,每章最後皆附有相應的習題,用以檢測與練習對本章的學習程度為何。 本書已全部更新為C++17最新版本,適用於所有現行運作的C++。本書同時介紹支援C++17的標準函式庫元素。 你將學會: ‧定義變數和作決策 ‧運作陣列和迴圈、指標和參考及字串 ‧撰寫自已的函數,型態及運算子 ‧探索物件導向程式設計的精要 ‧使用多載、繼承、虛擬函數和同名異式(多型) ‧撰寫泛型函數樣版和類別樣版 ‧學到現代C++的特性:auto型態宣告,移動語意,lambda運算式 ‧檢視C++17新加入的功能
程式設計師從零開始邁向架構師之路
本書涵蓋作者整套架構設計方法論和架構實踐,主要包括以下內容。 ■ 「架構基礎」先介紹架構設計的本質、歷史背景和目的,然後從複雜度來源,以及架構設計的原則和流程來詳細介紹架構基礎。 ■「高性能架構模式」從存儲高性能、計算高性能方面介紹幾種設計方案的典型特 徵和應用場景。 ■「高可用架構模式」介紹 CAP 原理、FMEA 分析方法,分析常見的高可用存儲架構和高可用計算架構,給出一些設計方法和技巧。 ■「可擴展架構模式」介紹可擴展模式及其基本思想,分析一些常見架構模式。 ■「架構實戰」將理論和案例結合,落地前面提到的架構原則、架構流程和架構模式。&&&&&& & 適合讀者群:軟體發展工程師、對架構設計有興趣的技術人員、有架構設計經驗,但要繼續提升的技術人員。。 本書特色 自成一派的架構設計方法論,涵蓋: ►架構基礎 ►高性能架構模式 ►高可用架構模式 ►可擴展架構模式 ►架構實戰 專家好評 本書所包含的知識點正是架構師需要掌握的必備技能,讀者加以學習並靈活應用,一定能成為優秀的架構師。運華是我非常敬佩的架構專家,能把學習架構的脈絡梳理得如此清晰,可見功力深厚。--黃勇 特贊科技CTO 建築的命運最終只有2種:被拆(被反覆運算)或被保護起來。架構作為軟體系統支撐骨架,與建築類似,或被反覆運算,或作為經典持續被技術人員學習。如何設計系統架構,什麼才是優秀的系統架構,本書以豐富的案例,由淺入深、層層遞進,讓技術人員充分學習架構及領略架構之美。--熊普江 騰訊佈道師騰訊雲高級總監 作者談架構定義、原則、模式和案例,深入淺出,為有志於做架構工作的朋友提供一條路徑。或許讀者在實踐之後偶爾重讀有新的感受,這大概是寫作的最大安慰吧。--於君澤(右軍) 資深技術專家 作者將軟體架構的複雜性和嚴謹的理論,提煉成日常軟體工程的務實實踐和清爽易讀的文字。為讀者提供從概念到實踐的方法,從程式碼視角轉向架構視角和設計視角,適合所有要構建一款好軟體的技術人,成為強大的程式師、架構師和技術領導者。--杜江(洛逸)21CTO社區創始人、今日頭條特賣原技術負責人 架構師雖然是一個技術職位,但綜合能力要求很高,是團隊中的技術領導者。本書提綱挈領,從概念到模式並結合實戰,為我們掀開神秘面紗,展示架構師的全景視圖,相信會成為很多工程師進階架構師的入門寶典。--史海峰 貝殼金服 2B2C CTO
Visual F# 技術開發設計寶典
「範例式引導講述,學習最有效率」「一學就受用的程式開發設計書」※ 市面第一本詳細說明 Visual F#的程式規劃用書※ 市面第一本詳細介紹全新觀念函數物件導向的程式設計用書※ 本書附贈高達500MB以上的Visual F#完整程式範例Source當【網格運算(Grid Computing)】、【平行運算】以及【分散式系統運算】概念問世與盛行後、以及【雲端運算(Cloud Computing)】的崛起,對於軟體規劃與設計來說,都產生了前所未有的衝擊!虛擬裝置的軟體運算、分散式應用軟體規劃、雲端大數據的分析與擷取…等新一代雲端應用程式設計需求以及物件導向設計過於繁複的階層…等瑕疵,都讓物件導向程式語言開發軟體的工程師感到力不從心與遇到設計上的瓶頸及困境!Visual F#不僅是一種【函數導向程式語言】、Visual F#更能結合.NET Framework所有物件庫的設計功能,所以Visual F#更是一套【函數物件導向的程式開發語言】。Visual F#更被喻為【微軟下一代重量級的開發工具】!本書就將詳細教導讀者Visual F#所有的函數與物件的入門與進階設計功能,希望本書能帶給所有讀者以及程式設計師些許的助益。
C Traps and Pitfalls 中文版
C語言大師經典名作至今仍然歷久不衰 幫助你避開編寫C語言時各種意外陷阱 無論是新手老手高手都應該要案頭備存 作者以自己1985年在Bell實驗室時發表的一篇論文為基礎,結合自己的工作經驗,進而成為這本對C語言程式設計師具有珍貴價值的經典著作。寫作本書的出發點並不是要批判C語言,而是要幫助C語言程式設計師繞過編寫過程中的陷阱和障礙。 全書分為8章,分別從詞法分析、語法語義、連接、庫函數、預處理器、可移植性缺陷等幾個方面,分析了在C語言編寫中可能遇到的問題。最後,作者用一章的篇幅提供了若干具有實用價值的建議。 本書適合有一定經驗的C語言程式設計師閱讀學習,即便你是C語言編寫高手,本書也應該成為你案頭上的必備書籍。
圖解資料結構-使用Python(第二版)
這是一本如何將資料結構概念以Python程式語言實作的入門書。特色在於將複雜的理論以圖文並茂的方式解說和詮釋。首先從基本的資料結構概念開始,接著陸續以Python語言闡述陣列結構、堆疊、鏈結串列、佇列、樹狀、圖形、排序、搜尋等重要的觀念。附錄更提供Python語言的快速入門,和使用Python程式除錯經驗分享。 每章重要理論均有範例實作,收錄了完整的演算法及程式執行畫面,讀者可依照個人學習進度作練習,除此之外,大量蒐集符合各章教學內容的習題,供隨時驗收學習成果。 本書特色 ◎內容架構完整,邏輯清楚,採用豐富的圖例來闡述基本觀念及應用,有效提高可讀性。 ◎以Python語言實作資料結構中的重要理論,以範例程式說明資料結構的內涵。 ◎強調邊做邊學,提供書中範例完整程式檔,給予最完整的支援,加深學習的記憶。 ◎Python程式除錯經驗分享,收集各種錯誤訊息的解決建議。
Excel VBA經典程式碼:一行抵萬行「偷懶程式碼」應用大全 (下)
高手不藏私的萬用工具箱,讀者只需稍加修改程式碼,即可應用全書所有實戰案例! 本書特色 本書由多位微軟MVP頂尖專家所領軍,其團隊擅長大數據商業智慧(BI)、企業級大型資料庫、Excel數據分析及建模經驗、實現高效與自動化辦公等多項領域,主要任務是針對稍有Excel VBA程式設計基礎的讀者,提供大量Excel VBA的經典用法及程式碼,透過詳盡的講解,加速理解Excel VBA的各項技術特點,進而達到現學現用的效果。 讀完本書,您將學會: ♦ Excel VBA基本知識和方法,有效提升工作效率與自動化水準 ♦ 獨特的程式設計,展現及發揮Excel VBA的精髓 ♦ 提升Excel資料處理與分析的實戰技巧 ♦ 打破Excel常規局限,實現難以實作的功能 ♦ 擴充Excel內建功能,補充功能豐富的VBA技術 好評推薦 「本書全面展現 Excel VBA 的各項應用,從整體配置到知識架構,完全遵循使用者的學習規律,其中可學習到操作 Excel 物件、檔案系統操作、互動設計、資料庫應用、進階程式設計,以及程式碼最佳化等系統性知識,有助於掌握 Excel VBA 的各種面向與精髓。」────Excel Home雲課堂學員 向緒志 「如果急需學習 Excel VBA ,卻又茫然不知如何入手時,不妨拿起本書。它內容厚實,條理清晰,圖文並茂,講解深入淺出,沒有程式設計基礎的新手也可以快速上手操作。書中貼近實戰的案例,只要稍加改動程式碼,即可應用於工作中,可說是不可多得的工具箱!」────Excel Home雲課堂學員 任宣秈
C++ Templates全覽 第二版
涵蓋C++11,C++14與C++17標準 Templates(模板)是C++裡威力最強大的功能之一。然而,即便在C++語言及開發社群持續發展的當下,卻仍常被誤解且乏人問津。在本書C++ Templates, Second Edition中。三位精通C++的先驅者為我們示範何時、為何以及如何使用新穎的templates功能以構築簡潔、快速、高效且易於維護的軟體。 最新版本為C++11、C++14、及C++17標準做了全面的更新,展示能應用於各式場景的尖端技術。針對強化了templates或與之產生化學反應的新式語言特性,作者們皆提供了最權威的解釋,包含:variadic templates(可變參數模板)、泛型lambda表示式(generic lambdas)、class template引數推導、編譯期if(compile-time if)、forwarding references(轉發參考)、以及使用者定義文字(user-defined literals)。他們同時深入探究基本概念(像是value categories),涵蓋了所有的standard type traits。 本書以一則深具見地的教程開場,帶出基本概念和相關的語言特性。餘下的部分提供了詳盡的參考資料,從語言細節、編程技術、進階應用場景、乃至於精煉的慣用手法(idiom)。通篇範例清楚地闡明抽象概念,同時展示活用C++ templates的最佳實踐。 ‧精確理解templates的行為,以避免常見的陷阱 ‧在不對效率妥協的情況下,復用既有程式碼 ‧利用templates寫出更加有效率、彈性且易於維護的程式 ‧善用C++標準庫工具以撰寫泛型程式 ‧掌握現今最高效的慣用手法及技術 ‧體驗即將推出的Concept(概念)特性 英文版支援網站tmplbook.com提供本書源碼及相關更新
Julia資料科學與科學計算
R社群主持人、微軟最有價值專家 孫玉峰 專文推薦LinkedIn 大數據總監 管其毅 齊聲推薦Google、Facebook、IBM和美國聯邦航空總署等世界知名企業的開發者都在用!跟上頂尖好手的腳步,學習簡單好上手的Julia,前進矽谷不是夢!熱銷全台的《Julia程式設計》一書作者、Julia課程人氣講師的最新力作!台灣第一本Julia進階運用教科書,內容豐富,包含機器學習、資料分析決策等熱門主題。繼續來追程式語言新女神,全球最具潛力的程式語言新人王!Facebook人工智慧實驗室主任、紐約大學教授LeCun直言:「深度學習需要比Python更靈活的程式語言。」而Julia的眾多優勢──免費、簡潔、快速且容易上手等,更促使它有極有可能成為未來最熱門的程式語言,與其盲目的追趕流行,我更推薦各位掌握趨勢的最前端,從學習Julia開始。征服女神的第二步,勸你盡早來加入♡本書適合有Julia 程式操作基礎,想更進一步深入資料科學、機器學習或科學計算等進階領域的人。♡延續《Julia程式設計》的超直覺式步驟教學,只要照著做,就能夠學會,一起往資料科學的殿堂邁進!♡作者在Julia教學上具有非常豐富的經驗,完全理解初學者的痛點。♡除了程式教學外,更傳授資料科學領域所應具備的背景知識,一秒提升資料素養。本書以資料的角度引入,介紹基礎的資料分析及統計相關知識和資料處理會應用到的方法。並結合玩具資料(toy data)的示範,讓讀者可以透過資料及實作體會資料科學的有趣之處。後半部分則會介紹基礎的科學運算及機器學習應用。最後介紹最佳化的方法和使用 CUDA 進行運算的相關套件。Julia,為資料科學而生。
Python 金融分析 第二版
掌握金融大數據 “Python易於理解的文法、容易與C/C++整合,以及各式各樣的數值計算工具,使其成為金融分析的自然選項。它正快速替代主流金融機構所使用的語言與工具,成為實質的標準。” —Kirat Singh Beacon Platform公司CEO暨共同創辦人 Python已經成為最適合用來處理資料,以及以人工智慧進行理財的首選程式語言。有些大型投資銀行與對沖基金都使用Python及其生態系統來建構核心系統,進行交易及風險管理。在本書的第二版,Yves Hilpisch將告訴開發人員和量化分析師如何使用Python程式包及工具來進行金融資料科學研究、演算法交易及計算金融。 本書的多數程式都已經改用Python 3,可以在Jupyter Notebooks上使用,你可以互動地執行本書所有範例。從本書的五大分類中,你將學會Python及其生態系統如何為金融公司及從業人員提供技術框架。 ‧Python與金融:使用Python進行互動式金融分析與應用程式開發 ‧掌握基本知識:學習Python資料類型與結構、NumPy、pandas及其DataFrame類別,以及物件導向程式設計 ‧財務資料科學:探索處理金融時間序列資料、I/O操作、隨機學及機器學習 ‧演算法交易:用Python執行回測與部署自動演算法交易策略 ‧衍生商品分析:開發靈活且強大的Python程式包,為選擇權和衍生商品定價,以及進行風險管理
Android御用語言:用Kotlin豪華開發APP
本書特色 本書從Kotlin的發展史講起,結合理論知識和專案實例,全面介紹Kotlin的基礎與應用。 透過閱讀本書,讀者可以迅速掌握Kotlin的基本操作,輕鬆應對使用Java開發所帶來的技術難題。用自動化專案串聯知識點 內容簡介 全書內容共分為18章,由Kotlin入門與基礎、Kotlin語法和Kotlin專案實例三個部分組成。 ■第一部分 Kotlin 入門與基礎部分(第 1 ∼ 3 章) 主要包含Kotlin 語言簡介、Kotlin 開發環境架設、JVM 語系和Kotlin 各版本重要特性。透過這部分知識的學習,讀者可以對Kotlin有一個基本的認識。 ■第二部分 Kotlin 語法(第 4 ∼ 16 章) 本書的核心內容,主要介紹Kotlin 語言的基礎語法,包含的內容有類別與介面、擴充函數與屬性、集合與泛型、物件與委派、反射與註釋、Lambda 運算式、程式碼協同、Kotlin DSL 和Kotlin Native 開發等。本部分配備大量的實例,透過對這部分知識的學習,相信讀者能夠對Kotlin 的語法有一個全面的認識。 ■第三部分 Kotlin 專案實例(第 17、18 章) 這是Kotlin 實戰的部分,是對前面章節所講基礎知識的實戰運用。透過和Spring Boot 架構的整合來介紹Kotlin 在Web 伺服器開發方面的應用,透過Android 視訊播放機專案來介紹Kotlin 在Android 開發方面的應用。&&&&&&
Python設計模式
這是一本通俗易懂、妙趣橫生的設計模式書籍,作者將帶領讀者進入物件導向程式設計的禪道三重境界。 ►一重境界:依葫蘆畫瓢。這屬於初學階段,以為設計模式只有書中提到的那幾種,能把模式名稱倒背如流,但真正要用時,還得去翻書,依據類別圖照搬照改。 ►二重境界:靈活運用。這屬於中級階段,即對每一種設計模式都非常熟悉,有較深入的思考,而且能夠根據實際的業務場景選擇合適的模式,並對相應的模式進行恰當的修改以符合實際需求。 ►三重境界:心中無模式。這算最終階段,這裡說無模式並非不使用設計模式,而是設計模式的理念已經融入使用者的靈魂和血液,已經不在乎具體使用哪種通用模式了,但寫出的每一個程式碼都遵循設計的原則,能靈活地創造和使用新的模式(這種模式使用者自己可能也不知道該叫什麼)。這就是所謂的心中無模式卻處處有模式。 全書分為3篇: ■「基礎篇」 講解23種經典設計模式,其中19種常用設計模式分別用單獨的章節講解,其餘設計模式放在一章中講解。 ■「進階篇」 講解由基礎設計模式衍生出的各種程式設計機制,包括篩檢程式模式、物件集區技術、回檔機制和MVC模式,它們在各大程式設計語言中都非常重要而且常見。 ■「經驗篇」 結合工作經驗和專案積累,分享對設計模式、設計原則、專案重構的理解和看法。&&&&&& & 適合讀者群:互聯網軟體開發者、有一定程式設計基礎的IT職場新人、對設計模式和程式設計思維感興趣者。& & 本書特色 ►本書通俗易懂、妙趣橫生 ►生活經歷、融入設計模式 ►心中無模式卻處處有模式 ►邁向程式碼重構與簡潔之道
寫給所有人的運算思維入門:5堂基礎課程+演算法練習,邊做邊學,建構邏輯思考、培養程式設計(全圖解)
從解決問題到整合運用,從「想」到「做」,所有人都能鍛鍊的思維能力 ――――運算思維 &Computational Thinking―――― 沒有演算法,電鍋煮不出好吃的白飯? 有了運算思維,機器人也能煮咖哩飯! 沒有演算法,必需品不必要、特惠品不划算? 有了運算思維,聰明購物CP值爆表! 沒有演算法,假新聞、小道八卦滿天飛? 有了運算思維,人人都能判定消息真假! █ 不只是程式設計,最親切易懂的思維練習! ★視覺化圖解思維流程,將抽象的課題化為簡明的步驟! ★詳解了解事物本質的思考方式,循序漸進拆解問題! ★以生活化的實例建立關鍵概念,不需要懂程式語言也能學習! ★從煮咖哩飯到小道八卦,專家親授演算法該怎麼想、怎麼做! █ 邏輯思考的第一步,培養運算思維! ● 源自於計算機科學,但遠不只是程式設計 ● 資訊教育浪潮的核心,一切思考訓練的成功關鍵 ● 把看來困難的課題,重新闡釋成我們知道怎麼解決的方法 ● 利用啟發式推理尋求解答,數理領域、人文學科一體適用 █ 55道練習題step by step完全解析,人人都能提升的基本學力! 世界上沒有正確答案的問題多如牛毛,面對沒有正解的難題時,以演算法的步驟來進行邏輯推理,選擇合適的陳述方式,分解任務,決定完成目標的一連串動作,就是運算思維的訓練。 本書詳解將思考視覺化的方法,從猜拳到購物,從讓機器人行走到經典的囚徒困境和渡河問題,提供不同類型的大量範例圖解,化繁為簡「抽象化」,拆解問題「具體化」,使頭腦習慣運算思維的法則。 此外,書中介紹初階的人工智慧理論,以及如何將處理步驟統整為適合程式設計的內容。學習程式設計就像學會開車的技術,建立運算思維則是具備閱讀地圖的能力。要抵達目的地,就算不會開車,只要讀懂地圖就能找到方法到達。 學習運算思維不是為了成為電腦專家或計算機科學家,所有人都應該積極培養並運用這項基本技能,打造因應問題的有效策略、邏輯步驟和優化流程!
物聯網Python整合實戰
本書說明如何以Python 為主要程式語言,實現「從晶片到雲端」的物聯網應用系統快速開發和系統擴充。透過閱讀本書,讀者可以充分體會Python 身為全端開發語言,是如何在物聯網的裝置端、應用端、伺服器端和資料端環節中發揮作用的。力求帶給讀者更寬的視野,包含物聯網相關的應用、產品和生態,介紹不同的系統架構和雲端運算服務,並在不同的技術選項中推薦幾種比較適合專案開發和實際需求的主流組合。以資料的流動方向,即資料的裝置端擷取、伺服器連線、轉發、分析到使用者端的呈現為主軸,並以Python 語言從入門到各個技術堆疊中的應用為輔線來安排全書章節。力求在有限的篇幅內,突出物聯網特徵並使用Python 落地生根,成為快速開發反覆運算的基礎;同時提示在Python應用中可能遇到的問題和解決方案,降低讀者的學習成本。商品特色:●Python全端開發是降低物聯網開發複雜度的必經之路●物聯網應用系統的快速開發和系統擴充可以兼顧●物聯網系統設計比互聯網系統設計更受限更複雜●應用、產品、生態的全域視角與適合組合適用:對物聯網及相關熱點,如智慧硬體、工業4.0、萬物互連的應用與實現技術有興趣者。
Scratch 3.0(mBlock 5含AI)程式設計:使用mBot金屬積木機器人
本書利用 mBlock 5 軟體來開發一套可以充份發揮學生「想像力」及「創造力」的快速開發教材,其主要的特色如下: 1.親自動手「組裝」,訓練學生「觀察力」與「空間轉換」能力。 2.親自撰寫「程式」,訓練學生「專注力」與「邏輯思考」能力。 3.親自實際「測試」,訓練學生「驗證力」與「問題解決」能力。
輕課程 用Scratch 3.0創作故事動畫及互動遊戲
1.&& &有趣的主題式教學引發學習興趣,淺顯易懂的內容適合基礎學習者,幫助您培養運算思維及邏輯能力。 2.&& &針對初學者編撰。程式語言是人工智慧的基礎,科學素養及解決問題能力的養成,趁早學習可得到最佳效益!
Unity 3D遊戲設計實戰(第三版)
【學業界專文推薦】 ‧依斯楚互動娛樂股份有限公司/吳嘉沅 董事長 ‧國立台北教育大學玩具與遊戲設計所前所長/張世宗 教授 ‧工業技術研究院/萬象 資深研究員 ‧夢郡遊戲/曾柏祐 創辦人 5大熱門遊戲設計實例, 依樣就能設計出3D好遊戲! Unity是一款適合中小型遊戲製作的跨平台專業遊戲引擎,功能強大,學習曲線短。本書以Unity為開發工具,前半部第1~5章為基礎內容,後半部第6~10章則為實例應用,範例以Unity 2019版示範操作,可線上下載範例檔。沒有深奧的理論,採循序漸進的實例體會遊戲開發的樂趣,製作出目前熱門的遊戲類型。 ‧5大精彩主題作品(坦克大戰、投籃遊戲、紙片人冒險遊戲、敵軍總部射擊遊戲,以及室內展覽應用),各遊戲專案檔中均整理出開發遊戲的素材及模型檔,對於不擅長美術設計的人來說,可以依此迅速進行遊戲設計。 ‧透過不同程度的學習主題,初學者可以先從基本操作與程式腳本的基礎課程入門,進階者則可以直接進入遊戲專案製作。 ‧不用寫程式腳本,也能依樣設計出好遊戲。程式使用C#,程式腳本中附有中文說明,對於剛入門的人或遊戲美術背景的學生來說,可以更快瞭解程式開發的架構,進而學會編修程式腳本。
Programming Pearls, 2nd Edition 中文新修版
"《Programming Pearls》的第一版是我職業生涯早期讀過對我影響最大的書籍,有許多在書中初次遇到的見解在讀完後依然縈繞在心。Jon在更新相關素材上做得很棒,我對令人耳目一新的範例非常印象深刻。" -Steve McConnell,《Code Complete》作者 請程式設計師列出他們最愛的書籍時,Jon Bentley集結成書的專欄經常被包含在經典之中。就像自然的珍珠(pearls)生成自刺激著牡蠣的細沙,程式設計的「珍珠」則源於挑戰著程式設計師的真實問題。不僅源自可靠的工程實務,還跨越到洞察力與創造力領域,Bentley的智慧結晶(pearls)為令人困擾的問題提供了獨特且聰明的解法。透過兼具教育性質和趣味的程式範例,書中充滿了清晰明白、機智詼諧的描述,介紹實用的程式設計技巧和基本的設計原則。無論資深或資淺,各種經驗等級的程式設計師都高度珍視《Programming Pearls》一書,著實不讓人感到驚訝。 14年來的首次改版,Bentley大幅更新了他的文集,以反映當前的程式設計方法與環境。此外,還增添了三篇文章,專門討論(1)測試、除錯與計時;(2)集合表示法;以及(3)字串問題。原有的程式全都從頭改寫過,也產生了等量的新程式碼。所有程式的C或C++實作,現在皆可在Web上取得。 在這個新版本中,依然不變的是Bentley對於硬派程式設計問題的注重,以及他為那些問題所提供的有效解法。不管你是Bentley經典作品的新讀者,或是想要重溫此書以尋找一些新洞見的老朋友,本書肯定會被加到你的最愛之列。
Perl 學習手冊 第七版
讓輕鬆的工作毫不費力,讓困難的工作成為可能 『Perl 學習手冊〔第四版〕被認為是Perl程式員在其Perl的職業生涯中至少需要讀過一次的經典。該書提供了大量的有用資訊,即使是有經驗的Perl程式員至少都能夠得益於書中的範例。』 —Craig Maloney Slashdot網站的書評家 若你剛開始使用Perl,那麼你絕對不會錯過《Perl 學習手冊》—不論你是程式員、系統管理員,或是網站黑客。這本暢銷書,被兩個世代的使用者暱稱為「駱馬書」,書中的內容源自作者群從1991年以來所講授的Perl入門課程。本書第七版納入了Perl語言直到5.24版所做的最新變動。 Perl幾乎適用於任何平台的任何工作上,從簡短的急就章程式到完整的網站應用程式皆包含在內。《Perl 學習手冊》不僅會教你基礎知識,還會介紹如何撰寫出128列以內的程式—通常90%的Perl程式都不會超過這個規模。本書每章之後均備有習題,讓讀者得以馬上練習所學到的觀念。其他的書也許會教你如何寫出Perl程式,但本書卻能將你造就成真正的Perl程式員。 本書內容涵蓋: ‧Perl的資料與變數型態 ‧副常式 ‧檔案的操作 ‧正規表示式 ‧字串的處理(包含Unicode) ‧串列與排序 ‧行程管理 ‧智慧型比對 ‧第三方模組的使用
介面測試自動化極緻應用:Postman+Jenkins+Github一路整合
本書主要講解介面自動化測試以及介面測試工具Postman的使用等相關內容。 第1章 介紹介面測試基礎知識,包括介面測試背景、基礎知識、測試流程、介面文件系統等內容。 第2~5章 介紹Postman工具的基本用法和進階用法,包括Postman工具介紹、基本操作、集合、指令稿的應用等內容,幫助讀者學習借助該工具完成介面測試的方法。 第6~7章 介紹Jenkins、GitHub等工具的基本用法,以及如何借助這些工具實現介面測試自動化和持續整合。 第8章 透過實際專案複習前7章所學內容,幫助讀者從整體上深入領會介面自動化測試持續整合的內容精要。 不管是測試工程師、測試經理,還是其他對測試技術感興趣的人員,都可以透過本書學習相關知識。& & ■ 介面測試基礎知識 ■ Postman 指令稿的應用 ■ 初識Postman 工具 ■ Jenkins、Git ■ Postman 基本操作 ■ 介面測試持續整合 ■ Postman 集合 ■ 專案介面測試實戰 適合讀者群:測試工程師、測試經理,或對測試技術感興趣的人員,都可以透過本書學習相關知識。 本書特色 ➢詳細講解HTTP介面自動化測試方法 ➢深入講解Postman、Newman、Git、Jenkins等工具的使用方法 ➢提供大量的測試小案例,幫助讀者掌握測試要點 ➢全面解析介面自動化測試持續整合實戰專案,整體掌握測試技巧
科班出身的AI人必修課:OpenCV影像處理 使用 python
電腦視覺技術的應用越來越廣泛,有非常多的軟體工具和函數庫可以用來建置電腦視覺應用,針對Python的OpenCV就是一個很好的選擇,本書正是針對以Python為基礎的OpenCV來說明的。 Python和OpenCV結合,必將產生巨大的威力。本書以OpenCV官方文件的知識脈絡為主線,在此基礎上對細節進行補充和說明。 本書不僅介紹 OpenCV 函數的使用方法,還介紹函數實現的演算法原理。在介紹 OpenCV 函數的使用方法時,提供大量的程式示例。 在介紹函數對圖像的處理前,先展示函數對數值、陣列的處理,方便讀者從數值的角度觀察和瞭解函數的處理過程和結果。在介紹具體的演算法原理時,使用通俗易懂的語言和貼近生活的示例來說明問題,避免使用過多複雜抽象的公式。 適合讀者群:電腦視覺領域的初學者、專業技術人員、影像處理愛好者,或相關科系師生做為學習參考教材。 本書特色 介紹以Python為基礎的OpenCV視覺函數庫的使用 內容通俗易懂、生動有趣,案例豐富,實用性強
Python接班人出世:最新科學專用語言Julia入門實戰
Julia 語言已成為程式設計界的新寵。 Julia 語言集C語言的執行速度、Ruby 的靈活、Python 的通用性,以及其他各種語言的優勢於一身,並且具有開放原始碼、簡單易掌握的特點,大有潛力成為取代Python 的下一個程式語言。 本書首先講解Julia程式設計語言的基礎知識,如Julia程式設計語言的優勢、開發環境、整合式開發環境、生態系統、外部函數庫等;然後實例剖析講解Julia程式設計語言的基本語法、流程控制、函數應用、面對程式設計。 實例剖析講解Julia的核心優勢,即多維陣列、流、檔案操作、網路通訊、序列化、日期處理方法、平行計算特性;然後講解Julia在資料科學中的應用,即Julia資料工程、資料集的可視圖。 最後講解Julia在機器學習中的應用,即無監督式機器學習和監督式機器學習。在講解過程中考慮讀者的學習習慣,並透過具體實例剖析講解Julia程式開發過程中的熱點問題、關鍵問題及種種難題。 本書主要內容: ■ Julia 程式開發快速入門&&&&&&& & ■ Julia 程式設計基礎& & ■ Julia 的選擇結構 ■ Julia 的循環結構 ■ Julia 的函數和模組 & ■ Julia 的特徵資料類型 ■ Julia 的矩陣操作 ■ Julia 的檔案操作 ■ Julia 整合開發軟體-- JuliaPro ■ Julia 的資料處理常用套件 ■ Julia 的Gadfly 繪圖套件 ■ Julia 的日期和時間 ■ Julia 的超程式設計和平行計算 ■ Julia 的機器學習RDatasets 套件 ■ Julia 的決策樹和隨機森林 ■ Julia 的線性回歸和K- 平均值 本書特色 .從基本概念到資料科學、機器學習的應用 .從入門到實作,幫助零基礎讀者掌握Julia
自動化測試+網路爬蟲:至尊王者Selenium 3
全書共分14章, 第1章 介紹自動化測試相關的基礎知識。 第2~10章 是本書的重點,從環境搭建、WebDriver API介紹,再到單元測試框架的使用,循序漸進地介紹自動化測試所用到的知識,最後再透過專案將這些知識串聯起來。 第11章 詳細介紹如何使用Jenkins配置自動化測試專案。 第12~14章 介紹行動自動化測試工具appium的使用。 本書寫作目的並不只是簡單地告訴讀者如何使用一個自動化測試工具,而是希望讀者在學習本書的內容後能夠提升技術高度、拓展技術寬度,擺脫簡單的手工測試,向高級測試工程師邁進。 本書主要內容: ■ 介面測試基礎知識 ■ Postman 指令稿的應用 ■ 初識Postman 工具 ■ Jenkins、Git ■ Postman 基本操作 ■ 介面測試持續整合 ■ Postman 集合 ■ 專案介面測試實戰 本書特色 .全面介紹unittest和pytest兩大單元測試框架 .透過20個範例展示WebDriverAPI使用場景 .用自動化專案串聯知識點
入手大數據DB的輕鬆選擇(熱銷版):HBase快上手
由淺入深地講解HBase概念、安裝、配置、部署,從應用角度介紹高階用法、監控和性能最佳化;HBase是Apache旗下一個高可靠性、高性能、面向列、可伸縮的分散式存儲系統, 全書共分9章,由淺入深地講解HBase概念、安裝、配置、部署,再從應用角度介紹高階用法、監控和性能最佳化。■ 如果你還在尋找合適的環境,或想快速了解HBase功能,或你是公司的運行維護工程師,想知道如何架設HBase,「第2章 讓HBase 跑起來」適合你。■ 如果公司的運行維護工程師幫你架好環境,老闆催著你趕快做出專案,那麼 請直接看「第4章 用戶端API 入門」。■ 如果你更關心HBase 是如何實現它的資料結構的,建議你直接看「第5章 HBase 內部探險」。■ 如果你想知道HBase如何提升效能,建議你直接看「第8章 再快一點」。 ■ 適用於HBase初學者、希望深入掌握HBase的讀者、HBase應用開發人員和系統管理人員。
Think Julia|如何像電腦科學家一樣思考
"本書精采介紹了程式語言的基礎以及Julia語言。極度推薦!" -David P. Sanders, 墨西哥國立自治大學教授 如果您正要開始學寫程式,Julia是一種絕佳之即時編譯、動態型別(dynamic typed)、且語法簡潔的程式語言。本書使用Julia導引您一步步進入程式設計的領域。從最基礎的程式概念開始,逐步進展至更進階的技巧,例如建立新型別與多重分派(multiple dispatch)。 Julia原是為了高效能運算而開發的,但也是適用於數值運算、計算科學,乃至於網頁程式設計的通用語言。透過各章後面的習題,您將可實際練習所學到的概念。《Think Julia》適用於高中與大專學生,自修人士與需要學習程式基礎概念的讀者也同樣適合閱讀。 ‧由基礎語法與語意開始介紹 ‧清楚解釋每一程式概念的定義 ‧循序漸進的學習什麼是值、變數、敍述、函數與資料結構 ‧學習如何操作檔案與資料庫 ‧瞭解何為型別、方法與多重分派 ‧使用除錯技巧修正語法、執行與語意錯誤 ‧運用案例探索介面設計與其資料結構
Regular Expression 橫刃萬解程式的關鍵語言:正規表示法
本書精解【正規表示法】,不只讓您構建起夯實基礎,更能讓您高端掌握絕佳應用技術 & 正規表示法(Regular Expression;簡稱regex、regexp、RE),又稱正規表達式、正規表示式、規則運算式、常規表示法;本書針對作者在開發中遇到的實際問題,以及其他開發人員諮詢的問題,歸納總結出一套巧妙用運用正規表示法解決問題的辦法,並透過具體的實例指導讀者進一步拆解、分析問題。 & 全書三大部分: 第一部分-主要說明正規表示法的基礎知識,涵蓋常見的正規表示法中之各種功能與結構。 第二部分-主要解說關於正規表示法更深入的知識,詳細探討了編碼問題、比對原理、解題思路與想法等。 第三部分-將前述介紹的各種知識實際運用於8種常用的程式語言:.NET、Java、JavaScript、PHP、Python、Ruby、Objective-C、Golang中,不但詳細介紹這些程式語言中正規表示法的具體用法,更辨析了版本之間的細微差異,既可以作為專門學習的教材,也可以作為有用的參考手冊。 & 本書適合經常需要進行文字處理(例如記錄檔分析或網路運行維護)的技術人員、熟悉常用開發語言的程式設計師,以及已經對正規表示法有一定了解的讀者閱讀。 & 本書特色 & 準確高效、簡潔規律,超強靈活性、邏輯性和功能性 幾乎遍及所有操作系統與程式語言皆能支援與應用
OpenCV 4 專案實務 第二版
用OpenCV與C++打造電腦視覺與影像處理應用程式 OpenCV是現今最好的開放原始碼電腦視覺庫,開發人員能夠建立完整專案,處理影像處理、動態偵測與影像切割等問題。不論是電腦視覺新手或是有經驗的熟手,本書透過實務範例與專案,帶領讀者了解OpenCV基礎概念與演算法。 從安裝OpenCV與基本影像處理開始,接著介紹使用者介面並深入影像處理的進階概念,讀者會學到複雜的電腦視覺演算法,探索機器學習與人臉偵測。接著帶領各位建立光流影像分析(optical flow video analysis)與複雜情境的背景相減,在最後一章還會學到文字切割與辨識,以及認識新加入與改善後的機器學習模組基礎。 讀完本書,讀者會熟悉OpenCV基礎,如矩陣運算、濾鏡與色階直方圖,也能夠熟悉常用的電腦視覺技巧,能夠從無到有建立OpenCV專案。 本書內容涵蓋 ‧在系統上安裝OpenCV 4 ‧建立編譯C++應用程式與管理相依性所需要的CMake命令稿 ‧了解基本的影像矩陣格式與濾鏡 ‧探索切割與特徵萃取技巧 ‧移除靜態場景的背景,找出影片監控影像中移動的物體 ‧透過各式技巧從即時影片中追蹤不同的物體 ‧使用OpenCV的新函式偵測文字並透過Tesseract辨識文字 ‧熟悉影像分類重要的深度學習工具
邊玩邊學程式設計:30堂Python創意程式課,輕鬆掌握程式語言,培養運算思維!
★美國亞馬遜青少年電腦科學類書籍暢銷第一名! ★學全球最受歡迎Python程式語言,培養108課綱「運算思維」核心能力 ★全書彩色插圖+流程圖+虛擬程式碼解說,邊玩邊學程式設計! & 從基礎概念、運算思維到實際應用 30堂Python創意程式課,掌握程式設計關鍵能力! & 新課綱正式上路,資訊科技教育將以「運算思維」為發展核心,「程式設計」正是實際體現「運算思維」的重要方式之一。 & 本書由美國電腦科學教育專家撰寫,填補眾多學校未滿足的迫切需求,提供程式設計的教學基礎,並示範如何用免費、直覺、開源,而且是全球最熱門程式語言的Python,打造超過30項有趣的創意專題。 & 為什麼要學Python? 1 好學又好用——是全球最受歡迎的程式語言之一 2 簡單又強大——完成一項工作只要幾行程式碼 3 免費且開源——有廣大的使用者和開發人員社群 4 在任何地方都能運作——包含Windows、Mac、Linux和Raspberry Pi & 書中透過插圖、流程圖和虛擬程式碼,幫助青少年和初學者瞭解程式設計的基礎概念和運算思維的過程,並告訴讀者如何運用這些原則為精彩專題編寫程式。 & 透過本書,讀者可循序漸進打造以下專題: ◆聊天機器人:認識用來設計對話程式的各種變數、字串、整數等元素。 ◆幾何藝術:使用海龜繪圖打造原創藝術作品。 ◆互動故事:探索布林值和條件式,設計出自己的冒險遊戲。 ◆骰子遊戲:重複使用程式碼建立機率遊戲。 ◆街機遊戲和應用程式:認識GUI(圖形使用者介面),開發專屬街機遊戲和應用程式。 & 書中也分享Python進階知識,讓讀者能用更多意想不到的方式運用所學到的新技巧。包括:搭配硬體進行實體運算、使用其他標準Python模組以及強大的第三方Python套件等參考。 & 本書特色 ◎每一單元均以「主要概念」為核心,搭配實作專題以及進一步實驗與延伸,引導初學者由淺入深掌握概念,紮實學習程式設計流程。 ◎收錄常用詞彙表與中英對照索引,學程式同時加深專業用語記憶,以銜接未來進階應用。
ASP.NET 網站開發設計寶典:使用Visual Basic
「關鍵語法與物件導向觀念解說」「一學就受用的網站開發設計書」ASP.NET從最開始就被認為是最有發展價值的一個動態網頁設計語言,目前ASP.NET經過1.0後發展到目前,在ASP.NET中更新了在舊版ASP.NET中許多的不足,並加入了許多的新功能,使得ASP.NET功能更強大,性能更穩定。本書以最新推出的Visual Studio開發工具為主軸,介紹眾多常用的控制項,在開發動態網頁的學習課程中,各位讀者將不再需要編寫許多的程式碼,透過VS便可輕鬆完成如資料驗證、使用者權限等等功能,大大的提高網站開發速度,輕鬆將所學的知識快速應用在工作與學習中。◎步驟式的引導教學,破除程式設計學習的障礙。◎精彩且切合實務開發的範例課程規劃,開發專案專題快速搞定。◎提供完整的程式範例完成檔案,輕鬆修改便可借鑑使用。◎本書適合資管、資工等相關科系之大專院校及業界教育訓練學習使用。
第一次學Android就上手(第三版)-從新手入門到專題製作(適用Android 10.x~4.x)
第一次學Android,不僅要上手,還要快速上手!•基本概念上手:從基礎打底,強調工具、語言、MVC的View和Controller。 •基本動作上手:從第二版的8個基本動作,擴大成為第三版的12組,並獨立專章討論,力求熟練。 •複合技術上手:複數型元件處理、組織複數型資料;資料庫與線程則處理、組織複數型程式單元。 •區塊建構上手:以Android四大建構區塊(Building Blocks)講起,運用SDK工具的標準操作流程,建立正確的Android起步。 •傳感行為上手:涵蓋一般傳感、位置傳感和WiFi傳感,加入寓教於樂的「跑酷遊戲」案例,增加趣味。 •官方版型上手:挑選AndroidStudio共九個版型,如果加上第二章介紹的Android Library,可算湊足十個,加以說明。 •雲端服務上手:以雲端廣告、地圖和試算表為例,清楚展示谷歌雲端服務,快速上手。 •媒體串流上手:以多媒體應用和安卓電視為主題,示範安卓進階的ExoPlayer原生播放器,作廣而深的整合示範。
由片語學習C程式設計(第二版)
本書主要針對高中與大學開始接觸程式設計的初學者,及想學好程式設計的讀者所設計。書中文字敘述力求淺顯簡潔,並以大量範例、片語、學習要點、風格要點等方式,逐步引導初學者進入程式設計的領域。二版新增C99語法,如bool類別、顯示位元數整數類別、放寬變數宣告位置、stddef的offsetof及stdlib的二分搜尋bsearch等重點介紹。以更多完整範例、相關圖示說明複雜的觀念與方法,同時強化各範例間的關聯性,讓讀者能從中反覆練習、更瞭解所學之實際應用。
輕鬆學會運算思維與C# 程式設計實例
► C#是種完全支援物件導向的程式語言,學習起來非常簡單與直覺,可讓程式設計更加容易修改、重複使用、擴充與維護;且具有強大的類別庫支援,能有效降低程式開發成本。 ► 結合運算思維與演算法基本觀念,並以C#語言實作;為了降低讀者學習障礙,所有範例都是完整程式碼,能在Visual Studio Community 2019環璄下正確編譯與執行。 ► 以入門者角度介紹與深入探索,除了學習以C#語言撰寫程式外,更能加強運算思維及演算邏輯訓練。 【精彩篇幅】 ■ 運算思維與C#的初體驗、大話資料處理、運算式入門基礎 ■ 活用程式流程控制、細說陣列與字串、精通方法與參數 ■ 物件導向程式設計的入門黃金課程、從零開始學視窗程式 ※本書範例檔案請至深石數位官網下載 本書特色 強效基礎/質量兼重/深化專業/技能應用 ◆ 易學易懂穩紮基礎,高效駕馭運算思維 ◆ 深入概念探索,確切強化演算邏輯訓練 ◆ 充份注重內容質與量,完整範例降低學習障礙 直覺學習/入門精要/輕鬆速成/高效掌握
徹底研究最新C++ 物件導向程式設計實例
C++程式語言一直是大專院校資訊相關科系重要的程式語言課程。 本書淺顯易懂,強調程式範例多,且著重習題的質與量,循序漸進且錯誤率低,讓老師教授與學生學習的過程平順、易上手。 書中以大量的程式範例作為引導,搭配條理分明的步驟解說,讓您紮穩學習程式的步伐。 每個概念講解後即特別安排【程式範例】讓您實際操演。 全書寫作風格除了學習以C++語言撰寫程式外,更能加強運算思維及演算邏輯訓練 【精彩篇幅】 ■ C++設計入門暖身體驗、大話資料處理、玩轉運算式與運算子 ■ 活用程式流程控制、精通函數與巨集、細說陣列與字串 ■ 從零開始學指標、自訂資料型態設計與應用 ■ 物件導向程式設計的入門黃金課程、解析運算子多載 ■ 實戰類別繼承與虛擬函數、樣板與例外處理入門精要、檔案管理實例導引 ※本書範例檔案請至深石數位官網下載 本書特色 ◆ 兼顧質與量的程式範例學習,快速掌握程式語言的編譯核心。 ◆ 全書架構嚴謹,讓讀者於學習程式設計時獲取最正確的觀念。 ◆ 各章附有相應習題,結合理論與實務的演練機會。 ◎ 架構嚴謹,重點精要,核心掌握 ◎ 質量兼顧,實作易學,豐富範例 ◎ 條理清晰,正確建構,穩紮實力
資料結構:使用Visual C#
本書以淺顯易懂的方式,透過圖文並茂、圖解說明豐富的內容,讓您學習如何設計良好的資料結構及演算法,進而設計高效率的程式。詳盡解說各種資料結構,讓讀者掌握資料結構的精髓。 本書特色 資料結構的基本觀念,以Visual C#語言來進行解說;各章中的全真綜合實作測驗,詳細解析與該章主題、十章的課程安排及訓練,培養紮實的學習基礎。
科班出身的MVC網頁開發(熱銷版):使用Python+Django
Django是一款基於Python語言及MVC設計模式實現的Web應用開發框架,作為一款可使Web開發工作愉快並且高效的Web開發框架,能夠以最小的代價構建和維護高品質的Web應用。利用模型物件關係對映、URL比對模組、內建範本語言和快取系統,實現業務模組拆分和快速部署,Django嘗試留下一些方法,讓使用者根據需要在Framework之外開發。適用:可以作為開發工具和寶典,透過閱讀和參照實現,可以完成開發者最初的開發指導,也可以作為平台架設的實例指導。商品特色:書中內容來自於團隊實際專案開發經驗和相關知識按系統撰寫而成,由淺入深地帶領讀者進行Django的開發,最終使讀者掌握專案的開發流程,從而運用於自己的專案開發中。
Python玩轉樹莓派GPIO控制
本書特色 樹莓派規格、安裝、設定到開發完整說明。 使用最熱門語言Python玩轉樹莓派GPIO控制。 外接轉接板,免去麵包板上的繁瑣佈線。 完整學習GPIO、LCD、ADC、1-Wire、SPI Bus、I2C Bus、IR、Motor及感測器等控制。 另備有教學影片,提高學習效率。
Pandas資料分析實戰:使用Python 進行高效能資料處理及分析
掌握大數據資料處理與分析的必備套件:PANDAS 全方位了解Pandas程式庫的特性,進行高效能資料處理及分析 Pandas是Python底下、用於實際資料分析上很受歡迎的一個套件。它提供有效率、快速、高效能的資料結構,使得資料探索及分析非常簡易。本書將引導讀者熟悉Pandas程式庫提供的各項完整功能,以進行資料的操控及分析。你將學到在Python底下如何用 Pandas進行資料分析。我們從資料分析的概觀開始,接著反覆地進行資料建模、從遠端來源存取資料、利用索引進行數值及統計分析、執行聚合分析,最後把統計資料視覺化,並且應用到金融領域。 從本書獲取這些知識後,不但可快速認識Pandas,也具備了將其應用到資料操作、資料分析、資料科學等領域的能力。 【適用讀者】 本書適合資料科學家、資料分析師、想用Pandas進行資料分析的Python程式設計師以及任何對資料分析感興趣的人閱讀。如果你具有一些統計及程式設計知識,則對於學習本書內容將會更有幫助,但是即使沒有統計及程式設計知識,或者沒有接觸過Pandas的經驗,也沒有關係。 【你能夠從本書學習到】 ◎了解資料分析師及資料科學家對於蒐集、解讀資料的看法。 ◎了解Pandas如何支援全程的資料分析程序。 ◎善用Pandas序列及資料框物件來表示單變數及多變數資料。 ◎利用Pandas切割資料,以及從多個來源進行資料的結合、分組、聚合等操作。 ◎學習如何從外部來源,如檔案、資料庫以及網站服務存取資料。 ◎表示及操控時間序列資料,以及了解與此類資料相關的許多複雜之處。 ◎學習如何將統計資料視覺化。 ◎學習如何利用Pandas解決金融領域常見的幾個資料表示及分析方面的問題。
秋聲教你玩Python:給挑戰者的修行之路
輕鬆愉快的程式語言課開跑囉~~ 你是否還在擔心程式設計跟天書一樣難,也是否還在擔心程式設計這門必修課會修不過?還是說,你還在為閱讀傳統的Python教科書而燒腦中?別擔心,讓我們的秋聲老師來幫助你學習Python這門程式語言。 本書中沒有艱澀的語法,也沒有困難的演算法,只有搞笑片段,然後藉由這些搞笑片段當中你可以一步一步地來學習Python這門程式語言,重點是,這本書不但不填鴨你,而且還可以讓你學到知識,並且幫你順利地Pass程式語言這門課唷! 心動嗎?那趕快一起加入我們學習程式語言的行列唷!
圖解蘋果核心開發技術:Objective-C物件導向程式設計極效攻略
Objective-C語言,以其高效性和安全性的特點在蘋果作業系統中經久不衰。本書由淺入深,全面性、系統性介紹Objective-C開發技術,從基礎開始逐層往高階技術進展;最大特色就是提供大量插圖,一改程式設計書只有枯燥乏味的文字講解,將傳統的文字說明轉化為各種形式的圖形圖表,利用生動的圖示,形象化再現Objective-C開發的所有知識,在閱讀與實作過程中潛移默化的掌握Objective-C語言之開發精髓。商品特色:蘋果作業系統核心語言高效/高安全/極靈活通用/進階/物件導向
Working Effectively with Legacy Code中文版:管理、修改、重構遺留程式碼的藝術
【名家名著】19 Robert C. Martin Series 軟體工程師必讀的十大好書之一 《無瑕的程式碼》作者Bob大叔親自撰文推薦! 遺留程式碼是每個coder在職場上幾乎都會遇到的難題, 且讓本書幫助您披荊嶄棘,殺出一條軟體變更的康莊大道! 讓你更能妥善處理你的遺留程式碼:使它有更多表現、更多功能、更具可依賴性以及更易於管理 你的程式碼容易修改嗎?當你修改它的時候,可以即時得到回饋嗎?你了解它的運作嗎?如果有任何一個答案為否定,那麼你面對的就是遺留程式碼,而且它會拖垮你的開發成效,使你浪費更多寶貴的時間與金錢。 在本書中,MICHAEL C. FEATHERS提供了許多整套的策略,使讀者能夠更有效率地使用遺留程式碼,以及未經測試的遺留code base。這本書取材於作者為他知名的Object Mentor研討會所撰寫的內容。作者在指導時所提到的技巧,已經幫助數以百計的開發者、技術管理者以及測試人員,使他們的遺留系統維持在掌控之中。 本書內容包括: ☛了解軟體修改的機制:增加特性、修正bug、改善設計、調整性能。 ☛使遺留程式碼進入測試控制工具(test harness)。 ☛編寫測試來保護你免於引入新的問題。 ☛可用於任何語言或平台的技術──以Java、C++、C與C#為範例。 ☛正確分辨程式碼應該修改的地方。 ☛處理非物件導向的遺留系統。 ☛處理看來似乎沒有任何結構的應用程式。 這本書也包含24個解依賴技術的目錄,可協助你讓程式的要素獨立,並且使變動更加安全。
徹底研究:最新Python程式設計實例
◎ 邏輯清晰,架構嚴謹,完整豐富 ◎ 重點展示,直擊核心,實作易學 ◎ 範例完整,精要詳解,迅捷掌握 & ◆ 以Python程式語言實作為主體,完整展現概念、內涵與運用,是一本內容詳實、敘述扼要的絕佳技術學習書籍。 ◆ 以不同形態展現Python程式碼構築、語法和範例,讓讀者能夠全盤掌握與了解,簡化複雜理論以最精確重點的樣態解說和詮釋。 ◆ 搭配清晰邏輯化敘整述理呈現,讓讀者能更加清晰易懂;步驟化引導與程式說明,只要跟得上就能學得會。 ◆ 提供書中範例完整程式檔,邊學邊做,學與做相互效應,不只初學上手,更能深層加強學習成效。 ◆ 熱門演算法、物件導向程式設計、圖形視窗程式設計、圖片處理與圖表繪製、網路爬蟲最強工作術等,本書更針對時下最夯且必要學會的Python技能深化學習。 全書寫作風格除了學習以Python語言撰寫程式外,更能加強運算思維及演算邏輯訓練 【精彩篇幅】 ▷ 運算思維與Python、資料處理、運算式與運算子、流程控制與選擇結構 ▷ 重複結構、複合式資料型別-串列(list)、元組(tuple)、字典(dict)、集合(set) ▷ 函數、模組與套件、檔案與例外處理、熱門演算法 ▷ 物件導向程式設計、圖形視窗程式設計、圖片處理與圖表繪製、網路爬蟲 ※本書範例檔案請至上奇資訊網站下載
掌握Java SE11程式設計
自從Oracle接手Java的發展之後,Java開始了天翻地覆的變化,加入了許多新功能,這些新功能都是為了跟上最新流行的程式語言與新型態的發布、維護架構。其中最重要的就是SE8的Lambda運算式與SE9的模組(module)。 自SE9開始,Oracle就採取敏捷開發的精神,每半年就發布一個新版本,不過這些大多是非長期支援版本,新版本一旦發布,舊的非長期支援版本就無法下載JDK了。所以開發與學習的首選通常以長期支援版本為主。依據Oracle的規劃,長期支援版本會在三年左右的時間發布,其中,SE8與SE11都是長期支援版本(LTS),本書的改版政策也跟隨此政策,只會推出適用於長期支援版本的書籍。 Java的新功能眾多,如何將這些新功能完美融入原有功能的講解是本書的重點,例如本書將Lambda運算式放在第十五章,讓讀者可以於學習過內部匿名類別後才學習如何利用Lambda運算式來取代內部匿名類別,並應用於視窗程式(事件傾聽處理)。本書將模組(module)放在第十一章的類別庫(package)之後,讓讀者理解如何透過模組來保護類別庫。至於SE10新增的小功能:var型態推斷宣告更是被不露痕跡地加入到第三章與第十五章,因為在SE11時,var型態推斷宣告已經被推廣至Lambda運算式,免除了程式設計師為了回傳值型態還需查閱手冊的麻煩。 本書改版自暢銷數萬本的《初學指引》系列,從SE8版開始更名為《掌握》系列。這是因為作者認為本書已經不再適用於只想學些皮毛的讀者,而是期望將讀者由初學者導引成為Java初級工程師,要做到這一點,就應該在第一本學習書籍當中,充分掌握Java的設計精隨以及關鍵基礎技術,故重新命名為《掌握》系列。 本書以細心規劃的進度,培養讀者在十六周的學習中,成功變身為Java初級工程師,同時釐清一些對於初學者容易產生困擾的技術。同時本書也搭配精心設計的累積式習題,讓讀者能夠循序漸進地真正成為一位Java程式設計師。 本書特色 .長支援版 .內容由淺入深 .整合模組與類別庫 .釐清複雜的泛型等語法 .Java SE7到SE11的無縫接軌 .釐清函數式介面與抽象類別的差異 .釐清匿名類別與Lambda運算式的適用場合 .釐清Java只有傳值呼叫,沒有如同C#的傳參考呼叫 .透過「Coding偷撇步、注意事項」加強讀者的程式設計實務經驗 .透過「延伸學習」明確引導讀者,未來的學習之路 .透過「筆者的話」向讀者傳遞正確的基本觀念 .探討浮點數變數為何不適合做為比較條件 .探討編譯器為何加入final的this參數? .探討高鐵為何會重複賣票 .累積式習題培養功力 .其他…………
動畫圖解資料結構使用Python
最完整的「影音數位教材」、完整的「動畫電子書教材」、附有「自我評量測驗系統」的教材;本書以嚴謹的架構和豐富的內容帶領讀者進入資料結構的殿堂,搭配多樣的內容和圖片說明,讓您更快掌握程式技巧,迅速提升作業效率。 學習目標:每一章的最前面都有引言來說明學習目標,以啟發學習動機。圖解說明:利用圖文並茂來說明資料結構的概念知識。動態展示:將演算法實作出視覺化的操作介面,讓學習者更瞭解資料結構的運作原理。流程架構:以「輸入--- 處理--- 輸出」流程來說明程式設計概念。教學評量:每章節最後附有教學評量,協助讀者課後練習與自我測驗。教師手冊:包括教學投影片及問答題及實作題完整的解答。
敏捷解密|內行人的敏捷企業轉型指南
敏捷解密|內行人的敏捷企業轉型指南 啟動、維持、改善敏捷企業轉型的實務指南 “如果不知道敏捷轉型如何開始,你可以從這本書開始”。 -Jurgen Appelo,《Management 3.0》與《Managing for Happiness》作者 “這本書是敏捷企業轉型的領導者必備的參考書”。 -Jason Kline,SolutionsIQ/Accenture的Agile實踐領導人 “...如果你正在認真考慮轉型為敏捷的做法,你會希望Jorgen幫助解密”。 -James Grenning,敏捷宣言簽署人 隨著長期競爭力消失,企業領導人與顧問公司知道必須做出真正的敏捷轉型。本書作者揭露什麼可行、什麼不可行、以及如何克服障礙。 Hesselberg憑著十數年的企業敏捷轉型經驗指導你啟動改變、維持動能、並在前進過程中善加執行對客戶的承諾。他幫助你識別合適的顧問、組織結構最佳化、設定務實目標、進行評估。同時分享Intel、Nokia、Salesforce.com、Spotify等轉型先鋒的第一手內幕。 ‧以正確做法、速度平衡建置 ‧以敏捷的五個維度設計轉型策略:科技、組織設計、人、領導、文化 ‧提升員工的敏捷技能、知識、能力 ‧利用Level 5、Teal、Beyond Budgeting等領導模型 ‧以業務敏捷標準影響日常並改變組織文化 ‧建立推動敏捷轉型的敏捷工作組 ‧定義營運模型與策略路徑圖以實施敏捷並追蹤進度 你已經認識敏捷轉型的基礎,接下來要擬定策略、在你的環境中執行並達成。 Jorgen Hesselberg 是Comparative Agility這家敏捷評估與改善平台的共同創辦人。他在過去十數年間領導無數個企業成功的改變並對數千個專業人士進行敏捷、Scrum、破壞性創新、企業轉型策略的訓練。
Java RWD Web企業網站開發指南|使用Spring MVC與Bootstrap
行動應用大趨勢,企業網站新主流 由前端到後端,由基礎程式到應用框架,本書一次蒐錄! 行動應用的潮流裡,隨著前端技術的成熟,響應式網頁設計(RWD)為企業提供比APP更快速、更具成本競爭力的解決方案,是不可忽視的趨勢。 作者結合實務開發與課堂教學經驗,由淺入深地介紹掌握這波趨勢必要知能: ‧前端網頁應用程式:包含HTML、CSS、JavaScript、JQuery與Bootstrap。本書著重已知元件和函式庫的應用,美編設計與前端程式開發不在包含範圍。 ‧Sevlet、JSP與網站伺服器:說明Java EE的容器元件架構,並以網站開發的Model-View-Controller思維貫穿篇章,縷述元件開發細節。 ‧Java網站框架:包含Spring的DI、AOP、JDBCTemplate,Spring MVC與SiteMesh。 最後,著眼於現代網站多具備亮眼的使用者介面(User Interface),本書以合法授權的Bootstrap企業級模板為基礎綜合實作,完整呈現建構Java RWD Web必備的知識與技能。
輕鬆學習:手機程式設計App 使用AppInventor 2 中版介面
【三大優勢】 1.透過「拼圖方式」來訓練學生邏輯及問題解決能力的重要工具。 2.透過「拼圖方式」來快速建構學生「創造力」的AndroidApp。 3.透過「拼圖方式」來開發NXT樂高機器人手機控制程式。 【五大特色】 1.提供「雲端化」的「整合開發環境」來開發專案 2.提供「群組化」的「元件庫」來快速設計使用者介面 3.利用「視覺化」的「拼圖程式」來撰寫程式邏輯 4.支援「娛樂化」的「NXT樂高機器人」製作的控制元件 5.提供「多元化」的「專案發佈模式」來輕易在手機上執行測試 【適用對象】 1.中、小學的學生(青少年)的才藝課程、夏令營。 2.高中、職學生的程式設計及社團。 3.大專學生之「程式設計卅雲端技術卅多媒體應用」的課程。 4.對於App開發有興趣的初學者。 本書特色 本書的主要特色就是專為英文學習有障礙或初學者克服英文介面的問題,筆者使用「中文介面」來引導學習者學習創意APP 手機程式設計。
建立演進式系統架構|支援常態性的變更
“每位架構師都能夠從本書的專業觀點和實踐方法獲益良多,真希望我十年前就得到這本書。很開心它問世了。” —Dr. Venkat Subramaniam 獲獎作者暨Agile Developer公司創辦人 由於軟體開發生態系統不斷變化,持續提供新工具、框架、技術與規範,架構師再也不能只做靜態的規劃了。這種情況讓脆弱系統的擁有者頭疼,卻也因此帶來終極解決方案。近年來,軟體工程實踐法的核心——漸進開發已奠定了基礎,讓人們重新思考該如何隨著時間演進架構。本書整合這些實踐技術,提供新的方式,讓你重新思考「架構」與「時間」的交會點。 建立演進式架構包括三個重點:適應度函數、漸進變更與適度耦合。來自ThoughtWorks的三位專家將分別介紹這三個層面,並且結合它們,展示如何建立可持續變更的架構。 你將探索: ‧適應度函數:這是架構必須展現或逐漸實現的特性 ‧漸進變更:透過開發與運維方法來逐漸變更 ‧架構耦合:找出正確的架構耦合程度,既支援變更又不讓架構脆化 ‧可演進資料:隨著需求與架構的變化改進資料結構 ‧建構可演進的架構:結合以上所有層面,建立演進式架構 ‧實際建立演進式架構:實際帶你入門
Scratch 積木創意遊戲樂無窮
【學程式,就從能引發孩子興趣的遊戲開始!】培養程式邏輯訓練,在玩樂中學習體驗Scratch互動式創意遊戲開發★易學易懂,培養全新體感遊戲實作基礎★從簡單的積木堆疊中,了解程式設計的邏輯★圖解式範例教學,直覺化的操控設計Scratch 是專門針對兒童開發的,它將原本的程式指令轉化成一個個的積木方塊,只需將這些指令積木進行簡單的拖曳組合,就可以完成卡通、動畫及遊戲的製作。整個過程就像小孩子玩積木一樣簡單而有趣。愛玩是小朋友的天性,Scratch 正是針對小朋友的這一天性而開發的,讓孩子自己設計好玩的卡通、動畫和遊戲,寓教於樂。儘管Scratch與專業的程式設計語言還有很大的差距,但是其基本概念如座標、方向、邏輯運算、條件等都是一樣的。因此,學好了Scratch,無疑為以後學習更高階的程式設計語言打下良好的基礎。