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
510
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
生成AI時代の開発組織・技術・プロセス 〜 ログラスの挑戦と考察 〜
itohiro73
1
260
AIのAIによるAIのための出力評価と改善
chocoyama
2
560
Claude Code Actionを使ったコード品質改善の取り組み
potix2
PRO
6
2.3k
HiMoR: Monocular Deformable Gaussian Reconstruction with Hierarchical Motion Representation
spatial_ai_network
0
110
地図も、未来も、オープンに。 〜OSGeo.JPとFOSS4Gのご紹介〜
wata909
0
110
解析の定理証明実践@Lean 4
dec9ue
0
180
監視のこれまでとこれから/sakura monitoring seminar 2025
fujiwara3
11
3.9k
データプラットフォーム技術におけるメダリオンアーキテクチャという考え方/DataPlatformWithMedallionArchitecture
smdmts
5
640
より良いプロダクトの開発を目指して - 情報を中心としたプロダクト開発 #phpcon #phpcon2025
bengo4com
1
3.1k
強化されたAmazon Location Serviceによる新機能と開発者体験
dayjournal
2
210
Snowflake Summit 2025全体振り返り / Snowflake Summit 2025 Overall Review
mtpooh
2
400
本が全く読めなかった過去の自分へ
genshun9
0
530
Featured
See All Featured
A designer walks into a library…
pauljervisheath
207
24k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
17
940
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Documentation Writing (for coders)
carmenintech
72
4.9k
Automating Front-end Workflow
addyosmani
1370
200k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.3k
Statistics for Hackers
jakevdp
799
220k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.8k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Why You Should Never Use an ORM
jnunemaker
PRO
57
9.4k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Faster Mobile Websites
deanohume
307
31k
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"ͷԼͰϥΠηϯε͞Ε͓ͯΓɺΦϦδφϧγοΫεɾΞύʔτͷΣϒαΠτͰೖखՄೳͰ͢ɻ —