工業基本控制程式設計(RS485串列埠篇)
本書主要是運用RS 485與Modbus RTU的通訊協定,透過簡單易學的單晶片開發板與開發語言,透過一些簡單的例子,進而揭露工業控制一些簡單的思維、開發技巧與實作技術,並結合網際網路與物聯網技術,進入工業控制領域,將產業控制的專業技術,帶到物聯網與智慧生活之中。工業控制領域所需要的專業知識是多方面且跨領域,不但軟體需要精通,硬體也是需要有相當的專業能力,還需要熟悉許多工業上的標準與規範,這樣的複雜,讓工業控制領域的人才非常專業分工,而且許多人數十年的專業都專精於固定的專門領域,這樣的現象,讓整個工業控制在數十年間發展的非常快速,而且深入的技術都建立在許多先進努力基礎上,這更是工業控制的強大魅力所在。筆著希望透過簡單易學的Arduino單晶片/Ameba 8195 AM等相關開發版與C語言,將工業控制的專業技術帶入大眾智慧生活中,並整合物聯網技術、人工智慧、大數據、雲端技術等,進入智慧物聯網的領域,並希望有機會與工業4.0的產業技術互相連接,或許讓不專業的筆者做專業的事,有機會創造出另一種未來的技術火花。
Arduino程式教學(RFID模組篇)
本書主要是給讀者熟悉Arduino的擴充元件-RFID無線射頻模組。Arduino開發板最強大的不只是它的簡單易學的開發工具,最強大的是它豐富的周邊模組與簡單易學的模組函式庫,幾乎Maker想到的東西,都有廠商或Maker開發它的周邊模組,透過這些周邊模組,Maker可以輕易的將想要完成的東西用堆積木的方式快速建立,而且最強大的是這些周邊模組都有對應的函式庫,讓Maker不需要具有深厚的電子、電機與電路能力,就可以輕易駕御這些模組。本書介紹市面上最完整、最受歡迎的RFID無線射頻模組,讓讀者可以輕鬆學會這些常用模組的使用方法,進而提升各位Maker的實力。
Arduino程式教學(入門篇)
在克里斯.安德森(Chris Anderson)所著「自造者時代:啟動人人製造的第三次工業革命」提到,過去幾年,世界來到了一個重要里程碑:實體製造的過程愈來愈像軟體設計,開放原始碼創造了軟體大量散布與廣泛使用,如今,實體物品上也逐漸發生同樣的效應。網路社群中的程式設計師從Linux作業系統出發,架設了今日世界上絕大部分的網站(Apache WebServer),到使用端廣受歡迎的FireFox瀏覽器等,都是開放原始碼軟體的最佳案例。現在自造者社群(Maker Space)也正藉由開放原始碼硬體,製造出電子產品、科學儀器、建築物,甚至是3C產品。其中如Arduino開發板,銷售量已遠超過當初設計者的預估。連網路巨擘Google Inc.也加入這場開放原始碼運動,推出開放原始碼電子零件,讓大家發明出來的硬體成品,也能與Android軟體連結、開發與應用。目前全球各地目前有成千上萬個「自造空間」(makerspace)─光是上海就有上百個正在籌備中,多自造空間都是由在地社群所創辦。如聖馬特奧市(SanMateo)的自造者博覽會(Maker Faire),每年吸引數10萬名自造者前來朝聖,彼此觀摩學習。但不光是美國,全球各地還有許多自造者博覽會,台灣一年一度也於當地舉辦Maker Fair Taiwan,數十萬的自造者(Maker)參予了每年一度的盛會。本系列「Maker系列」由此概念而生。面對越來越多的知識學子,也希望成為自造者(Make),追求創意與最新的技術潮流,筆著因應世界潮流與趨勢,思考著「如何透過逆向工程的技術與手法,將現有產品開發技術轉換為我的知識」的思維,如果我們可以駭入產品結構與設計思維,那麼了解產品的機構運作原理與方法就不是一件難事了。更進一步我們可以將原有產品改造、升級、創新,並可以將學習到的技術運用其他技術或新技術領域,透過這樣學習思維與方法,可以更快速的掌握研發與製造的核心技術,相信這樣的學習方式,會比起在已建構好的開發模組或學習套件中學習某個新技術或原理,來的更踏實的多。本系列的書籍,因應自造者運動的世界潮流,希望讀者當一位自造者,將現有產品的產品透過逆向工程的手法,進而了解核心控制系統之軟硬體,再透過簡單易學的Arduino單晶片與C語言,重新開發出原有產品,進而改進、加強、創新其原有產品的架構。如此一來,因為學子們進行「重新開發產品」過程之中,可以很有把握的了解自己正在進行什麼,對於學習過程之中,透過實務需求導引著開發過程,可以讓學子們讓實務產出與邏輯化思考產生關連,如此可以一掃過去陰霾,更踏實的進行學習。作者出版了許多的Arduino系列的書籍,深深覺的,基礎乃是最根本的實力,所以回到最基礎的地方,希望透過最基本的程式設計教學,來提供眾多的Makers在入門Arduino時,如何開始,如何攥寫自己的程式,主要的目的是希望學子可以學到程式設計的基礎觀念與基礎能力。作者們的巧思,希望讀者可以了解與學習到作者寫書的初衷。
Ameba程式設計(物聯網基礎篇)
本書第一部分主要教導讀者如何使用Ameba RTL8195AM開發板連上物聯網平台ThingSpeak網站,並實作一個簡單的溫溼度感測裝置,將資料即時傳送到物聯網平台。第二部分是教導讀者使用Apache,自行建立網頁伺服器,並透過php程式開發,將該網站轉成一個自製的物聯網平台,研習上部分,將溫溼度感測裝置傳送到自行開發的物聯網網站。第三部分則更進階,直接使用Ameba RTL8195AM開發板強大無線網路功能,自行建立網頁伺服器,並整合聲音偵測感測模組,開發一個視覺化顯示功能的物聯網之智慧裝置。
ESP32S程式教學(常用模組篇)
本書主要教導新手與初階使用者之讀者熟悉使用ESP32開發板使ESP32S的屠龍寶刀-周邊模組。ESP32S開發板最強大的不只是它的簡單易學的開發工具,最強大的是它豐富的周邊模組與簡單易學的模組函式庫,幾乎Maker想到的東西,都有廠商或Maker開發它的周邊模組,透過這些周邊模組,Maker可以輕易的將想要完成的東西用堆積木的方式快速建立,而且最強大的是這些周邊模組都有對應的函式庫,讓Maker不需要具有深厚的電子、電機與電路能力,就可以輕易駕禦這些模組。所以本書要介紹市面上最完整、最受歡迎的37件ESP32S模組,讓讀者可以輕鬆學會這些常用模組的使用方法,進而提升各位Maker的實力。
學習物件導向系統開發的六門課
系統分析是國內資管與資工科系在大學時,必修的課程,其目的是希望學生在修完課業後,能自行針對不同的系統需要,執行必要的分析與設計,並利用建立模型,跟客戶與接下來的程式師做進一步的分析確認,然後使用常見的架構來實作模型,以提高實作時成功的機會,同時在實作的過程中,因為有多位程式設計師的參與,所以如何使大家寫程式的方式能有一致性,以利往後的程式維護。最後當然要將程式好好的測試一番,如此才能有成功上線的可能。成功上線是一個軟體在一開始開發時的唯一目標,可是卻是在系統分析的課程中最被忽略的目標。曹永忠博士在台灣的軟體業服務多年,具有充足的軟體實務成功經驗,本書運用範例展現在這序列的發展中所會遇到的許多棘手的問題,並使用範例來說明解決這些棘手問題的原則,我們希望這個拋磚引玉的書本能夠給讀者許多啟發,並能夠使讀者對發展軟體系統的實務更快上手。如果你是自詡為資管或資訊專業的人,卻連一個頗具複雜度的軟體案例都沒做過,那麼讀完本書的例子,並動手畫書中的模型圖,至少就能獲得一個製作夠複雜軟體專案的經驗。
Arduino 雙軸直流馬達控制
本書主要介紹以廢棄不用的噴墨列表機,拆解之後,對其進紙與噴墨頭雙軸機構,透過Arduino進行控制馬達的實作。Arduino是近來相當受到重視的單晶片控制裝置,除了可用來控制電子設備外,許多玩家也利用Arduino成功玩出一些具創意的互動設計與數位藝術。由於Arduino的使用簡單,許多專業系所及學校社團都推出課程與工作坊來學習與推廣。
Arduino程式教學(溫溼度模組篇)
本書主要是給讀者熟悉Arduino的溫度、濕度周邊模組的介紹、使用方式、電路連接範例等等。Arduino開發板最強大的不只是它的簡單易學的開發工具,最強大的是它豐富的周邊模組與簡單易學的模組函式庫,幾乎Maker想到的東西,都有廠商或Maker開發它的周邊模組,透過這些周邊模組,Maker可以輕易的將想要完成的東西用堆積木的方式快速建立,而且最強大的是這些周邊模組都有對應的函式庫,讓Maker不需要具有深厚的電子、電機與電路能力,就可以輕易駕御這些模組。本書要介紹市面上最常見、最受歡迎與使用的溫濕度模組,讓讀者可以輕鬆學會這些常用模組的使用方法,進而提升各位Maker的實力。
高溫控制系統開發(改造咖啡豆烘烤機為例)
本書題材主要應用在工業流程控制系統開發中。我們可以發現,溫度控制是產品自動化的一環中最常見到的一個控制項目,作者因緣際會遇到透過溫度控制的技術手法,本書就是要使用市售的EUPA 遠紅外線低脂旋風烘烤爐,將之改造成可程式控制的咖啡豆烘烤機,書中並有許多教授推廣這些技術的活動紀錄。
雲端平台(硬體建置基礎篇)
本書主要是在工業4.0環境之中,需要一個雲端平台來針對所有裝置資料進行儲存、分享、運算、分析、展示、整合運用…等廣泛用途,上述這些需求,我們需要一個簡易、方便與擴展性高雲端服務。筆者針對上面需求為主軸,以QNAP 威聯通 TS-431P2-1G 4-Bay NAS主機為標的物,從硬體安裝、設定、到系統建置、網頁伺服器安裝與設定到資料庫管理與建置範例,一步一步以圖文並茂方式呈現出來,主要是給讀者熟悉使用Arduino或其他開發板,再開發物聯網、工業4.0等用途時,針對雲端的運用,可以自行建置一個商業級的雲端服務,其穩定性、安裝困難度、維護成本都遠低於自行組立的主機系統,省下來的時間可以讓讀者專注在開發物聯網、工業4.0等產品有更多的心力。所以本書要介紹台灣、中國、歐美等市面上最常見的雲端伺服器商業產品,並一步一步以圖文並茂方式呈現建置、安裝、設定..等過程,期望讀者可以輕鬆學會這些產品建置技巧,進而在更高端、專業的伺服器安裝與設定上,可以類推學到的建置暨能,往更高的技術層次前進。未來筆者希望可以推出更多的入門書籍給更多想要進入『工業4.0』、『物聯網』這個未來大趨勢,所有才有這個工業4.0』系列的產生。
風向、風速、溫溼度整合系統開發(氣象物聯網)
本書針對環境監控為主軸,進行開發各種物聯網產品之專案開發系列,主要是給讀者熟悉使用Arduino MKR1000開發板來開發物聯網之各樣產品之原型(ProtoTyping),進而介紹這些產品衍伸出來的技術、程式攥寫技巧,以漸進式的方法介紹、使用方式、電路連接範例等等。這幾年來,社會群眾的環境意識覺醒,對環境的污染與監控,也普遍提高,然而空污直接影響居民的健康,在群眾自我覺醒的運動中,自造者結合的自造者運動(Maker Movement),影響了許多科技人士,運用感測科技與資訊科技的力量,結合臉書社群的號召,影響了全民空污偵測的運動,筆者也是加入的先鋒者之一,筆者發現,目前空污偵測,仍缺少二項資訊,那就是風向與風速等參考資訊,如果這兩項資訊可以加入在環境監控的資訊之中,那在空污資訊的大數據分析之中,將會將空污的汙染軌跡數位化,對整個社會,將產生更大的效用。本書應清水吳厝國小校長黃朝恭之邀,一同開發出風向、風速、溫溼度整合系統,所有的人都可以透過網際網路與手機APP(預定開發)隨時監看風向、風速、溫溼度等氣象資訊,未來在資源挹注之下,往後會再加入日照、紫外線(UV)、雨量、甚至地震感測器等多項感測功能,相信這樣的整合系統對於學子的健康與社區健康深感重要,鑑於如此,筆者將整個系統開發、建置、安裝與設定等經驗,分享於本書內容,相信有心的讀者,詳細閱讀之,定會有所受益。
人工智慧開發第一步 (硬體建置篇)
本書得以付梓,一切都要感謝MakerPro(https://makerpro.cc/)的主編:歐敏銓總主編邀請筆者針對目前人工智慧的熟門議題,開啟一個『人工智慧整合開發專欄』起說起,希望可以將筆者的經驗分享給各位讀者,而開始的議題則是物件偵測著手,由於筆者也到財團法人資訊工業策進會的AIGO計畫受訓,並且將學習心得與實務經驗整合,便著手開始攥寫『人工智慧整合開發專欄』,筆者發現,一切從零開始方為最踏實的方式,所以筆者開啟了『人工智慧整合開發系列』的第一本書:人工智慧開發第一步(硬體建置篇),以硬體主機的安裝與設定為基礎教學書籍開始攥寫,開始了本書的源起。這幾年來,人工智慧無異是最熱門的議題,各種的應用無不一一崛起,人臉辨識整合到門禁、環境監控等,物件辨識整合到無人結帳櫃檯、農產品品質監控、環境監控等,X光片、生理切片等生醫應用更是如火如荼的興起。但是有經驗的開發者、學者、實踐者深知,人工智慧背後帶來的數理基礎、系統開發的難度、系統整合的複雜度,比起以往的單一學門的學理與技術,更是困難許多。筆者不敢自稱人工智慧非常了解,只能算是喜好與研究者,對於人工智慧於物聯網、工業四、環境監控等議題相當有興趣,希望在學習人工智慧時,可以快速把人工智慧的應用整合到上述的領域之中,可以創造出更多創造性、更具影響性、更佳的實務性等應用,於是開始了本系列:人工智慧整合開發系列的攥寫。
溫溼度裝置與行動應用開發(智慧家居篇)
本書內容主要教導讀者,如何使用Ameba RTL8195AM開發板連上溫溼度感測模組,實作一個簡單的溫溼度感測裝置,透過藍芽裝置,連接手機藍芽通訊,實作一個智慧家居中,可以隨時偵測家居中溫溼度狀態,本書主要方向是教導讀者開發手機端的應用,並了解如何設計開發終端裝置與手機傳輸的資料的一個可行性範例,並一步一步教讀者如何實作出這樣的系統。Ameba 8195 AM/Ameba 8170 AF開發板最強大的不只是它相容於Arduino開發板,而是它網路功能與簡單易學的模組函式庫,幾乎Maker想到應用於物聯網開發的東西,可以透過眾多的周邊模組,都可以輕易的將想要完成的東西用堆積木的方式快速建立,而且價格比原廠Arduino Yun或Arduino + Wifi Shield更具優勢,最強大的是這些周邊模組對應的函式庫,瑞昱科技有專職的研發人員不斷的支持,讓Maker不需要具有深厚的電子、電機與電路能力,就可以輕易駕御這些模組。
Arduino步進馬達控制
本書針對目前學習上的盲點,希望透過現有產品的產品解析,透過產品簡單的拆解,以逆向工程的手法,將目前已有產品拆解之後,將核心控制系統之軟硬體,透過簡單易學的Arduino單晶片與C語言,重新設計出原有產品之核心控制系統,進而改進、加強、升級其控制方法。如此一來,因為學子們已經對原有產品有深入了解,在進行『重製核心控制系統』過程之中,可以很有把握的了解自己正在進行什麼,而非針對許多邏輯化的需求進行開發。本書以市面常見的步進馬達為主要開發標的,我們身邊不乏許多的東西,只要能動的產品,都需要馬達來當作動力來源。以『步進馬達控制』為實驗主體,透過小型步進馬達控制到使用驅動模組來使用步進馬達,來進行本書的內容,相信整個研發過程會更加了解。
Arduino程式教學(語音模組篇)
本書主要是給讀者熟悉Arduino的對外說話模組:語音模組。Arduino開發板最強大的不只是它的簡單易學的開發工具,最強大的是它豐富的周邊模組與簡單易學的模組函式庫,幾乎Maker想到的東西,都有廠商或Maker開發它的周邊模組,透過這些周邊模組,Maker可以輕易的將想要完成的東西用堆積木的方式快速建立,而且最強大的是這些周邊模組都有對應的函式庫,讓Maker不需要具有深厚的電子、電機與電路能力,就可以輕易駕御這些模組。本書要介紹市面上最常見、最受歡迎與使用的語音模組,讓讀者可以輕鬆學會這些常用模組的使用方法,進而提升各位Maker的實力。
Ameba氣氛燈程式開發(智慧家庭篇)
本書針對智慧家庭為主軸,進行開發各種智慧家庭產品之小小書系列,主要是給讀者熟悉使用Ameba RTL8195AM來開發物聯網之各樣產品之原型(ProtoTyping),進而介紹這些產品衍伸出來的技術、程式撰寫技巧,以漸進式的方法介紹使用方式、電路連接範例等等。Ameba RTL8195AM開發板最強大的不只是它簡單易學的開發工具,最強大的是它網路功能與簡單易學的模組函式庫,幾乎Maker想到應用於物聯網開發的東西,只要透過眾多的周邊模組,都可以輕易的將想要完成的東西用堆積木的方式快速建立,而且Ameba RTL8195AM開發板市售價格比原廠Arduino Yun或Arduino + Wifi Shield更具優勢,最強大的是這些周邊模組對應的函式庫,瑞昱科技有專職的研發人員不斷的支持,讓Maker不需要具有深厚的電子、電機與電路能力,就可以輕易駕御這些模組。
Arduino手機互動程式設計基礎篇
在克里斯.安德森(Chris Anderson)所著「自造者時代:啟動人人製造的第三次工業革命」提到,過去幾年,世界來到了一個重要里程碑:實體製造的過程愈來愈像軟體設計,開放原始碼創造了軟體大量散布與廣泛使用,如今,實體物品上也逐漸發生同樣的效應。網路社群中的程式設計師從Linux作業系統出發,架設了今日世界上絕大部分的網站(Apache WebServer),到使用端廣受歡迎的FireFox瀏覽器等,都是開放原始碼軟體的最佳案例。現在自造者社群(Maker Space)也正藉由開放原始碼硬體,製造出電子產品、科學儀器、建築物,甚至是3C產品。其中如Arduino開發板,銷售量已遠超過當初設計者的預估。連網路巨擘Google Inc.也加入這場開放原始碼運動,推出開放原始碼電子零件,讓大家發明出來的硬體成品,也能與Android軟體連結、開發與應用。目前全球各地目前有成千上萬個「自造空間」(makerspace)─光是上海就有上百個正在籌備中,多自造空間都是由在地社群所創辦。如聖馬特奧市(SanMateo)的自造者博覽會(Maker Faire),每年吸引數10萬名自造者前來朝聖,彼此觀摩學習。但不光是美國,全球各地還有許多自造者博覽會,台灣一年一度也於當地舉辦Maker Fair Taiwan,數十萬的自造者(Maker)參予了每年一度的盛會。本系列「Maker系列」由此概念而生。面對越來越多的知識學子,也希望成為自造者(Make),追求創意與最新的技術潮流,筆著因應世界潮流與趨勢,思考著「如何透過逆向工程的技術與手法,將現有產品開發技術轉換為我的知識」的思維,如果我們可以駭入產品結構與設計思維,那麼了解產品的機構運作原理與方法就不是一件難事了。更進一步我們可以將原有產品改造、升級、創新,並可以將學習到的技術運用其他技術或新技術領域,透過這樣學習思維與方法,可以更快速的掌握研發與製造的核心技術,相信這樣的學習方式,會比起在已建構好的開發模組或學習套件中學習某個新技術或原理,來的更踏實的多。本系列的書籍,因應自造者運動的世界潮流,希望讀者當一位自造者,將現有產品的產品透過逆向工程的手法,進而了解核心控制系統之軟硬體,再透過簡單易學的Arduino單晶片與C語言,重新開發出原有產品,進而改進、加強、創新其原有產品的架構。如此一來,因為學子們進行「重新開發產品」過程之中,可以很有把握的了解自己正在進行什麼,對於學習過程之中,透過實務需求導引著開發過程,可以讓學子們讓實務產出與邏輯化思考產生關連,如此可以一掃過去陰霾,更踏實的進行學習。作者出版了許多的Arduino系列的書籍,深深覺的,基礎乃是最根本的實力,所以回到最基礎的地方,希望透過最基本的程式設計教學,來提供眾多的Makers在入門Arduino時,如何開始,如何攥寫自己的程式,主要的目的是希望學子可以學到程式設計的基礎觀念與基礎能力。作者們的巧思,希望讀者可以了解與學習到作者寫書的初衷。
雲端平台(系統開發基礎篇)
本書主要是在工業4.0環境之中,需要一個雲端平台來針對所有裝置資料進行儲存、分享、運算、分析、展示、整合運用…等廣泛用途,上述這些需求,我們需要一個簡易、方便與擴展性高雲端服務。筆者針對上面需求為主軸,以QNAP 威聯通 TS-431P2-1G 4-Bay NAS主機為標的物,開始介紹如何使用QNAP 威聯通 TS-431P2-1G 4-Bay NAS雲端主機,從資料庫建立,資料表規劃到網頁主機的php程式撰寫、資料呈現,在應用Google 雲端資源:Google Chart 到Google Map等雲端資源的使用到程式系統的開發,一步一步的圖文步驟,讀者可以閱讀完後,就有能力自行開發雲端平台的應用程式。本文也使用讀者熟悉的Arduino或其他相容開發板,來進行微型系統開發的範例,希望讀這閱讀之後,可以針對物聯網、工業4.0等開發系統時,針對雲端的運用,可以自行建置一個商業級的雲端系統服務,其穩定性、安裝困難度、維護成本都遠低於自行組立的主機系統,省下來的時間可以讓讀者可以專注在開發物聯網、工業4.0等產品有更多的心力。未來筆者希望可以推出更多的入門書籍給更多想要進入『工業4.0』、『物聯網』這個未來大趨勢,所有才有這個工業4.0』系列的產生。
Wifi氣氛燈程式開發(ESP32篇)
本書以智慧家庭為主軸,提供讀者熟悉使用Arduino Compatiable開發板:ESP32來開發氣氛燈泡之商業版雛型(ProtoTyping),進而介紹這些產品衍伸出來的技術、程式撰寫技巧,以漸進式的方法介紹、使用方式、電路連接範例等等。ESP32開發板最強大的特點是完全相容Arduino開發板,搭載Lenonard相同的單晶片:ATmega32u4,並在板內加上無線模組:ESP8266 WiFi Module,無線網路涵蓋距離,在不外加天線之下,就可以到達20公尺,這對於家庭運用上,不只是足夠,還是遠遠超過其需求。更重要的是它簡單易學的開發工具、模組函式庫與網路功能,幾乎Maker想到應用於物聯網開發的東西,可以透過眾多的周邊模組,都可以輕易的將想要完成的東西用堆積木的方式快速建立,而且價格比原廠Arduino Yun或Arduino + Wifi Shield更具優勢,最強大的是這些周邊模組對應的函式庫,瑞昱科技有專職的研發人員不斷的支持,讓Maker不需要具有深厚的電子、電機與電路能力,就可以輕易駕御這些模組。
Ameba程式設計(基礎篇)
本書主要教導新手與初階使用者熟悉使用Ameba RTL8195AM開發板,使用最基礎的數位輸出、數位輸入、類比輸出、類比輸入、網際網路連接、網際網路基礎應用…等等。Ameba RTL8195AM開發板最強大的不只是它簡單易學的開發工具,最強大的是它網路功能與簡單易學的模組函式庫,幾乎Maker想到應用於物聯網開發的東西,只要透過眾多的周邊模組,都可以輕易的將想要完成的東西用堆積木的方式快速建立,而且Ameba RTL8195AM開發板市售價格比原廠Arduino Yun或Arduino + Wifi Shield更具優勢,最強大的是這些周邊模組對應的函式庫,瑞昱科技有專職的研發人員不斷的支持,讓Maker不需要具有深厚的電子、電機與電路能力,就可以輕易駕御這些模組。
演算法戰鬥營:爆量題庫新手燒腦篇
★★★★★【演算法】、【爆量題庫】★★★★★ 演算法戰鬥營,招收各路英雄好漢。 300道競賽試題,淬鍊你的腦神經,讓你從菜鳥晉升成教官! 本書技術重點 ✪貪婪演算法、分治演算法 ✪單鏈結、雙向鏈結、循環鏈結、靜態鏈結 ✪最短路徑、最小生成樹、拓撲排序、關鍵路徑 ✪雜湊表、字串模式比對、二元搜尋樹、平衡二元樹 ✪二分搜尋、深度優先搜尋、廣度優先搜尋、啟發式搜尋 ✪圖理論及圖理論的最強演算法 ✪歷史上經典演算法問題解決 本書特色 ◎完美圖解,通俗易懂 本書對每個演算法的基本操作都有圖解演示。透過圖解,許多問題都變得簡單,可迎刃而解。 ◎實例豐富,簡單有趣 本書結合大量競賽實例,講解如何利用資料結構與演算法解決實際問題,使複雜難懂的問題變得簡單有趣,幫助讀者輕鬆掌握演算法知識,體會其中的妙處。 ◎深入淺出,透析本質 本書透過問題看本質,重點講解如何分析和解決問題。本書採用了簡潔易懂的程式,對資料結構設計和演算法的描述全面細緻,而且有演算法複雜性分析及最佳化過程。 ◎實戰演練,循序漸進 本書在對每個資料結構與演算法講解清楚後,都進行了實戰演練,讓讀者在實戰中體會資料結構與演算法的設計和操作,從而提高了獨立思考、動手實踐的能力。書中有豐富的練習題和競賽題,可幫助讀者及時檢驗對知識的掌握情況,為從小問題出發、逐步解決大型複雜性工程問題奠定基礎。 ◎網路資源,技術支援 本書為讀者提供書中所有範例程式的原始程式碼、競賽題及答案解析,讀者可以對這些原始程式碼自由修改編譯,以符合自己的需要。
複雜架構極簡化:領域驅動設計(DDD)10倍程式開發速度
現在是你最需要了解DDD的時刻了! 當你要把一個問題拆解處理時,DDD將會是你最大的幫手。 本書最大的特色就是將整個DDD分成3大類。 第一大類為業務服務。 業務服務是全域分析的基本業務單元,在統一語言的指導下完成對業務需求的抽象,既可幫助我們辨識界限上下文,又可幫助開發團隊開展領域分析建模、領域設計建模和領域實現建模。業務服務的粒度也是服務契約的粒度,由此拉近了需求分析與軟體設計的距離,甚至可以說跨越了需求分析與軟體設計的鴻溝。 第二大類為菱形對稱架構。 雖然菱形對稱架構脫胎於六邊形架構與整潔架構,但它更為簡潔,與界限上下文的搭配可謂珠聯璧合,既保證了界限上下文作為基本架構單元的自治性,又融入了上下文映射的通訊模式,極大地豐富了設計要素的角色構造型。 第三大類為服務驅動設計。 服務驅動設計採用程序式的設計思維,卻又遵循物件導向的職責分配,能在提高設計品質的同時降低開發團隊的設計門檻,完成從領域分析模型到領域實現模型的無縫轉換,並可作為測試驅動開發的前奏,讓領域邏輯的實現變得更加穩健而高效。 本書特色 ●將整個DDD分成3大類 〇破解軟體複雜度的新觀念,讓你不被程式碼糾纏人生 ●了解問題空間和解答空間的觀念 〇用5個W來探索問題空間,先分析業務流程再開始設計 ●充分了解Entity、Value Object、Service、Module、Factory、Repository、Aggregate和Domain Event 〇動手實作領域設計的建模、領域實現建模 ●融合現在的設計團隊,建立領域驅動模型的戰略
集成式學習:Python 實踐!整合全部技術,打造最強模型
別再傻傻只選一個模型 訓練很多模型,卻不知道應該選哪一個?沒有一個模型達標?每個模型都有其優缺點,無法取捨? 小朋友才做選擇,大人全都要!你該試試集成式學習! 集成式學習是使用 2 種或更多的機器學習演算法,來組合出預測能力更好的模型。DeepMind 已經使用集成式學習來組合多個神經網路,控制 Google 資料中心的運作效能;集成式學習技術也在 Kaggle 平台上,席捲了各個競賽的第一名寶座。因此,集成式學習是建立出更具威力的模型,不可或缺的技術之一。 本書會介紹實務上常見的集成式學習演算法,如硬投票、軟投票、堆疊法、自助聚合法、適應提升法、梯度提升法、隨機森林、極端隨機樹等,並且使用熱門的 scikit-learn、Keras、OpenEnsembles、XGBoost 等 Python 函式庫來實作各種不同的集成式學習技術,建構出一個強大的模型。熟稔本書的內容後,不但可以精通集成式學習,在實際情境中面對問題時,亦能具備充分的專業知識判斷適用的集成式學習方法,並成功實作它們。 書中採用「做中學」的方式,讓你不僅可以快速掌握理論基礎,也能了解各種集成式學習技術的實作,再加上運用真實世界中的資料集,你將能夠建立出更佳的機器學習模型,以解決各種問題,包含迴歸、分類、分群。 現在翻開本書,讓我們一起進入集成式學習的世界,整合你所會的全部技術,打造最強大的模型。 本書特色 & ● 繁體中文第 1 本集成式學習專書,告訴你不要再傻傻地只選一個模型 ● 完整介紹集成式學習中常見的演算法,包含極端隨機樹、堆疊法、自助聚合法、提升法等 ● 一書掌握實作集成式學習的必備套件,如 Scikit-Learn、OpenEnsembles、XGBoost 等 ● 用 Python 刻演算法給你看,接著告訴你怎麼用套件。讓你不只會做,還懂為什麼這麼做 ● 以 5 個實務案例來展示集成式學習的威力 ● 本書由施威銘研究室監修,內容易讀易懂,並加入大量「小編補充」補充必要知識 ● 本書 Python 範例程式免費下載
資料結構:使用C(第五版)
資料結構(Data Structures)是資訊學科中的核心課程之一,也是基礎和必修的科目。本書確實闡述資料結構的每一主題,並以圖文並茂的方式表達之,最能達到教學與學習事半功倍的效果。 各章的每一小節幾乎都附有「練習題」,讓讀者能藉由測驗,評量自己對此節的了解程度;而書末亦附有這些練習題的參考解答。各章末再附上「動動腦時間」,這些題目取自歷屆的高考或研究所考試題目,或是筆者根據內文加以設計的題目,每道題目後面皆標示出自的章節數,表示只要詳讀該節即可輕鬆地作答。 最新第五版增加了兩章,分別是紅黑樹和伸展樹,這些是很有效率的二元搜尋樹。
從自學到成功轉職軟體工程師:自主學習讓我重拾人生的發球權(iT邦幫忙鐵人賽系列書)
透過本書建立策略性計畫,學習「自學」程式設計 降低你的轉職焦慮!勇敢邁向自己想要的職涯方向 近十年由於手機應用程式(APP)、雲端技術、區塊鏈、AI 技術的興起,不但使得網路應用程式的需求大增,也讓軟體工程師的需求變大;加上開放原始碼的友善文化、對遠端工作的嚮往,讓「成為軟體工程師」變成轉職時的一個熱門選項。 只是工程技術畢竟有它需要的教育門檻,「學習寫程式」並不是一件容易的事。加上轉換跑道,大部份的人應該是生疏的——「這個職涯轉變,是否會影響人生的發展?」——這種不確定感,似乎也讓自學寫程式的人開始變得不安,時而瞻前顧後,甚至還會影響到原本的工作與生活,也影響學習。 轉職當軟體工程師,其實並不難! 問題在於該怎麼從無到有,學習軟體工程師所需技能,成功轉職。 本書提供一個如何「自學」的方法。讓讀者可以對自學寫程式這件事的焦慮感降低一點,並且透過策略性的計畫,了解自學是怎麼一回事,幫助你利用此方法踏上學習程式設計的軌道,一步一步邁向你想要的職涯方向,最終成為一位軟體工程師。 【內容簡介】 本書內容改編自第12屆iT邦幫忙鐵人賽 Modern Web 組佳作系列文章⸺⸺《完美 Camp 進化論》,以自學程式設計所需要準備的心態,及後續如何尋找教材持續進行學習和練習的內容為主,作者自身的學習經驗為輔,期望能更貼近讀者的需求與感受。 【目標讀者】 正在考慮或者已經決定轉職成為軟體工程師。 對網頁前端有興趣。 想要靠自學的方式學習寫程式。 想要報名好想工作室 Web Camp的學員。 本書特色 點出轉職軟體工程師所需思考的問題,並延伸至職涯及人生探索。 提供新手自學程式設計的思考脈絡,以安排自己的自學之路。 學習如何自學的方法,自我檢視成效,培養持續自學的續航力。
ACCELERATE:精益軟體與DevOps背後的科學
★榮獲新鄉學院出版獎★ ★Amazon分類排行榜Top 1暢銷書★ ★Amazon 4.5顆星,上千讀者好評盛讚★ ★重構教父Martin Fowler專文推薦★ & 打造高效靈巧技術組織,加速領先群雄稱霸市場! & 我們可以如何應用科技來驅動商業價值?在過去的很多年裡,我們一直被告知:軟體交付團隊的績效並不重要,無法為我們的公司提供具競爭力的優勢。本書作者透過4年的開創性研究,納入Puppet《DevOps境況報告》所收集的資料,同時利用嚴謹的統計性方法,立志找出測量軟體交付績效的方法,以及何者驅動它。本書呈現了該研究的成果及背後的科學,讓讀者可以採用在自己的組織中。 & 我們希望當您閱讀此書時,您會發現作為一個技術專家暨技術領導,能讓您組織更上一層樓的要素,即從軟體交付開始。正是透過改善我們交付軟體的能力,組織才可以更快交付出功能,必要時隨機應變、回應合規性與安全性變革,並利用快速回饋以吸引更多顧客,且取悅現有顧客。 & 閱讀本書後,您將了解如何測量團隊績效,並該投資哪些能力來驅動更高的績效。本書值得所有管理階層一讀! & 本書特色& & ●揭露了驅動軟體績效的24種關鍵能力 ●以嚴謹的科學方法了解如何測量團隊績效 ●第16章之個案研究由Steve Bell及Karen Whitley Bell夫婦所提供 ●已授權多種語言版本:英、德、西、波、俄、日、韓、繁中、簡中
不只是工程師才要懂的 App 資訊安全:取得資安檢測合格證書血淚史(iT邦幫忙鐵人賽系列書)
本書內容改編自第12屆 IT 邦幫忙鐵人賽,Security 組優選網路系列文章 《看完眼眶濕濕的App開發者慘烈對抗險惡資安環境血與淚的控訴!》 & *平時也不可鬆懈!使用手機時也可以進行的資安措施 *揭開加解密演算法的神秘面紗,並教導讀者如何使用 *嚴密防堵駭客破解手機App,全面保護手機資訊安全 *講解程式發布安全、敏感性資料保護等資安檢測項目 用幽默詼諧的方式介紹艱澀難懂的演算法和如何破解及保護 App,也是台灣第一本,詳細介紹 App 資安檢測項目,並如何通過檢測取得證書,並加料許多即使是一般使用者也受用無窮的保護手機資訊安全的觀念。 & 目標讀者: 一般使用者 ◾& 可以了解什麼樣的 App 是否安全,該怎麼保護自己的個資。 一般 App 開發者 ◾& 可以學到 SSL 數位憑證觀念, 怎麼將資料加密和怎麼攔截網路傳輸資料。 資深 App 開發者 ◾& 了解駭客是如何使用「敲殼、逆向、滲透」破解 App,又該如何保護 App。 & 本書特色 & 大家都該懂得手機資安保護 ◾& 該不該 JB 或 Root,危害是什麼 ◾& 公用 Wi-Fi 好危險 ◾& 簡訊驗證安全嗎 ◾& 權限隨便給,就會被人看光光 & 資安檢測,從菜鳥到專家 ◾& 資安檢測怎麼誕生的 ◾& 怎麼查找自己所需的規範文件 ◾& 怎麼取得資安檢測通過證書和標章 ◾& 逐項講解資安檢測項目和技巧 & 神祕的加密學,就這樣趕鴨子上架 ◾& 實作各種雜湊演算法,且運用於電子簽章 ◾& 從原理到實作講解對稱加密演算法,公開金鑰演算法 ◾& 在各種情境下使用混合加密系統 & 手機 App 是怎麼破解,又該怎麼保護 ◾& 駭客是如何脫殼,反編譯 ◾& 使用憑證綁定確保通訊安全 ◾& 混淆程式碼保護你的 App ◾& 攔截通訊傳遞資料
達人必學 Android 程式設計 App Inventor 2 零起點速學指南 - 最新版(第三版) - 附MOSME行動學習一點通:診斷.影音.加值
1.影音示範-教學過程全都錄,學習百分百。 2.專題製作-主題式應用範例為主的實戰作品。 3.編程教育-以程式設計領域為主軸,規劃單元課程。 MOSME行動學習一點通 使用「MOSME行動學習一點通」,登入會員與書籍序號後,可自我練習,增強記憶力,反覆測驗提升應考戰鬥力,即學即測即評,強化試題熟練度。 評量:可反覆線上練習本書中的所有題目,強化題目熟練度。 影音:於學習資源「影音教學」專區,線上觀看本書教學影片。 加值:附書上的範例、素材與心智架構圖,提供讀者下載使用。
Python基礎與物件導向程式設計
◆ 為前進人工智慧與物聯網相關技術的基礎學習課程。 ◆ 年輕化的內容風格,為應屆在學學生以及職訓學員學習量身打造的教學內容。 ◆ 適用於各級學校校園課程的課堂教學。 & 本書是以Python程式語言為主軸,介紹使用Python語言進行程式設計的各項重點,同時以Python第三版開始大大強調的物件導向程式設計為另一重點,介紹物件導向的設計概念,讓讀者在將來程式設計風格上得以發展出可大可廣之特色。 本書主要由以下4個重點構成,程式設計基礎概念、重要模組套件的使用、培養重要的系統設計能力、進階程式設計能力初探,層層引導讀者由對Python程式語言的初探到培養程式邏輯,進而延展出讓程式進一步具有對外溝通能力,接續探討重要的物件導向程式設計,最終導入進階的多執行緒處理架構,希冀能逐步建構讀者程式設計能力,讓讀者得以在淺顯易懂、循序漸進地說解過程中快速深入Python的殿堂。 & ※請至深石數位網站下載範例檔案 http://www.deepstone.com.tw/ & 本書特色 & & 勞動部產業新尖兵計畫職訓課程「人工智慧金融應用與實務培訓班」專業用書 & 本書是- 針對不會程式設計之讀者寫的! 針對年輕讀者寫的! 針對想把自己訓練成「瑞士刀」之程式設計者寫的!
Scratch 3小創客寫程式(2版)
一本【大人、小孩】都值得看的書,讓您養成【程式設計】邏輯、運算思維! & ◎ 程式初體驗 使用簡單的積木程式,完成星星轉圈圈、狗狗晃動;藉著貓咪不見了和倒著走,來引導學習解決問題。 & ◎ 神奇生日蛋糕 隨機變化出不同的蛋糕,重複迴圈簡化程式。加入互動提示和音效;同時,讓好友動起來、一起同樂。 & ◎ 獨角仙覓食記 使用「圖像效果」變出綺麗舞台;搭配位移鍵,了解座標位置;加入「條件判斷、碰到」等積木,讓食物隨機變換、出現。 & ◎ 爆米花樂趣多 由淺入深、引導式學習。包括:分身解說、條件簡化,解決鍋邊爆問題。 & ◎ 一起來接蘋果 使用「廣播」功能,加入「變數、倒數計時、超過邊界判斷」等,學習除錯蟲(debug),養成解決問題的能力。 & ◎ 預防流感動畫 程式也能製作「動畫式」簡報,著重角色對話和互動,搭配背景轉場製作特效,和角色同時造型變化。 & ◎ 土撥鼠找朋友 藉由趣味主題,學習規劃、撰寫創意遊戲程式,增加「限時挑戰」刺激感。 & ◎ 棉花糖射擊遊戲 從闖進棉花糖世界,運用滑鼠移動、射擊,搭配隕石和生命值,學習寫程式。 & 本書特色 & ★ 符合教育部108課綱 輕鬆融入108課綱,培養【程式設計】邏輯、運算思維能力,提升資訊素養。 & ★ 內容豐富,淺顯易懂 課程完整,搭配觀念重點,循序漸進。圖解清楚,只要按步操作,輕鬆學會,適合初學者和進階學習。 & ★ 原創素材,範例有創意 本書採用原創圖庫、素材,範例完整精緻、有創意。 & ★ 愛護眼睛,圖大字大 印刷精美,圖大字大;採用日本紙張油墨,紙質不反光,保護視力。
Soft Skills 軟實力|軟體開發人員的生存手冊 第二版
微軟專案經理暨.NET人氣部落客Scott Hanselman 《無瑕的程式碼》作者Robert C. Martin 聯合推薦 「本書期望給你各方面有用、實用又可用的忠告。」 ──Scott Hanselman 推薦 「John想透過本書傳達一個很棒訊息,一個每個軟體開發人員(還有其他面臨相同情況的讀者)都應該全面了解的訊息。」 ──Robert C. Martin(人稱Uncle Bob)推薦 「放下你手上的程式碼,離開工作幾個小時,讀讀這本書!你的程式碼,你的人生,都將因此而變得更美好。」 ──lonel Condor, SDL 「本書提出實用、全面的軟體開發觀點。」 ──Javier Muñoz Mellid, lgalia 「本書就是你的職涯教練。」 ──Heather Campbell, Kainos 多數軟體開發人員喜歡沉浸在程式設計的樂趣之中,面對客戶、同事、主管、保持自身生產力、安全理財、維持個人身材和尋找真愛,卻往往束手無策。本書正是要來助你一臂之力。 《軟實力|軟體開發人員的生存手冊》要為技術專業人士指引一條明路,全方位發展美滿幸福的人生。本書作者John Sonmez身兼開發人員與生活教練,他針對幾項重要的「軟實力」主題,提出個人建議,例如,職涯與生產力、個人理財與投資,甚至是健身與人際關係。 全書共有74個章節,篇篇內容獨立、精簡有力且引人入勝,你可以隨時、隨興挑選喜歡的章節閱讀。每章最後都附有「即知即行」的建議,讓你能馬上付諸行動,看到成果。本書要讓你成為更棒的程式設計師、更有價值的員工,並且擁有更快樂、更健康的人生。 本書精彩內容: ‧創建個人品牌,讓職涯發展更上一層樓 ‧分享學習秘訣:十步驟快速學習法 ‧教你健身,化宅力為個人優勢 ‧獨門策略大公開:規畫投資與提早退休的計畫
寫APP玩轉物理實驗
近年來,利用智慧型手機進行物理實驗的自動化量測,已經蔚為一股風潮。這是因為智慧型手機內建多種感測器,例如加速度感測器、方向感測器( 陀螺儀)、磁場感測器、光感測器、距離感測器,甚至是氣壓感測器等等。善用這些感測器並結合相關App,將可用來取代昂貴的實驗儀器,使實驗可以在日常生活中進行,提升學生對科學的興趣。 & 儘管如此,目前市面上主要的物理實驗量測App,主要倚賴國外開發者,缺乏相關的教材,引導教師或學生自製App讀取實驗物理量,並進行後續分析。呼應108 課綱的探索與實作精神,課程應回歸科學研究的本質:發現並提出問題、設計模型,動手建立工具、進行實驗,以獲得解答。因此,學習撰寫量測App有其必要性,並可引起學生對程式語言的學習動機與熱忱,合乎現代教育跨領域合作的趨勢( 資訊科學與物理的跨領域學習)。本書的目的,即是採用圖控式的App Inventor 2,開發簡易的物理量測App,藉以讓讀者熟悉相關App的開發原理,進而誘發學習物理與程式語言的興趣。 & 為了讓書籍的編排更有系統,我們將本書分成第一部分的基礎篇(1~6章)與第二部分的應用篇(7~13章)。基礎篇主要聚焦於程式語言基礎,包括宣告變數、邏輯判斷、迴圈、陣列,以及子程式等基本概念。每章節都搭配簡單有趣的App範例實作,可作為K12學習程式的啟蒙教材。而應用篇則聚焦於不同物理實驗主題App的開發,讀者可以視需求進行學習,並加以應用。& & 本書特色 & 1.利用App Inventor 2,搭配智慧型手機的各種感測器與計算能力,實作經典物理實驗。 & 2.本書分成第一部分的基礎篇(1~6章)與第二部分的應用篇(7~13章): - 基礎篇主要聚焦於程式語言基礎,包括宣告變數、邏輯判斷、迴圈、陣列,以及子程式等基本概念。每章節都搭配簡單有趣的App範例實作,可作為K12學習程式的啟蒙教材。 & - 應用篇聚焦於不同物理實驗主題App的開發,讀者可視需求進行學習,並加以應用。
理解演算法|Python初學者的深度歷險
本書是演算法入門指南,以Python程式實作應用廣泛的演算法,內容主題包含多種現代演算法,用於搜尋、排序及最佳化;以人為本的演算法,協助人們接球運動的判斷;高等演算法,用於機器學習與人工智慧領域;以及古文明演算法,用於算數值相乘、求最大公因數、產生幻方。 本書將帶領您學習: ‧產生幾何用途廣泛的Voronoi圖 ‧以演算法建置簡單聊天機器人、贏得棋賽、玩數獨遊戲 ‧實作梯度上升(下降)演算法程式,求出函數最大值(最小值)、極值 ‧使用模擬退火進行全域最佳化 ‧憑個人特徵建立快樂感預測決策樹 ‧以演算法執行程式除錯、實施稅收最大化、產生亂數 ‧衡量演算法效率與速度 此外探討純數學領域實用的演算法,了解數學概念改進演算法的方式。 跟著本書邊做邊學,您將理解當今許多超強演算法的重要細節,其中包含演算法的Python 3程式實作,以及針對衡量演算法效能與最佳化的方法。
Python遊戲開發講座進階篇|動作射擊與3D賽車
業界專家親自傳授的遊戲開發必備知識與技術 本書是用Python程式語言解說如何開發正式遊戲的教材,將帶領你實際製作動作遊戲、射擊遊戲、還有模擬3D影像效果的3D賽車遊戲,從動手做的過程中學會開發遊戲的Know How。 藉由本書,您將可以了解: .遊戲開發的基本知識 .基礎的遊戲物理學 .如何製作地圖編輯器 .遊戲業界的開發祕辛 .開發動作遊戲的技巧 .Pygame的用法 .開發射擊遊戲的技巧 .開發3D賽車遊戲的技巧
Python遊戲開發講座入門篇|基礎知識與RPG遊戲
業界人士教您如何從零開始進行遊戲的開發 這是一本專注在「如何從零到有開發出一款遊戲」的實作書籍。藉由本書,您可以了解遊戲開發與一般的軟體開發有何不同,以及遊戲開發的實際過程。 本書特色: .幫助您更加了解遊戲開發的過程 .學會如何使用Python .範例程式碼有詳盡的註解說明 .使用大量的圖解說明幫助理解 .提供遊戲開發的免費素材可供練習
手遊開發:從架構到行銷的49堂課
從起點(建立企劃)到終點(發行和營運) 深入淺出介紹網路手遊開發過程的各個要點 由業界人士所繪製的『手遊開發地圖』 手機遊戲指的是主要針對iPhone和Android等手機平台發行的遊戲應用程式。此類遊戲可大致分為不需要網路即可單獨遊玩的單機型、需要伺服器端和客戶端互相連線才能運作的網路型。而其最根本的理念就是為玩家提供新的驚喜和體驗,打動玩家。 然而手機遊戲與主機遊戲最大的不同之處,多數主流手機遊戲在發行後,只要遊戲沒有收掉,就會繼續推出新的功能和活動。「營運」對於手機遊戲是一個非常重要的元素,也可以說是手遊與主機遊戲最大的不同。所以從建立企劃的階段開始,就必須提前規劃這款遊戲要如何營運。考慮到萬一遊戲爆紅,以營運時間將比開發時間更長的可能性來建立企劃是最理想的。 「不需要在發行時就完成所有功能」這種說法雖然有點極端,但會爆紅的手遊通常也具有「追劇感」。在遊戲剛發行時只提供簡單的遊戲循環,營造出與用戶共同使這款遊戲變得更好的氣氛,並加入使遊戲社群產生凝聚感的表演,這種營運手法愈來愈多。所謂的手遊開發,可以說除了在開發遊戲體驗外,同時也是在經營社群。 本書是一張由曾開發過眾多遊戲,且至今依然活躍於開發現場的業界人士所繪製,鉅細彌遺地告訴你一款風靡全球的手機是如何製作出來的『手遊開發地圖』。書內根據手遊開發的基本步驟【建立企劃→開發遊戲Prototype→開發Alpha版→開發Beta版→除錯和Beta測試→發行和營運】逐一介紹,並運用許多插圖,深入淺出地從企劃到發行營運,剖析手遊開發過程的要點。
C++併發處理實戰 第二版
「這本書應該放在每個C++程式設計者的桌上;它清晰、簡明、而且很有價值」 —Rob Green, Bowling Green State University 「對C++併發功能的徹底介紹」 —Maurizio Tomasi, University of Milan 「強烈推薦給那些想要進一步瞭解最新C++標準的程式設計者」 —Frédéric Flayol, 4Pro Web C++ 「這指引包含了在專案中日常會使用到的片段,並幫助你將C++併發技能從學徒提高到絕地武士的水準。」 —Jura Shikin, IVI Technologies 當應用程式要求執行速度時,一般會選擇以C++語言為開發工具,而設計精良的併發處理可以更進一步讓程式執行得更快。為了加快圖形處理、機器學習和其他需要較高性能的工作,C++17更強化了對多執行緒、多處理器程式撰寫方面的支援。這本品質優良的書籍展示了可以直接應用於實際產出的C++併發處理功能、模式和最佳實作方式。 《C++併發處理實戰 第二版》是用C++撰寫優雅的多執行緒應用程式的權威性指引,針對C++ 17的改版進行了更新,從啟動新執行緒到設計全功能的多執行緒運算及資料結構,都對併發處理做了詳細及全面的描述。併發處理大師Anthony Williams在每一章節中都提供了完整的範例和實際應用面的說明,所提供的見解連最有經驗的程式開發人員都會感到滿意。 本書包含以下主題: ‧涵蓋全部C++ 17的新功能 ‧執行緒的啟動和管理 ‧併發處理操作的同步化 ‧併發處理程式設計 ‧多執行緒應用程式除錯 本書適用於中等程度C和C++程式開發人員,不需事先具備併發處理開發經驗。
無師自通的Python語言程式設計:附大學程式設計先修檢測(APCS)試題解析
⊙了解Python程式邏輯,帶你解決日常生活中的問題! ⊙理論與程式案例互相搭配,學習記憶更深刻! ⊙過關斬將!附有大學程式設計先修檢測(APCS)試題解析。 & 擁有一個好的工具,處理問題會更方便又快速。程式設計是一種利用電腦程式語言解決問題的工具,只要將所要處理的問題,依據程式的語法描述出問題的流程,電腦便會根據我們所設定的程序,完成目標。 & 本書是一本適合高中職生閱讀的Python語言自學書,從說明何謂程式,逐步介紹Python語言的語法,搭配程式範例,實際操作與撰寫,精進對程式語言的熟練度及興趣。每個章節末附有大學程式設計先修檢測(APCS)試題解析,提供未來想申請大學資訊相關科系的高中職生有明確的學習方向。 &
最新Python基礎必修課(含ITS Python國際認證模擬試題)
語法解析->範例說明 ->程式設計 ->ITS Python詳解■MVP微軟最有價值專家、ITS Python國際認證講師與資深教師共同執筆 由微軟MVP、ITS Python國際認證講師與科技大學教授程式設計教師共同編著,針對初學習程式設計所編寫的入門教材,適合無程式基礎以及想要學習Python的初學者,同時也是適合教師教授程式設計與訓練學生運算思維的好教材。 ■循序漸進,無痛上手 內容兼具理論與實務,由書中範例說明,問題分析、程式架構,訓練初學者邏輯思考、解決問題的能力,使初學者輕鬆邁入Python程式設計的殿堂。 ■豐富內容與實務應用 涵蓋Python開發環境建置、變數與資料型別、輸出入函式、選擇結構、重複結構、串列與集合、排序與搜尋、函式、字典、套件使用、檔案與例外處理,數據圖表設計、視窗應用程式開發,網頁爬蟲實戰…等。為初學者建立前進大數據、機器學習與人工智慧的基礎。 ■ITS Python國際認證能力訓練 內文講解融入ITS Python解題技巧,書末更彙整了ITS Python(IT Specialist Certification)資訊科技專家國際認證的兩組模擬試題,讓初學者程式設計訓練更加扎實,同時也是考取ITS Python國際認證的最佳教材。
雲端視覺化Android App 技術開發設計寶典
密集式範例學習最有效,關鍵語法與物件導向觀念解說!這是一本不一樣的程式設計用書!這是一本不一樣的Android程式設計教學用書!資訊軟體科技 日新月益 軟體開發技術不僅是日益進步!更是日益進化!App Inventor 2是一套不用安裝、直接用來開發Android行動裝置App的設計開發工具。App Inventor 2的出現、讓即使不懂Java程式語言以及Android SDK的開發者都可以來開發Android行動裝置App。只要瞭解作業執行流程、以及程式邏輯觀念,就可以使用App Inventor 2來開發App。App Inventor 2不需要一行一行的撰寫程式碼,只要將一個一個功能的程式區塊像堆積木般,堆出一個一個App功能,將這些堆出的App功能集合起來、就成為一個功能完整的App軟體,本書就將Step By Step的教導所有讀者與同學,將App Inventor 2提供的程式區塊,按部就班的堆積成實用的App,希望本書能帶給所有希望設計App的讀者與設計人員些許助益。※本書將使用「與眾不同」的專業教學圖書撰寫手法:將所有章節重點為出題的依據,在最後獨立章節建立讀者與同學自我測驗的專屬題目,讓所有讀者與同學可以進行自我測試。※本書使用Step By Step方式詳細講解App Inventor 2不同用途的元件群組工具箱,讀者可輕鬆學會使用App Inventor 2開發實用的App程式。※附贈全書所有章節的App Inventor 2範例程式檔案,可直接上線使用。
運算思維與Scratch3.0程式設計-含GLAD ICTP 計算機程式語言國際認證基礎能力Fundamentals Level-最新版
1.依據Scratch 3.0的特性分成:Scratch功能與操作、結構化與模組化程式設計、演算法的程式設計、人機互動程式設計四大構面,詳細介紹Scratch與各學習領域結合的應用方式與應用範例。 & 2.主題範例程式設計從動畫情境腳本規劃、自己的創意規劃、流程設計、動手堆疊積木到延申學習,循序漸進引導學習者觸類旁通舉一反三,將自己的創意想法轉換成Scratch程式執行結果。 & 3.整合運算思維架構在Scratch3.0程式設計,培養學習者運算思維能力、問題解決能力與邏輯思考能力。 & 4.本書除了學習程式設計的應用外,還能邁向取得GLAD ICTP計算機程式語言國際證。
用mBot2玩AI人工智慧與IoT物聯網-使用Scratch3.0(mBlock5)-最新版-附MOSME行動學習一點通:影音.診斷
1.整合mBot2教育機器人在AI人工智慧、IoT物聯網與雲端大數據。 2.理解mBot2教育機器人的百變功能,跳脫傳統機器人的思維框架。 3.應用mBot2教育機器人創新實踐智能機器人在生活中的問題解決。
輕鬆玩Scratch3.0學程式設計-含ITC資通訊認證Basic Computational Thinking and Visual Programming運算
1.本書共15章,依據「適合初學者學習的Scratch 教學範例書」之理念撰寫,可以透過每一章節的詳細操作步驟,一步一步瞭解Scratch各種程式拼塊的使用方法與動畫概念。 2.全書深入淺出、淺顯易懂,操作步驟一目瞭然、循序漸進,只要按部就班即可完成各個專案,輕鬆學習各式應用。 3.結合ITC資通訊認證,藉此邁向考取程式設計能力認證之路。
C++ 程式語言 設計寶典
「敘述詳盡易懂,佐以圖表輔助學習」「延伸觀念解說,結合理論與實務經驗分享」C++程式語言是從C語言發展而來的,與C語言相容,所以用C語言編寫的程式基本上可以不加修改即可運用於C++程式語言,是一種功能強大的混合型程式設計語言。基於其諸多的優勢,不但電腦專業人員需要掌握它,非電腦專業人員也應該學習並掌握它。作者結合多年C++語言教學經驗與教學實踐,編寫了這本書,力求突出以下特色:第一、深入淺出,簡潔明快。學習電腦語言是為了解決問題,而通過程式深入學習電腦語言又是一種最有效的學習方法。為此,在透徹講解基本概念的前提下,本書精選了數百個經過驗證的典型程式,並對每個程式的結構、難點、變數設定及執行結果詳細的分析說明。對那些概念容易模糊、程式容易出錯的地方加以強調、說明。相信讀者在認真思考的基礎上,定能舉一反三,觸類旁通。第二、原理和應用相結合,這是一本語言書籍在深度和廣度的表現。在原理的應用下,才能有效的運用,從而結合應用講解原理,才更深入、更易理解。原理和應用的完美結合,展現了C++的語言潛能和它的強大生命力。第三、每章習題附有基本題和程式設計題以及上機練習。這些習題很有特點,它不止是簡單的複述前面的概念,也不單是前面範例的翻版,而是比範例更具創造性思考的案例。讀者如能認真完成這些練習與實驗,必將大大加深和鞏固所學知識,提高自己的程式編輯能力。
Java 學習手冊 第五版
Java程式設計實務 「Java虛擬機器已被證實是可靠與高效率的企業級跨平台開發平台。無論是初次學習、已用過其他JVM程式語言或是想了解新功能,本書都是絕佳的Java入門指引。Java對過去多年來的程式設計方向有深遠的影響,它的持續發展也確定能夠持續佔有一席之地。這本書是開始學習Java最好的方法。」 -James Elliott Singlewire資深軟體工程師與《Java Swing第二版》共同作者 針對Java及程式設計初學者,這本暢銷書介紹涵蓋至Java 11的程式語言功能與API。本書三位作者以建立實務應用程式為目標,透過有趣、完整與實際的案例,完整介紹Java基礎知識。包含類別函式庫、程式設計技巧及常見作法。 讀者將會學到管理應用程式資源的新方法,以及最新Java核心語言功能。 ‧使用編譯器、直譯器等工具開發Java應用程式 ‧探索Java內建的執行緒功能與並行套件 ‧學會文字處理與正規表示式API ‧撰寫進階網路與web式應用程式及服務
黑帽Python|給駭客與滲透測試者的Python開發指南 第二版
「這本就是您需要閱讀的書。強大、技術合理且讓人大開眼界。」 -Sandra Henry-Stocker, IT World 在開發強大又有效的駭客工具時,Python是大多數資安分析師的首選程式語言。在這本暢銷的《黑帽Python》第2版中,您將探索Python功能的陰暗面:從編寫網路監聽程式、竊取電子郵件憑證和暴力破解目錄開始,到製作變異模糊測試、調查虛擬機器和製作隱蔽木馬程式等都是本書介紹的內容。 第2版本中的所有範例程式碼均已更新至Python 3.x。書中還新增了關於使用Volatility框架的位元移位(bit-shifting)、程式衛生守則(code hygiene)和入侵鑑識(offensive forensics)等內容,以及對Python程式庫ctypes、struct、lxml和BeautifulSoup的擴充解釋,另外還介紹了入侵攻擊的駭客策略,例如拆分位元組、利用電腦視覺程式庫和爬取網站內容等。 您將學到: ‧利用GitHub建立木馬命令和控制伺服器 ‧偵測沙盒,以及將各種惡意軟體的工作自動化,例如紀錄鍵盤按鍵和螢幕截圖 ‧擴充Burp套件的Web駭入工具 ‧以創意手法控制處理程序來提升Windows許可權 ‧使用入侵記憶體的鑑識技巧擷取密碼的雜湊值(hash),並找出虛擬機器的漏洞弱點 ‧濫用Windows自動化 ‧以不被偵測到手法從網路中外洩資料 在資安攻防的領域中,您要有能力可即時製作出功能強大的工具程式。《黑帽Python》這本書能教您如何製作。
Spring REST API開發與測試指南|使用Swagger、HATEOAS、JUnit、Mockito、PowerMock、Spring Test
DevOps與後端系統建置必修技能! 鑒於前後端分離與微服務架構的興起,伺服器端需要提供API供用戶端存取。傳統的SOAP協定是以複雜的XML作為傳送媒介,已經逐漸被使用輕量化JSON傳送資訊的REST API取代,成為開發與建置API的主流。 除此之外,API的開發和上線應用,效率與品質應該兼顧。透過DevOps流程結合開發、測試、營運,可以更快地將新增或修正的功能發佈給使用者;在這樣的環節中,自動化測試至關重要。 本書第一部分介紹Java的單元測試框架如JUnit5、Mockito、PowerMock,並探討如何提升程式的可測試性。 第二部分先介紹REST API的概念與背景。在使用Spring Boot建置初版REST API後,逐章示範API的例外處理、Swagger文件說明、版本控制、分頁與排序、與套用HATEOAS等。 最後結合Spring Test模組對REST API進行單元測試、整合測試、與端對端測試,以期產出符合企業品質與效率的REST API。
秒懂設計模式
什麼是設計模式?設計模式並不局限於某種特定的程式語言,它是一套基於前人經驗總結出的軟體設計指導原則,所以很多初學者覺得設計模式晦澀難懂,無從下手。本書秉承簡約與現實的風格,幫助讀者理解設計模式的概念。 輕鬆、幽默,閱讀無負擔本書以輕鬆、幽默、淺顯易懂的方式,從物件導向程式設計、物件導向三大特性的理論基礎做開場,然詳細地講解了23種設計模式的概念及結構機理,最後以六大設計原則收尾,全面地解析歸納了軟體設計準則,參透設計模式的本質。 貼近生活,淺顯易懂每章都有貼近生活的真實範例,搭配生動活潑的插圖,再結合相關範例程式實戰演練,循序漸進、深入淺出,引導讀者領略設計模式的精髓。