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
Honoの導入を検討していたが、Honoの人が来沖するらしいので、急いでHonoを導入した話
Search
Aipa
March 09, 2024
Technology
0
200
Honoの導入を検討していたが、Honoの人が来沖するらしいので、急いでHonoを導入した話
ここでLTした話
https://cfm-cts.connpass.com/event/310916/
Aipa
March 09, 2024
Tweet
Share
More Decks by Aipa
See All by Aipa
ピンチヒッターです。なにか話します
commander_aipa
0
110
おれたちはいつDXできるのか
commander_aipa
1
65
ウンケーニオキタコワイハナシ
commander_aipa
0
120
Nuxt3 Deeeeeeeeeeeeeeeeeeeeeploy
commander_aipa
0
170
Meilisearchでハイブリッドベクトル検索
commander_aipa
0
130
Dの意思は神を殺す
commander_aipa
0
94
ファインチューニングがしたい
commander_aipa
0
190
サクッと検索サーバを用意する
commander_aipa
0
200
リアクティブを知る1歩
commander_aipa
0
290
Other Decks in Technology
See All in Technology
Delta airlines®️ USA Contact Numbers: Complete 2025 Support Guide
airtravelguide
0
350
Getting to Know Your Legacy (System) with AI-Driven Software Archeology (WeAreDevelopers World Congress 2025)
feststelltaste
1
180
cdk initで生成されるあのファイル達は何なのか/cdk-init-generated-files
tomoki10
1
430
AWS CDK 開発を成功に導くトラブルシューティングガイド
wandora58
3
140
データ基盤からデータベースまで?広がるユースケースのDatabricksについて教えるよ!
akuwano
3
160
shake-upを科学する
rsakata
7
900
CDK Toolkit Libraryにおけるテストの考え方
smt7174
1
370
american airlines®️ USA Contact Numbers: Complete 2025 Support Guide
supportflight
1
120
CDKコード品質UP!ナイスな自作コンストラクタを作るための便利インターフェース
harukasakihara
2
160
freeeのアクセシビリティの現在地 / freee's Current Position on Accessibility
ymrl
2
260
大量配信システムにおけるSLOの実践:「見えない」信頼性をSLOで可視化
plaidtech
PRO
0
260
SREの次のキャリアの道しるべ 〜SREがマネジメントレイヤーに挑戦して、 気づいたこととTips〜
coconala_engineer
1
590
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
Balancing Empowerment & Direction
lara
1
440
Java REST API Framework Comparison - PWX 2021
mraible
31
8.7k
Raft: Consensus for Rubyists
vanstee
140
7k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
Six Lessons from altMBA
skipperchong
28
3.9k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
138
34k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Transcript
)POPͷಋೖΛݕ౼͍͕ͯͨ͠ɺ )POPͷਓ͕དྷԭ͢ΔΒ͍͠ͷͰɺ ٸ͍Ͱ)POPΛಋೖͨ͠ $MPVE fl BSF.FFUVQ0LJOBXB7PMˠଟ7PMʁ BJQBDPNNBOEFS!ٓ
ࣗݾհ w ΞΠύʔୂͱ͍͍·͢ !BJQBDPNNBOEFS w ͏ͪͳʔΜͪΎͰ͢ w $#DMPVEגࣜձࣾͰಇ͍͍ͯ·͢ w
ྲྀۀքͰΠϊϕʔγϣϯىͨͯ͘͜͠ʑؤு͍ͬͯ·͢ w ϑϩϯτΤϯδχΞͰ͕͢ɺ࠷ۙ3VCZΛॻ͘͜ͱ͕ଟ͍Ͱ͢ w ࡞Δͷ͕ଟ͗ͯؒ͢Λืू͍ͯ͠·͚ͨͯ͢͢
એ
None
None
ࠓ͢͜ͱ
None
͍˕
͍˕
࣮✕
ٸ͛ʂʂʂʂʂʂʂʂʂʂʂʂ w ൃදۦಈϓϩμΫτಋೖ։ൃ w େৎɺϦʔμʔͳͷͰϤγʂʢʁʁʁʁʁʁʁʣ w ࠓΈ͍ͯΔϓϩδΣΫτ'JSFCBTFϓϩδΣΫτͰɺόοΫΤϯυʹ $MPVE'VODUJPOTΛଟ༻͍ͯ͠Δ w "1*ɺόονɺτϦΨʔ༻్Ͱेͷ$MPVE'VODUJPOT͕͍Δ
w $MPVE'VODUJPOTʹ)POPΛೖΕΕ͍͍ΜͩͳɻΑʔ͠ʢυΩϡ ϝϯτΛ͘
0I /PUIJOH$MPVE'VODUJPOT https://hono.dev/getting-started/nodejs
ຊʹͰ͖Δʁ https://hono.dev/getting-started/nodejs
ͱ͋Εࢼ͢ https://zenn.dev/aipacommander/scraps/a1b42841d22bf1
$MPVE'VODUJPOTͰͷϦΫΤετύλʔϯ ̎ͭ w GVODUJPOTIUUQTPO3FRVFTU BQQ w &YQSFTTΈ͍ͨʹ͑Δɻͱ͍͏͔&YQSFTTͬͯΔ w GVODUJPOTIUUQTPO$BMM
EBUB DPOUFYU \^ w ΞϓϦέʔγϣϯʢϑϩϯτΤϯυʣ͔Βɺ4%,ܦ༝ͰؔΛ࣮ߦ ͢Δ w 63-Λࢦఆ͢ΔΜ͡Όͳͯ͘ɺ4%,͔ΒؔΛݺͿ͜ͱ͕Ͱ͖Δ
$MPVE'VODUJPOTͰͷϦΫΤετύλʔϯ ̎ͭ w GVODUJPOTIUUQTPO3FRVFTU BQQ w &YQSFTTΈ͍ͨʹ͑Δɻͱ͍͏͔&YQSFTTͬͯΔ w GVODUJPOTIUUQTPO$BMM
EBUB DPOUFYU \^ w ΞϓϦέʔγϣϯʢϑϩϯτΤϯυʣ͔Βɺ4%,ܦ༝ͰؔΛ࣮ߦ ͢Δ w 63-Λࢦఆ͢ΔΜ͡Όͳͯ͘ɺ4%,͔ΒؔΛݺͿ͜ͱ͕Ͱ͖Δ
ͦ͏ͩͶ
࣌ͷؾ࣋ͪ • Ͳ͏͠Α͏
ઌਓ͍ΔͷͰҰԠͰ͖Δ͜ͱΘ͔͍ͬͯΔ https://zenn.dev/singularity/articles/ fi rebase-hono
࣌ͷؾ࣋ͪ̎ • ·͊ͰCloud Runͱ͔Lambdaͱ͔ʹҠߦ͢Δͱ͖ʹϙʔλϏϦςΟ ্͕Γͦ͏ • ·ͨɺෳCloud FunctionsΛ1ͭͷ Cloud Runʹԡ͠ࠐΊΔ͜ͱͰ͖ͦ͏
→ ίεύΑ͘ͳΔʢͣʣ • Γ·͔͢
ͱ͋ΕؤுΔ
ઌਓͷίʔυΛύΫΔࢀߟʹ͍ͤͯͨͩ͘͞ https://zenn.dev/singularity/articles/ fi rebase-hono
HonoΛCloud Functions্Ͱಈ͔͢ʹ͋ͨͬͯͷ ͷٙ • ຊʹಈ͘ʁ • ڥมऔΕΔʁ • GCP Secret
ManagerͷΞΫηεͰ͖Δʁ • HonoͷExceptionΛར༻Ͱ͖Δʁ • HonoͷMiddlewareͷCORSར༻Ͱ͖Δʁ
ͱ͍͏Θ͚Ͱࢼ͢ https://zenn.dev/aipacommander/scraps/a34e7fd8761a37
ݕূ݁Ռ • ຊʹಈ͘ʁɹˠɹಈ͖·͢ • ڥมऔΕΔʁɹˠɹऔΕ·͢ • import { env }
from 'hono/adapter' → const { NAME } = env<{ NAME: string }>(c) • GCP Secret ManagerͷΞΫηεͰ͖ΔʁɹˠɹͰ͖·͢ɻ্ͱಉ͡ • HonoͷExceptionΛར༻Ͱ͖Δʁɹˠɹ͍͚·͢ • HonoͷMiddlewareͷCORSར༻Ͱ͖ΔʁɹˠɹͰ͖·͢ • ͜Ε͚ͩΤϥʔʹϋϚ͍ͬͯΔ͚Ͳ͕࣌ؒղܾͯ͘͠ΕΔͣ
Ͱ͖ͨͷ
Ͱ͖ͨͷ
Ͱ͖ͨͷ
໘ന͔ͬͨͱ͜Ζ
RuntimeΛఆ͢Δ݅
֤αʔϏεɾϥϯλΠϜͷhandler.tsपΓ -BNCEBͷҾͰडऔΓɺ )POP༻ͷೖྗʹΈସ͑Δ )POP͜ΕͰݺΔ )POPͷฦΓΛΒ͍ɺ -BNCEBͷ3FTQPOTFʹΈ ସ͑Δ
types.ts͕͓͠Ζ͍
ࡶײ
ࡶײ • ॻ͖৺ʢʁʣ͕ͱͯΑ͔ͬͨ • JavaScript׳Ε͍ͯΔਓͳΒɺ͍·͙͢ར༻Ͱ͖ΔϨϕϧ • ͍ΖΜͳΫϥυαʔϏεɺϥϯλΠϜΛڞ௨Խ͢ΔΠϯλʔϑΣʔεͷ Έํ͕໘ന͍ • TypeScriptͷษڧʹͳΓͦ͏ʢͳͬͯΔʣ
• ͘ϓϩμΫγϣϯͷϦϦʔε͍ͨ͠ʢ͝ΊΜͶؒʹ߹Θͳ͔ͬͨʣ • དྷिग़͢ʂ
͓ΘΓ