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
Atsushi Nakatsugawa
PRO
January 11, 2017
Technology
1
230
Node.js開発を高速化するAirlaneの紹介
【新年】日本酒で乾杯!ランサーズ Drink Meetupでの発表資料です。
Atsushi Nakatsugawa
PRO
January 11, 2017
Tweet
Share
More Decks by Atsushi Nakatsugawa
See All by Atsushi Nakatsugawa
Codexとも仲良く。CodeRabbit CLIの紹介
moongift
PRO
0
210
リレーションからマーケティングへ。継続するDevRelのために行うべきこと
moongift
PRO
0
8
開発スピードとスキル向上を両立するAIコードレビューの活かし方
moongift
PRO
0
67
個人開発にAIレビューを導入しよう
moongift
PRO
0
44
AIによるコードレビューで開発体験を向上させよう!
moongift
PRO
0
810
AIによるコードレビューで開発体験を向上させよう!
moongift
PRO
0
1.3k
開発スピードとスキル向上を両立するAIコードレビューの活かし方
moongift
PRO
0
70
Let's speed up personal development with AI code reviews
moongift
PRO
0
39
DevRelに活かせるAIツールの紹介とレビュー
moongift
PRO
0
140
Other Decks in Technology
See All in Technology
WEBサービスを成り立たせるAWSサービス
takano0131
0
110
「れきちず」のこれまでとこれから - 誰にでもわかりやすい歴史地図を目指して / FOSS4G 2025 Japan
hjmkth
1
310
Git in Team
kawaguti
PRO
3
370
AWS Top Engineer、浮いてませんか? / As an AWS Top Engineer, Are You Out of Place?
yuj1osm
2
210
[Codex Meetup Japan #1] Codex-Powered Mobile Apps Development
korodroid
2
800
OAuthからOIDCへ ― 認可の仕組みが認証に拡張されるまで
yamatai1212
0
120
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
12
80k
フレームワークを意識させないワークショップづくり
keigosuda
0
190
能登半島地震で見えた災害対応の課題と組織変革の重要性
ditccsugii
0
940
能登半島災害現場エンジニアクロストーク 【JAWS FESTA 2025 in 金沢】
ditccsugii
0
830
アイテムレビュー機能導入からの学びと改善
zozotech
PRO
0
160
「使い方教えて」「事例教えて」じゃもう遅い! Microsoft 365 Copilot を触り倒そう!
taichinakamura
0
390
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.6k
Thoughts on Productivity
jonyablonski
70
4.9k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.2k
Rails Girls Zürich Keynote
gr2m
95
14k
GitHub's CSS Performance
jonrohan
1032
470k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
For a Future-Friendly Web
brad_frost
180
9.9k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
189
55k
Agile that works and the tools we love
rasmusluckow
331
21k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
22k
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