自己動手做虛擬機器:解析程式語言的設計與實現(iT邦幫忙鐵人賽系列書)
蒼時弦也(邱政憲) 著
- 出版商: 博碩 iThome鐵人賽系列書|任選2書75折
- 出版日期: 2022-05-11
- 定價: $620
- 售價: 7.8 折 $483
- 語言: 繁體中文
- 頁數: 336
- 裝訂: 平裝
- ISBN: 6263330643
- ISBN-13: 9786263330641
-
相關分類:
Ruby
立即出貨(限量) (庫存=7)
買這商品的人也買了...
-
程式設計師的自我修養-連結、載入、程式庫$580$493 -
自製編譯器$594$564 -
遠端遙控木馬病毒程式設計:使用 Python$550$429 -
JavaScript a Beginner's Guide Fifth Edition$1,675$1,591 -
$407代碼精進之路 : 從碼農到工匠 -
Windows 駭客程式設計:勒索病毒(第二冊) -- 原理篇$690$538 -
Kubernetes 建置與執行 : 邁向基礎設施的未來, 2/e (Kubernetes: Up and Running: Dive into the Future of Infrastructure, 2/e)$520$410 -
Kent Beck 的測試驅動開發:案例導向的逐步解決之道 (Test-Driven Development: By Example)(TDD)$560$436 -
$559嵌入式 C語言自我修養 — 從芯片、編譯器到操作系統 -
CQRS 命令查詢職責分離模式 (Command Query Responsibility Segregation)$500$390 -
跟著 Docker 隊長,修練 22天就精通 - 搭配 20小時作者線上教學,無縫接軌 Microservices、Cloud-native、Serverless、DevOps 開發架構$880$695 -
Raspberry Pi 樹莓派:12道開胃菜打造 Linux 核心肌群(iT邦幫忙鐵人賽系列書)$680$530 -
黑帽 Python|給駭客與滲透測試者的 Python 開發指南, 2/e (Black Hat Python : Python Programming for Hackers and Pentesters, 2/e)$450$355 -
$229STM32 系列單片機原理及應用 — C語言案例教程 -
Martin Fowler 的企業級軟體架構模式:軟體重構教父傳授 51個模式,活用設計思考與架構決策 (Patterns of Enterprise Application Architecture)$800$624 -
Visual Studio Code 實用指南:官方文件沒有詳述的 Extension 觀念、命令組合技與鍵位客製化技巧(iT邦幫忙鐵人賽系列書)$600$468 -
Python 投資停看聽:運用 Open data 打造自動化燈號,學會金融分析精準投資法(iT邦幫忙鐵人賽系列書)$600$468 -
最新世代平行運算 ─ 分散式系統主流框架實作指南$780$616 -
高手叫我不要教的 ─ H模型:兩個指標,百倍獲利, 2/e$680$537 -
JavaScript 多執行緒|超越事件迴圈的並行 (Multithreaded JavaScript)$580$458 -
演算法洞見:遞推與遞迴$600$468 -
Windows 駭客程式設計:勒索病毒 (第二冊) -- 原理篇, 2/e$590$460 -
ESP32 物聯網專題製作實戰寶典$620$489 -
演算法學習手冊|寫出更有效率的程式 (Learning Algorithms: A Programmer's Guide to Writing Better Code)$580$458 -
Spring Boot 零基礎入門:從零到專案開發,古古帶你輕鬆上手(iThome鐵人賽系列書)$720$561
iThome鐵人賽系列書|任選2書75折 詳見活動內容 »
-
78折
LINE Bot Side Project 實戰 : 從設計思考到部署與產品變現的 16堂關鍵必修課(iThome鐵人賽系列書)$660$514 -
78折
Claude 工作術:從 Chat、Projects、Skills 到 Cowork 與 Claude Code 的 AI 自動化之路(iThome鐵人賽系列書)$690$538 -
78折
專案管理胃痛圖鑑:從臨床診斷到重症急救,31 帖 PM 生存處方藥到病除!(iThome鐵人賽系列書)$680$530 -
78折
Unity × 設計 × 互動邏輯的遊戲開發全攻略:不會寫程式也能做遊戲,從零開始完成你的第一款 3D遊戲(iThome鐵人賽系列書)$660$514 -
78折
範例驅動的需求澄清術:如何用精準範例指揮 GenAI 建構高品質軟體(iThome鐵人賽系列書)$680$530 -
78折
作業系統的專武:DevSecOps 在客戶端、廠商端與資安的實戰維運攻略(iThome鐵人賽系列書)$620$483 -
78折
Node.js 生成式 AI 應用開發實戰:實作 OpenAI API × LangChain × LangGraph × RAG,打造從雲端到本地 LLM 的混合式安全架構(iThome鐵人賽系列書)$680$530 -
78折
Vibe Unity | AI 遊戲開發工作流:打破極限,創造一款具有無限可能性的遊戲!(iThome鐵人賽系列書)$680$530 -
78折
一生受用的求職方法:量化求職—海外求職、頂尖外商與遠距求職必備攻略(iThome鐵人賽系列書)$690$538 -
78折
零基礎玩轉 LLM 應用全攻略:Python × No-Code 實作 AI 開發超簡單(iThome鐵人賽系列書)$690$538 -
78折
我阿嬤都比你會測試:從生活智慧建立測試思維,到自動化與 AI 的完整進化(iThome鐵人賽系列書)$620$483 -
78折
UI 自動化測試與 AI 應用實戰:實作 Robot Framework × Playwright × Appium 從 Web、App 到 CI/CD 流程整合全方位攻略(iThome鐵人賽系列書)$650$507 -
78折
AI 時代的 Side Project 全攻略:產品思維 × 專案管理 × 變現路徑(iThome鐵人賽系列書)$690$538 -
78折
程式人的第一本 Python 量化投資筆記:Colab 即時演練 × Backtrader 策略設計到績效評估全流程(iThome鐵人賽系列書)$600$468 -
78折
今晚來點 Web 前端效能優化大補帖:從效能優化掌握前端開發的底層邏輯 全彩版(iThome鐵人賽系列書)$720$561 -
78折
Grafana Zero to Hero:從視覺化到智慧監控,打造全知視角的可觀測性平台(iThome鐵人賽系列書)$720$561 -
78折
猴子也能懂的電腦對局:從入門到實戰帶你打造遊戲 AI(iThome鐵人賽系列書)$650$507 -
78折
AI 最強調整術:使用最佳化演算法,打造頂級機器學習模型 (iThome鐵人賽系列書)$650$507 -
78折
為你寫的 Vue Components:從原子到系統,一步步用設計思維打造面面俱到的元件實戰力 (iThome鐵人賽系列書)$780$608 -
78折
AI 程式設計、深度學習與 LLM 入門到精通:PyTorch × GPT × Transformer × LLaMA 實作指南(iThome鐵人賽系列書)$650$507 -
78折
30天整頓職場!從徵才陷阱到離職黑箱,應對話術 × 舉證對策 × 職場防線一書掌握(iThome鐵人賽系列書)$600$468 -
78折
LangGraph 實戰開發 AI Agent 全攻略:掌握 AI 模型 × 工作流程 × 設計應用,從零打造智慧分工多代理協作系統(iThome鐵人賽系列書)$660$514 -
78折
Browser Web API 攻略大全:從開箱即用的實作範例開始,逐步掌握開發技巧(iThome鐵人賽系列書)$650$507 -
78折
想要 SSR? 快使用 Nuxt 吧!:Nuxt 讓 Vue.js 更好處理 SEO 搜尋引擎最佳化(iThome鐵人賽系列書)$780$608 -
78折
RAG × LangChain 整合應用:從問診機器人開始,打造可信任的 AI 系統 (iThome鐵人賽系列書)$600$468
商品描述
【強力推薦】
創造自己的程式語言絕對不是不可能的夢想,本書透過虛擬機器來教導「創造自己的程式語言」所需要的知識,幫助你學習新的東西,可以閱讀這本書的大家實在是很幸運!
──Ruby語言之父 松本行弘(Matz)
【本書特色】
逐步打造語言虛擬機器,深入了解程式語言的運作原理
✪每項功能都有完整實作,可更容易了解語言虛擬機器的實現方式
✪搭配撰寫測試驗證程式,可在學習實作之外,也學習到軟體測試的技巧
✪詳細分析mruby虛擬機器的基本原理,並透過簡化的方式引導學習語言虛擬機器
【內容簡介】
本書內容改編自第12屆iT邦幫忙鐵人賽IoT組優選系列文章《拿到錘子的我想在微控制器上面執行Ruby》。在學習程式語言的過程中,隨著我們理解的知識、技巧越來越多,我們難免需要更加深入了解我們所使用的語言。而這是一本關於程式語言設計的書籍,我們將透過mruby這款設計給嵌入式系統的Ruby語言,一步一步重現Ruby虛擬機器的部分功能,並藉由這樣的方式逐步了解一個語言的實現,且將其在開發板上執行,另外這也幫助我們重新思考使用程式語言時虛擬機器的運作及語言的關聯。
【內容重點】
我們將從閱讀原始碼開始,從前人的經驗學習如何打造一個語言虛擬機器,逐步實現一個能在ESP8266開發板上執行,並具備物件導向特性的精簡版虛擬機器。
✪加法虛擬機器
實現一個語言的虛擬機器,並沒有我們想像中的困難,我們第一個虛擬機器會以將Ruby的「加法」實現出來為目標,透過數百行的程式碼完成一個最簡單的虛擬機器。
✪實現邏輯判斷
加入能夠在我們的虛擬機器中進行if類型的判斷,透過這樣的虛擬機器實現,進而能夠讓程式按照我們的預期進行複雜的行為。
✪實現物件導向
Ruby語言的一大特色就是物件導向特性,我們將會討論如何管理物件的封裝資訊,以及將C語言的程式碼轉換成可以在Ruby中直接被呼叫的方法等機制。
✪用測試驗證想法
本書的目標是實現一個能夠在ESP8266開發板上執行的虛擬機器,為了減少反覆上傳程式到開發板的步驟,我們可以透過撰寫測試的方式,來驗證每一個虛擬機器的實現是否如我們所預期的來運作。
【目標讀者】
✪想了解程式語言運作原理的人。
✪想更好撰寫程式的人。
✪想在開發板上使用不同程式語言的人。
【範例檔下載網址】
https://github.com/elct9620/book-craft-your-mruby-virtual-machine
作者簡介
蒼時弦也(邱政憲)
我是軟體開發的求道者蒼時弦也,主要使用猶如賢者之石一般的Ruby語言,期望能夠在軟體開發的這條路上,找出一個能讓每個人都享受撰寫程式樂趣的方法,並且讓世界上能有更多優秀的程式被設計出來。
目錄大綱
|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 跑馬燈效果







