姆斯【現貨】自己動手做虛擬機器:解析程式語言的設計與實現(iT邦幫忙鐵人賽系列書)蒼時弦也(邱政憲) 博碩 9786263330641 華通書坊/姆斯
▐ 自2024/1/1 00:00起,台灣樂天市場「屈臣氏」將不贈送 LINE POINTS 點數
▐ 自2023/2/1 00:00起,樂天Kobo電子書不贈送 LINE POINTS 點數,請會員多加留意。
▐ LINE POINT點數回饋依照樂天提供扣除折價券(優惠券)、與運費後之最終金額進行計算。
▐ 愛買與愛票網、a la sha(2023/8/1生效)、GAME休閒館(2023/8/1生效)、專品藥局(2023/8/1生效)等部分店家不參與全站加碼,請詳閱LINE Points 加碼店家清單:https://lin.ee/Y2CcVdk/rcfk
▐ 注意事項
(1)部分服務及店家不符合贈點資格,購買後將不贈送 LINE Points 點數,亦不得使用點數紅包,如:比漾廣場、神腦生活、MyCard、愛美麗福利社、展翔通訊、ezcook 美食廚房、葳豐數位商城、吉盈數位商城、森林巨人、包材中心、KABO佳麗寶家電批發、LuLuLu精品店、NewSTYLE新風尚潮流、0216零食會社、美寶家電、純米小鋪、LILY科技新櫃、登芳3C電子雜貨賣場、豐饌御鴨、鼎耀通訊、誠選3C、Smile、葳豐數位商城二店、米蘭寶、BoBo Outlet代購屋、楊家食品(2022/10/1生效)、樂天Kobo電子書(2023/2/1生效)、屈臣氏(2024/1/1生效)等,請詳閱LINE Points 加碼店家清單。
(2)需透過LINE購物前往台灣樂天市場,並在同一瀏覽器於24小時內結帳,才享有 LINE Points 回饋。
(3)若購買之訂單(包含預購商品)未符合樂天市場 45 天內完成訂單出貨及結帳,則不符合贈點資格。
(4)如使用App、或中途瀏覽比價網、回饋網、Google等其他網頁、或由網頁版(電腦版/手機版網頁)切換為App都將會造成追蹤中斷而無法進行 LINE Points 回饋。
(5) LINE 購物為購物資訊整合性平台,商品資料更新會有時間差,如顯示之商品規格、顏色、價位、贈品與台灣樂天市場銷售網頁不符,以銷售網頁標示為準。
(6)Pickup店家之有效訂單需於下單後40天內使用完畢才符合分潤條件
(7) 若上述或其他原因,致使消費者無接收到點數回饋或點數回饋有爭議,台灣樂天市場保有更改條款與法律追訴之權利,活動詳情以樂天市場網站公告為準。商品描述
自己動手做虛擬機器:解析程式語言的設計與實現(iT邦幫忙鐵人賽系列書) 系列名:單行本 ISBN13:9786263330641 出版社:博碩文化 作者:蒼時弦也(邱政憲) 裝訂/頁數:平裝/336頁 規格:23cm*17cm*1.8cm (高/寬/厚) 出版日:2022/05/16 中國圖書分類:電腦程式語言 內容簡介 本書內容改編自第12屆iT邦幫忙鐵人賽IoT組優選系列文章《拿到錘子的我想在微控制器上面執行Ruby》。在學習程式語言的過程中,隨著我們理解的知識、技巧越來越多,我們難免需要更加深入了解我們所使用的語言。而這是一本關於程式語言設計的書籍,我們將透過mruby這款設計給嵌入式系統的Ruby語言,一步一步重現Ruby虛擬機器的部分功能,並藉由這樣的方式逐步了解一個語言的實現,且將其在開發板上執行,另外這也幫助我們重新思考使用程式語言時虛擬機器的運作及語言的關聯。 【內容重點】 我們將從閱讀原始碼開始,從前人的經驗學習如何打造一個語言虛擬機器,逐步實現一個能在ESP8266開發板上執行,並具備物件導向特性的精簡版虛擬機器。 ✪加法虛擬機器 實現一個語言的虛擬機器,並沒有我們想像中的困難,我們第一個虛擬機器會以將Ruby的「加法」實現出來為目標,透過數百行的程式碼完成一個最簡單的虛擬機器。 ✪實現邏輯判斷 加入能夠在我們的虛擬機器中進行if類型的判斷,透過這樣的虛擬機器實現,進而能夠讓程式按照我們的預期進行複雜的行為。 ✪實現物件導向 Ruby語言的一大特色就是物件導向特性,我們將會討論如何管理物件的封裝資訊,以及將C語言的程式碼轉換成可以在Ruby中直接被呼叫的方法等機制。 ✪用測試驗證想法 本書的目標是實現一個能夠在ESP8266開發板上執行的虛擬機器,為了減少反覆上傳程式到開發板的步驟,我們可以透過撰寫測試的方式,來驗證每一個虛擬機器的實現是否如我們所預期的來運作。 【目標讀者】 ✪想了解程式語言運作原理的人。 ✪想更好撰寫程式的人。 ✪想在開發板上使用不同程式語言的人。 本書特色 逐步打造語言虛擬機器,深入了解程式語言的運作原理 ✪每項功能都有完整實作,可更容易了解語言虛擬機器的實現方式 ✪搭配撰寫測試驗證程式,可在學習實作之外,也學習到軟體測試的技巧 ✪詳細分析mruby虛擬機器的基本原理,並透過簡化的方式引導學習語言虛擬機器 強力推薦 創造自己的程式語言絕對不是不可能的夢想,本書透過虛擬機器來教導「創造自己的程式語言」所需要的知識,幫助你學習新的東西,可以閱讀這本書的大家實在是很幸運!──Ruby語言之父 松本行弘(Matz) 目錄 |CHAPTER 01| 基礎知識 1.1 虛擬機器 1.2 C語言概念 1.3 mruby入門 1.4 微控制器 |CHAPTER 02| 閱讀原始碼的技巧 2.1 Octotree擴充套件 2.2 Sourcegraph擴充套件 2.3 熟悉語言 |CHAPTER 03| 從mruby-L1VM開始 3.1 從範例開始 3.2 虛擬機器初始化 3.3 啟動虛擬機器 3.4 處理IREP 3.5 處理OPCode 3.6 虛擬機器的概念 |CHAPTER 04| 小試身手 |CHAPTER 05| 建立專案 5.1 專案設定 5.2 關於測試 5.3 讀取IREP資訊 |CHAPTER 06| 處理OPCode 6.1 ISEQ前置處理 6.2 讀取OPCode 6.3 定義OPCode 6.4 處理OPCode |CHAPTER 07| 數學運算 |CHAPTER 08| 邏輯判斷 |CHAPTER 09| 變數 9.1 資料封裝 9.2 整數變數 9.3 布林值變數 |CHAPTER 10| 字串讀取 10.1 資料讀取 10.2 顯示文字 |CHAPTER 11| 在ESP8266開發板上測試 11.1 撰寫主程式 11.2 執行虛擬機器 11.3 調整專案架構 11.4 整理檔案 |CHAPTER 12| 定義方法 12.1 klib 12.2 定義Hash 12.3 方法查詢 12.4 在電腦測試 12.5 虛擬機器狀態 12.6 修復測試 |CHAPTER 13| 方法參數 13.1 暫存資料管理 13.2 呼叫資訊 |CHAPTER 14| 迴圈機制 14.1 分析OPCode 14.2 實作迴圈 14.3 效能分析 14.4 完善功能 14.5 加入測試 |CHAPTER 15| Block機制 15.1 Proc是什麼 15.2 製作Block 15.3 跳出Block 15.4 存取變數 15.5 加入測試 |CHAPTER 16| 實作類別 16.1 RObject和RClass 16.2 定義RClass 16.3 自訂類別 16.4 更新虛擬機器 16.5 實作繼承 16.6 加入測試 |CHAPTER 17| 實作物件 17.1 定義RObject 17.2 產生物件 17.3 加入測試 |CHAPTER 18| 實例變數 18.1 實例處理 18.2 實作物件 18.3 初始化數值 18.4 加入測試 |CHAPTER 19| 垃圾回收 19.1 辨識資料 19.2 減少動態配置(Allocate) 19.3 使用tgc函式庫 19.4 加入tgc函式庫 19.5 套用tgc函式庫 19.6 更新測試 |CHAPTER 20| 整合Arduino 20.1 失效的垃圾回收 20.2 避免Watch Dog Timer觸發 20.3 重構減少重複 20.4 自動編譯mrb二進位檔案 |CHAPTER 21| 繪製文字 21.1 安裝函式庫 21.2 加入螢幕類別 21.3 跑馬燈效果