Kent Beck的測試驅動開發:案例導向的逐步解決之道
先求有,再求好,後求美 Kent Beck的測試驅動開發,帶領你快速突破軟體開發的重重難關! 讓你不再糾結、不再徬徨、不再浪費寶貴的時間! 譯者特別得到作者Kent Beck的授權, 將範例變更的歷程,放到GitHub上公開呈現每一個步驟的演進, 使讀者能夠搭配書中解說以理解TDD開發軟體的精髓! 「簡潔且執行正確的程式碼(clean code that works)」,這似乎是許多程式開發難題所存在的矛盾。而測試驅動開發(Test-Driven Development,TDD)則以矛盾、違反直覺的方式來解決這樣的矛盾問題:在你開始撰寫產品程式碼之前,先寫程式測試它。 這是什麼創新的想法嗎?完全不是。自從有電腦以來,程式開發人員就已經會在撰寫之前,先確認其輸入與輸出的結果。TDD只是採用這個古老的想法,並將它與現代程式語言和開發環境相互結合,端出一道滋味美妙的佳餚以滿足你對「簡潔且執行正確的程式碼」的渴望。 開發人員每天都在面對複雜的開發難題,然而最佳解決方案不可能隨時都準備好來派上用場。但屢見不鮮的是,這樣艱辛的專案往往面臨巨大的壓力,並隨之而來產生大量且糟糕的程式碼。為了獲得征服這樣看似艱鉅任務所需要力量與勇氣,開發人員應該了解一下TDD,這是一系列經過驗證可行的技術,能用來幫助開發人員同時設計出簡單好懂的程式,以及讓我們充滿信心的測試程式。 透過自動測試來驅動開發產品程式碼,然後消除程式中存在的重複,可使任何開發人員在面對無論多複雜的需求,都能寫出可靠、無錯誤的程式碼。除此之外,TDD的過程還能鼓勵開發人員更快速地學習、更清楚地溝通,並且從過程中尋求有建設性的反饋。 你將從本書學會: •要解決複雜的任務,先從簡單開始,然後逐步發展到處理更複雜的情況。 •在開始寫產品程式碼之前,先寫自動化測試程式。 •藉由每次的重構步驟,一次引入一個設計的決定,形成演進式的設計。 •能替那些複雜的邏輯(包含反射跟例外)撰寫對應的測試。 •使用一些模式來決定該寫哪些測試。 •使用xUnit來撰寫測試,xUnit是許多開發人員所使用的測試工具中的核心架構。 這本書透過2個以TDD方式開發的專案範例來貫穿全場,藉此來解說開發人員能用來輕鬆且顯著提高工作品質的技術。這些範例遵循TDD與重構的一些模式。透過敏捷方法與快速開發策略能帶來的價值,TDD一定能激勵讀者去擁抱這些強大但還未被充分發揮巨大價值的技術。 作者Kent Beck是軟體業界中最具有創意且廣受好評的領導者之一。他熱愛採用模式、極限程式設計與測試驅動開發,目前隷屬於Three Rivers學院。他是一位超級銷暢作家,作品有《Extreme Programming Explained》(Addison-Wesley, 2000)以及《Planning Extreme Programming》(與 Martin Fowler合著, Addison-Wesley, 2001)並為《Refactoring》(Martin Fowler, Addison-Wesley, 1999)一書之貢獻者。 本書範例檔:(本範例檔以GitHub方式呈現已透過原作者授權) tdd.best/book/tdd-by-example 好評推薦 想知道該如何對複雜的企業級需求化繁為簡嗎?如何能專注且輕鬆、不浪費每一分力氣地堆砌出最剛好的設計?該如何可靠穩定地建構出高易用性的API?如何隨心所欲地控制開發推進的步伐大小?如何透過持續的反饋進行實驗與學習,進而持續改善產品品質?如何將需求、驗收、測試、開發、設計各環節一以貫之,無多餘的一絲浪費?這些問題的答案,以及現代敏捷開發的基礎與核心,都在 Extreme Programming與 TDD 祖師爺 Kent Beck 這本經典代表鉅作中。-連任九屆微軟最有價值專家 陳仕傑(91)
Python程式設計技巧|發展運算思維-第二版(含「APCS先修檢測」解析)
*新修訂二版,解題邏輯說明更加詳實。 *針對重點內容,作者親自錄製影音教學影片,是初學者學習與教師教學的最佳輔助工具。 *Python指令相關規範複雜,本書審慎挑選對初學者重點部分整理說明,配合範例學習均可順利完成。 *書中所用的指令精簡,變數盡可能用簡單字母定義,程式簡單易懂。 *運算式的運算範疇有些相當細膩瑣碎,作者僅挑重要部分說明,對於初學者應游刃有餘。 *本書強調對學習者建立「運算思維」,從簡單範例說明逐步建立學習者編寫程式的技巧。建議學習者在觀摩執行範例之後,能夠利用很短的時間,自行撰寫程式一次,對於學習會有很大的幫助。 *書中附有APCS大學程式設計先修檢測(離線和上傳程式的)測資讀取方法說明,應考前不可不知。 *本書範例程式、影音教學影片請至http://gg.gg/py-book下載。
Android App 程式設計 高手
近年來,行動裝置的盛行,帶動Android作業系統的蓬勃發展,Android作業系統隨著市占率節節攀升的同時,不論是業界的韌體工程師,軟體應用工程師或是學術界的教職,莫不投入極大的心力下去,本書的一大特色是範例完全由圖解一步步來講解,讓讀者沒有閱讀上的負擔。本書涵蓋Android專案架構、使用者介面設計、活動及服務的生命周期、感應器的撰寫、錄影及照相功能、Intent的使用最新的Google Map API Android V2的寫法、SQLite資料庫撰寫、手勢辨識……等。範例採取大量詳細的圖示及程式碼分步驟講解,破除學習Android的障礙,有一定程式基礎的人,甚至不用動手上機操作,就可閱讀明白書中範例執行的過程與結果。本書採用先講解後實作的流程,加上關鍵性的重點提示,使學習Android APP的效率大大的提升。
Python網路文字探勘入門到上手:10堂基礎+5場實戰,搞定網路爬蟲、文本分析的淘金指南
文字探勘,離我們一點都不遙遠。小至今天吃什麼,大至國際動態趨勢,想知道風往哪吹熱度怎麼蹭,就是派它上場的時刻!✦每位渴望突破的程式設計新手都應該閱讀的一本書✦隨書附贈光碟:內含範例程式資料檔、習題解答程式檔。從做中學,效果加倍!翻開程式工具書就頭昏眼花的症頭✔口語化的親切教學,不怕你嫌生硬只怕你嫌囉嗦埋頭學習卻經常找不到方向的迷航學子✔範例導引式編排,附習題,示範編碼、驗收成果。不甘於紙上談兵的實用主義者✔豐富多元的探勘實作,PChome 24h、Google 學術、PTT八卦版到達純文字極限,數位學習上癮的科技人✔QRcode影音課程畫龍點睛,針對部份操作重點,加強吸收力度。▶▶▶大數據時代,網路的電子化文本恆河沙數,新聞、google、PTT、部落格、購物網、Facebook、Twitter,無一不是非結構化資料。偏偏在0和1的世界,要想馴服它們,就必須「轉換」為電腦可判讀的結構化資料。 這個「轉換」的過程,就是文字探勘的研究領域,具有高度商業價值。本書給魚也給竿,帶領我們駕馭這項新興技術。攜手踏入網路爬蟲的場域,無論你是——●程式設計零基礎,想在網路進行資料探勘的初心者●統計學一知半解,卻需要時刻關注最新動態的社群小編●需要快速調查、統合資源的市調顧問、行銷企劃工作者●正好缺乏質性文本分析數據的社會科學研究者 使用最新版本的Python3,易讀、易學且擴展性強的語法特點。●從零開始,由安裝教起,快速習得10大基本技巧、萃取有用資訊。●現學現賣,5大實戰演練,精進探勘能力:PChome 24h-商品資料、Google學術-論文資料、PTT 八卦版-PO文資料、誠品金石堂-書籍比價系統、PTT 政黑版-文字雲和長條圖。▶▶▶按部就班,嗅得先機。你,也可以是全新領域的開拓者!
TypeScript 程式設計
創造應用程式規模的JavaScript 「如果你想要深入學習TypeScript,找這本書就對了。《TypeScript程式設計》展示了在JavaScript之上使用型別系統的所有好處,並提供深刻的見解幫助你精通此語言。」 —Minko Gechev 工程師,Google Angular團隊 「《TypeScript程式設計》讓我快速且有效地了解TypeScript工具鏈和整個生態系統。我有過的每個使用問題都被簡潔有力的實務案例所解答了。「進階型別」那一章分析了我常感到疑惑的術語,並展示如何運用TypeScript創造極度安全但用起來依然令人愉悅的程式碼。」 —Sean Grove OneGraph共同創始人 使用動態型別語言的程式設計師都會告訴你,要將程式規模擴展為更多行的程式碼並由更多工程師維護,有多麼困難。那就是Facebook、Google和Microsoft為他們動態型別的JavaScript和Python程式碼發明逐步靜態型別層的原因。這本實務的書籍會向你展示,這種型別層之一的TypeScript是其中獨一無二的佼佼者:它會以其強大的靜態型別系統來讓程式設計變得有趣。 如果你是具有中等JavaScript經驗的程式設計師,作者Boris Cherny會教授你如何精通TypeScript語言。你會學到TypeScript如何能幫助你消除程式碼中的臭蟲,並讓你更輕易將程式碼的規模拓展,讓更多工程師維護。 在本書中,你會: ‧從基礎開始:學習TypeScript不同的型別和型別運算子,包括它們的用途,以及如何使用 ‧探索進階主題:了解TypeScript精密的型別系統,包括如何安全地處理錯誤,以及建置非同步的程式 ‧實際動手做:並用你最愛的前端和後端框架與TypeScript,將你既有的JavaScript專案遷移至TypeScript,並且讓你的應用程式正式上線執行
增壓的Python|讓程式碼進化到全新境界
"Brain Overland讓寫程式變簡單了.... 令我驚訝的是,這本書將複雜的程式碼解釋的非常清楚,清楚到任何人都能理解" -Art Sedighi, PhD 充份利用Python強大的功能並不困難,本書是為了那些已經有Python語言基礎知識,想要將技術提昇到下一個層級的讀者所寫。 首先會帶您快速回顧Python,後續內容包含:進階list和字串技巧;處理文字與二進位檔案的方法;金融應用程式;撰寫類別的進階技術;產生器與修飾器;以及如何運用套件,例如Numpy(Numeric Python)強化應用程式。 ‧像大師般使用profiles和「魔術方法」撰寫程式碼 ‧使用正規表達式的強大功能,只用一個述句就能快速處理文字 ‧利用22個寫程式的捷徑和提昇效能提示,節省時間和優化程式碼 ‧建立真正實用的類別和物件,應用於遊戲、模擬、貨幣、數學等領域 ‧使用多個模組來建構強大的應用程式,同時避免誤入「陷阱」 ‧匯入套件可以誇張地加速統計操作-提昇100倍! 不論你是在寫處理大量資料的程式,或是建立複雜的應用程式,書中示範的技巧會讓您能更快寫出功能更強大的程式碼。
ABAQUS+Python:讓CAE如虎添翼的雙倍能量(絕賣版)
學習CAE軟體最大的問題絕對不會是操作或概念,一般CAE使用者的強項通常都是在設計或理論,當遇到需要控制時,往往必須依靠程式語言來處理。程式語言本身就是一門大學問,再加上要和CAE整合,往往被使用者視為畏途。Abaqus Python就是解決這個問題的最佳答案。Python易學易用功能強大,語法簡單清楚直覺,已儼然成為程式語言的王者,現在跨足CAE,更是學習者的一大福音。本書作者結合自己多年Abaqus使用經驗,採用語言API說明+實例說明的方法來介紹Abaqus/Python使用過程中比較有意思的一些基礎知識,希望能幫助讀者進入Abaqus/Python的領域。商品特色:˙業界強力卓越的模擬分析軟體-Abaqus˙使用Python指令碼語言實現分析的自動化˙簡化部分重複性操作方便使用˙訂製特定的分析流程以加強工作效率˙快速有效建立、編輯、監控、診斷與後處理˙結合其他軟體擴充使用場景適用:正在使用Abaqus進行模擬分析工作的工程師或學習Abaqus Python二次開發方法者。
資料結構:使用Java
本書以淺顯易懂的方式,透過圖文並茂、圖解說明豐富的內容,讓您學習如何設計良好的資料結構及演算法,進而設計高效率的程式。詳盡解說各種資料結構,讓讀者掌握資料結構的精髓。 & 本書特色 & 資料結構的基本觀念,以Java語言來進行解說;各章中的全真綜合實作測驗,詳細解析與該章主題;共十章的課程安排及訓練,培養紮實的學習基礎。
Scratch 3.0程式設計好好玩:初學者感到安心的步驟式教學,培養邏輯思維,算數、遊戲、畫圖、配樂全都辦得
寫程式就像玩樂高一樣簡單又好玩! 扎根程式教育,從這一本開始 英國權威DK出版社開發的Scratch3.0全方位教學遊戲書 步驟最詳細、解說最到位 老師教案必備、親子共學最佳教材,自學者也能享受寫程式的樂趣! 更多應用、無限想像!Scratch 3.0介面功能全新升級! 麻省理工學院媒體實驗室開發,最多初學者使用的程式語言, 跟著本書的引導學會Scratch,也就掌握了銜接所有程式語言的基礎! 108課綱將「資訊科技」列為核心素養,並將「程式設計」列入進階的科技領域中。覺得程式設計聽起來很難?不知道要怎麼學?美國麻省理工學院媒體實驗室開發的Scratch是全球最多人使用的免費程式教學軟體,只要拖拉、組裝,就可以設計出好玩的遊戲,也是學童最容易上手的程式語言。 本書的每個專案都會分解成清楚的步驟,跟著圖解說明,就能熟悉Scratch 3.0程式語法,接著一步一步學會如何靈活運用工具完成故事、動畫、美術、音樂等專案,還可以加入自己的創意,玩出獨一無二的程式作品,打開程式學習的大門! =本書特色= ★新課綱「科技領域」最佳先修課程 ★最新!採用Scratch 3.0──由麻省理工學院媒體實驗室開發,最多初學者使用的程式語言升級版 ★ 導入PBL (專案式學習) 來探索興趣,引導教學並鼓勵創作延伸。創作後能與全世界分享作品,增加自學與共學樂趣! ★從「程式語言」到「專案管理」,培養程式邏輯思維、思考力、想像創造力 ★英國權威DK出版社最新發行,最詳細的步驟教學、在動手操作中成就達成 =各界推薦= 周子鈺 史汀實驗室研發總監 胡信忠 宜蘭縣二城國小老師、宜蘭縣科技領域兼任輔導員 許庭嘉 國立臺灣師範大學科技應用與人力資源發展學系教授 黃鐘瑩 兒童程式自由教育者 蔡淑玲 樂學科技創辦人 本書非常適合培養創造力,學生有自然而然整合及活用跨科能力的機會,在完成每個小專案的過程中,同時發掘控制電腦運作的邏輯,成為一個具備基本運算思維素養的孩子。──許庭嘉& 國立臺灣師範大學科技應用與人力資源發展學系教授 本書從Scratch入門的基礎概念開始,逐步引導到進階結構化程式,學習各種有趣好玩的程式設計專案,是一本非常值得推薦適合初學者安心學習的好書。──胡信忠 宜蘭縣二城國小老師、宜蘭縣科技領域兼任輔導員 &
管理技術債
減少軟體開發摩擦 “這是一本非常智慧和實用的書,展示作者在品質體系方面擁有豐富的實務經驗。讓你認識技術負債是什麼、不是什麼、如何管理,以及如何以負責任的方式償還。我希望在剛開始職業生涯時就讀到這本書。作者根據多年的經驗提出了無數的案例研究與可應用於專案的見解。” —Grady Booch,IBM同事 管理技術負債以提升軟體品質與生產力 隨著軟體系統的成熟,早期受限於預算或時程壓力下所做的設計或決策,逐漸阻礙後續的系統發展和創新,這種現象稱為技術負債。三位專家在管理技術負債方面提出了實用的解決方案,提供整合、務實的原則和做法,軟體開發者可依靠這些原則和做法來控制軟體系統中的技術負債。 作者以實際案例解釋影響軟體密集型系統(software-intensive systems)的技術負債形式,根本原因與影響。他們引入經過驗證的方法來識別和評估技術負債的具體來源、限制新債務,並隨著時間「償還」負債。他們說明如何將管理技術負債作為組織中的核心軟體工程實踐。 ‧發現技術負債如何影響管理、品質、生產力、士氣,以及如何處理 ‧找出負債原因,包括業務目標、原始碼、架構、測試、基礎設施 ‧分析技術負債的代價以安排優先行動 ‧為每一項技術負債選擇正確的解決方案:消滅、降低或緩和 ‧整合減少新負債的軟體工程實踐 《管理技術債》是軟體從業人員加速現有系統創新或讓新系統容易維護與進化的絕佳參考資源。
量子計算實戰
利用Python量子組合語言以及IBM的Q Experience編寫量子程式 在全新的量子計算領域發展演算法及程式。本書涵蓋幾個主題,例如量子電腦的物理特性:包括量子位元(qubit)、糾纏(entanglement)、邏輯閘電路,以及其與傳統電腦的區別。此外,《量子計算實戰》也利用IBM的Q Experience探討雲端的量子計算。討論的項目包括有:作曲家程式(composer)、量子分數、實驗、電路、模擬器、實際的量子裝置等等。讀者可以在雲端的實際量子裝置上面執行程式。 另外,本書也教你怎麼用QISKit(量子資訊軟體套件)、Python SDK、以及其他像QASM(量子組合語言)這類的API來寫量子程式。讀者將學會用這些語言編寫程式碼,並且以本地/雲端的模擬器或IBM的Q Experience提供的真實量子電腦來執行。最後,我們還會學到糾纏態、隨機數字產生、線性搜索、質因數分解及其他一些常見的量子演算法。並因而有機會探討糾纏貝爾狀態的內部機制、Grover線性搜索、Shor質因數分解,以及包含最佳化領域的其他一些演算法。 在學習過程中還會用魔方(Magic Square)來探討遊戲理論。魔方是類似量子傳心術的一個例子,身在其中的參與者互相分享糾纏態,並且可以被觀察出彼此之間有某種程度的通信機制存在。遊戲中Alice與Bob跟裁判員對賭,利用量子力學有辦法讓Alice跟Bob只贏不輸! 讀完本書後,讀者將理解此新興技術相較於傳統電腦,是如何實現了大規模的平行度及巨大的計算效能改善。並將具備編寫量子計算程式之能力—量子電腦被預期將取代資料中心的傳統電腦。 讀者將學習 ‧使用最早出現的網頁控制台:Q Experience作曲家程式,來打造視覺化的程式/實驗,並傳送到模擬器或雲端的真實裝置執行 ‧利用Q Experience REST API遠端執行程式 ‧寫出比傳統版本更強大的量子版本演算法 ‧建立Node.js REST客戶端程式,用來認證、列出遠端裝置、查詢量子處理器資訊、列出或執行雲端上的程式/實驗 ‧打造量子數字產生器:即帶有量子意涵的典型硬幣拋擲 ‧發掘量子遙傳:此演算法展示如何將一個量子位元或量子資訊的確切狀態,藉由傳統通信及發送/接收者之間的量子糾纏,從某處傳至他處 ‧以帶有量子意味、典型的戰艦遊戲一窺單一個量子位元的運作 ‧解決偽幣問題:這是個古典的謎題,探討在總共8枚硬幣的槓桿秤中,如何只用兩個步驟找出偽幣 適合本書的讀者 對量子計算這項新領域有興趣的發展人員及程式設計師。
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語言編寫高手,本書也應該成為你案頭上的必備書籍。
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雲課堂學員 任宣秈
圖解資料結構-使用Python(第二版)
這是一本如何將資料結構概念以Python程式語言實作的入門書。特色在於將複雜的理論以圖文並茂的方式解說和詮釋。首先從基本的資料結構概念開始,接著陸續以Python語言闡述陣列結構、堆疊、鏈結串列、佇列、樹狀、圖形、排序、搜尋等重要的觀念。附錄更提供Python語言的快速入門,和使用Python程式除錯經驗分享。 每章重要理論均有範例實作,收錄了完整的演算法及程式執行畫面,讀者可依照個人學習進度作練習,除此之外,大量蒐集符合各章教學內容的習題,供隨時驗收學習成果。 本書特色 ◎內容架構完整,邏輯清楚,採用豐富的圖例來闡述基本觀念及應用,有效提高可讀性。 ◎以Python語言實作資料結構中的重要理論,以範例程式說明資料結構的內涵。 ◎強調邊做邊學,提供書中範例完整程式檔,給予最完整的支援,加深學習的記憶。 ◎Python程式除錯經驗分享,收集各種錯誤訊息的解決建議。
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) ‧串列與排序 ‧行程管理 ‧智慧型比對 ‧第三方模組的使用
自動化測試+網路爬蟲:至尊王者Selenium 3
全書共分14章, 第1章 介紹自動化測試相關的基礎知識。 第2~10章 是本書的重點,從環境搭建、WebDriver API介紹,再到單元測試框架的使用,循序漸進地介紹自動化測試所用到的知識,最後再透過專案將這些知識串聯起來。 第11章 詳細介紹如何使用Jenkins配置自動化測試專案。 第12~14章 介紹行動自動化測試工具appium的使用。 本書寫作目的並不只是簡單地告訴讀者如何使用一個自動化測試工具,而是希望讀者在學習本書的內容後能夠提升技術高度、拓展技術寬度,擺脫簡單的手工測試,向高級測試工程師邁進。 本書主要內容: ■ 介面測試基礎知識 ■ Postman 指令稿的應用 ■ 初識Postman 工具 ■ Jenkins、Git ■ Postman 基本操作 ■ 介面測試持續整合 ■ Postman 集合 ■ 專案介面測試實戰 本書特色 .全面介紹unittest和pytest兩大單元測試框架 .透過20個範例展示WebDriverAPI使用場景 .用自動化專案串聯知識點
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
科班出身的AI人必修課:OpenCV影像處理 使用 python
電腦視覺技術的應用越來越廣泛,有非常多的軟體工具和函數庫可以用來建置電腦視覺應用,針對Python的OpenCV就是一個很好的選擇,本書正是針對以Python為基礎的OpenCV來說明的。 Python和OpenCV結合,必將產生巨大的威力。本書以OpenCV官方文件的知識脈絡為主線,在此基礎上對細節進行補充和說明。 本書不僅介紹 OpenCV 函數的使用方法,還介紹函數實現的演算法原理。在介紹 OpenCV 函數的使用方法時,提供大量的程式示例。 在介紹函數對圖像的處理前,先展示函數對數值、陣列的處理,方便讀者從數值的角度觀察和瞭解函數的處理過程和結果。在介紹具體的演算法原理時,使用通俗易懂的語言和貼近生活的示例來說明問題,避免使用過多複雜抽象的公式。 適合讀者群:電腦視覺領域的初學者、專業技術人員、影像處理愛好者,或相關科系師生做為學習參考教材。 本書特色 介紹以Python為基礎的OpenCV視覺函數庫的使用 內容通俗易懂、生動有趣,案例豐富,實用性強
介面測試自動化極緻應用: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等工具的使用方法 ➢提供大量的測試小案例,幫助讀者掌握測試要點 ➢全面解析介面自動化測試持續整合實戰專案,整體掌握測試技巧
Think Julia|如何像電腦科學家一樣思考
"本書精采介紹了程式語言的基礎以及Julia語言。極度推薦!" -David P. Sanders, 墨西哥國立自治大學教授 如果您正要開始學寫程式,Julia是一種絕佳之即時編譯、動態型別(dynamic typed)、且語法簡潔的程式語言。本書使用Julia導引您一步步進入程式設計的領域。從最基礎的程式概念開始,逐步進展至更進階的技巧,例如建立新型別與多重分派(multiple dispatch)。 Julia原是為了高效能運算而開發的,但也是適用於數值運算、計算科學,乃至於網頁程式設計的通用語言。透過各章後面的習題,您將可實際練習所學到的概念。《Think Julia》適用於高中與大專學生,自修人士與需要學習程式基礎概念的讀者也同樣適合閱讀。 ‧由基礎語法與語意開始介紹 ‧清楚解釋每一程式概念的定義 ‧循序漸進的學習什麼是值、變數、敍述、函數與資料結構 ‧學習如何操作檔案與資料庫 ‧瞭解何為型別、方法與多重分派 ‧使用除錯技巧修正語法、執行與語意錯誤 ‧運用案例探索介面設計與其資料結構
入手大數據DB的輕鬆選擇(熱銷版):HBase快上手
由淺入深地講解HBase概念、安裝、配置、部署,從應用角度介紹高階用法、監控和性能最佳化;HBase是Apache旗下一個高可靠性、高性能、面向列、可伸縮的分散式存儲系統, 全書共分9章,由淺入深地講解HBase概念、安裝、配置、部署,再從應用角度介紹高階用法、監控和性能最佳化。■ 如果你還在尋找合適的環境,或想快速了解HBase功能,或你是公司的運行維護工程師,想知道如何架設HBase,「第2章 讓HBase 跑起來」適合你。■ 如果公司的運行維護工程師幫你架好環境,老闆催著你趕快做出專案,那麼 請直接看「第4章 用戶端API 入門」。■ 如果你更關心HBase 是如何實現它的資料結構的,建議你直接看「第5章 HBase 內部探險」。■ 如果你想知道HBase如何提升效能,建議你直接看「第8章 再快一點」。 ■ 適用於HBase初學者、希望深入掌握HBase的讀者、HBase應用開發人員和系統管理人員。
OpenCV 4 專案實務 第二版
用OpenCV與C++打造電腦視覺與影像處理應用程式 OpenCV是現今最好的開放原始碼電腦視覺庫,開發人員能夠建立完整專案,處理影像處理、動態偵測與影像切割等問題。不論是電腦視覺新手或是有經驗的熟手,本書透過實務範例與專案,帶領讀者了解OpenCV基礎概念與演算法。 從安裝OpenCV與基本影像處理開始,接著介紹使用者介面並深入影像處理的進階概念,讀者會學到複雜的電腦視覺演算法,探索機器學習與人臉偵測。接著帶領各位建立光流影像分析(optical flow video analysis)與複雜情境的背景相減,在最後一章還會學到文字切割與辨識,以及認識新加入與改善後的機器學習模組基礎。 讀完本書,讀者會熟悉OpenCV基礎,如矩陣運算、濾鏡與色階直方圖,也能夠熟悉常用的電腦視覺技巧,能夠從無到有建立OpenCV專案。 本書內容涵蓋 ‧在系統上安裝OpenCV 4 ‧建立編譯C++應用程式與管理相依性所需要的CMake命令稿 ‧了解基本的影像矩陣格式與濾鏡 ‧探索切割與特徵萃取技巧 ‧移除靜態場景的背景,找出影片監控影像中移動的物體 ‧透過各式技巧從即時影片中追蹤不同的物體 ‧使用OpenCV的新函式偵測文字並透過Tesseract辨識文字 ‧熟悉影像分類重要的深度學習工具
Regular Expression 橫刃萬解程式的關鍵語言:正規表示法
本書精解【正規表示法】,不只讓您構建起夯實基礎,更能讓您高端掌握絕佳應用技術 & 正規表示法(Regular Expression;簡稱regex、regexp、RE),又稱正規表達式、正規表示式、規則運算式、常規表示法;本書針對作者在開發中遇到的實際問題,以及其他開發人員諮詢的問題,歸納總結出一套巧妙用運用正規表示法解決問題的辦法,並透過具體的實例指導讀者進一步拆解、分析問題。 & 全書三大部分: 第一部分-主要說明正規表示法的基礎知識,涵蓋常見的正規表示法中之各種功能與結構。 第二部分-主要解說關於正規表示法更深入的知識,詳細探討了編碼問題、比對原理、解題思路與想法等。 第三部分-將前述介紹的各種知識實際運用於8種常用的程式語言:.NET、Java、JavaScript、PHP、Python、Ruby、Objective-C、Golang中,不但詳細介紹這些程式語言中正規表示法的具體用法,更辨析了版本之間的細微差異,既可以作為專門學習的教材,也可以作為有用的參考手冊。 & 本書適合經常需要進行文字處理(例如記錄檔分析或網路運行維護)的技術人員、熟悉常用開發語言的程式設計師,以及已經對正規表示法有一定了解的讀者閱讀。 & 本書特色 & 準確高效、簡潔規律,超強靈活性、邏輯性和功能性 幾乎遍及所有操作系統與程式語言皆能支援與應用
邊玩邊學程式設計: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程式設計入門、應用到精通-第五版
本書涵蓋以下三大學習主軸! 1.完整介紹App開發技術,培養扎實的實作能力 2.學習Android Studio操作技巧,晉級專業App開發人員 3.學習導入人工智慧與擴增實境功能App開發除了要懂程式相關技術之外,還要能夠善用Android Studio的強大功能,如:程式碼輔助編輯、檢視專案架構、程式碼重構。善用這些功能可以大幅提升App的開發效率和品質。筆者根據多年的教學和實務經驗,規劃出一條由淺入深的學習路徑。搭配簡單明確的單元主題和步驟式講解,讓您在學過之後,都能立即上手實作。此次改版特別加入詳細的程式碼和圖片輔助解說,讓讀者更快掌握重點,提升學習效率。相信本書一定可以帶領您從入門開始,一路晉升成為開發Android App的專家。 本書內容特色如下: *介紹Android Studio操作技巧,讓初學者能夠善用它的輔助功能,提升App開發效率。 *涵蓋各種Android技術主題,像是UI元件、Material Design、Fragment、Action Item/View、動畫效果、影音播放、拍照…等。 *完整的Intent相關技術,包括Activity資料傳送和接收、Intent Filter、Broadcast、Service…。 *Google地圖與定位技術,讓您學會開發Location-Based Service (LBS) App。 *學習導入Firebase ML Kit和TensorFlow Lite人工智慧功能。 *學習使用ARCore套件實作擴增實境。
第一次學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++語言撰寫程式外,更能加強運算思維及演算邏輯訓練 【精彩篇幅】 ■ C++設計入門暖身體驗、大話資料處理、玩轉運算式與運算子 ■ 活用程式流程控制、精通函數與巨集、細說陣列與字串 ■ 從零開始學指標、自訂資料型態設計與應用 ■ 物件導向程式設計的入門黃金課程、解析運算子多載 ■ 實戰類別繼承與虛擬函數、樣板與例外處理入門精要、檔案管理實例導引 ※本書範例檔案請至深石數位官網下載 本書特色 ◆ 兼顧質與量的程式範例學習,快速掌握程式語言的編譯核心。 ◆ 全書架構嚴謹,讓讀者於學習程式設計時獲取最正確的觀念。 ◆ 各章附有相應習題,結合理論與實務的演練機會。 ◎ 架構嚴謹,重點精要,核心掌握 ◎ 質量兼顧,實作易學,豐富範例 ◎ 條理清晰,正確建構,穩紮實力
輕鬆學會運算思維與C# 程式設計實例
► C#是種完全支援物件導向的程式語言,學習起來非常簡單與直覺,可讓程式設計更加容易修改、重複使用、擴充與維護;且具有強大的類別庫支援,能有效降低程式開發成本。 ► 結合運算思維與演算法基本觀念,並以C#語言實作;為了降低讀者學習障礙,所有範例都是完整程式碼,能在Visual Studio Community 2019環璄下正確編譯與執行。 ► 以入門者角度介紹與深入探索,除了學習以C#語言撰寫程式外,更能加強運算思維及演算邏輯訓練。 【精彩篇幅】 ■ 運算思維與C#的初體驗、大話資料處理、運算式入門基礎 ■ 活用程式流程控制、細說陣列與字串、精通方法與參數 ■ 物件導向程式設計的入門黃金課程、從零開始學視窗程式 ※本書範例檔案請至深石數位官網下載 本書特色 強效基礎/質量兼重/深化專業/技能應用 ◆ 易學易懂穩紮基礎,高效駕馭運算思維 ◆ 深入概念探索,確切強化演算邏輯訓練 ◆ 充份注重內容質與量,完整範例降低學習障礙 直覺學習/入門精要/輕鬆速成/高效掌握
資料結構:使用Visual C#
本書以淺顯易懂的方式,透過圖文並茂、圖解說明豐富的內容,讓您學習如何設計良好的資料結構及演算法,進而設計高效率的程式。詳盡解說各種資料結構,讓讀者掌握資料結構的精髓。 本書特色 資料結構的基本觀念,以Visual C#語言來進行解說;各章中的全真綜合實作測驗,詳細解析與該章主題、十章的課程安排及訓練,培養紮實的學習基礎。
Python玩轉樹莓派GPIO控制
本書特色 樹莓派規格、安裝、設定到開發完整說明。 使用最熱門語言Python玩轉樹莓派GPIO控制。 外接轉接板,免去麵包板上的繁瑣佈線。 完整學習GPIO、LCD、ADC、1-Wire、SPI Bus、I2C Bus、IR、Motor及感測器等控制。 另備有教學影片,提高學習效率。