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
mruby 入門
Search
Tatsushi Demachi
December 02, 2017
Programming
0
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
AWS IaCの注目アップデート 2024年10月版
konokenj
3
2.1k
レガシーな Android アプリのリアーキテクチャ戦略
oidy
1
170
開発効率向上のためのリファクタリングの一歩目の選択肢 ~コード分割~ / JJUG CCC 2024 Fall
ryounasso
0
310
EventSourcingの理想と現実
wenas
5
2k
Identifying User Idenity
moro
4
6.1k
GCCのプラグインを作る / I Made a GCC Plugin
shouth
1
140
The future of development – Are our jobs getting harder or easier?
hollycummins
1
240
弊社の「意識チョット低いアーキテクチャ」10選
texmeijin
4
13k
WEBエンジニア向けAI活用入門
sutetotanuki
0
290
Generative AI Use Cases JP (略称:GenU)奮闘記
hideg
0
120
Tuning GraphQL on Rails
pyama86
2
780
Android 15 でアクションバー表示時にステータスバーが白くなってしまう問題
tonionagauzzi
0
110
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
425
64k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
41
9.2k
[RailsConf 2023] Rails as a piece of cake
palkan
51
4.8k
Designing the Hi-DPI Web
ddemaree
280
34k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Writing Fast Ruby
sferik
626
60k
Fontdeck: Realign not Redesign
paulrobertlloyd
81
5.2k
Into the Great Unknown - MozCon
thekraken
31
1.5k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.1k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
27
1.9k
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