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
TypeScript100%で作るMovable Typeプラグイン
Search
Taku Amano
November 23, 2024
Technology
2
500
TypeScript100%で作るMovable Typeプラグイン
Taku Amano
November 23, 2024
Tweet
Share
More Decks by Taku Amano
See All by Taku Amano
We can develop a framework
usualoma
1
310
Honoの3+1のルーターとそこにつながるPRがプロジェクトにもたらしたもの
usualoma
1
3.6k
JSのウェブフレームワークで高速なルーターを実装する方法
usualoma
3
3.4k
Other Decks in Technology
See All in Technology
Introduction to Bill One Development Engineer
sansan33
PRO
0
250
VCpp Link and Library - C++ breaktime 2025 Summer
harukasao
0
150
2025/6/21 日本学術会議公開シンポジウム発表資料
keisuke198619
0
180
Copilot Agentを普段使いしてわかった、バックエンド開発で使えるTips
ykagano
1
660
Nonaka Sensei
kawaguti
PRO
3
650
Workflows から Agents へ ~ 生成 AI アプリの成長過程とアプローチ~
belongadmin
3
140
ユーザーのプロフィールデータを活用した推薦精度向上の取り組み
yudai00
0
290
IAMのマニアックな話 2025を執筆して、 見えてきたAWSアカウント管理の現在
nrinetcom
PRO
4
540
Amplifyとゼロからはじめた AIコーディング 成果と展望
mkdev10
1
180
型システムを知りたい人のための型検査器作成入門
mame
14
3.7k
Data Hubグループ 紹介資料
sansan33
PRO
0
1.8k
SFTPコンテナからファイルをダウンロードする
dip
0
140
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.8k
Designing for Performance
lara
609
69k
Docker and Python
trallard
44
3.4k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Bash Introduction
62gerente
614
210k
Thoughts on Productivity
jonyablonski
69
4.7k
YesSQL, Process and Tooling at Scale
rocio
172
14k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.3k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
Transcript
5BLV"NBOP!.5%%$.FFUVQ50,:0 5ZQF4DSJQUͰ࡞Δ .PWBCMF5ZQFϓϥάΠϯ τϑγοΫεɾΞύʔτͷެࣜΩϟϥΫλʔͰ͢ɻ $$#:/$4"ͷԼͰϥΠηϯε͞Ε͓ͯΓɺΦϦδφϧγοΫεɾΞύʔτͷΣϒαΠτͰೖखՄೳͰ͢ɻ —
શεϥΠυɺ4/4ͳͲͰͷڞ༗0,Ͱ͢ɻ
None
None
୭Λରʹ͔ͨ͠ʁ w ͜Ε͔Β.5ͷϓϥάΠϯΛ࡞Ζ͏ͱࢥ͍ͬͯΔਓ w ϓϥάΠϯΛ࡞Δ͜ͱͰ͖Δ͚Ͳɺ1FSMͷ͜ͱΛࢥ͏ͱগ͠ؾ͕ॏ͘ͳΔਓ w ϓϥάΠϯ͢Β͢Β࡞ΕΔ͚Ͳɺผͷॻ͖ํʹڵຯ͕͋Δਓ
ຊͷΰʔϧ w 5ZQF4DSJQUΛͬͯ.5ͷϓϥάΠϯΛ࡞ΕΔΑ͏ʹͳΔ͜ͱ w 1FSMͬͯΈΑ͏ͱ͍͏ؾ࣋ͪʹͳΔ͜ͱ
ཧը໘ΛϑϩϯτΤϯυͷΈͰ֦ு
ཧը໘ΛϑϩϯτΤϯυͷΈͰ֦ு w ελΠϧඞͣ͠.5ʹ߹Θͤͳͯ͘Α͍ w ͩ͜ΘΓ͗͢ͳ͍ɻಠࣗͰ0,ɻ w ཧը໘༻ͷ+4ͳΒɺڊେͰͳ͍ w .5ͷϥΠϒϥϦʢK2VFSZͳͲʣͷόʔδϣϯؾʹ͠ͳͯ͘Α͍ w
όϯυϧͯ͠͠·͑Εͦͷํ͕.5ଆͷมߋΛؾʹ͠ͳͯ͘Α͍ ·ͣؾָʹߟ͑Δ
ཧը໘ΛϑϩϯτΤϯυͷΈͰ֦ு w ΫϥΠΞϯταΠυͰͰ͖Δ͜ͱ૿͍͑ͯΔ w $034 w OQN w 8FC"TTFNCMZ w
5ZQF4DSJQUͷΫϥΠΞϯταΠυΞϓϦ"*Ͱੜ͍͢͠ w ʮ"*Ͱੜ͢Δ͜ͱʯʹؔͯ͠ؾʹ͠ͳ͚ΕͳΒͳ͍͜ͱͪΖΜ͋ Δ͕ɺཧը໘༻ͷΞϓϦͳΒൺֱతར༻͍͢͠ Ͱ͖Δ͜ͱͨ͘͞Μ͋Δ
ϓϥάΠϯͷྫ NFNCFSMJTUJOQVU
None
͔ͯ͠͠ࠓɺ ʮ.5"QQK2VFSZͷ࡞Γํʯ ͷΛ͍ͯ͠·͔͢ʁ
.5"QQK2VFSZ w ೖྗཝͷΧελϚΠζΛ؆୯ʹߦ͑ΔϓϥάΠϯ w ߴͳίϯϙʔωϯτ͕༻ҙ͞Ε͍ͯΔͷͰΈ߹ΘͤΔ͚ͩͰͰ͖Δ w ೖྗཝ͚ͩͰͳ͘ɺཧը໘ͷ6*શൠͷϢʔςΟϦςΟἧ͍ͬͯΔ ؆୯ʹಋೖͰ͖ͯ ϝϯςφϯε҆৺ w
.PWBCMF5ZQFͷόʔδϣϯΞοϓʹ߹Θ͙ͤͯ͢ʹߋ৽͞ΕΔ w ϥΠηϯεͷߪೖ͕ඞཁ͕ͩɺखް͍αϙʔτ͋Δ
͜ͷηογϣϯͰڵຯΛ࣋ͬͯɺ τϥΠͯ͠ΈΑ͏͔ͱࢥͬͨํɺ .5"QQK2VFSZཁݕ౼Ͱ͢ɻ ͜ͷηογϣϯͷΞΠσΞͷଟ͘ɺ .5"QQK2VFSZͰ͑·͢ɻ IUUQTCJUQBSUOFUQSPEVDUTNUBQQKRVFSZ
Λ͠·͢ NFNCFSMJTUJOQVU
4WFMUF 6*ϑΝΠϧͰఆٛ
4WFMUF $44ϑΝΠϧʹຒΊࠐΈ
OQN OQNϞδϡʔϧΛར༻ͯ͠ػೳΛՃ IUUQTDEOTIFFUKTDPN
Ͳ͏ͬͯཧը໘ʹૠೖ͢Δ͔🤔
!VTVBMPNBNUQMVHJOCVJMEFSΛ࡞ͬͨ
!VTVBMPNBNUQMVHJOCVJMEFS 5ZQF4DSJQUͷϓϩδΣΫτ͔Β.5ͷϓϥάΠϯΛੜ NUQMVHJODPO fi HUTΛ࡞Δ AOQY!VTVBMPNBNUQMVHJOCVJMEFSA Λ࣮ߦ͢Δ
.5ͷϓϥάΠϯ͕࡞͞ΕΔ w EJTUҎԼ͕NUTUBUJDͷԼʹίϐʔ͞ΕΔ w NBJOKT͕ཧը໘ʹಡΈࠐ·ΕΔ Πϯετʔϧ͢Δͱ
ཧը໘ʹಡΈࠐ·ΕΔͱ͜Ζ·ͰͰ͖Ε ͋ͱͳΜͱ͔Ͱ͖Δ
!VTVBMPNB NUQMVHJOCVJMEFS🤔🤔🤔 (FUUJOHTUBSUFE
None
ʮຒΊࠐΈςΩετʯΛ୳ͯ͠6*Λૠೖ ʮຒΊࠐΈςΩετʯૉͷUFYUBSFBཁૉ
΄΅5ZQF4DSJQUͰ͋Δ͜ͱͷϝϦοτ
΄΅5ZQF4DSJQUͰ͋Δ͜ͱͷϝϦοτ w ։ൃπʔϧ5ZQF4DSJQUͷ։ൃ༻ͷͷΛͦͷ··ར༻Ͱ͖Δ w Ϣχοτςετ5ZQF4DSJQUͰ݁ͤ͞ΒΕΔ w $*ͰϓϥάΠϯͷύοέʔδΛ࡞͢Δ͜ͱ༰қʹͰ͖Δ w AOQYNUQMVHJOCVJMEFSAͷ࣮ߦ͚ͩͰϓϥάΠϯΛ࡞Ͱ͖Δ
😀Θ͘Θ͖ͯ͘͠·͔ͨ͠ʁ
ଞʹͰ͖ͦ͏ͳ͜ͱ
֎෦ͷ"QQͱ࿈ܞ͢Δ w .5Ͱ݁ͤ͞Δ͜ͱΛࢦ͞ͳͯ͘0, w ֎෦ͷڥͰಠࣗͷ"QQΛ5ZQF4DSJQUͰՔಇͤ͞Δ w 5ZQF4DSJQUͷαʔόʔαΠυΞϓϦΛಈ͔ͤΔڥଟ͍ w .5ͷՔಇ͢Δαʔόʔڥʹґଘ͠ͳ͍ w
5ZQF4DSJQUͷαʔόʔαΠυΞϓϦ"*Ͱੜ͍͢͠ w ʮ"*Ͱੜ͢Δ͜ͱʯͷੋඇʹ͍ͭͯݸผʹஅ͢Δඞཁ͕͋Δ
ϓϥάΠϯͷྫ TUJDLZOPUF
None
σʔλετΞผΞϓϦ )POP!$MPVE fl BSF8PSLFST
σʔλετΞผΞϓϦ $034 KXUͰϢʔβʔΛೝূͯ͠ɺϑϩϯτΤϯυ͔ΒΞΫηε
ϓϥάΠϯͷྫ UTBTTJTUBOUʢ"*Ͱίϯςϯπੜʣ
None
ϑϩϯτΤϯυͷίʔυ͚ͩ $034Ͱ0QFO"*ͷαʔόʔʹϦΫΤετ
ϑϩϯτΤϯυͷίʔυ͚ͩ $034Ͱ0QFO"*ͷαʔόʔʹϦΫΤετ
ࡉ͔͍ڍಈ0QFO"*Ͱཧ ֘ͷαΠτͷใΛϑΝΠϧͰొ͓͍ͯͨ͠Γͱ͔Ͱ͖Δ
ϓϥάΠϯͷྫ UTBTTJTUBOUʢ"*Ͱίϯςϯπੜʣ
ϑϩϯτΤϯυ͜͜·Ͱ 5ZQF4DSJQUͱݴ͚ͬͨͲɺϑϩϯτΤϯυͱݴ͍ͬͯͳ͍
.UDHJࣗମͷಈ࡞ ֦ுͰ͖Δ͔͠Εͳ͍😼
1FSMͰॻ͍ͨϓϥάΠϯͰͰ͖Δ͜ͱ w .5λάΛՃ͢Δ w NUDHJʹ༻ҙ͞ΕͨίʔϧόοΫʹॲཧΛՃ͢Δ w %#ͷอଘ࣌ͷίʔϧόοΫɺ࠶ߏங࣌ͷίʔϧόοΫ w σʔλϕʔεͷεΩʔϚͷ֦ு w
ಠࣗͷΦϒδΣΫτͷఆٛɺଞͷΦϒδΣΫτͱͷؔ࿈ͷఆٛ w ཧը໘ͷݖݶͷఆٛ ͜ΕͰ͖Δ͜ͱͷҰ෦Ͱ͢ɻશମͨ͘͘͢͝͞Μ͋Γ·͢ɻ
ΣϒϑοΫͰॲཧͰ͖ͦ͏ͳͷ w .5λάΛՃ͢Δ w NUDHJʹ༻ҙ͞ΕͨίʔϧόοΫʹॲཧΛՃ͢Δ w %#ͷอଘ࣌ͷίʔϧόοΫɺ࠶ߏங࣌ͷίʔϧόοΫ
ΣϒϑοΫͰͬͯΈΑ͏
ϓϥάΠϯͷྫ XFCIPPLUBH w #MPH$BSE w .JOJGZ w HGN
NUQMVHJODPOGJHUT
NU#MPH$BSE
NU.JOJGZ
HGN HJUIVC fl BWPSFE NBSLEPXO
ΣϒϑοΫ👍
ϓϥάΠϯͷྫ WFDUPSDPTJOFTJNJSBMJUJFT w "*ʹهࣄͷྨࣅΛܭࢉͤͯ͞ɺࣅ͍ͯΔॱʹऔΓग़͢
NUQMVHJODPOGJHUT
.5&OUSZQPTU@TBWF
NU7FDUPS$PTJOF4JNJMBSJUZ
ϓϥάΠϯͷྫ TJNJMBSFOUSJFT
1FSM͕ඞཁʹͳΔͱ͖ w ಠࣗͷΦϒδΣΫτͷఆٛɺଞͷΦϒδΣΫτͱͷؔ࿈ͷఆ͕ٛͰ͖Δ w 3%#্Ͱਖ਼ؔ͘͠࿈͚ΒΕΔ w όοΫΞοϓ෮ݩͷରʹͰ͖Δ w 1FSMͰ݁͢Δ߹ʹߴ w
ͨͩ͠ɺ߹ʹΑͬͯϝϞϦͷফඅྔଟ͍͔ w 1FSMͰ݁͢Δํ͕୯Ұো͕গͳ͍ʢ͜ͱ͕ଟ͍ʣ ͋Δ͍1FSMΛ͏ϝϦοτ
1FSM͕ඞཁʹͳΔͱ͖ w ݖݶͷఆ͕ٛͰ͖Δ w Ұཡը໘ͷΧελϚΠζ͕Ͱ͖Δ ͋Δ͍1FSMΛ͏ϝϦοτ
ࢀߟใ w .PWBCMF5ZQF։ൃऀ͚ΨΠυ w ϓϥάΠϯͷॻ͖ํ͕ৄ͘͠આ໌͞Ε͍ͯΔ w IUUQTHJUIVCDPNNPWBCMFUZQF%PDVNFOUBUJPOXJLJ+BQBOFTFEFWFMPQFSHVJEF w .PWBCMF5ZQF1MVHJOT"OE5IFNFT%JSFDUPSZ w
ΦʔϓϯιʔεͷϥΠηϯεͰιʔείʔυ͕ެ։͞Ε͍ͯΔͷଟ͍ w IUUQTQMVHJOTNPWBCMFUZQFKQ
ϦϙδτϦύοέʔδ w NUQMVHJO5ZQF4DSJQU&YBNQMF w ࠓհͨ͠ϓϥάΠϯͷྫ w IUUQTHJUIVCDPNVTVBMPNBNUQMVHJO5ZQF4DSJQU&YBNQMF w NUQMVHJOCVJMEFSDSFBUFNUQMVHJOCVJMEFS w
ϓϥάΠϯͷϏϧυπʔϧ w IUUQTHJUIVCDPNVTVBMPNBNUQMVHJOCVJMEFS w IUUQTXXXOQNKTDPNQBDLBHF!VTVBMPNBNUQMVHJOCVJMEFS
5ZQF4DSJQU ͔ΒͰ࢝ΊΒΕΔ .PWBCMF5ZQFϓϥάΠϯ τϑγοΫεɾΞύʔτͷެࣜΩϟϥΫλʔͰ͢ɻ $$#:/$4"ͷԼͰϥΠηϯε͞Ε͓ͯΓɺΦϦδφϧγοΫεɾΞύʔτͷΣϒαΠτͰೖखՄೳͰ͢ɻ —