Slide 1

Slide 1 text

)POPͷಋೖΛݕ౼͍͕ͯͨ͠ɺ )POPͷਓ͕དྷԭ͢ΔΒ͍͠ͷͰɺ ٸ͍Ͱ)POPΛಋೖͨ͠࿩ $MPVE fl BSF.FFUVQ0LJOBXB7PMˠଟ෼7PMʁ BJQBDPNNBOEFS!ٓ໺࿷

Slide 2

Slide 2 text

ࣗݾ঺հ w ΞΠύʔୂ௕ͱ͍͍·͢ !BJQBDPNNBOEFS w ͏ͪͳʔΜͪΎͰ͢ w $#DMPVEגࣜձࣾͰಇ͍͍ͯ·͢ w ෺ྲྀۀքͰΠϊϕʔγϣϯىͨͯ͘͜͠೔ʑؤு͍ͬͯ·͢ w ϑϩϯτΤϯδχΞͰ͕͢ɺ࠷ۙ͸3VCZΛॻ͘͜ͱ͕ଟ͍Ͱ͢ w ࡞Δ΋ͷ͕ଟ͗ͯ͢஥ؒΛืू͍ͯ͠·͚ͨͯ͢͢

Slide 3

Slide 3 text

એ఻

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

ࠓ೔࿩͢͜ͱ

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

੎͍˕

Slide 9

Slide 9 text

੎͍˕

Slide 10

Slide 10 text

࣮੷✕

Slide 11

Slide 11 text

ٸ͛ʂʂʂʂʂʂʂʂʂʂʂʂ w ൃදۦಈϓϩμΫτಋೖ։ൃ w େৎ෉ɺ๻͸ϦʔμʔͳͷͰϤγʂʢʁʁʁʁʁʁʁʣ w ࠓΈ͍ͯΔϓϩδΣΫτ͸'JSFCBTFϓϩδΣΫτͰɺόοΫΤϯυʹ $MPVE'VODUJPOTΛଟ༻͍ͯ͠Δ w "1*ɺόονɺτϦΨʔ༻్Ͱ਺ेͷ$MPVE'VODUJPOT͕͍Δ w $MPVE'VODUJPOTʹ)POPΛೖΕΕ͹͍͍ΜͩͳɻΑʔ͠ʢυΩϡ ϝϯτΛ೷͘

Slide 12

Slide 12 text

0I /PUIJOH$MPVE'VODUJPOT https://hono.dev/getting-started/nodejs

Slide 13

Slide 13 text

ຊ౰ʹͰ͖Δʁ https://hono.dev/getting-started/nodejs

Slide 14

Slide 14 text

ͱ΋͋Εࢼ͢ https://zenn.dev/aipacommander/scraps/a1b42841d22bf1

Slide 15

Slide 15 text

$MPVE'VODUJPOTͰͷϦΫΤετύλʔϯ͸ ̎ͭ w GVODUJPOTIUUQTPO3FRVFTU BQQ w &YQSFTTΈ͍ͨʹ࢖͑Δɻͱ͍͏͔&YQSFTT࢖ͬͯΔ w GVODUJPOTIUUQTPO$BMM EBUB DPOUFYU \^ w ΞϓϦέʔγϣϯʢϑϩϯτΤϯυʣ͔Βɺ4%,ܦ༝Ͱؔ਺Λ࣮ߦ ͢Δ w 63-Λࢦఆ͢ΔΜ͡Όͳͯ͘ɺ4%,͔Βؔ਺ΛݺͿ͜ͱ͕Ͱ͖Δ

Slide 16

Slide 16 text

$MPVE'VODUJPOTͰͷϦΫΤετύλʔϯ͸ ̎ͭ w GVODUJPOTIUUQTPO3FRVFTU BQQ w &YQSFTTΈ͍ͨʹ࢖͑Δɻͱ͍͏͔&YQSFTT࢖ͬͯΔ w GVODUJPOTIUUQTPO$BMM EBUB DPOUFYU \^ w ΞϓϦέʔγϣϯʢϑϩϯτΤϯυʣ͔Βɺ4%,ܦ༝Ͱؔ਺Λ࣮ߦ ͢Δ w 63-Λࢦఆ͢ΔΜ͡Όͳͯ͘ɺ4%,͔Βؔ਺ΛݺͿ͜ͱ͕Ͱ͖Δ

Slide 17

Slide 17 text

ͦ͏ͩͶ

Slide 18

Slide 18 text

౰࣌ͷؾ࣋ͪ • Ͳ͏͠Α͏

Slide 19

Slide 19 text

ઌਓ͸͍ΔͷͰҰԠͰ͖Δ͜ͱ͸Θ͔͍ͬͯΔ https://zenn.dev/singularity/articles/ fi rebase-hono

Slide 20

Slide 20 text

౰࣌ͷؾ࣋ͪ̎ • ·͊Ͱ΋Cloud Runͱ͔Lambdaͱ͔ʹҠߦ͢Δͱ͖ʹϙʔλϏϦςΟ ͸্͕Γͦ͏ • ·ͨɺෳ਺Cloud FunctionsΛ1ͭͷ Cloud Runʹԡ͠ࠐΊΔ͜ͱ΋Ͱ͖ͦ͏ → ίεύΑ͘ͳΔʢ͸ͣʣ • ΍Γ·͔͢

Slide 21

Slide 21 text

ͱ΋͋ΕؤுΔ

Slide 22

Slide 22 text

ઌਓͷίʔυΛύΫΔࢀߟʹ͍ͤͯͨͩ͘͞ https://zenn.dev/singularity/articles/ fi rebase-hono

Slide 23

Slide 23 text

HonoΛCloud Functions্Ͱಈ͔͢ʹ͋ͨͬͯͷ ๻ͷٙ໰఺ • ຊ౰ʹಈ͘ʁ • ؀ڥม਺औΕΔʁ • GCP Secret Manager΁ͷΞΫηε͸Ͱ͖Δʁ • HonoͷExceptionΛར༻Ͱ͖Δʁ • HonoͷMiddlewareͷCORS͸ར༻Ͱ͖Δʁ

Slide 24

Slide 24 text

ͱ͍͏Θ͚Ͱࢼ͢ https://zenn.dev/aipacommander/scraps/a34e7fd8761a37

Slide 25

Slide 25 text

ݕূ݁Ռ • ຊ౰ʹಈ͘ʁɹˠɹಈ͖·͢ • ؀ڥม਺औΕΔʁɹˠɹऔΕ·͢ • import { env } from 'hono/adapter' → const { NAME } = env<{ NAME: string }>(c) • GCP Secret Manager΁ͷΞΫηε͸Ͱ͖ΔʁɹˠɹͰ͖·͢ɻ্ͱಉ͡ • HonoͷExceptionΛར༻Ͱ͖Δʁɹˠɹ͍͚·͢ • HonoͷMiddlewareͷCORS͸ར༻Ͱ͖ΔʁɹˠɹͰ͖·͢ • ͜Ε͚ͩΤϥʔʹϋϚ͍ͬͯΔ͚Ͳ͕࣌ؒղܾͯ͘͠ΕΔ͸ͣ

Slide 26

Slide 26 text

Ͱ͖ͨ΋ͷ

Slide 27

Slide 27 text

Ͱ͖ͨ΋ͷ

Slide 28

Slide 28 text

Ͱ͖ͨ΋ͷ

Slide 29

Slide 29 text

໘ന͔ͬͨͱ͜Ζ

Slide 30

Slide 30 text

RuntimeΛ൑ఆ͢Δ৚݅

Slide 31

Slide 31 text

֤αʔϏεɾϥϯλΠϜͷhandler.tsपΓ -BNCEBͷҾ਺ͰडऔΓɺ )POP༻ͷೖྗʹ૊Έସ͑Δ )POP͸͜ΕͰݺ΂Δ )POPͷฦΓ஋Λ΋Β͍ɺ -BNCEBͷ3FTQPOTFʹ૊Έ ସ͑Δ

Slide 32

Slide 32 text

types.ts͕͓΋͠Ζ͍

Slide 33

Slide 33 text

ࡶײ

Slide 34

Slide 34 text

ࡶײ • ॻ͖৺஍ʢʁʣ͕ͱͯ΋Α͔ͬͨ • JavaScript׳Ε͍ͯΔਓͳΒɺ͍·͙͢ར༻Ͱ͖ΔϨϕϧ • ͍ΖΜͳΫϥ΢υαʔϏε΍ɺϥϯλΠϜΛڞ௨Խ͢ΔΠϯλʔϑΣʔεͷ ૊Έํ͕໘ന͍ • TypeScriptͷษڧʹͳΓͦ͏ʢ๻͸ͳͬͯΔʣ • ଎͘ϓϩμΫγϣϯͷϦϦʔε͍ͨ͠ʢ͝ΊΜͶؒʹ߹Θͳ͔ͬͨʣ • དྷिग़͢ʂ

Slide 35

Slide 35 text

͓ΘΓ