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
DenoでもBunでもいいから 最速を目指す
Search
Yusuke Wada
September 05, 2022
Programming
1.7k
3
Share
DenoでもBunでもいいから 最速を目指す
Yusuke Wada a.k.a yusukebe
2022/09/05 Node学園 40時限目
Yusuke Wada
September 05, 2022
More Decks by Yusuke Wada
See All by Yusuke Wada
飯MCP
yusukebe
0
490
へんな働き方
yusukebe
6
2.9k
Cap'n Webについて
yusukebe
0
300
OSS開発者の憂鬱
yusukebe
16
18k
r2-image-worker
yusukebe
1
250
Introduce Hono CLI
yusukebe
6
4k
私はどうやって技術力を上げたのか
yusukebe
47
21k
Reactをクライアントで使わない
yusukebe
8
7.1k
AI時代のUIはどこへ行く?
yusukebe
23
12k
Other Decks in Programming
See All in Programming
Linux Kernelの1文字のミスで 権限昇格ができた話
rqda
0
2.3k
実践ハーネスエンジニアリング #MOSHTech
kajitack
7
6.1k
存在論的プログラミング: 時間と存在を記述する
koriym
5
850
forteeの改修から振り返るPHPerKaigi 2026
muno92
PRO
3
260
「効かない!」依存性注入(DI)を活用したAPI Platformのエラーハンドリング奮闘記
mkmk884
0
320
Oxlintとeslint-plugin-react-hooks 明日から始められそう?
t6adev
0
110
GNU Makeの使い方 / How to use GNU Make
kaityo256
PRO
16
5.6k
まかせられるPM・まかせられないPM / DevTech GUILD Meetup
yusukemukoyama
0
110
Radical Imagining - LIFT 2025-2027 Policy Agenda
lift1998
0
250
Don't Prompt Harder, Structure Better
kitasuke
0
650
一度始めたらやめられない開発効率向上術 / Findy あなたのdotfilesを教えて!
k0kubun
4
2.9k
How Swift's Type System Guides AI Agents
koher
0
200
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.9k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
27
3.4k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
480
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
130
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
680
Design in an AI World
tapps
0
190
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Thoughts on Productivity
jonyablonski
76
5.1k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
160
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Transcript
%FOPͰ#VOͰ͍͍͔Β ࠷Λࢦ͢ :VTVLF8BEBBLBZVTVLFCF /PEFֶԂ࣌ݶ
ࣗݾհ w :VTVLF8BEBBLBZVTVLFCF w ϘέͯDPGPVOEFS w :"1$"TJBϕεττʔΫड w גࣜձࣾτϥϕϧϒοΫ
εʔύʔόΠβʔ w UXJUUFSDPNZVTVLFCF w HJUIVCDPNZVTVLFCF /PEFֶԂॳࢀՃͰ͢
)POPͱ͍͏ϑϨʔϜϫʔΫΛ͍ͭͬͯ͘·͢ w 8FCϑϨʔϜϫʔΫɾϧʔλʔ w 8FC4UBOEBSE'FUDIͷ"1*ͷΈΛ༻ w ϚϧνϓϥοτϑΥʔϜ w $MPVE fl
BSF8PSLFSTɺ'BTUMZ$PNQVUF!&EHFɺ%FOPɺ#VO w ϛυϧΣΞͰػೳՃ w 5SJF3PVUFS EFGBVMU ͱ3FH&YQ3PVUFSͷͭͷϧʔλʔ͕͋Δ IUUQTIPOPKTEFW
)POPͷͭͷϧʔλʔ w 5SJF3PVUFS w 3FH&YQ3PVUFSCZ!VTVBMPNB w +4ͷΣϒϑϨʔϜϫʔΫͰߴͳϧʔλʔΛ࣮͢Δํ๏ 4QFBLFS%FDL w IUUQTTQFBLFSEFDLDPNVTVBMPNBVMUSBGBTUKTSPVUFS
6MUSBGBTU ͱʹ͔͍͘ϑϨʔϜϫʔΫΛࢦ͍ͯ͠Δ
%FOPɺ#VO w #VO w #VOJTBGBTUBMMJOPOF+BWB4DSJQUSVOUJNF IUUQTCVOTI w %FOP w
0VSHPBMJTUPNBLF%FOPUIFGBTUFTU+BWB4DSJQUSVOUJNF IUUQTEFOPDPNCMPHDIBOHFT )POPͲͪΒͰಈ͘ͷͰ %FOPͰ#VOͰͲ͜Ͱಈ͔͍͍͔ͯ͠Β Ұ൪͍ϑϨʔϜϫʔΫΛࢦͯ͠ΈΑ͏
8FCϑϨʔϜϫʔΫ͕͍ͱʁ
͍͍ͩͨ͜ͷͭΛଌΔ w )FMMP8PSME w ϧʔςΟϯά w 3FRVFTU3FTQPOTFͷॲཧ EFMWFEPSSPVUFSCFODINBSL 4BMUZ"PNCVOIUUQGSBNFXPSLCFODINBSL
طଘϕϯνϚʔΫPSΦϦδφϧ ͰଌͬͯΈΑ͏ .BD#PPL1SP.DPSF(#
%FOPɺ#VOͷલʹ/PEF
/PEFϧʔλʔฤ w EFMWFEPSSPVUFSCFODINBSL#FODINBSLPGUIFNPTUDPNNPOMZ VTFEIUUQSPVUFST IUUQTHJUIVCDPNEFMWFEPSSPVUFSCFODINBSL w /PEFͷओཁʮϧʔλʔʯͷϕϯνϚʔΫ w &YQSFTT
w LPBSPVUFS w LPBUSFFSPVUFS w fi OENZXBZ'BTUJGZͰΘΕ͍ͯΔ w USFLSPVUFS w FUD )POPͷݸΛ͋Θͤͯݸͷϧʔλʔ
Γํ ϧʔςΟϯάఆٛ ୟ͖ํ ͋͘·ͰϧʔςΟϯά 3FR3FTͷϋϯυϦϯά͠ͳ͍
݁Ռͦͷ Ґ Ґ
݁Ռ্Ґ Ґ Ґ Ґ
)POP Ґ Ґ ˎͪͳΈʹ)POPͷϧʔλʔෳͷϋϯυϥʹରԠͤͨ͞Γ ϓϥΠΦϦςΟ͕ෳࡶͩͬͨΓ͢Δ
ͪͳΈʹ#VOͩͱ
)POP3FH&YQ3PVUFS͕উͭ #VOͷਖ਼نදݱ͕͍ /PEFΑΓ͘ͳͬͯΔͷ ͳʹ͔ཧ༝͕͋Δͷ͔ͳ͍ͷ͔
͍Α͍Α%FOP
%FOP)FMMP8PSMEฤ w EFOPTBVSTCFODI📊$PNQBSJOHEFOPOPEF)551 GSBNFXPSLT IUUQTHJUIVCDPNEFOPTBVSTCFODI w %FOPɺ/PEFͷϑϨʔϜϫʔΫΛܭଌ ૉͷ#VO w
)FMMP8PSMEΛBVUPDBOOPOͰଌΔ w (JU)VC"DUJPOTͰճɺ݁Ռ͕3&"%.&ʹͳΔ
݁Ռ ϑϨʔϜϫʔΫͷதͰҰ൪͍ #VOׂ͕ͱ͍ʁ
+BSSFEొ IUUQTHJUIVCDPNEFOPTBVSTCFODIJTTVFT
BVUPDBOOPO͍͔ΒPIB͑ ࠷ۙ#PNCBEJFS͕͓ؾʹೖΓΒ͍͠
Ͱɺ࣮ʜ
%FOPϕϯνϚʔΫ w ࣮)POP%FOPެࣜϕϯνϚʔΫͰΘΕ͍ͯΔ w IUUQTEFOPMBOECFODINBSLT
None
%FOP fl BTI w %FOPΑΓ࣮ݧతʹಋೖ͞Εͨ)551TFSWFS"1* YJNQSPWFNFOUDPNQBSFEUPPVSFYJTUJOHXFCTFSWFS
w ͔֬ʹ%FOP fl BTI#VOΑΓ͍ w ͨͩ͠ɺ͜͜ͰΘΕ͍ͯΔ#VOͷ όʔδϣϯݹ͍ʢͣʣ
%JWZ͘Μ͕%FOP fl BTIͷϕϯνʹ)POPΛͬͯ͘Εͨ HJUIVCDPNEFOPMBOEEFOPQVMM
+BSSFEݱΔ IUUQTHJUIVCDPNEFOPMBOEEFOPQVMMJTTVFDPNNFOU
Ͱ#VOฤ
#VO)551ϑϨʔϜϫʔΫϕϯν w 4BMUZ"PNCVOIUUQGSBNFXPSLCFODINBSL$PNQBSFUISPVHIQVU CFODINBSLGSPNWBSJPVT#VO)551GSBNFXPSL IUUQTHJUIVCDPN4BMUZ"PNCVOIUUQGSBNFXPSLCFODINBSL
(FU 1BSBNT RVFSZIFBEFS 1PTU+40/
#VO ,JOH8PSMEͬ Ͱ1PTU+40/ͦΜͳͰͳ͍ʁ
1PTU+40/ w BXBJUBTZODΛ͏ͱ,JOH8PSMEͷύϑΥʔϚϯεམͪΔ w (&5 ͳͲಉظత w )POP ࣌
શͯͷϋϯυϥͰBXBJU͢Δॲཧ͕ೖ͍ͬͯͨ BTZODϋϯυϥͷαϙʔτ BXBJU͢Δॲཧ͕શϋϯυϥʹରͯ͠ߦΘΕ͍ͯͨ 1PTU+40/
BXBJUΛ͏ͱ͍ IUUQTHJUIVCDPNPWFOTICVOJTTVFT
+BSSFEొ IUUQTHJUIVCDPNPWFOTICVOJTTVFTJTTVFDPNNFOU 5IFSFJTTUJMMNPSFXPSLUPCFEPOF UPSFEVDF#VOTQSPNJTFBXBJUPWFSIFBE
WͰվળ ͨͩ͠ ˎ5IFNPSFHFOFSBMDBTFPGBTZODBXBJUQFSGPSNBODFCFJOHXPSTFJO+4$UIBO7JTTUJMMBOJTTVF
#VODBOBSZ ݈ಆͯ͠Δ
+BSSFEͷΞυόΠε ˎW͕ग़ΔલͰ͕͢ʜ
ϋϯυϥ͕Ұͭͷ߹DPNQPTF͠ͳ͍Α͏ʹͨ͠ IUUQTHJUIVCDPNIPOPKTIPOPQVMM
ABXBJUAΛগͳͨ͘͠ IUUQTHJUIVCDPNIPOPKTIPOPQVMM
#VOWDBOBSZ )POP "dependencies": { "@kapson fi re/bun-bakery": "^0.3.2", "@nbit/bun":
"^0.7.0", "baojs": "^0.1.3", "bunrest": "^1.1.0", "colstonjs": "latest", "express": "^4.18.1", "hyperbun": "^0.4.6", "kingworld": "^0.0.0-experimental.24" } )POP͍ͧ
࠷৽൛ #VOWDBOBSZ )POPIUUQTHJUIVCDPNIPOPKTIPOPUSFF FCFCDDGEDGCC "dependencies": { "@kapson fi re/bun-bakery": "^0.3.2",
"express": "^4.18.1", "fastify": "^4.5.3", "hyperbun": "^0.4.6", "kingworld": "^0.0.0-experimental.24" },
࠷৽ͷ݁Ռ IUUQTHJUIVCDPNZVTVLFCFXFCGSBNFXPSLCFODI
ͱ͍͏͜ͱͰ%FOPͰ#VOͰ ϑϨʔϜϫʔΫͷதͰ ˚Ұ൪͍ ⦿ҰೋΛ૪͏
͍ͬͨΜײ w ύϑΥʔϚϯεΛͱΔ͔ϝϯςφϏϦςΟΛͱΔ͔ʁ w 6MUSBGBTUΛΞΠσϯςΟςΟʹͯ͠ΔͷͰͳΔ͘͘ w ػೳ͋ΔͷͰ࠷େม w ϕϯνϚʔΫʮͳ·ͷʯ w
ϕϯνϚʔΫ͍͠ w ڥɺϥϯλΠϜͷ࣮ w #VOͷϨεϙϯεϔομʹA%BUFAϔομ͕ͳ͍FUD w ఢΛ࡞ΔՄೳੑ͕͋Δ
%FOP্ͱ#VO্ͳΒͲͪΒ͕͍ͷ͔ʁ %FOP fl BTI͍ #VO৽͍͠)POPͩͱ͍
ࡢڭ͑ͯΒͬͨϕϯνϚʔΫαΠτ IUUQTEFOPWTCVO fl ZEFW %FOP fl BTIͬͯͳ͍
#VOͰ੩తϑΝΠϧͷαʔϒΛ࠷దԽ͠Α ͏ͱ͍ͯ͠Δ
#VOͬͱ͘ͳΔ
ͪͳΈʹ%&-&5&͚ͩ3FRVFTUͷத ͕ۭʹͳΔόά͕͋Δ IUUQTHJUIVCDPNPWFOTICVOJTTVFT IUUQTHJUIVCDPNIPOPKTIPOPJTTVFT
%FOP
·ͩ͘ͳΔ
63-͕͍
͏*TTVFʹͳͬͯͨ IUUQTHJUIVCDPNEFOPMBOEEFOPJTTVFT
63-͡Όͳͯ͘ 63-4FBSDI1BSBNT͚ͩͰΑ͘ͳ͍ʁ
DSFRRVFSZͷߴԽ IUUQTHJUIVCDPNIPOPKTIPOPQVMM
Ҏ্ύϑΥʔϚϯε্͕ͬͨ IUUQTHJTUHJUIVCDPNZVTVLFCFGFEGEFFDEGE
ߴԽͱϕϯνϚʔΫ ଓ͍͍ͯ͘ʜ