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
200
Node.js開発を高速化するAirlaneの紹介
【新年】日本酒で乾杯!ランサーズ Drink Meetupでの発表資料です。
Atsushi Nakatsugawa
PRO
January 11, 2017
Tweet
Share
More Decks by Atsushi Nakatsugawa
See All by Atsushi Nakatsugawa
DevRelファーストステップ
moongift
PRO
0
24
DevRelのフォーカス領域の変化とコンテンツのあり方
moongift
PRO
0
67
SendGrid + Googleスプレッドシートによる簡単Webサイト構築
moongift
PRO
0
360
コストを下げた動画作成テクニックの紹介
moongift
PRO
0
170
テックブログを分析して分かった始めるコツ・続けるコツ
moongift
PRO
8
3.6k
DevRelが失敗する企業の特徴とその対策
moongift
PRO
2
420
DevRel Regional Characteristics
moongift
PRO
0
10
月100本以上ブログ記事を書いて通して学んだ記事のアイディアの出し方
moongift
PRO
0
420
Google I/O 2021 Recap
moongift
PRO
1
58
Other Decks in Technology
See All in Technology
Tellus の衛星データを見てみよう #mf_fukuoka
kongmingstrap
0
180
Meta Quest 3 で動く桜マシマシ WebXR アプリを IBM Cloud Code Engine と Babylon.js で作った話
1ftseabass
PRO
0
120
Cloud Native Java with Spring Boot (CNCF Aarhus, April 2024)
thomasvitale
1
170
コードを書く隙間を見つけて生きていく技術/Findy 思考の現在地
fujiwara3
27
5.9k
オーナーシップを持つ領域を明確にする
konifar
13
3.1k
ServiceNow Knowledge 24の歩き方 EYストラテジー・アンド・コンサルティング
manarobot
0
190
20分で完全に理解するGrafanaダッシュボード
hamadakoji
3
460
開発パフォーマンスを最大化するための開発体制
ham0215
2
340
ワールドカフェI /チューターを改良する / World Café I and Improving the Tutors
ks91
PRO
0
120
複雑な構成要素を持つUIとの向き合い方 〜新・支出グラフでの実例〜 / B43 TECH TALK
nakamuuu
0
140
長期運用プロジェクトでのMySQLからTiDB移行の検証
colopl
2
850
Google Cloud Next '24 Recap(Cloud Run/k8s)
mokocm
0
130
Featured
See All Featured
Making Projects Easy
brettharned
108
5.5k
A Modern Web Designer's Workflow
chriscoyier
689
190k
BBQ
matthewcrist
80
8.8k
Build your cross-platform service in a week with App Engine
jlugia
225
17k
Debugging Ruby Performance
tmm1
70
11k
Pencils Down: Stop Designing & Start Developing
hursman
117
11k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
19
1.7k
A Tale of Four Properties
chriscoyier
151
22k
Designing with Data
zakiwarfel
96
4.8k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
20
1.9k
Web Components: a chance to create the future
zenorocha
305
41k
Why Our Code Smells
bkeepers
PRO
331
56k
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