Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
mruby 入門
Search
Tatsushi Demachi
December 02, 2017
Programming
0
1.1k
mruby 入門
Tatsushi Demachi
December 02, 2017
Tweet
Share
More Decks by Tatsushi Demachi
See All by Tatsushi Demachi
How to write commit messsage
tatsushid
0
150
Other Decks in Programming
See All in Programming
Missing parts when designing and implementing Android UI
ericksli
0
370
Figma Dev Modeで変わる!Flutterの開発体験
watanave
0
3.7k
新卒研修で作ったアプリのご紹介
mkryo
0
220
DevTools extensions で 独自の DevTool を開発する | FlutterKaigi 2024
kokiyoshida
0
290
Leveling Up Developer Tooling for the Modern Rails & Hotwire Era @ Ruby Türkiye, November 2024
marcoroth
0
150
TypeScript Graph でコードレビューの心理的障壁を乗り越える
ysk8hori
3
1.4k
チームにとって最適なスキルアップ施策とは何か/what-is-the-best-skill-up-approach-for-team
nobuoooo
0
160
よくできたテンプレート言語として TypeScript + JSX を利用する試み / Using TypeScript + JSX outside of Web Frontend #TSKaigiKansai
izumin5210
8
3.5k
14 Years of iOS: Lessons and Key Points
seyfoyun
0
390
OnlineTestConf: Test Automation Friend or Foe
maaretp
0
140
プロダクトの品質に コミットする / Commit to Product Quality
pekepek
0
200
エンジニアとして関わる要件と仕様(公開用)
murabayashi
0
340
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
28
2k
The Cult of Friendly URLs
andyhume
78
6.1k
Music & Morning Musume
bryan
46
6.2k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
470
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
The Cost Of JavaScript in 2023
addyosmani
45
6.9k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.6k
[RailsConf 2023] Rails as a piece of cake
palkan
52
5k
Being A Developer After 40
akosma
87
590k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Building an army of robots
kneath
302
43k
Transcript
*OUSPEVDUJPOUP NSVCZ ͳ͕ͷ3VCZͷձCZ!UBUTVTIJ@E
8IP w Ͱ·ͪͨͭ͠ 5XJUUFS!UBUTVTIJ@E w ΠϯϑϥʢαʔόɺωοτϫʔΫͳͲʣ w ࠷ۙͬͺΒ(P͍
8IBU`TNSVCZ w 3VCZͷܰྔ࣮ʢ*40ఆٛͷ෦࣮ʣ w จ๏3VCZޓ w ओʹΞϓϦέʔγϣϯࠐΈ༻్ʹ։ൃ w Ϗϧυ࣌ʹඞཁͳݴޠػೳͷΈΛࠐΈ w
ৄࡉIUUQTHJUIVCDPNNSVCZNSVCZࢀর
8IFSFJTJUVTFE w OHY@NSVCZʢOHJOYͷ֦ுϞδϡʔϧʣ w OHJOYͷઃఆɺ֦ுΛ3VCZจ๏Ͱॻ͚Δ w )0ʢ)551αʔόʣ w αʔόͷ੍ޚΛ3VCZจ๏Ͱॻ͚Δ w
NJUBNBFʢߏཧπʔϧ*UBNBFNSVCZ൛ʣ w ୯ҰόΠφϦͷίϚϯυϥΠϯπʔϧ w 3VCZ%4-Ͱॻ͔ΕͨߏఆٛΛॲཧՄೳ
)PXUPJOTUBMM
3FRVJSFNFOU w $$PNQJMFS w -JOLFS w "SDIJWFS w -JC$MJCSBSJFTBOEIFBEFST w
#JTPO w 3VCZ
#VJME w HJUDMPOFIUUQTHJUIVCDPNNSVCZ NSVCZHJU w DENSVCZ w NJOJSBLF
#JOBSJFT w NJSCʢJSC૬ʣ w NSCDʢNSVCZ7.όΠτίʔυίϯύΠϥʣ w NSVCZʢSVCZ૬ʣ w NSVCZTUSJQʢ%FCVHηΫγϣϯআπʔϧʣ w
NSECʢσόοΨʣ
-JCSBSJFT w MJCNSVCZ@DPSFB TSDҎԼͱύʔαͷΈΛؚΉίΞϥΠϒϥϦ w MJCNSVCZB NSCMJC NSCHFNؚΉNSVCZϥΠϒϥϦ
%FNP DPNQJMF SVONJSCBOE NSVCZ
#VJMEDPOpHVSBUJPO w ϏϧυઃఆCVJME@DPOpHSCϑΝΠϧͰࢦఆ w .36#:@$0/'*(ڥมͰCVJME@DPOpHSC ͷύεΛࢦఆ
#VJMEDPOpHTFDUJPO w 5PPMDIBJO w $DPNQJMFS w -JOLFS w "SDIJWFS w
1BSTFS(FOFSBUPS w NSCHFNT w FUDʜ
NSCHFN w NSVCZʹ͓͚Δ֦ுػߏ w $ BOEPS 3VCZͰॻ͘͜ͱ͕Ͱ͖Δ w NSVCZ࣮ߦܥ MJCNSVCZB
ʹࠐ·ΕΔ w NSVCZίΞػೳͷҰ෦࣮NSCHFN
)PXUPVTFNSCHFN w CVJME@DPOpHSCͰࢦఆ w (FN#PYͰࢦఆ w ར༻͍ͨ͠NSCHFNͷఆٛΛ·ͱΊ͓͚ͯΔ Έ w CVJME@DPOpHSCͰݺͼग़ͯ͠ར༻͢Δ
NSCHFNSFGFSFODFUZQF w NSCHFNࢀরઌԼهͷछྨ͕͋Δ w ϑΝΠϧύε w ϦϞʔτ(JUϦϙδτϦ w (JUIVC w
#JUCVDLFU w NHFN w NHFNMJTU IUUQTHJUIVCDPNNSVCZNHFNMJTU ʹ·ͱΊ ΒΕ͍ͯΔNSCHFN
NSCHFNTUSVDUVSF GEM_NAME <- Name of GEM !"" include <- Header
for Ruby extension !"" mrblib <- Source for Ruby extension !"" src <- Source for C extension !"" test <- Test code (Ruby) !"" mrbgem.rake <- GEM specification #"" README.md <- Readme for GEM
NSCHFNSBLF w NSCHFNͷఆٛϑΝΠϧ w MJDFOTF w BVUIPS w TVNNBSZ w
WFSTJPO w ґଘؔ w FUDʜ
&YBNQMF 3VCZPOMZ
$FYUFOTJPO w NSCHFNʹɺԼهͷೋͭͷ͕ؔඞཁ w NSC@(&./".&@HFN@JOJU NSC@TUBUF w ҰൠతʹϞδϡʔϧɺΫϥεɺϝιουͳͲͷఆٛ Λߦ͏
w NSC@(&./".&@HFN@pOBM NSC@TUBUF w NSVCZ֎͔ΒׂΓͯͨϝϞϦͳͲͷཧͳͲΛ ߦ͏
&YBNQMF $ 3VCZIZCSJE
$PODMVTJPO w $ 3VCZͰ༰қʹϥϯλΠϜ͕֦ுՄೳ w ΞϓϦέʔγϣϯͷ෦ߏΛదʹެ։͢Ε ɺNSVCZ͔Βࣗ༝ʹ੍ޚՄೳ w ϥϯλΠϜʹࠐ·ΕΔͷͰɺ୯ҰόΠφϦ ԽՄೳ
3FGFSFODFT.BUFSJBMT w IUUQTHJUIVCDPNNSVCZNSVCZ w IUUQTHJUIVCDPNNSVCZNSVCZCMPC NBTUFSEPDHVJEFTDPNQJMFNE w IUUQTHJUIVCDPNNSVCZNSVCZCMPC NBTUFSEPDHVJEFTNSCHFNTNE w
IUUQTHJUIVCDPNUBUTVTIJEOBSVCZ NSVCZFYBNQMF