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の3+1のルーターとそこにつながるPRがプロジェクトにもたらしたもの
Search
Taku Amano
March 19, 2023
Programming
1
2.9k
Honoの3+1のルーターとそこにつながるPRがプロジェクトにもたらしたもの
Taku Amano
March 19, 2023
Tweet
Share
More Decks by Taku Amano
See All by Taku Amano
JSのウェブフレームワークで高速なルーターを実装する方法
usualoma
3
2.8k
Other Decks in Programming
See All in Programming
9年開発を牽引して見えてきた、共通化すべきものと個別でつくるもの ~プログラム言語~
shinout
1
260
イベントストーミングによるオブジェクトモデリング・オブジェクト指向プログラミングの適用・開発プロセスの変遷・アーキテクチャの変革 / Object modeling with Event Storming.
nrslib
12
3.2k
オブジェクト指向のリ・オリエンテーション~歴史を振り返り、AI時代に向きなおる~
hanyudaeiiti
2
170
Cloud RunとCloud PubSubでサーバレスなデータ基盤2024 with Terraform / Cloud Run and PubSub with Terraform
shinyorke
7
1.9k
マイ隙間家具OSSたちのご紹介
karupanerura
2
160
Introduction for Open Source Swift Workshop
giginet
PRO
0
290
Understanding Ast By Looking
inouehi
0
120
RubyVM を PHP で実装する 〜Hello World を出力するまで〜
memory1994
PRO
1
490
導入から5年が経って見えた Datadog APM 運用の課題
bgpat
2
540
上手な探索的テストとその上達方法について
matsu802
4
660
「コンパイル時のユニットテスト」導入するとユニットテストを 書かなくてよくなるのか?
tomohisa
9
2.2k
コミュニティに参加したことで起きた変化
ohmori_yusuke
3
130
Featured
See All Featured
Building Applications with DynamoDB
mza
88
5.6k
Stop Working from a Prison Cell
hatefulcrawdad
265
19k
Learning to Love Humans: Emotional Interface Design
aarron
266
39k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
219
21k
Thoughts on Productivity
jonyablonski
57
3.8k
Documentation Writing (for coders)
carmenintech
59
3.8k
Writing Fast Ruby
sferik
619
59k
jQuery: Nuts, Bolts and Bling
dougneiner
57
7.1k
GraphQLとの向き合い方2022年版
quramy
28
12k
Art, The Web, and Tiny UX
lynnandtonic
288
19k
The World Runs on Bad Software
bkeepers
PRO
60
6.6k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
124
32k
Transcript
5BLV"NBOP!:"1$,ZPUP )POPͷ ͷϧʔλʔͱ ͦ͜ʹͭͳ͕Δ13͕ ϓϩδΣΫτʹͨΒͨ͠ͷ
None
None
)POP JTBTNBMM TJNQMF BOEVMUSBGBTUXFCGSBNFXPSL w 6MUSBGBTU w ;FSPEFQFOEFODJFT w .JEEMFXBSF
w 5ZQF4DSJQU w .VMUJSVOUJNF
)POP JTBTNBMM TJNQMF BOEVMUSBGBTUXFCGSBNFXPSL w 5IFSPVUFSTBSFSFBMMZGBTUBOETNBSU/PUVTJOHMJOFBSMPPQT'BTU w ;FSPEFQFOEFODJFT w .JEEMFXBSF
w 5ZQF4DSJQU w .VMUJSVOUJNF
)POPͷϧʔλʔ
)POPͷϧʔλʔ
)POPͷϧʔλʔ IUUQTEPDTQZMPOTQSPKFDUPSH͔ΒҾ༻ IBOEMFST IBOEMFS
ͷϧʔλʔ
ͷϧʔλʔ w 4NBSU3PVUFS w 5SJF3PVUFS w 3FH&YQ3PVUFS w 4UBUJD3PVUFS
5SJF3PVUFS w ࠷ॳͷ࣮ w add ͷݺͼग़͠ͰtrieͷσʔλߏΛ࡞Γɺmatch ͷݺͼग़͠Ͱ୳͢
5SJF3PVUFS
5SJF3PVUFS w ૉͳ࣮Ͱϝϯςφϯε͍͢͠ w ॆʹ͍ w ඞཁͳσʔλͰ͖Δ͚ͩBdd ͷ࣌ʹ࡞͓ͯ͘͠ w ਖ਼نදݱʹΑΔҰகΛݮ͢Δ
w ͲͷΑ͏ͳϧʔςΟϯάʹରԠͰ͖Δ ॏཁ w ૉͳ࣮Ͱϝϯςφϯε͍͢͠ w ॆʹ͍ w ඞཁͳσʔλͰ͖Δ͚ͩBdd ͷ࣌ʹ࡞͓ͯ͘͠ w ਖ਼نදݱʹΑΔҰகΛݮ͢Δ w ͲͷΑ͏ͳϧʔςΟϯάʹରԠͰ͖Δ w ϧʔλʔͷϦϑΝϨϯε࣮ͱͯ͠པΕΔଘࡏ
3FH&YQ3PVUFS w ਖ਼نදݱΛ࣮ͬͨ w 3PVUFS#PPNͱಉ͡Ξϓϩʔν
None
JOEFY0GͰۭจࣈྻΛ୳͢
ਖ਼نදݱΏ͑ͷ੍ݶ w ͔ͭ͠ݟ͚ͭΒΕͳ͍
ۤखͳ͜ͱରԠΛ͖͋ΒΊͨ
3FH&YQ3PVUFS w ਖ਼نදݱͷͷmatch Ͱ୳͢ͷͰ͍ w ະରԠͷϧʔςΟϯάͷύλʔϯ͋Δ͕ɺಘҙͳ͜ͱʹ͚ͩΔʂ ॏཁ
3FH&YQ3PVUFS͕ੈք࠷ʹͳͬͨ🎉
ϕϯνϚʔΫͰ͚͍ͩͷͰ͔͢ʁ
3FH&YQ3PVUFS࣮ӡ༻Ͱ͍ ʮ͔ͭ͠ݟ͚ͭΒΕͳͯ͘Α͍ʯͱ͍͏͜ͱͰׂΓͬͨ͜ͱͰɺ ʮϛυϧΣΞͱϋϯυϥͷΛࣄલʹ४උͰ͖ΔʯΑ͏ʹͳͬͨ
None
4UBUJD3PVUFS w 0CKFDUͷϓϩύςΟʹอଘ͢Δ w SPVUFT<QBUI>IBOEMFS w ੩తͳύε͔͠αϙʔτ͠ͳ͍͕ɺಘҙͳ͜ͱʹ͚ͩΔʂ ॏཁ
4UBUJD3PVUFS
wϢʔβʔʹϧʔλʔΛબͯ͠Β͏ͷ͍͠ wୈࡾऀͷͱΔϕϯνϚʔΫͰσϑΥϧτ͕ΘΕΔ
4NBSU3PVUFS w ʮΞϓϦέʔγϣϯʹ࠷దͳϧʔλʔΛબ͢Δʯϧʔλʔ
None
None
🍣
3FH&YQ3PVUFS 5SJF3PVUFS 4UBUJD3PVUFS 4NBSU3PVUFS BQQ
W
ͷϧʔλʔ
3FH&YQ3PVUFS 5SJF3PVUFS 4NBSU3PVUFS BQQ
ͦ͜ʹͭͳ͕Δ13͕ ϓϩδΣΫτʹͨΒͨ͠ͷ
͜͜Ͱ͢͜ͱ w )POPʹ͓͍ͯͲͷΑ͏ͳӨڹ͕͔͋ͬͨ w ݸਓͷମݧʹ͍ͭͯ͠·͢
IUUQTZVTVLFCFDPNQPTUTIPXJHPULTUBST
͜ͷลΓ
w ϧʔςΟϯάʹؔ͢Δ͕ٞਂ·ͬͨ w ͭͷ۩ମతͳ࣮Λࢀর͠ͳ͕Β༷Λݕ౼Ͱ͖Δ w ʮϛυϧΣΞͱϋϯυϥͷؔʯʮొॱͱݺͼग़͠ॱͷؔʯ w ϧʔλʔؒͷڝ૪͕ൃੜͨ͠ w 5SJF3PVUFSͷੑೳΛվળ
w ಉ͡ΞϓϩʔνͰ3FH&YQ3PVUFSͷੑೳΛվળ ʮͭͷϧʔλʔ࣮͕͋Δʯͱ͍͏ঢ়گ
ϓϩδΣΫτΛલʹ͢͢ΊΔྗ w χϡʔεΛग़͠ଓ͚Δ͜ͱͰɺΛूΊଓ͚Δ͜ͱ͕Ͱ͖ͨ w 'BTUMZ$PNQVUF!&EHF%FOP#VOͱҰॹʹΓ্͕Εͨ w ίϛϡχςΟͱͯ͠લʹਐΜͰ͍Δײ͡Λ࣋ͪଓ͚ΒΕͨ
8FXFMDPNFZPVSQVMMSFRVFTUT
ຊͷൃදҎ্ʹͳΓ·͢ɻ ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ