JavaScript Weekly #148 - 20130920
์๋ฌธ : [http://javascriptweekly.com/archive/148.html]
US์์ ์ด๋ฆฐ JSConf์ 27๊ฐ์ ํ๋ฆฌ์ ํ
์ด์
๋ค
2013 US์์ ์ด๋ฆฐ JSConf์์ ์ 27๊ฐ์ ํ๋ ์ด ๋ฆฌ์คํธ๋ค์ (36๊ฐ์ด์ง๋ง ๋ช ๊ฐ๋ ์ค๋ณต์
๋๋ค.) Peter Flynn์ด ์ค๋ช
ํ๋ ์๋ฐ์คํฌ๋ฆฝํธ ์ฑ๋ฅ ํ๋๋น๋ฒ, Seb Lee-Delisle์ด ์ค๋ช
ํ๋ ๋ธ๋ผ์ฐ์ ์์ ์์ ์ ๋ง๋๋ ๋ฒ, Peter van der Zee์ ์ค์๊ฐ ์ฌ์ปดํ์ผ, ๊ทธ๋ฆฌ๊ณ Angelina Fabbro์ ์ค๊ธ ๊ฐ๋ฐ์๋ก์ ์ ๋ฌธ๊ฐ๊ฐ ๋๊ธฐ ์ํ ๋
ธ๋ ฅ๊ณผ ๊ฐ์ ๋ด์ฉ๋ค์ด ํฌํจ๋์ด ์์ต๋๋ค.
Higgs: ํฅ๋ฏธ๋ก์ด ์๋ก์ด ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ์๋จธ์ ๊ณผ ์ปดํ์ผ๋ฌ
D์์ ๋ง๋ค์ด์ง ์๋ฐ์คํฌ๋ฆฝํธ ์ธํฐํ๋ฆฌํฐ์ JIT ์ปดํ์ผ๋ฌ๋ x86-64 ํ๋ซํผ์ ํ๊ฒํ
ํ์ฌ ์๊ณ , ๊ทธ๊ฒ๋ค์ ๋์ ์ธ์ด์ ์ต์ ํ ์ฐ๊ตฌ์ ํ ๋ถ๋ถ์ผ๋ก ๋ฐ์ ๋์ด ์์ต๋๋ค. ์ด๊ฒ์ ๊ด๋ จํ์ฌ Dan Glasperlensiel์ด Higgs FFI๋ฅผ ์ด์ฉํ ์๋ฐ์คํฌ๋ฆฝํธ๋ก๋ถํฐ C ์ฝ๋๋ฅผ ํธ์ถ ํ๋ ๋ฒ์ ๋ํด ์ฌ๋ฏธ์๋ ํฌ์คํธ๋ฅผ ์์ฑํ์ต๋๋ค.
์ฌ๋ฌ๋ถ์ ๋ชจ๋ฐ์ผ ์น์ฌ์ดํธ๊ฐ ์คํ์์ด ๋ง๋ HTML5 ํ๋ก์ ํธ์ฒ๋ผ ๋ณด์ด์ง ์์ผ๋ ค๋ฉด
๊ฐ๋ฐ์์ ๋์์ด๋๋ฅผ ์ดํ๊ฐ์ BDConf๋ก ๋ณด๋ด์ด ์๊ฐ์ ๋ถ์ด๋ฃ์ด์ฃผ๊ณ ๋ชจ๋ฐ์ผ ์น์ฌ์ดํธ ์ ๋ต, ์ฝ๋, UI/UX, ๋์์ธ๊ณผ ๊ด๋ จ์๋ ์ฌ๋๋ค๊ณผ ๊ด๊ณ๋ฅผ ๋งบ์ ์ ์๊ฒ ํ์ธ์. ์คํ๊ต 2ํ๋
๋ ์ฌ๋ฌ๋ถ๊ณผ ๊ฒฝ์ํ ์ ์๋ ์ฌ์ดํธ๋ฅผ ๋ง๋ค ์ ์์ง๋ง ์ฌ๋ฌ๋ถ์ ์ฌ์ดํธ๋ ๊ทธ๊ฒ ๋ณด๋ค๋ ๋ ์ข์์ง ๊ฒ์
๋๋ค. BNACMA2 ์ฝ๋๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฑ๋ก์ 100๋ฌ๋ฌ ํ ์ธ์ด ์ ๊ณต๋ฉ๋๋ค.
์๋ฐ์คํฌ๋ฆฝํธ์ ๋ฑ๋ฑํ ํ์ดํ(=>) ํจ์(Fat Arrow Functions)
๋ฒ์ 22๋ถํฐ, ํ์ด์ดํญ์ค๋ ECMAScript 6์ ํ์ดํ ํจ์๋ฅผ ์ง์ํด์ค๊ณ ์์ต๋๋ค. ์ด ๋ธ๋ก๊ทธ ๊ธ์ ํจ์ ํํ์์ ๋นํด ๊ทธ๋ค์ ์ด์ ์ด ๋ฌด์์ธ์ง ์ค๋ช
ํฉ๋๋ค.
Node.js์ ์์กด์ฑ ์ฃผ์
์ ๋ํ ์๊ฐ
"์์กด์ฑ ์ฃผ์
" ํ๋ก๊ทธ๋๋ฐ ๋์์ธ ํจํด์ ๋ํด ์ค๋ช
ํ๊ณ , ์ด๋ฅผ ๊ตฌํํ๋๋ฐ ๋์์ ์ฃผ๋ Dependable ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ํด ์๊ฐํฉ๋๋ค.
์๋ฐ์คํฌ๋ฆฝํธ๋ก CSS ์ ๋๋ฉ์ด์
๊ณผ ํธ๋์ง์
์ ์ดํ๊ธฐ
์ฝ๊ฐ์ ์๋ฐ์คํฌ๋ฆฝํธ๊ณผ CSS ์ ๋๋ฉ์ด์
๊ณผ ํธ๋์ง์
์ ๊ฒฐํฉํ๋ฉด ํ๋์จ์ด-๊ฐ์ ์ ๋๋ฉ์ด์
๊ณผ ์ธํฐ๋์
์ ๋๋ถ๋ถ์ ์๋ฐ์คํฌ๋ฆฝํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ณด๋ค ๋ ํจ๊ณผ์ ์ผ๋ก ๋ฌ์ฑํ ์ ์์ต๋๋ค.
์ปดํจํฐ ํ๋ก๊ทธ๋จ์ ๊ตฌ์กฐ์ ํด์ (์๋ฐ์คํฌ๋ฆฝํธ ๋ฒ์ )
โ์ปดํจํฐ ํ๋ก๊ทธ๋จ์ ๊ตฌ์กฐ์ ํด์โ (Harold Abelson๊ณผ Gerald Sussman, Julie Sussman์ ์ ์)๋ ์ต๊ณ ์ ํ๋ก๊ทธ๋๋ฐ ๊ต์ฌ ์ค ํ๋์
๋๋ค. ์ด ์ฑ
์ Scheme๋ฅผ ์ฌ์ฉํ๊ณ , ํนํ Scheme์ด ์๋ฐ์คํฌ๋ฆฝํธ์ ์ผ๋ง๋ ๋ง์ ์ํฅ์ ์ฃผ์ด์๋์ง ์๋ ค์ฃผ๊ธฐ ๋๋ฌธ์, ์๋ฐ์คํฌ๋ฆฝํธ ํ๋ก๊ทธ๋๋จธ์๊ฒ ๊ฐ๋ ฅํ๊ฒ ์ถ์ฒํ๋ ๋์์
๋๋ค. ์ด ๋ฒ์ ์ ์๋ฐ์คํฌ๋ฆฝํธ๋ก ๋ ์์ ์ ํจ๊ป ์๋ณธ์ ์ผ๋ถ ์น์
์ ํฌํจํฉ๋๋ค.
๋ชจ๋๋ฅผ ์ํ JS: ๋ค์ ์๋ฐ์คํฌ๋ฆฝํธ ์ํฌ์ต์ ์ํ ์๋ฃ๋ค
Pam Selle์ ์๋ฐ์คํฌ๋ฆฝํธ ๊ธฐ์ด ์ํฌ์ต์ ์ํด PhillyJSDev์์ ์ฌ์ฉ๋ ์๋ฃ๋ค์ ๊ณต๊ฐํ์ต๋๋ค.
์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ฅผ ์ํ ์ค์ฝํ ๋ถ์
์ค์ฝํ ๋ถ์์ด ๋ฌด์์ธ์ง ์ค๋ช
ํ๊ณ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋์์ ์ด๋ฅผ ์ํํ๋ Escope ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ํด ์ค๋ช
ํฉ๋๋ค.
ํ๋ ์์ํฌ์๋ ์๋ฐ์คํฌ๋ฆฝํธ: Angular, Ember ๋๋ Backbone๋ฅผ ์ ์ฌ์ฉํ์ง ์๋์ง
Andrew Hushbeck๋ ๋งํฌ๋ค์ด ํ์์ผ๋ก ์์ฑ๋ ๋ฌธ์๋ฅผ HTML ์ฌ์ดํธ๋ก ๋ณํํ๋ Node.js ์ ํธ๋ฆฌํฐ์ธ FruitJS๋ฅผ ์ด๋ป๊ฒ ์ฌ์ฉํ๊ณ ๋น๋ํ๋์ง์ ๋ํด ์ค๋ช
ํฉ๋๋ค.
Bocoup์์์ TC39 ์๋ฐ์คํฌ๋ฆฝํธ ํจ๋
TC39 (Ecma ๊ธฐ์ ์์ํ 39)๋ ECMAScript ์ธ์ด์ ๋ํ ํ์ค์ ๋ฐ์ ์ํค๊ณ ์ ์งํ๋๋ฐ ์ฑ
์์ ๊ฐ์ง๊ณ ์์ต๋๋ค. 9์ 18์ผ Bocoup์์ Rick Waldron์ ์งํํ์, Allen Wirfs-Brock, Douglas Crockford, Brendan Eich์ธ ๋ช๋ช์ผ๋ก ์ด๋ฃจ์ด์ง TC39 ํจ๋์ ์ด๋ํ์์ต๋๋ค. ํด๋น ์๋ฆฌ์์๋ ์๋ฐ์คํฌ๋ฆฝํธ์ ๊ดํ ๋ค์ํ ์ด์๋ค๊ณผ ๋ฏธ๋์ ๋ํด ๋
ผ์ํ์์ต๋๋ค.(1:10:13)
[TC39๋ ์๋ฐ์คํฌ๋ฆฝํธ ์ธ์ด์ ๋ณํ๋ฅผ ์ต์ข
์ ์ผ๋ก ๊ฒฐ์ ํ๋ ECMA๊ทธ๋ฃน์
๋๋ค.] [Douglas Crockford: JSON์ ์ฐฝ์์์ด๋ฉฐ, ์๋ฐ์คํฌ๋ฆฝํธ๋ก ๊ฐ์ฅ ์ ๋ช
ํ ๊ฐ๋ฐ์๋ผ๊ณ ํ ์ ์์ต๋๋ค. ] [Bocoup์ ๊ฐ๋ฐฉํ ์น๊ธฐ์ ์
์ฒด๋ก 2012๋
์๋ ํ์ด์ค๋ถ๊ณผ Rinmark.io๋ผ๋ ๋ธ๋ผ์ฐ์ ํ
์คํธ ๋๊ตฌ๋ฅผ ์คํ ํ๊ธฐ๋ ํ์์ต๋๋ค.]
Thomas Hunter II ๊ฐ ๋์ ์์ค์ Backbone.js์ ํ๋ฆฌ์ ํ
์ด์
์ ๋ณด์ฌ์ค๋๋ค. ํด๋น ์์์๋ Thomas์ ์ฑ
๊ณผ ๋น์ทํ ์ฃผ์ ๊ฐ ๋ง์ด ๋ด๊ฒจ ์์ต๋๋ค.(36:33)
์๋ฐ์คํฌ๋ฆฝํธ Jabber: Nicholas Zakas์ ํจ๊ป ํ๋ ์ ์ง๋ณด์๊ฐ๋ฅํ ์๋ฐ์คํฌ๋ฆฝํธ
์ด๋ฒ ํ์บ์คํธ์์๋ 6๋ช
(Nicholas Zakas, Joe Eames, AJ O'Neal๊ณผ ๋ช๋ช๋ค)์ผ๋ก ์ด๋ฃจ์ด์ง ํจ๋๋ค์ด "์๋ฐ์คํฌ๋ฆฝํธ ์ ์ง๋ณด์"์์ Zakas๊ฐ ๊ฐ์ง๊ณ ์๋ ๊ฐ๋
์ ๊ด๋ จ๋ ์ด์์ ๋ํด ๋
ผ์ ํฉ๋๋ค.(57:41)
๋ํ๋ก๋ ํฌํจ๋์ด์์ต๋๋ค.
์๋ฐ์คํฌ๋ฆฝํธ์ ์น๋ณด์
์ฝ 49๋ถ์ ๋ํ์์๋ ๋ณด์ํจ์ค์๋์ ์ฅ๊ณผ ์ธ์ฆ, SRPํ๋กํ ์ฝ, ๊ทธ๋ฆฌ๊ณ ํต์์ ์ธ ์๋ฐ์คํฌ๋ฆฝํธ ๋ณด์ ์ํ๊ณผ ์ฃผ์
๊ธฐ์ ์ด ํฌํจ๋ ์๋ฐ์คํฌ๋ฆฝํธ์ ์น ๋ณด์์ ๋ํด ์๊ธฐ ํ ๊ฒ์
๋๋ค. (48:33)
Adobe์ ํฌํ ์ตCC๋ฅผ ์คํฌ๋ฆฝํธํ ํ๊ธฐ ์ํด ํฌํ ์ต ์์ฑ๊ธฐ์ Node.js๋ฅผ ์ฌ์ฉ ํ๋๋ฒ
Tom์ ๋ธ๋ก๊ทธ ํฌ์คํธ์ ๊ธ๋ก๋ ์ค๋ช
๋์ด ์์ต๋๋ค.
์ฝ๋, ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค๊ณผ ๋๊ตฌ๋ค
svg.js: ํ์ฅ ๊ฐ๋ฅํ ๋ฒกํฐ ๊ทธ๋ํฝ์ ์ ๋๋ฉ์
๊ณผ ์ ์ด๋ฅผ ์ํ ์๋ฐ์คํฌ๋ฆฝํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
Raphael ๋ณด๋ค ํจ์ฌ ๊ฐ๋ณ์ง๋ง ํ์๋ฒ์ ์ ๋ํ ์ง์์ด ์กฐ๊ธ ๋ถ์กฑํฉ๋๋ค. ๋ฌธ์ ์ ๋ง๋ค์ด์ ธ ์์ต๋๋ค.
BladeRunnerJS: ๋๊ท๋ชจ HTML5 ์ฑ์ ์ํ ๋ชจ๋ํ๋ ํ๋ ์์ํฌ
๋๊ท๋ชจ ์ฑ๊ธ ํ์ด์ง ์น ์ฑ์ ๊ฐ๋ฐ, ํ
์คํธ, ๋ฐฐํฌ, ์ ์ง๋ณด์๋ฅผ ์ฝ๊ฒ ๋ง๋ค์ด์ฃผ๋ ํด๊ณผ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ํด ๊ด๋ก๋ค์ ์งํฉ์ผ๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค.
TogetherJS: ์ฌ์ดํธ์ ์ค์๊ฐ ํ์
์์๋ฅผ ์ถ๊ฐํ๊ธฐ
RedScript: ๋ฃจ๋น์ ์๋ฐ์คํฌ๋ฆฝํธ ์คํ
์ข ๋ ๋ค์ดํฐ๋ธํ ๋ชจ๋ ๊ฒฝํ, ๋ ์ฌ์ด ์์ ๊ทธ๋ฆฌ๊ณ ๋ฃจ๋น ์คํ์ผ ๋ฌธ๋ฒ์ ์ ๊ณตํ๊ธฐ ์ํด ํธ๋์คํ์ผ๋ฌ(transpiler - CoffeeScript ๊ฐ์)๋ฅผ ๋ง๋ค์์ต๋๋ค.
์ ๋ฒ ์ฑ ํคํธ(EAK)๋ Grunt, JSHint, Qunit, Karma(ํ
์คํธ ๋ฌ๋), ES6 ๋ชจ๋ ๊ทธ๋ฆฌ๊ณ Bower๋ฅผ ํฌํจํ Ember.js ํ๋ก์ ํธ๋ฅผ ์ํ ํด์
์
๋๋ค. EAK๋ ์ต๊ทผ์ ์ ๋ฒ ์ฝ์ด ํ์ผ๋ก๋ถํฐ ์น์ธ์ ๋ฐ์์ต๋๋ค. EAK๋ ๊ธฐ๋ณธ ํ๋ก์ ํธ ๋ ์ด์์์ ๋ช
์ํ๊ณ ๊ฒฐ๊ณผ์ ์ผ๋ก ์ ๋ฒ ํ๋ก์ ํธ๋ฅผ ๊ด๋ฆฌํ๊ณ ์์ฑํ๊ธฐ ์ํ ์คํ ๊ฐ๋ฅํ ์ํ๋ก ์ฑ์ฅํ ์๋ ์์ต๋๋ค. Matthew Beale์ EAK์ ๋ค๋ฅธ ์๊ฐ๋ฅผ ์ฌํ๋ฆฌ ๋ถ์ค ์จ๋ผ์ธ์ ์์ฑํ์์ต๋๋ค.
JSModeler: 3D ๋ชจ๋ธ์ ์๊ฐํํ๊ณ ๋ง๋ค๊ธฐ ์ํ ์๋ฐ์คํฌ๋ฆฝํธ ํ๋ ์์ํฌ
3D ๋ชจ๋ธ์ ๋ง๋ค๊ณ Three.js ๊ธฐ๋ฐ์ ๋ทฐ์ด์์ ์ด๋ฅผ ๋ณด์ฌ์ค๋๋ค. ๋ค๋ฅธ ์์ : STL๊ณผ OBJ ํฌ๋งท์ผ๋ก ๋ด๋ณด๋ด๊ธฐ์ ๊ธฐํํ ํจ์(2D์ 3D)
Vex: ํ๋์ ์ด๊ณ ์ ์ฐํ ๋ํ์์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
๋ํ์์๋ง๋ค์ ๋ชจ๋ ์ต์
์ค์ ๊ณผ ๋ชจ๋ UI ์๋ฆฌ๋จผํธ, ํ
๋ง, ํ๋, ์ ๋๋ฉ์ด์
๊ทธ๋ฆฌ๊ณ ํจ๊ณผ์ ์คํ์ผ๋ง์ ํฌํจํ๋ ๋์ ์์ค์ ๋ณ๊ฒฝ์ ์ง์ํฉ๋๋ค. ์ ์ฐํ API๋ฅผ ๊ฐ์ง๋ฉฐ 7KB๋ณด๋ค ์์ ์ฉ๋์
๋๋ค.
TripleSec: Triple-Paranoid Symmetric ์ํธํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
๋ธ๋ผ์ฐ์ ์ Node.js์ฉ ์คํ ์์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ์
๋๋ค. TripleSec์ Salsa 20, AES, Twofish๋ก ๋ฐ์ดํฐ๋ฅผ ์ํธํ ํ๊ธฐ ๋๋ฌธ์ ํ ๋ ๊ฐ์ ์ํธํ ์กฐํฉ์ผ๋ก๋ ์ด๋ค๊ฒ๋ ๋
ธ์ถ ์ํค์ง ์์ ๊ฒ์
๋๋ค.
Jor1k: ์๋ฐ์คํฌ๋ฆฝํธ๋ก ์์ฑ๋ OpenRSC 1000 ์๋ฎฌ๋ ์ดํฐ, ๋ฆฌ๋
์ค์์ ์คํ
Mapael: ์ธํฐ๋ํฐ๋ธํ ๋ฒกํฐ ์ง๋๋ฅผ ์ํ jQuery ํ๋ฌ๊ทธ์ธ
jQuery Mapael์ raphael.js๋ฅผ ๊ธฐ๋ฐ์ผ๋กํ๋ jQuery ํ๋ฌ๊ทธ์ธ์
๋๋ค. ์ด๊ฒ์ ๋์ ์ธ ๋ฒกํฐ ์ง๋๋ฅผ ํ์ํ ์ ์๊ฒ ๋ง๋ค์ด์ค๋๋ค.
OJ: API ํธ์ถ์ ํตํด ์น ์ฌ์ดํธ๋ฅผ ๋ง๋๋ ํ๋ ์์ํฌ
์๋ฐฉํฅ์ ๋ชจ๋ธ, ์ปฌ๋ ์
๋ฐ์ธ๋ฉ๊ณผ ํจ๊ป ๋ฐฑ๋ณธ์ ์ง์ํฉ๋๋ค.
LeapTrainer.js v0.2 ์ถ์
LeapTrainer.js๋ Leap Motion์ฉ ์ ์ค์ณ ํ์ต๊ณผ ์ธ์ ํ๋ ์์ํฌ์
๋๋ค. ์ด ๋น๋์ค๋ ์๋ก์ด ํ์ต UI์ ์
๊ทธ๋ ์ด๋๋ ์ ์ค์ณ ์ธ์์ ์๊ฐํฉ๋๋ค.
completely.js: ์์กด์ฑ์๋ ์๋์์ฑ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
FireShell: ํ๋ก ํธ์๋ ํ์ค ์ฝ๋์ ์ํฌํ๋ก์ฐ ํ๋ ์์ํฌ
๋ ๋์ ์ํฌํ๋ก์ฐ๋ฅผ ๊ฐ์ง๋ ค๋ ํ๊ณผ ๊ฐ์ธ ๊ฐ๋ฐ์๋ฅผ ์ํ ๋
๋จ์ ์ธ ํ๋ ์์ํฌ์
๋๋ค. HTML5 ํ์ค ์ฝ๋ ํ๋ ์์ํฌ์ ๊ฐ์ธ์ง ์๋ฐ์คํฌ๋ฆฝํธ ํ์คํฌ ์คํ, ํ๋ก์ธ์ค ๋น๋, ์๋ ์ต์ํ์ ํ์ผ ๋ณํฉ ๊ธฐ๋ฅ์ ๊ฐ์ง๊ณ ์์ต๋๋ค.
Phaser: ๋ชจ๋ฐ์ผ๊ณผ ๋ฐ์คํฌํฑ์ ์ํ HTML5 ๊ฒ์ ํ๋ ์์ํฌ
WebGL๊ณผ ์บ๋ฒ์ค๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์คํ๋ผ์ดํธ, ์ฌ์ด๋, ๋๋ฐ์ด์ค ์
๋ ฅ, ์ ๋๋ฉ์ด์
, ํํฐํด, ์นด๋ฉ๋ผ๋ฑ์ ์ง์ํฉ๋๋ค.
DataTables: jQuery์ฉ ํ
์ด๋ธ ํ๋ฌ๊ทธ์ธ
ํ์ด์ง๋ค์ด์
, ํํฐ๋ง, ๋ฉํฐ ์ปฌ๋ผ ์ ๋ ฌ๋ฑ์ ๊ธฐ๋ฅ์ ๊ฐ์ง๋ ๊ณ์์ ์ผ๋ก ํ์ฅํ๋ ํ
์ด๋ธ. DOM, ์๋ฐ์คํฌ๋ฆฝํธ ๋ฐฐ์ด, Ajax ๋ฑ์ ๋ค์ํ ์์ค๋ก๋ถํฐ ๋ฐ์ดํฐ ์
๋ ฅ์ด ๊ฐ๋ฅํฉ๋๋ค.
์๋์ด ์น ์์ง๋์ด, ์ฝ์ด ์์ง๋์ด๋ง (์บ๋ฆฌํฌ๋์, ์คํด๋๋)
ํ๋๋ผ์์ ์๋น์ ์น ์ ํ๋ฆฌ์ผ์ด์
์ ์ค๊ณํ๊ณ ๋ง๋ค ํ์ ์ ์ด๊ณ ์๊ฐ์๋ ์น ์์ง๋์ด๋ฅผ ์ฐพ๊ณ ์์ต๋๋ค. ๋งค์ฐ ํ๋์ ์ด๊ณ ์ฌ๋ฏธ์๋ ํ์ ์ผ์์ผ๋ก ๋ณต์กํ์ง๋ง ์ฌ๋ฏธ์๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ๊ธฐํ๋ฅผ ๊ฐ๊ฒ ๋ ๊ฒ์
๋๋ค.
์ํํธ์จ์ด ์์ง๋์ด @ ํด (์ค๋ฆฌ์ฝ ๋ฐธ๋ฆฌ)
Angular, Node, Bootstrap. ๋น
๋ฐ์ดํฐ, ๋จธ์ ๋ฌ๋, ๋ถ์ฐ ์์คํ
. ์ด๋ฐ ๊ธฐ์ ์ ๊ด์ฌ์ด ์๊ณ ์๋ฐ์คํฌ๋ฆฝํธ์ ๋ฅ์ํ๋ค๋ฉด ํด์ ํ๋ก ํธ์๋ ์ ํ๋ฆฌ์ผ์ด์
ํ์ ํฉ๋ฅํ๋ ๊ฒ์ ๋ํด ์ด์ผ๊ธฐํด๋ณด๊ณ ์ถ์ต๋๋ค.
ํ๋ก ํธ์๋ ๊ฐ๋ฐ์ @ The Nerdery
The Nerdery์์ ์ค๋๋ ๋ธ๋ผ์ฐ์ ๋ฅผ ์ง์ํ ์ ์๋ ์ญ๋์ ๊ฐ์ง๊ณ ์์ผ๋ฉด์๋ ์ต์ ์ ์น ๊ฐ๋ฐ ๊ธฐ์ ์ ๋ฐฐ์ฐ๊ณ ์ ํ๋ ์ด์ ์ ๊ฐ์ง ์ฌ๋ฅ์๋ ํ๋ก ํธ์๋ ๊ฐ๋ฐ์๋ฅผ ์ฐพ๊ณ ์์ต๋๋ค. ์ต๊ณ ์ ์ง์์๋ ์์์ด ๋์น๊ณ ํญ์ ๋ฐฐ์ฐ๋ฉด์ ํ๊ณ์ ๋์ ํ๋ ์ฌ๋์
๋๋ค.
๋ฐฐํฌ ๊ณผ์ ์ ์๋ํํ์ธ์
๋ ๋ ๊ฒ์ดํธ(Red Gate)์ Deployment Manager๋ฅผ ์ฌ์ฉํ์ฌ ๋น ๋ฅด๊ณ ๋ฐ๋ณต ๊ฐ๋ฅํ ๋ฐฐํฌ๋ฅผ ์งํํ์ธ์. .NET ์ ํ๋ฆฌ์ผ์ด์
, ์๋น์ค, ๋ฐ์ดํฐ ๋ฒ ์ด์ค๋ฅผ ํ๋์ ํ๋ก์ธ์ค๋ก ๋ฐฐํฌํ๊ณ ๊ณต์ ๋์๋ณด๋์์ ์ฌ๋ฌ๋ถ์ ํ๊ฒฝ์ ์ดํด๋ณด๊ณ ๋ชจ๋ ๋ฐฐํฌ ์์
์ ํ ๊ณณ์์ ๊ด๋ฆฌํ์ธ์. ์ง๊ธ ๋ฐ๋ก ์์ํ์ธ์.