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
3.4k
Honoの3+1のルーターとそこにつながるPRがプロジェクトにもたらしたもの
Taku Amano
March 19, 2023
Tweet
Share
More Decks by Taku Amano
See All by Taku Amano
TypeScript100%で作るMovable Typeプラグイン
usualoma
2
420
We can develop a framework
usualoma
1
280
JSのウェブフレームワークで高速なルーターを実装する方法
usualoma
3
3.3k
Other Decks in Programming
See All in Programming
データベースのオペレーターであるCloudNativePGがStatefulSetを使わない理由に迫る
nnaka2992
0
230
Formの複雑さに立ち向かう
bmthd
1
920
How mixi2 Uses TiDB for SNS Scalability and Performance
kanmo
40
16k
PHP ステートレス VS ステートフル 状態管理と並行性 / php-stateless-stateful
ytake
0
110
15分で学ぶDuckDBの可愛い使い方 DuckDBの最近の更新
notrogue
2
410
Open source software: how to live long and go far
gaelvaroquaux
0
660
もう少しテストを書きたいんじゃ〜 #phpstudy
o0h
PRO
16
3.5k
AIプログラミング雑キャッチアップ
yuheinakasaka
17
4k
クリーンアーキテクチャから見る依存の向きの大切さ
shimabox
5
940
『テスト書いた方が開発が早いじゃん』を解き明かす #phpcon_nagoya
o0h
PRO
8
2.3k
『GO』アプリ バックエンドサーバのコスト削減
mot_techtalk
0
160
color-scheme: light dark; を完全に理解する
uhyo
7
490
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7k
Designing for humans not robots
tammielis
250
25k
A Philosophy of Restraint
colly
203
16k
GraphQLの誤解/rethinking-graphql
sonatard
68
10k
Designing Experiences People Love
moore
140
23k
GraphQLとの向き合い方2022年版
quramy
44
14k
KATA
mclloyd
29
14k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
366
25k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
We Have a Design System, Now What?
morganepeng
51
7.4k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
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
ຊͷൃදҎ্ʹͳΓ·͢ɻ ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ