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
Node.js開発を高速化するAirlaneの紹介
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Atsushi Nakatsugawa
PRO
January 11, 2017
Technology
240
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Node.js開発を高速化するAirlaneの紹介
【新年】日本酒で乾杯!ランサーズ Drink Meetupでの発表資料です。
Atsushi Nakatsugawa
PRO
January 11, 2017
More Decks by Atsushi Nakatsugawa
See All by Atsushi Nakatsugawa
AI時代の開発生産性は、個人技からチーム設計へ
moongift
PRO
5
2.6k
コーディングだけ速くとも意味がない。自動レビューによる開発の高速化
moongift
PRO
0
81
AI 支援研究開発におけるコードレビューの役割と限界
moongift
PRO
0
150
個人AIからチームAIへ:開発における品質と生産性の再設計
moongift
PRO
0
450
AI活用の格差をなくす:チーム全体のAI開発生産性を底上げする方法
moongift
PRO
1
620
CodeRabbit 2026年04月アップデート
moongift
PRO
0
89
AI時代のIssue駆動開発のススメ
moongift
PRO
0
530
プロダクト開発の品質を守るAIコードレビュー:事例に見る導入ポイント
moongift
PRO
1
9.3k
AIで急増した生産量の荒波をCodeRabbitで乗りこなそう
moongift
PRO
1
97
Other Decks in Technology
See All in Technology
SRENEXT_2026_Chairs__Talks_in_Tamachi.sre.pdf
srenext
1
160
論語・武士道・産業革命から見る かわるもの、かわらないもの
ichimichi
6
740
20260720_クラウド女子会×PyLadiesTokyoコラボ Amazon Bedrock ハンズオン用資料
yuuka51
2
120
全社でのソフトウェアサプライチェーン攻撃対策をやってみた with Takumi Guard
z63d
0
300
Alphaモジュール使っていいのかい!?いけないのかい!?どっちなんだいっ!?
watany
1
330
AI時代のPlaywright活用(システムテストを自動化する ー 実行エンジンにPla ywrightを選んだ理由)
ynisqa1988
2
1k
MCPをつなげて作る組織横断のAIエージェント基盤
tsubakimoto_s
0
140
なぜ、あなたのAPIは使われないのか? AX時代の設計原則、ガードレール、運用体制
yokawasa
1
220
ここは地獄!つらい朝会を体験することで、チームとしてのより良い振る舞いに気づくワークショップ / The stand-up meeting from hell in the game industry
scrummasudar
0
310
Claude CodeとAmazon Bedrock AgentCoreでつくる、自分だけのAIアシスタント
ymae
0
110
大 AI 時代におけるC# の事情 ~ぶっちゃけトークを交えながら~
nenonaninu
1
190
AI時代の開発生産性を捉え直す — 経営と現場をつなぐ「開発組織のオブザーバビリティ」— / AI Dev Ex Conference 2026
tkyowa
1
1.5k
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
220
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.1k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.5k
Prompt Engineering for Job Search
mfonobong
0
380
Designing for Timeless Needs
cassininazir
1
400
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
420
Mobile First: as difficult as doing things right
swwweet
225
10k
sira's awesome portfolio website redesign presentation
elsirapls
0
310
Practical Orchestrator
shlominoach
191
11k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.6k
Transcript
/PEFKT։ൃΛߴԽ ͢Δ"JSMBOFͷհ .00/(*'5தಞ࢘
ࣗݾհ !NPPOHJGU GCNFNPPOHJGUGBO தಞ࢘ גࣜձࣾ.00/(*'5දऔక χϑςΟΫϥυNPCJMFCBDLFOE 9PKPIJpWFΤϰΝϯδΣϦετ ݄ΑΓΦʔϓϯιʔεɾιϑτΣΞΛຖ հ͢Δϒϩά.00/(*'5ΛӡӦɻ
IUUQXXXNPPOHJGUKQ
+BWB4DSJQU͖Ͱ͔͢ʁ
+BWB4DSJQU 8FCϒϥβͰಈ͘อূ͕͋Δ།Ұͷϓϩάϥ ϛϯάݴޠ /PEFKTΛ͑αʔόαΠυɺ3BTQCFSSZ1J ͷ։ൃ 3FBDU/BUJWFͳΒεϚʔτϑΥϯΞϓϦͷ։ൃ
հͳ ίʔϧόοΫࠈ Ϋϥε͕ͳ͍ ׅހ͕ͨΒͱଟ͍ 1SPNJTFͰղܾͰ͖ΔΑ &$."ͰղܾͰ͖ΔΑ &$."ͰղܾͰ͖ΔΑ
/PEFKTͰͷαʔόαΠυ։ൃ &YQSFTTΛ͏ͷ͕جຊ ଞʹ,PBͱ͔)BQJͱ͔3FTUJGZͱ͔4BJMTKTͱ͔ʜ &YQSFTT(FOFSBUPSΛ͑͋ Δఔͷϕʔε͕ੜ͞ΕΔ
\ /_ / ヽ / } レ,' / ̄ ̄ ̄ ̄\ |`l`ヽ /ヽ/ <´`ヽ u ∨ u i レ'
/ └l> ̄ !i´-) |\ `、 ヽ), />/ / 地 ほ こ !´ヽ、 ヽ ( _ U !、 ヽ。ヽ/,レ,。7´/-┬―┬―┬./ 獄 ん れ _|_/;:;:;7ヽ-ヽ、 '') ""'''`` ‐'"='-'" / ! ! / だ. と か | |;:;:;:{ U u ̄|| u u ,..、_ -> /`i ! ! \ :. う ら | |;:;:;:;i\ iヽ、 i {++-`7, /| i ! ! <_ の が __i ヽ;:;:;ヽ `、 i ヽ、  ̄ ̄/ =、_i_ ! ! / ヽ ヽ;:;:;:\ `ヽ、i /,ゝ_/| i  ̄ヽヽ ! ! ,, -'\ ヽ、\;:;:;:;:`ー、`ー'´ ̄/;:;ノ ノ ヽ| / ,、-''´ \/ ̄ ̄ ̄ ̄  ̄ ̄ ̄ Y´/;:;:;\
&YQSFTTͷਏΈ )551ϝιουͷ165%&-&5&͕ղऍ͞Εͳ͍ var methodOverride = require('method-override'); app.use( methodOverride( (req, res)
=> { if (req.body && typeof req.body === 'object' && '_method' in req.body) { var method = req.body._method; delete req.body._method; return method; } }));
&YQSFTTͷਏΈ ηογϣϯػೳ͕༻ҙ͞Ε͍ͯͳ͍ app.use(session({ secret: config.session.key, resave: false, saveUninitialized: true, store:
new NedbStore({ filename: path.join(target_dir, config.session.path) }) }));
&YQSFTTͷਏΈ SFRVJSFࠈʜ JOEFYKT WBSGTSFRVJSF bGT` SFRVJSF bMJCT` MJCTKT
WBSGTSFRVJSF bGT`
&YQSFTTͷਏΈ σʔλϕʔεϝʔϧૹ৴ɺςϯϓϨʔτΤϯδϯ ผ్༻ҙ͢Δඞཁ͕͋Δ ˠ͔͠τϨϯυ͕มΘΔ
&YQSFTTͷਏΈ XFCQBDLEFWTFSWFS OPEFNPO SFMPBEJGZ ΦʔτϦϩʔυɺ࠶σϓϩΠ͠ͳ͍ ཁผϥΠϒϥϦ·ͨ࠶ىಈ
/PEFKTͷਏΈ HVMQpMFKT XFCQBDLDPOpHKT QBDLBHFKTPO ઃఆϑΝΠϧ͕৭ʑඞཁʜ
/PEFKTͷਏΈ τϨϯυʢʁʣͷมԽ͗͢ ʲ༁ʳʹ+BWB4DSJQUΛֶΜͰͲ͏ײ͔ͨ͡&OEP5FDI#MPH IUUQLJLVDIJIBUFCMPKQFOUSZ 3FBDU 3FBDU%0. #BCFM +49 &4 ".%
$PNNPO+4 #SPXTFSJGZ #PXFS "OHVMBS 7VF+4 3Y+4 (SVOU (VMQ #SPDPPMJ .JNPTB 8FCQBDL 4ZTUFN+4 5ZQFTDSJQU 'MPX #MVFCJSE 'FUDI "YJPT 'MVY 'MVNNPY 'MVYJCMF 3FEVY 1MBUFT+4
͞Βʹ࡞͙ͬͯ͢όʔδϣϯΞοϓʜPS[ 2JJUBͷใͲΜͲΜݹ͘ͳ͍ͬͯ͘ʜPS[
/\___/ヽ ヽ / ::::::::::::::::\ つ . | ,,-‐‐ ‐‐-、 .:::| わ
| 、_(o)_,: _(o)_, :::|ぁぁ . | ::< .::|あぁ \ /( [三] )ヽ ::/ああ /`ー‐--‐‐―´\ぁあ
ཉ͍͠ͷ Ͱ͖Δ͔ Εͳ͍ͷ ͷΓํ ྑ͍ͷ୳͠ํ ΛҭͯΑ͏ ੜଶܥΛ͑Α͏ ͜Μͳͣ͡Όͳ͔ͬͨʜ
ͦ͜Ͱ"JSMBOFͰ͢Α )BWFBQMFBTBOUqJHIU
"JSMBOFͷಛ w ΦʔτϦϩʔυɺΦʔτϦσϓϩΠ w SFRVJSFࠈ͔Βͷ։์ʢࣗಈಡΈࠐΈʣ w ίʔυΛੜ͢ΔδΣωϨʔλࡌ w ઃఆΑΓنʢ3BJMT෩ʣ w
03ϚούʔɺϚΠάϨʔγϣϯࡌ
໊લͷ༝དྷ
Πϯετʔϧ OQNJOTUBMMBJSMBOFH
࢝Ίํ BJSMBOFJOJU:063@"11@/".& DE:063@"11@/".& OQNJOTUBMM
αʔόΛཱͯΔ BJSMBOFTFSWF PQFOIUUQMPDBMIPTU
ϧʔςΟϯάίϯτϩʔϥ ᵓᴷᴷDPOpHKT ᵓᴷᴷNPEVMFT ᵓᴷᴷQBDLBHFKTPO ᵓᴷᴷSPVUFT ᴹᵓᴷᴷDPOUSPMMFSKT ᴹᵓᴷᴷJOEFYKT ᴹᵓᴷᴷQVCMJD ᴹᴹᵓᴷᴷBQQDTT ᴹᴹᵋᴷᴷBQQKT
ᴹᵓᴷᴷUFTU ᴹᴹᵋᴷᴷDPOUSPMMFS@UFTUKT ᴹᵋᴷᴷWJFXT ᴹᵓᴷᴷFEJUKBEF ᴹᵓᴷᴷJOEFYKBEF ᴹᵓᴷᴷMBZPVUKBEF ᴹᵋᴷᴷOFXKBEF ᵋᴷᴷUNQ ίϯτϩʔϥ ϧʔςΟϯά
ϧʔςΟϯά WBSFYQSFTTSFRVJSF FYQSFTT WBSSPVUFSFYQSFTT3PVUFS WBSDPOUSPMMFSSFRVJSF DPOUSPMMFS NPEVMFFYQPSUTNPEVMF\
SPVUFSBMM SFR SFT OFYU \ DPOUSPMMFSBMM SFR SFT OFYU ^ (&5 4IPXJOEFYQBHF SPVUFSHFU SFR SFT OFYU \ DPOUSPMMFSJOEFY SFR SFT OFYU ^ (&5OFX 4IPXDSFBUFQBHF SPVUFSHFU OFX SFR SFT OFYU \ DPOUSPMMFSOFX SFR SFT OFYU ^ SFUVSOSPVUFS ^ }ϧʔτͷ(&5ΞΫηε }OFXͷ(&5ΞΫηε
ίϯτϩʔϥ DMBTT5PEP$POUSPMMFS\ DPOTUSVDUPS \ > (&5 JOEFY SFR SFT OFYU
\ SFTSFOEFS JOEFY ^ 1045 (&5OFX OFX SFR SFT OFYU \ SFTSFOEFS OFX ^ ^ NPEVMFFYQPSUTOFX5PEP$POUSPMMFS
ϧʔςΟϯάՃ BJSMBOFHFOFSBUFSPVUFVTFST
Ճ͞ΕΔϑΝΠϧ USFF ᵓᴷᴷSPVUFT ᴹᵓᴷᴷDPOUSPMMFSKT ᴹᵓᴷᴷJOEFYKT ᴹᵓᴷᴷVTFST ᴹᴹᵓᴷᴷDPOUSPMMFSKT ᴹᴹᵓᴷᴷJOEFYKT ᴹᴹᵓᴷᴷQVCMJD
ᴹᴹᴹᵓᴷᴷBQQDTT ᴹᴹᴹᵋᴷᴷBQQKT ᴹᴹᵓᴷᴷUFTU ᴹᴹᴹᵋᴷᴷDPOUSPMMFS@UFTUKT ᴹᴹᵋᴷᴷWJFXT ᴹᴹᵓᴷᴷFEJUKBEF ᴹᴹᵓᴷᴷJOEFYKBEF ᴹᴹᵓᴷᴷMBZPVUKBEF ᴹᴹᵋᴷᴷOFXKBEF ᵋᴷᴷUNQ VTFSTҎԼʹରԠ }
ϚΠΫϩαʔϏεߏ σΟϨΫτϦຖʹϧʔςΟϯάɺίϯτϩʔϥɺςε τɺϏϡʔɺ+BWB4DSJQUελΠϧγʔτΛอ࣋ VTFSTBQQNJOKTɺVTFSTBQQNJODTTͰΞΫη εՄೳʢϏϡʔςϯϓϨʔτʹ͋Β͔͡ΊΈࠐΈࡁ Έʣ
03Ϛούʔ 03.Λ࠾༻ %#ઃఆDPOpHKTPOʹͯࢦఆ BJSMBOFHFOFSBUFNPEFMECVTFS ࣗಈಡΈࠐΈͰNPEVMFTҎԼͷϑΝΠϧΛಡΈࠐ ΈɺίϯτϩʔϥϧʔλͰར༻Մೳʹ
ϚΠάϨʔγϣϯ BJSMBOFHFOFSBUFNJHSBUJPOVTFS@BEE@JOEFY BJSMBOFNJHSBUJPOVQcEPXOcSFEP
ϝʔϧ BJSMBOFHFOFSBUFNPEFMNBJMFSDPOUBDU 4.51ઃఆDPOpHKTPOʹͯࢦఆ
Ϣχοτςετ .PDIBΛ࠾༻ BJSMBOFUFTU
"JSMBOFʜ طଘͷஔ͖͑Ͱͳ͘ɺطଘϥΠϒϥϦ܈ΛΈ߹ Θͤͯߏங ࣗಈಡΈࠐΈͱδΣωϨʔλͰίʔσΟϯάΛݮΒ͢ εϜʔζʹɺ։ൃͷ໘͞Λͳ͘͢
ݱࡏͷ։ൃঢ়گ BJSMBOFWFSTJPO
ٻΉίϯτϦϏϡʔλʂ IUUQTHJUIVCDPNNPPOHJGUBJSMBOF *TTVFػೳཁܴʂ
IUUQBJSMBOFPSH
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ GCNFNPPOHJGU 'PMMPXNF !B@OBLBUTVHBXB