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
4.2k
WebAssemblyを Rubyにコンパイルする 黒魔術コード完全解説
Tama Ruby会議01の発表資料です
alice345
July 06, 2019
Tweet
Share
More Decks by alice345
See All by alice345
高専カンファレンスというコミュニティ
alice345
0
1.1k
Other Decks in Programming
See All in Programming
Security_for_introducing_eBPF
kentatada
0
110
rails stats で紐解く ANDPAD のイマを支える技術たち
andpad
1
290
testcontainers のススメ
sgash708
1
120
Effective Signals in Angular 19+: Rules and Helpers @ngbe2024
manfredsteyer
PRO
0
130
fs2-io を試してたらバグを見つけて直した話
chencmd
0
220
선언형 UI에서의 상태관리
l2hyunwoo
0
140
Cloudflare MCP ServerでClaude Desktop からWeb APIを構築
kutakutat
1
540
快速入門可觀測性
blueswen
0
330
第5回日本眼科AI学会総会_AIコンテスト_3位解法
neilsaw
0
170
コンテナをたくさん詰め込んだシステムとランタイムの変化
makihiro
1
120
複雑な仕様に立ち向かうアーキテクチャ
myohei
0
170
As an Engineers, let's build the CRM system via LINE Official Account 2.0
clonn
1
670
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
Testing 201, or: Great Expectations
jmmastey
40
7.1k
How To Stay Up To Date on Web Technology
chriscoyier
789
250k
Raft: Consensus for Rubyists
vanstee
137
6.7k
Designing for humans not robots
tammielis
250
25k
Music & Morning Musume
bryan
46
6.2k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
111
49k
Code Review Best Practice
trishagee
65
17k
Fashionably flexible responsive web design (full day workshop)
malarkey
405
66k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.9k
How to train your dragon (web standard)
notwaldorf
88
5.7k
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Λ͏·͘͏ͱεοΩϦॻ͚Δ