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
WebAssemblyを Rubyにコンパイルする 黒魔術コード完全解説
Search
alice345
July 06, 2019
Programming
2
4k
WebAssemblyを Rubyにコンパイルする 黒魔術コード完全解説
Tama Ruby会議01の発表資料です
alice345
July 06, 2019
Tweet
Share
More Decks by alice345
See All by alice345
高専カンファレンスというコミュニティ
alice345
0
1k
Other Decks in Programming
See All in Programming
try!Swift Tokyo 2024 参加報告 LT
akidon0000
1
220
MetricKitで予期せぬ終了を検知する話 / Detect unexpected termination with MetricKit
nekowen
1
190
Anthropic Cookbook のおすすめレシピ
schroneko
7
980
Zero Waste, Radical Magic, and Italian Graft – Quarkus Efficiency Secrets
hollycummins
0
230
dbtのドメイン分割による データ基盤の改善とDigdagとの連携
sakama
0
350
Rethinking UI building strategies @ SFI 2024
letelete
0
270
Ruby Function Composition
bkuhlmann
1
330
Amazon SQSコンシューマー疎結合への旅 - 出張! #DevelopersIO IT技術ブログの中の人が語る勉強会 #3
quiver
0
270
初心者のためのRubyKaigi入門/RubyKaigi Introduction
a_matsuda
1
750
#phpcon_odawara オープン・クローズドなテストフィクスチャを求めて / open closed test fixtures
77web
3
230
ADRを一年運用してみた/adr_after_a_year
hanhan1978
7
2.4k
検証も兼ねて個人開発でHonoとかと向き合った話
hanetsuki
1
1k
Featured
See All Featured
Building an army of robots
kneath
300
41k
Infographics Made Easy
chrislema
238
18k
How STYLIGHT went responsive
nonsquared
92
4.8k
What's in a price? How to price your products and services
michaelherold
237
11k
BBQ
matthewcrist
80
8.8k
Building Effective Engineering Teams - LeadDev
addyosmani
28
1.8k
Why You Should Never Use an ORM
jnunemaker
PRO
51
8.6k
The Illustrated Children's Guide to Kubernetes
chrisshort
31
46k
Navigating Team Friction
lara
178
13k
What’s in a name? Adding method to the madness
productmarketing
PRO
16
2.6k
How GitHub (no longer) Works
holman
304
140k
Design by the Numbers
sachag
274
18k
Transcript
8FC"TTFNCMZΛ 3VCZʹίϯύΠϧ͢Δ ࠇຐज़ίʔυશղઆ !BMJUBTP !5BNB3VCZձٞ
ࣗݾհ w ؙࢁ͋Γ͢ w 5XJUUFS!BMJUBTP w (JU)VC!BMJUBTP w ॴଐϐΫγϒגࣜձࣾ
8FC"TTFNCMZͱ $$ 3VTU &NTDSJQUFO ίϯύΠϥ XBTN 8FC"TTFNCMZόΠφϦ
8FC"TTFNCMZͱ $$ 3VTU &NTDSJQUFO ίϯύΠϥ XBTN 8FC"TTFNCMZόΠφϦ )5.-
+4 ϒϥβ্Ͱಈ࡞
8FC"TTFNCMZͱ3VCZ 3VCZPO8FC"TTFNCMZ5PN#MBDLIUUQXXXCMBDLUNDPNCMPHSVCZPOXFCBTTFNCMZ NSVCZ $ XBTN )5.- +4 NSVCZΛϒϥβ্Ͱಈ࡞
8FC"TTFNCMZΛ3VCZͰಈ͔͢ $$ 3VTU &NTDSJQUFO XBTN հͨ͠ྫ ຊൃදͰऔΓ্͛Δ Ξϓϩʔν XBTN
3VCZ XBTNॲཧܥ 3VCZ
ʮXBHZVʯ3VCZͷXBTNॲཧܥ XBTN 3VCZ XBHZV w 1VSF3VCZXBTNॲཧܥɺXBHZV ڇ Λհ w IUUQTHJUIVCDPNFEWBLGXBHZV
w 3VCZ,BJHJޙɺ!FEWBLG͞ΜͱҰॹʹ։ൃΛਐΊ͍ͯΔ w ຊൃදͰXBHZVͷղͳ෦Λղઆ
XBTNͷόΠφϦܗࣜ όΠφϦܗࣜ
XBTNͷςΩετܗࣜ ςΩετܗࣜ
XBHZVͷΞϓϩʔν XBHZV ςΩετܗࣜ 3VCZͷίʔυ தؒදݱ͔Β3VCZͷίʔυʹมͯ͠FWBM͢Δ
XBHZVͷΞϓϩʔν XBHZV ςΩετܗࣜ 3VCZͷίʔυ தؒදݱ͔Β3VCZͷίʔυʹมͯ͠FWBM͢Δ ม͕ҰےೄͰ͍͔ͳ͍ྫ
੍ޚ໋ྩͱCS w 8FC"TTFNCMZʹҎԼͷΑ͏ͳ੍ޚ໋ྩ͕͋Δ w JGCMPDLMPPQCSCS@JGCS@UBCMFSFUVSODBMMMDBMM@JOEJSFDU
XBTNͷzCSz w CSEFQUI ϒϩοΫͷਂ͞ ͋Δ͍λάΛҾʹࢦఆ w JGจΛൈ͚ͨΓɺMPPQΛ܁Γฦͨ͠Γ͢Δͷʹ͏
XBTNͷzCMPDLz 8FC"TTFNCMZ 3VCZ ม w XBTNͷzCMPDLz3VCZͷXIJMF USVF CSFBLFOEͰදݱͰ͖Δ w XBTNͷzCSz3VCZͷCSFBLʹରԠ
XBTNͷzCMPDLzͱzCMPDLz w XBTNͷzCMPDLzͱzCMPDLz͕ωετ w XBTNͷzCSz3VCZͷUISPXDBUDIʹରԠ 3VCZ 8FC"TTFNCMZ ม
XBTNͷzMPPQzͱzCMPDLͷωετ 8FC"TTFNCMZ ςΩετܗࣜ 3VCZ ม w XBTNͷzMPPQzͱzCMPDLz͕ωετ w MPPQͷઌ಄ʹΔͨΊͷม͕ඞཁ
ωετͷൈ͚ํΛߟ͑͢ w Ұؾʹ֎ଆ·Ͱൈ͚Α͏ͱ ͢Δͱ໘ w CSFBL UISPXDBUDI OFYU ͲΕΛ͏͔
ωετͷਂ͞ͱ੍ޚ໋ྩ ʹΑͬͯΘΔ
ஈ֊తʹωετΛൈ͚Δ ࠷دΓͷωετ͔Βൈ͚͍ͨ ݸ֎ଆͷωετ͔Βൈ͚͍ͨ ݸ֎ଆͷωετ͔Βൈ͚͍ͨ CSͷҾ ग़͍ͨ͠ωετͷਂ͞ Λ ग़͠ͳ͕Β֎֎͍͑ͯ͘3VCZίʔυʹม
ಥવͰ͕͢Ͱ͢ w l)FMMP8PSMEzͱग़ྗ͞ΕΔ3VCZ ͷίʔυʹม͍ͨ͠ w ʹڞ௨ͯ͠ೖΔͷ ͳΜͰ͠ΐ͏ "SFUVSO #CSFBL
$OFYU
SFUVSOΛͬͨ߹ w มEFQUI ग़͍ͨ͠ωετͷஈ w ͜ͷίʔυͰΓ͍ͨ͜ͱ CSͷҾΛϒϩοΫΛग़ ͠ͳ͕Β֎֎ͱ͍͑ͯ͘ IUUQTHJUIVCDPNFEWBLGXBHZVCMPCDFFFCCCDCEFCBDFMJCXBHZVXBTNNPEVMFSC-
SFUVSOΛͬͨ߹ w MBNCEBͰSFUVSO खଓ͖Λதஅ͠Λฦ͢ w CSΛSFUVSOͱஔ͖͓͑ͯΓ ϧʔϓͷઌ಄ʹδϟϯϓ͍ͨ͠ IUUQTHJUIVCDPNFEWBLGXBHZVCMPCDFFFCCCDCEFCBDFMJCXBHZVXBTNNPEVMFSC-
SFUVSOΛͬͨ߹ w @MPPQϝιουͷϒϩοΫͰ SFUVSO @MPPQϝιουΛൈ͚Δ ϧʔϓ͠ͳ͍ SFUVSOͨ͠ Λฦ͢
IUUQTHJUIVCDPNFEWBLGXBHZVCMPCDFFFCCCDCEFCBDFMJCXBHZVXBTNNPEVMFSC-
CSFBLͷ߹ IUUQTHJUIVCDPNFEWBLGXBHZVCMPCDFFFCCCDCEFCBDFMJCXBHZVXBTNNPEVMFSC- w @MPPQϝιουͷϒϩοΫͰ CSFBL @MPPQϝιουΛதஅ OFYU·Ͱ౸ୡͤͣ l)FMMPz
w @MPPQϝιουͷϒϩοΫͰ OFYU ݺͼग़͠ݩ ZJFME ʹΔ ΓOFYUͷҾ ϧʔϓͷઌ಄ʹΕΔ OFYUͷ߹ IUUQTHJUIVCDPNFEWBLGXBHZVCMPCDFFFCCCDCEFCBDFMJCXBHZVXBTNNPEVMFSC-
OFYUͷ߹ w ࠶ͼJGจΛ࣮ߦ ࠓFMTF ͳͷͰϧʔϓͤͣग़͍ͨ͠ IUUQTHJUIVCDPNFEWBLGXBHZVCMPCDFFFCCCDCEFCBDFMJCXBHZVXBTNNPEVMFSC-
OFYUͷ߹ w ࠶ͼJGจΛ࣮ߦ ࠓFMTF w ZJFMEͷΓ͔ͩΒϧʔϓͤͣ w @MPPQΛฦ͢ IUUQTHJUIVCDPNFEWBLGXBHZVCMPCDFFFCCCDCEFCBDFMJCXBHZVXBTNNPEVMFSC-
w @CMPDLϝιουͷϒϩοΫͰ OFYU ݺͼग़͠ݩͷZJFMEʹΓ Λฦ͢ IUUQTHJUIVCDPNFEWBLGXBHZVCMPCDFFFCCCDCEFCBDFMJCXBHZVXBTNNPEVMFSC- OFYUͷ߹
w @CMPDLϝιουͷϒϩοΫͰ OFYU ݺͼग़͠ݩͷZJFMEʹΓ Λฦ͢ w ແࣄʹωετΛൈ͚ͯ l)FMMP8PSMEz OFYUͷ߹
IUUQTHJUIVCDPNFEWBLGXBHZVCMPCDFFFCCCDCEFCBDFMJCXBHZVXBTNNPEVMFSC-
CSΛ3VCZͰ؆୯ʹѻ͏ͨΊͷϙΠϯτ w 8FC"TTFNCMZͷzCS3VCZͷOFYUʹม w 8FC"TTFNCMZͷJGCMPDLMPPQɺQSPD·ͨCMPDLΛҾʹͱΔ ϝιουʹΓग़ͯ͠EFQUI͔Β࢝ΊΔ w ϒϩοΫऴͰOFYUEFQUIΛฦͯ͠ɺͭϒϩοΫΛग़͢Δ w ͜ΕΒΛڞ௨ͯ͠͏͜ͱͰ੍ޚ໋ྩͷҧ͍ɺωετͷਂ͞Λҙࣝͤͣ
3VCZʹมՄೳ
·ͱΊ w 8FC"TTFNCMZΛ3VCZʹίϯύΠϧ͢Δίʔυͷ࣮ͱಈ࡞ྫΛհ w ϝλϓϩάϥϛϯάύλʔϯͷ͏ͪɺಈతͳϝιουఆٛΛ͍ 8FC"TTFNCMZͷؔΛ3VCZͷϝιουʹίϯύΠϧ͢Δ w 8FC"TTFNCMZͷJGCMPDLMPPQͱCSΛ3VCZʹίϯύΠϧ͢Δࡍ QSPDΦϒδΣΫτͱOFYUΛ͏·͘͏ͱεοΩϦॻ͚Δ