Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
2020 - MOPCON - 拿到錘子的我想在為控制器上實作 Ruby VM
Search
蒼時弦や
October 24, 2020
Programming
0
88
2020 - MOPCON - 拿到錘子的我想在為控制器上實作 Ruby VM
蒼時弦や
October 24, 2020
Tweet
Share
More Decks by 蒼時弦や
See All by 蒼時弦や
2024 - COSCUP - Clean Architecture in Rails
elct9620
2
120
2023 - RubyConfTW - Rethink Rails Architecture
elct9620
0
100
20230916 - DDDTW - 導入 Domain-Driven Design 的最佳時機
elct9620
0
370
2023 - WebConf - 選擇適合你的技能組合
elct9620
0
580
20230322 - Generative AI 小聚 ft. Happy Designer
elct9620
0
310
2022 - 默默會 - 重新學習 MVC 的 Model
elct9620
1
410
MOPCON 2022 - 從 Domain-Driven Design 看網站開發框架隱藏
elct9620
1
430
2022 - COSCUP - 我想慢慢寫程式該怎麼辦?
elct9620
0
220
2022 - COSCUP - 打造高速 Ruby 專案開發流程
elct9620
0
240
Other Decks in Programming
See All in Programming
20年もののレガシープロダクトに 0からPHPStanを入れるまで / phpcon2024
hirobe1999
0
470
Jakarta EE meets AI
ivargrimstad
0
240
Scalaから始めるOpenFeature入門 / Scalaわいわい勉強会 #4
arthur1
1
330
Beyond ORM
77web
5
670
開発者とQAの越境で自動テストが増える開発プロセスを実現する
92thunder
1
180
42 best practices for Symfony, a decade later
tucksaun
1
180
Amazon S3 NYJavaSIG 2024-12-12
sullis
0
100
Итераторы в Go 1.23: зачем они нужны, как использовать, и насколько они быстрые?
lamodatech
0
770
良いユニットテストを書こう
mototakatsu
7
2.2k
Spatial Rendering for Apple Vision Pro
warrenm
0
100
Recoilを剥がしている話
kirik
5
6.7k
Асинхронность неизбежна: как мы проектировали сервис уведомлений
lamodatech
0
770
Featured
See All Featured
Fireside Chat
paigeccino
34
3.1k
A Philosophy of Restraint
colly
203
16k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.2k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Imperfection Machines: The Place of Print at Facebook
scottboms
266
13k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
A Tale of Four Properties
chriscoyier
157
23k
Building Your Own Lightsaber
phodgson
103
6.1k
Optimising Largest Contentful Paint
csswizardry
33
3k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
520
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
28
4.4k
Transcript
拿到錘⼦的我想 在微控制器上⾯執⾏ Ruby Photo by Johannes Plenio from Pexels
WEB DEVELOPER GAME DEVELOPER ࣌ ݭ @elct9620
None
None
Background
None
None
Virtual Machine
In computing, a virtual machine (VM) is an emulation of
a computer system. - Wikipedia
Process virtual machines are designed to execute computer programs in
a platform-independent environment. - Wikipedia
Compiler Source Code Executable
Compiler Source Code Ruby VM
https://bit.ly/2T4BCiG
Getting Started
https://bit.ly/3ojwEwX
None
None
None
None
IREP
An intermediate representation (IR) is the data structure or code
used internally by a compiler or virtual machine to represent source code. - Wikipedia
app.mrb RITE Header IREP Debug Section
IREP ISEQ Pools Symbols IREP
mrb_exec
None
Load Variable
None
None
mruby is designed for Embedded System which is Raspberry Pi,
but mruby-L1VM's target is run under 1KB RAM
Behind VM
None
None
None
None
None
None
None
Hardware
Development Board is made software developer easier to build an
application with hardware
The SDK for Development Board usually based on C or
C++, which means it is possible to run Golang, Ruby, or Python on it.
The hardest for developers is no hardware knowledge to write
their driver for their hardware
Hardware Abstraction Layer
https://bit.ly/3kiNzxf
https://bit.ly/3mcdLdu
None
None
None
Conclusion