Slide 1

Slide 1 text

3VTUͰσόοΨʔΛ࣮૷ͯ͠Έͨ

Slide 2

Slide 2 text

自己紹介 ゴリラです。 株式会社テックリードという会社をやってい ます。 主にフロントエンド・バックエンドエンジニ アとして仕事しています。 好きなものはVim, Go, Rust, TypeScript, Deno, Wasm などです。 X : https://x.com/gorilla0513 zenn : https://zenn.dev/skanehira GitHub: https://github.com/skanehira

Slide 3

Slide 3 text

RustでWasm Runtimeを実装する本を書いた https://zenn.dev/skanehira/books/writing-wasm-runtime-in-rust

Slide 4

Slide 4 text

自己紹介はこれくらいで…

Slide 5

Slide 5 text

本日は↓をRustでやってみた という話をします

Slide 6

Slide 6 text

https://github.com/skanehira/ build-debugger-in-rust

Slide 7

Slide 7 text

஫ҙ఺ w ຊͷ಺༰Λ͢΂࣮ͯ૷͍ͯ͠ͳ͍ w ΫϨʔτ͕ͳࣗ͘લ࣮૷͢Δ͔͠ͳ͍෦෼͸΍͍ͬͯͳ͍ʢ໘౗ͳͷͰʜ w ྫγϯϘϧ໊ɺϑΝΠϧ໊ߦࢦఆͰϒϨΠΫϙΠϯτΛઃఆ͢Δ w CSFBLQPJOUͱDPOUJOVF͕ಈ͘࠷௿ݶͷ࣮૷ͷΈ

Slide 8

Slide 8 text

ओʹ࢖ͬͨΫϨʔτ w IUUQTDSBUFTJPDSBUFTOJY w ͞·͟·ͳOJYϓϥοτϑΥʔϜ"1* -JOVYɺ%BSXJOͳͲ Λఏڙ w GPSL QUSBDFͳͲ w IUUQTDSBUFTJPDSBUFTBEESMJOF w %8"3'σόοά৘ใΛ࣋ͭϑΝΠϧ͔ΒΞυϨε͝ͱͷσόοά৘ใΛऔಘ͢ ΔͨΊͷΫϩεϓϥοτϑΥʔϜϥΠϒϥϦ w ΞυϨεʹؔ࿈͢ΔϑΝΠϧ໊ɺߦ൪߸ɺؔ਺໊Λऔಘ

Slide 9

Slide 9 text

σϞ

Slide 10

Slide 10 text

σόοΨʔͷ࣮૷dલ४උd w σόοάର৅ͷϓϩάϥϜʢҎ߱EFCVHHFFʣΛσόοάϏϧυ w ͜ΕʹΑΓ࣮ߦόΠφϦ͸ˣͷΑ͏ʹͳΔ w %8"3'ͷ৘ใ͕௥Ճ͞ΕΔʢσϑΥϧτʣ w ΠϯϥΠϯԽͱ࠷దԽΛແޮʢσόοάΛ༰қʹ͢ΔͨΊʣ

Slide 11

Slide 11 text

σόοΨʔͷ࣮૷d࣮ߦ։࢝d w EFHVHHFSͰGPSLͯ͠ࢠϓϩηε Λ࡞Δ w ਌ϓϩηεͰXBJUQJE Ͱࢠϓϩ ηεͷঢ়ଶมԽΛ଴ͭ

Slide 12

Slide 12 text

w ࢠϓϩηεͰQUSBDF Λ࣮ߦ w 153"$&@53"$&.&ʹΑΓ਌ϓ ϩηε͕ࢠϓϩηεΛ੍ޚͰ͖Δ Α͏ʹͳΔ w ࢠϓϩηεͰFYFDWF Ͱ EFCVHHFFΛ࣮ߦ w ࢠϓϩηε͸Ұ࣌ఀࢭ͢Δ w ਌ϓϩηεͷXBJUQJE Ͱ 4*(53"1Λݕ஌ͯ͠ॲཧ͕ਐΉ σόοΨʔͷ࣮૷d࣮ߦ։࢝d

Slide 13

Slide 13 text

σόοΨʔͷ࣮૷d࣮ߦ։࢝d

Slide 14

Slide 14 text

w CSFBLQPJOUͱDPOUJOVFίϚϯυͷ࣮૷ σόοΨʔͷ࣮૷dίϚϯυೖྗd

Slide 15

Slide 15 text

w ࢦఆΞυϨεͷ໋ྩͷઌ಄όΠτͷ໋ྩΛ*/5 Y$$ ʹॻ͖׵͑Δ w QUSBDFDPOU ͰEFCVHHFFͷॲཧΛ࠶։ w $16͕*/5Λॲཧ͢ΔͱEFCVHHFF͕4*(53"1Λड৴ͯ͠Ұ࣌ఀࢭ w EFVHHFS͕XBJUQJE ͰEFHVHHFFͷঢ়ଶ͕มΘͬͨ͜ͱΛݕ஌ σόοΨʔͷ࣮૷dCSFBLQPJOUઃஔd

Slide 16

Slide 16 text

IUUQT[FOOEFWLTSOOCCPPLTCVJME@ZPVS@PXO@HP@EFCVHHFSWJFXFSCSFBLQPJOUNFNPSZ σόοΨʔͷ࣮૷dCSFBLQPJOUઃஔd

Slide 17

Slide 17 text

w QUSBDFSFBE ͰࢦఆΞυϨε͔ Β໋ྩʢόΠτʣΛऔಘ w EBUBY ff cYDDͰઌ಄όΠ τΛYDDʹมߋ w QUSBDFXSJUFͰมߋ໋ͨ͠ྩΛॻ ͖໭͢ σόοΨʔͷ࣮૷dCSFBLQPJOUઃஔd

Slide 18

Slide 18 text

w EBUBY ff cYDDͰ΍͍ͬͯΔ͜ͱ σόοΨʔͷ࣮૷dCSFBLQPJOUઃஔd

Slide 19

Slide 19 text

w ΞυϨεͷ֬ೝ PCKEVNQMJOFOVNCFSTFYBNQMFTNBJOcMFTT σόοΨʔͷ࣮૷dCSFBLQPJOUઃஔd

Slide 20

Slide 20 text

σόοΨʔͷ࣮૷dDPOUJOVFd w QUSBDFDPOG Ͱఀࢭ͍ͯ͠Δ ࢠϓϩηεΛ࠶։ w TFMGXBJU Ͱࢠϓϩηεͷঢ়ଶม ߋΛ଴ͭ w 4*(53"1Λݕ஌ͨ͠Β TFMGPO@CSFBLQPJOU@IJU Λ࣮ߦ

Slide 21

Slide 21 text

σόοΨʔͷ࣮૷dDPOUJOVFd w CSFBLQPJOUʹ౸ୡͨ͠ΒQD͸ ΞυϨεʹͳΔͷͰɺQDΛ ͭલʹ໭ͯ͠ɺͦͷΞυϨε͔Β ιʔείʔυͱߦ਺Λग़ྗ͢Δ w TFMGMPDBUPSHFU@TPVSDF@MPDBUJP O ͸BEESMJOFͷ"1*

Slide 22

Slide 22 text

ײ૝ w σόοΨʔͷಈ͘࠷௿ݶͷ࢓૊ΈΛཧղͨ͠ w */5ͱQUSBDFͷ͜ͱগ͠Θ͔ͬͯΑ͔ͬͨ w ࠓޙϞνϕ͕͋Ε͹%8"3'ͷύʔαʔ࣮૷ͯ͠ຊͷଓ͖Λ΍͍͖͍ͬͯͨ