Node.js 주간 뉴스 2015년 11월 06일

Node.js 뉴스 - 11월 6일

Node.js v4.2.2 (LTS) 릴리스

Node.js v4.2.2 (LTS) 릴리스

이번 주에는 Node.js v4.2.2 (LTS) 릴리스가 있었습니다. 이전 버전의 전체 변경사항은 GitHub에서 확인할 수 있습니다.

주요 변경사항

이 릴리스는 장기 지원(LTS) 유지 버전이며 다음과 같은 이슈를 다루고 있습니다.

  • [1d0f2cbf87] - buffer: writeInt{B,L}E의 값 확인 부분을 수정했습니다 (Trevor Norris) #3500
  • [2a45b72b4a] - buffer: 크기가 없는(zero-sized) realloc은 확인하지 않습니다 (Ben Noordhuis) #3499

NodeUp 팟캐스트

  • 이번 주에는 NodeUp 팟캐스트 에피소드 93과 94가 나왔습니다. http://nodeup.com/ninetythree, http://nodeup.com/ninetyfour.
  • 이번 팟캐스트의 주제는 "Kat Marchán, James Snell, Rich Trott과 함께하는 LTS 쇼", "Dan Shaw, Mikeal Rogers, Kassandra Perch와 함께하는 Node.js 인터랙티브 쇼"입니다.

커뮤니티 업데이트

Node.js에 관한 글을 쓰거나 발견했다면, Evangelism 팀 저장소이슈 페이지에 주간 업데이트 이슈로 알려주세요.

다가오는 이벤트

  • NodeFest, 11월 7일 일본 도쿄에서 열립니다.
  • Node Knockout, 11월 7일부터 8일까지 전 세계에서 열립니다.
  • Node Girls London, 11월 7일 영국 런던에서 열립니다.
  • Playnode, 11월 12일 대한민국 서울에서 열립니다.
  • Nodevember, 11월 14일부터 15일까지 미국 Tennessee의 Nashville에서 열립니다.
  • JSConf.Asia, 11월 19일부터 20일까지 싱가포르에서 열립니다.
  • NodeConf Barcelona, 11월 21일 스페인 바르셀로나에서 열립니다.
  • CampJS VI, 11월 20일부터 23일까지 오스트레일리아 퀸즐랜드에서 열립니다.
  • Node.js Interactive, 12월 8일부터 9일까지 미국 포틀랜드에서 열립니다.

계획 중인 Node.js 이벤트가 있나요? Evangelism 팀 저장소이슈 페이지에 주간 업데이트 이슈를 통해 알릴 수 있습니다.

Node.js 재단 개인 회원 모집

Node.js 재단은 회원이 지원하는 조직입니다. 지금까지 20개가 넘는 기업이 회원으로 가입하여 재단이 번창하는 데 필요한 재정적인 지원을 해주었습니다.

리눅스 재단의 지원 덕분에 개인 회원 프로그램도 열 수 있게 됐습니다. 개인 회원은 Node.js 재단 경영진에서 Node.js 커뮤니티의 다양한 요구 사항을 대표하는 대표 2명을 오는 1월에 선출합니다.

회원은 어떻게 될 수 있나요?

회원비는 연간 $100이며, 학생은 $25입니다. 워킹 그룹, 하위 프로젝트를 포함한 Node.js 프로젝트의 공헌자는 무료로 회원 자격을 가질 수 있습니다.

이사회는 누가 운영할 수 있나요?

등록된 회원이라면 누구든지 가능합니다.

모든 이사회 회의는 정족수를 충족시켜야 결의안 통과가 가능하므로 정기적이고 꾸준하게 참여할 수 있는 사람만 운영하려 해야 합니다.

이사회 회의에서는 무슨 일을 하나요?

매달 이루어지는 이사회 회의에서는 Node.js 재단 관리 사항을 논의하고 이에 관한 결의안을 승인합니다. 재단이 주최하는 콘퍼런스나 이니셔티브에 관한 법적인 사안, 예산, 인가 등도 회의 내용에 포함됩니다. 기술 거버넌스는 이사회가 아니라 기술 결정 위원회에서 감독합니다.

현 이사회의 구성은 여기에서 볼 수 있습니다.

임기는 얼마나 되나요?

개인 회원이 선출한 대표의 임기는 2년입니다. 매해 선거를 통해 새 대표를 한 명 뽑을 때 임기를 새로이 정할 수 있습니다.

다만 첫 번째 선거에서는 대표가 두 명 선출됩니다. 득표율이 가장 높은 대표의 임기는 2년이 될 것이며, 다른 대표의 임기는 1년이 될 것입니다. 따라서 2017년에는 2년 단임제 이사를 새롭게 한 명 선출합니다.

선거는 언제 하나요?

  • 1월 15일까지 후보 신청을 받습니다.
  • 1월 20일까지 투표용지가 배부됩니다.
  • 1월 30일까지 선거를 완료합니다.

2016년 선거에는 어떻게 참여할 수 있나요?

회원으로 등록한 후에 여기에 있는 안내를 따르면 됩니다.

Node v4.2.2 (LTS)

주요 변경 사항

많은 이슈를 해결한 LTS 유지 관리 릴리스입니다:

  • [1d0f2cbf87] - buffer: writeUInt{B,L}E를 위한 값 검사 부분을 수정했습니다. (Trevor Norris) #3500
  • [2a45b72b4a] - buffer: 크기 0의 realloc를 검사하지 않습니다. (Ben Noordhuis) #3499
  • [a6469e901a] - deps: V8에서 010897c 백포트 (Ali Ijaz Sheikh) #3520
  • [cadee67c25] - deps: V8에서 8d6a228 백포트 (Fedor Indutny) #3549
  • [46c8c94055] - fs: fs.write()에서 중복 코드를 제거했습니다. (ronkorving) #2947
  • [0427cdf094] - http: 정체된 파이프라인 버그를 수정했습니다. (Fedor Indutny) #3342
  • [2109708186] - lib: 클러스터 처리 시 발생하는 누수를 수정했습니다. (Rich Trott) #3510
  • [f49c7c6955] - lib: 완료 오류에서 REPL이 종료되지 않도록 수정했습니다. (Rich Trott) #3358
  • [8a2c4aeeaa] - repl: 주석을 적절하게 다룹니다. (Sakthipriyan Vairamani) #3515
  • [a04408acce] - repl: 로드 시 지속적인 기록을 제한합니다. (Jeremiah Senkpiel) #2356
  • [3bafe1a59b] - src: 종료 시 디버그 신호에서 발생하는 경쟁 조건을 수정했습니다. (Ben Noordhuis) #3528
  • [fe01d0df7a] - src: Windows에서 예외 메시지 인코딩을 수정했습니다. (Brian White) #3288
  • [4bac5d9ddf] - stream: 단일 버퍼의 불필요한 concat를 피합니다. (Calvin Metcalf) #3300
  • [8d78d687d5] - timers: setTimeout().unref()에서 타이머를 재사용합니다. (Fedor Indutny) #3407
  • [e69c869399] - tls: TLSSocket 옵션 중 isServer의 기본값은 false입니다. (Yuval Brik) #2614

알려진 이슈

  • REPL에 입력된 서로게이트 페어가 터미널을 얼릴 수 있습니다. #690
  • DNS 질의 진행 중에 호출된 dns.setServers()는 단언문 실패로 프로세스를 크래시시킬 수 있습니다. #894
  • url.resolve는 두 호스트 사이를 분석할 때 URL의 인증 정보를 교환할 수 있습니다. #1435

Commits

  • [1d0f2cbf87] - buffer: fix value check for writeUInt{B,L}E (Trevor Norris) #3500
  • [2a45b72b4a] - buffer: don't CHECK on zero-sized realloc (Ben Noordhuis) #3499
  • [dc655e1dd2] - build: rectify --link-module help text (P.S.V.R) #3379
  • [a6469e901a] - deps: backport 010897c from V8 upstream (Ali Ijaz Sheikh) #3520
  • [cadee67c25] - deps: backport 8d6a228 from the v8's upstream (Fedor Indutny) #3549
  • [1ebd35550b] - doc: fix typos in changelog (reggi) #3291
  • [fbd93d4c1c] - doc: more use-cases for promise events (Domenic Denicola) #3438
  • [6ceb9af407] - doc: remove old note, 'cluster' is marked stable (Balázs Galambosi) #3314
  • [a5f0d64ddc] - doc: createServer's key option can be an array (Sakthipriyan Vairamani) #3123
  • [317e0ec6b3] - doc: binary encoding is not deprecated (Trevor Norris) #3441
  • [b422f6ee1a] - doc: mention the behaviour if URL is invalid (Sakthipriyan Vairamani) #2966
  • [bc29aad22b] - doc: fix indent in tls resumption example (Roman Reiss) #3372
  • [313877bd8f] - doc: fix typo in changelog (Timothy Gu) #3353
  • [4be432862a] - doc: show keylen in pbkdf2 as a byte length (calebboyd) #3334
  • [23a1140ddb] - doc: add information about Assert behavior and maintenance (Rich Trott) #3330
  • [e04cb1e1fc] - doc: clarify API buffer.concat (Martii) #3255
  • [eae714c370] - doc: clarify the use of option.detached (Kyle Smith) #3250
  • [b884899e67] - doc: label v4.2.1 as LTS in changelog heading (Phillip Johnsen) #3360
  • [9120a04981] - docs: add missing shell option to execSync (fansworld-claudio) #3440
  • [46c8c94055] - fs: reduced duplicate code in fs.write() (ronkorving) #2947
  • [0427cdf094] - http: fix stalled pipeline bug (Fedor Indutny) #3342
  • [2109708186] - lib: fix cluster handle leak (Rich Trott) #3510
  • [f49c7c6955] - lib: avoid REPL exit on completion error (Rich Trott) #3358
  • [8a2c4aeeaa] - repl: handle comments properly (Sakthipriyan Vairamani) #3515
  • [a04408acce] - repl: limit persistent history correctly on load (Jeremiah Senkpiel) #2356
  • [5d1f1c5fa8] - src: wrap source before doing syntax check (Evan Lucas) #3587
  • [3bafe1a59b] - src: fix race condition in debug signal on exit (Ben Noordhuis) #3528
  • [fe01d0df7a] - src: fix exception message encoding on Windows (Brian White) #3288
  • [4bac5d9ddf] - stream: avoid unnecessary concat of a single buffer. (Calvin Metcalf) #3300
  • [117fb47a16] - stream: fix signature of _write() in a comment (Fábio Santos) #3248
  • [c563a34427] - test: split independent tests into separate files (Rich Trott) #3548
  • [3f62952d42] - test: add node::MakeCallback() test coverage (Ben Noordhuis) #3478
  • [6b75f10d8a] - test: use port number from env in tls socket test (Stefan Budeanu) #3557
  • [39ff44e94f] - test: fix heap-profiler link error LNK1194 on win (Junliang Yan) #3572
  • [a2786dd408] - test: fix missing unistd.h on windows (Junliang Yan) #3532
  • [5e6f7c9a23] - test: add regression test for --debug-brk -e 0 (Ben Noordhuis) #3585
  • [7cad182cb6] - test: port domains regression test from v0.10 (Jonas Dohse) #3356
  • [78d854c6ce] - test: remove util from common (Rich Trott) #3324
  • [c566c8b8c0] - test: remove util properties from common (Rich Trott) #3304
  • [eb7c3fb2f4] - test: split up buffer tests for reliability (Rich Trott) #3323
  • [b398a85e19] - test: parallelize long-running test (Rich Trott) #3287
  • [b5f3b4956b] - test: change call to deprecated util.isError() (Rich Trott) #3084
  • [32149cacb5] - test: improve tests for util.inherits (Michaël Zasso) #3507
  • [5be686fab8] - test: print helpful err msg on test-dns-ipv6.js (Junliang Yan) #3501
  • [0429131e32] - test: fix domain with abort-on-uncaught on PPC (Julien Gilli) #3354
  • [788106eee9] - test: cleanup, improve repl-persistent-history (Jeremiah Senkpiel) #2356
  • [ea58fa0bac] - test: add Symbol test for assert.deepEqual() (Rich Trott) #3327
  • [d409ac473b] - test: disable test-tick-processor - aix and be ppc (Michael Dawson) #3491
  • [c1623039dd] - test: harden test-child-process-fork-regr-gh-2847 (Michael Dawson) #3459
  • [3bb4437abb] - test: fix test-net-keepalive for AIX (Imran Iqbal) #3458
  • [af55641a69] - test: wrap assert.fail when passed to callback (Myles Borins) #3453
  • [7c7ef01e65] - test: skip test-dns-ipv6.js if ipv6 is unavailable (Junliang Yan) #3444
  • [a4d1510ba4] - test: repl-persistent-history is no longer flaky (Jeremiah Senkpiel) #3437
  • [a5d968b8a2] - test: fix flaky test-child-process-emfile (Rich Trott) #3430
  • [eac2acca76] - test: remove flaky status from eval_messages test (Rich Trott) #3420
  • [155c778584] - test: fix flaky test for symlinks (Rich Trott) #3418
  • [74eb632483] - test: apply correct assert.fail() arguments (Rich Trott) #3378
  • [0a4323dd82] - test: replace util with backtick strings (Myles Borins) #3359
  • [93847694ec] - test: add test-child-process-emfile fail message (Rich Trott) #3335
  • [8d78d687d5] - timers: reuse timer in setTimeout().unref() (Fedor Indutny) #3407
  • [e69c869399] - tls: TLSSocket options default isServer false (Yuval Brik) #2614
  • [0b32bbbf69] - v8: pull fix for builtin code size on PPC (Michael Dawson) #3474

Windows 32-bit Installer: https://nodejs.org/dist/v4.2.2/node-v4.2.2-x86.msi
Windows 64-bit Installer: https://nodejs.org/dist/v4.2.2/node-v4.2.2-x64.msi
Windows 32-bit Binary: https://nodejs.org/dist/v4.2.2/win-x86/node.exe
Windows 64-bit Binary: https://nodejs.org/dist/v4.2.2/win-x64/node.exe
Mac OS X 64-bit Installer: https://nodejs.org/dist/v4.2.2/node-v4.2.2.pkg
Mac OS X 64-bit Binary: https://nodejs.org/dist/v4.2.2/node-v4.2.2-darwin-x64.tar.gz
Linux 32-bit Binary: https://nodejs.org/dist/v4.2.2/node-v4.2.2-linux-x86.tar.gz
Linux 64-bit Binary: https://nodejs.org/dist/v4.2.2/node-v4.2.2-linux-x64.tar.gz
SunOS 32-bit Binary: https://nodejs.org/dist/v4.2.2/node-v4.2.2-sunos-x86.tar.gz
SunOS 64-bit Binary: https://nodejs.org/dist/v4.2.2/node-v4.2.2-sunos-x64.tar.gz
ARMv6 32-bit Binary: https://nodejs.org/download/release/latest-v4.x/node-v4.2.2-linux-armv6l.tar.gz
ARMv7 32-bit Binary: https://nodejs.org/dist/v4.2.2/node-v4.2.2-linux-armv7l.tar.gz
ARMv8 64-bit Binary: https://nodejs.org/dist/v4.2.2/node-v4.2.2-linux-arm64.tar.gz
Source Code: https://nodejs.org/dist/v4.2.2/node-v4.2.2.tar.gz
Other release files: https://nodejs.org/dist/v4.2.2/
Documentation: https://nodejs.org/docs/v4.2.2/api/

Shasums (GPG signing hash: SHA512, file hash: SHA256):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

17e60f59cfd40bd0a74f62106dfe2d6cf14aea53490c5e872fa7530138d0dfef node-v4.2.2-darwin-x64.tar.gz
949fe7a06e097e1f1b15196020e4c0ef5f132b146b000811e59513de9d22a9ef node-v4.2.2-darwin-x64.tar.xz
787a89963b9b0ea41f7d4964705ed3561d16d023e1b5aae80700f973ba7ec4e7 node-v4.2.2-headers.tar.gz
663c5a6fdc2c6abab7e8e528299f414a75b544d775c43aef2303272c8a3560bf node-v4.2.2-headers.tar.xz
125b2236da6c0c7fed39b6652b3867646200c3fe7c9284df3f8ac07a84d39010 node-v4.2.2-linux-arm64.tar.gz
d51b08a018f91440658b077c7ea92296516208f008df66cebfc882086be9e2b0 node-v4.2.2-linux-arm64.tar.xz
dfe30ab4dbfb66c31259c0b176609f2dbace29f03d3cf12c5d8bee3dd25db035 node-v4.2.2-linux-armv6l.tar.gz
35015424950ec585f4c4f882f0433bd2b64111020c59075d4de19b34d1990a97 node-v4.2.2-linux-armv6l.tar.xz
2170dea2d74b6a1c5c82be6b93a9b84ad5a78cafa47415661095be2b358d964a node-v4.2.2-linux-armv7l.tar.gz
7ce4aa955d98a1023b13c11175a8381db78fac0ea91d69ad9ec48f7f16993eec node-v4.2.2-linux-armv7l.tar.xz
5c39fac55c945be3b8ac381a12bdbe3a64a9bdc5376d27e2ce0c72160eff5942 node-v4.2.2-linux-x64.tar.gz
8e08eb5da9d2ea14c5dcf268a09725f0e44ba3f03b2c549949a827f97f893611 node-v4.2.2-linux-x64.tar.xz
7fe7d716cf52db39fa0590885e2f39a0bdee9ecbba230621f042c8154e8100fe node-v4.2.2-linux-x86.tar.gz
5b8e8a25faad1d4600c695df9887b6925eff8a9bb9151576f845fb3ab7e01fd2 node-v4.2.2-linux-x86.tar.xz
0b2ca2deecfeb37d23745c374c2332a11b291b58df8b39803c27b089c16bb1d2 node-v4.2.2.pkg
23d47dee4057a4105c53158b07c2362ad0e962332e9a939c841de9867e541da3 node-v4.2.2-sunos-x64.tar.gz
5dff7b74011335176af73e845e0f0aff2b21fb72e472bfa961c0269e0b7554c9 node-v4.2.2-sunos-x64.tar.xz
ed69c2a73a55100c044ae16f244119e889d502722ada7df8640793c1fb1a5195 node-v4.2.2-sunos-x86.tar.gz
9c433f01cb09f3bcd8a10646195bbe5b408bf329ca5e87b68477bcb590002968 node-v4.2.2-sunos-x86.tar.xz
00e709353435b436b5bbf5e62272ebb15fe801065422c4c2afe2b93456210cb1 node-v4.2.2.tar.gz
b016c3d2f434f86d8d3da9ad90ffb2fd35b32223e9081e3d4f67b8de0370ce69 node-v4.2.2.tar.xz
aee3b5506adcef036b5db4d2cbc978fe4de5786cdd4803fc65305482904c26fe node-v4.2.2-x64.msi
84dcb146c2eef134643d47f9f772a6a3a84c5bb8d254cef223cb4df43698b7c9 node-v4.2.2-x86.msi
56b7acccf89d073b7e71ef73b19fcb02bc7ac23f3222528f1d36c0c83c114c9a win-x64/node.exe
e73cbd09bac9338df5f5aea804358e36ae33af1a1664f1d9c6d6161801e3147c win-x64/node.lib
ca722e26b0edc14043085e1a7794b1281b4cfacd11ae00a96d9009e97d8ecb0b win-x86/node.exe
238388ba03873b40988e37a5f83867f9fb6dbe51a1c9f85e5fc371f555a3f648 win-x86/node.lib
-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQEcBAEBCgAGBQJWORyQAAoJEHNBsVwHCHesJfMH/19SGfkAjguPYgfprKyG32jZ
rE9slmg0pz+VGEJCv+yepgvRBHfu0w9sxZ/TjBHg2ioh4ZgWNoLrZcTNmYvaqY/K
ifyLeoDcOSoXbYmqw8vZvKbGTpS7p10Bi9cNfr49YiE814RbdRulIDqKlcymxYIt
vecnX+X/ZiFBipIDmak1n582dikmFe5gPvwx5vCydKCo89l7Ja7XCLy484cEkQo/
aRHI0dnjwcC7+/EBXBhpGAM42ls4AcN5FtuUKgpUT609rcH0Z4SwKW3CShU3nDO1
IecVUMtE1G8uy4dmCFozpA2IXzGSoNSGIEWYAWNDbc8JtPMRyBhcBOUDox2utjY=
=0leN
-----END PGP SIGNATURE-----

Node.js v5와 그 밖에 알아야 할 것들

Node.js 릴리스의 새로운 사항

최근 Node.js v5.0.0을 릴리스했습니다. 새로운 장기 지원(LTS) 계획하에 최근 릴리스 된 "Argon" Node.js v4.2.1대신 다운로드 할 필요가 있는지 궁금할 것입니다. 그 답은 '필요할 수도 있고 아닐 수도 있다.' 입니다.

Node.js는 빠르게 성장하고 있습니다. 계속해서 빠르게 혁신하면서 두 가지 릴리스 라인에 집중할 것입니다. 한 릴리스 라인은 LTS 계획하에 진행될 것입니다. LTS의 모든 릴리스 라인은 짝수 버전 번호를 가질 것이고 (가장 중요하게) 안전성과 보안에 초점을 맞출 것입니다. 이 릴리스 라인은 계속 업그레이드하는 것이 부담스러운 복잡한 환경의 조직을 위한 것입니다. 우리는 최근 이 라인을 첫 릴리스 했습니다. 바로 Node.js v4.2.1 "Argon" 입니다.

그 외에 다른 릴리스 라인은 안정 버전이라고 부릅니다. 모든 안정 릴리스 라인은 홀수가 되고 더 짧은 주기와 더 빈번한 코드 변경이 있을 것입니다. 이 안정 릴리스는 필수 기능의 활발한 개발과 기존의 API를 세련되게 하는 데 초점을 맞출 예정입니다. Node.js 버전 5는 이런 종류의 릴리스입니다.

Node.js 요구사항에 가장 적합한 릴리스를 적용했으면 하기에 상황을 몇 가지로 나누어 봤습니다. 중대형 기업과 같이 안정성이 필요하거나 프로덕션 환경이 복잡하다면 그대로 유지하거나 Node.js v4.2.x로 업그레이드하세요.

환경에 구애받지 않고 쉽고 빠르게 버전을 업그레이드 할 수 있다면 Node.js v5.x로 업그레이드하세요.

이제 기본 지식을 갖추었으니 새로운 기능과 v5의 특징, LTS 계획의 장점과 세부 사항을 더 자세히 알아봅시다.

Node.js v5 소개

Node.js v5는 Node.js를 프론트엔드 도구로 사용하는 개발자처럼 사용 중인 Node.js를 쉽게 업그레이드할 수 있는 개발자에게 적합한 중도 기능 릴리스 입니다. 이 기능은 최대 8개월간 지원될 것이고 계속 개선된 성능과 새로운 기능들이 업데이트될 것입니다. 이 릴리스는 우리 LTS 계획하의 지원을 하지 않습니다.

릴리스의 주기는 이전보다 더 빨라질 것입니다. v5.x 릴리스는 매주 혹은 격주로 예정하고 있습니다. 업그레이드가 부담 되시는 분에게는 이 릴리스 사용을 추천하지 않습니다. 이 릴리스에는 충분한 개발이 지속될 것입니다. 사용자가 가능한 한 빨리 릴리스를 사용하게 하는 것에 중점을 둡니다.

Node.js v5.0.0에서 npm은 v3으로 업그레이드되어 node_modules에서 가능한 평평(flat)하게 의존 모듈을 설치할 것입니다. v5.0.0은 new.targetspread operator 등 자바스크립트 언어 기능을 포함한 V8 4.6과 함께 릴리스 됩니다. 만약 이것과 관련해 다른 기술적인 세부사항을 더 알고 싶다면 우리의 릴리스 공지를 확인하세요.

v5는 우리의 최고 퀄리티 릴리스 중 하나이고, 코드 기반에는 평균적으로 한 달에 대략 50명의 서로 다른 기여자들이 참여했습니다. 우리는 Node.js v5와 그 이후 릴리스에 들어갈 모든 열의와 놀랄 만한 작업에 굉장히 흥분됩니다.

장기 지원은 무엇이고 왜 중요한가?

먼저 Node.js 재단의 기술 결정 위원회 의장 겸 NodeSource의 최고 노드 임원인 Rod Vagg의 글 필수 단계: Node.js를 위한 장기 지원을 읽지 않았다면 읽기 바랍니다. 이 글은 우리 릴리스 주기 진행 사항을 이해하는 데 아주 도움이 됩니다. 시간이 없는 당신을 위해 아래에 요약 했습니다.

  • Node.js를 위한 LTS 계획의 제정 목적은, 새로운 버전을 기존의 안정적인 릴리스 주기 위에 확실한 지원 주기와 함께 예측 가능한 일정으로 배포하는 데에 있습니다. 이것은 기업 애플리케이션과 운영팀을 위한 필수 요소입니다. 또한 Node.js의 전문적 지원을 제공하는 회사에도 영향을 미칩니다.

  • 전술했듯, 첫 LTS 릴리스 라인은 v4.2.0으로 시작해 현재 v4.2.1인 v4 "Argon"입니다. 다음 LTS 릴리스 라인은 약 12개월 뒤인 2016년 10월의 첫째 주에 시작될 것입니다. 모든 LTS 릴리스 라인은 매년 같은 시기에 시작될 것입니다.

  • 모든 LTS 릴리스 라인은 주기 테이블 요소의 이름에서 가져온 "codename"이 할당되어 있습니다.

  • LTS 릴리스 라인은 LTS 릴리스 라인이 시작한 날로부터 18개월 동안 적극적으로 관리될 것입니다. 18개월이 지난 후에는 유지보수 상태로 변경될 것입니다.

  • 두 개 이상의 LTS 릴리스 라인은 없을 것입니다. 겹치는 부분은 마이그레이션 계획을 돕기 위해 만들어졌습니다.

  • 안정 릴리스 라인이 한번 LTS가 되면, 새로운 기능이나 호환성을 깨뜨리는 변경은 추가되지 않을 것입니다. 안정성을 위한 버그 수정, 보안 업데이트, 가능한 npm 업데이트, 문서 업데이트, 기존 애플리케이션을 망가뜨리지 않음을 확인할 수 있는 확실한 성능 향상들이 변경의 범주입니다.

궁금한 점?

혹시 궁금한 것이 있다면 help 저장소에서 언제든 우리와 연락할 수 있습니다. 만약 Node.js v5의 이슈 로그나 버그와 맞닥뜨린다면 부디 우리의 주 코드 저장소인 여기에 알려주세요!

Node.js 주간 뉴스 2015년 10월 30일

Node.js 뉴스 — 10월 30일

Node.js v5.0.0 (안정 버전) 릴리스

Node.js v5.0.0 (안정 버전) 릴리스

이번 주에는 Node.js v5.0.0 (안정 버전) 릴리스가 있었습니다. 이전 버전의 전체 변경사항은 GitHub에서 확인할 수 있습니다.

주요 변경사항 : v5.0.0 (안정 버전)

Node.js 재단이 공식 로고를 검토하고 있습니다.

  • 사진과 아이디어를 게시하려면 여기를 눌러주세요.
  • 마케팅 위원회는 미래의 어떤 시점에서 아이디어를 훑어 보고, 잠재적으로 하나를 선택하거나 몇몇 아이디어나 방향을 골라 디자이너에게 넘길 것입니다.
  • 최종 로고는 이사회의 승인을 받아야 합니다.

커뮤니티 업데이트

Node.js나 io.js에 관한 글을 쓰거나 발견했다면, Evangelism 팀 저장소에 와서 이슈 페이지에 주간 업데이트 이슈로 알려주세요.

다가오는 이벤트

  • NodeFest, 11월 7일 일본 도쿄에서 열립니다.
  • Node Knockout, 11월 7일부터 8일까지 전 세계에서 열립니다.
  • Node Girls London, 11월 7일 영국 런던에서 열립니다.
  • Playnode, 11월 12일 대한민국 서울에서 열립니다.
  • Nodevember, 11월 14일부터 15일까지 미국 Tennessee의 Nashville에서 열립니다.
  • NodeConf Barcelona, 11월 21일 스페인 바르셀로나에서 열립니다.
  • CampJS VI, 11월 20일부터 23일까지 오스트레일리아 퀸즐랜드에서 열립니다.
  • Node.js Interactive, 12월 8일부터 9일까지 미국 포틀랜드에서 열립니다.

계획 중인 Node.js 이벤트가 있나요? Evangelism 팀 저장소이슈 페이지의 주간 업데이트 이슈를 통해 알릴 수 있습니다.

Node v5.0.0 (안정 버전)

Node.js v5를 환영해주세요! 불과 얼마 전에 Node.js v4.0.0을 릴리스했지만, v5를 릴리스했다고 해서 v4를 없애겠다는 의미는 아닙니다. 사실 v4는 v5보다 훨씬 오래 살아남을 것입니다.

우리의 새로운 장기 지원 계획(Long-term Support, LTS)에 따르면, Node.js v4 Argon은 2018년 4월까지 30개월간 지속될 것입니다. 하지만 Node.js v5는 8개월 동안만 지원되고 2016년 4월에는 v6가 릴리스 될 것입니다. Node.js v6는 이후 v4와 같은 장기 지원 버전으로 전환되어 비슷한 기간 동안 지원될 것입니다. 이런 방식을 통해 우리는 6개월마다 새로운 Node.js 안정 버전을 출시하고 짝수 버전들은 장기 지원 라인으로 전환됩니다. 우리의 장기 지원 계획을 처음 들어본다면 장기 지원 계획의 운영 방식에 관한 글을 읽어보세요. 사용할 Node.js 버전을 정할 때 필요한 정보를 얻을 수 있습니다.

사용할 Node.js 버전을 정할 때 적용할 만한 일반적인 규칙은 다음과 같습니다.

  • 중대형 기업과 같이 안정성이 필요하거나 프로덕션 환경이 복잡하다면 그대로 유지하거나 Node.js v4.2.x로 업그레이드하세요.
  • 환경에 구애받지 않고 쉽고 빠르게 버전을 업그레이드할 수 있으며 새 기능을 빨리 사용해보고 싶다면 Node.js v5.x로 업그레이드하세요.

다음 릴리스 노트는 v5가 되면서 추가된 호환성 문제가 있을 수 있는 주요 변경 사항을 기술합니다. 이번 버전의 Node.js는 V8 엔진 새 버전을 탑재하고 있으므로 기존에 설치된 네이티브 애드온을 다시 컴파일해야 합니다. 그렇지 않으면 네이티브 애드온을 읽어들일 때 런타임 에러가 발생할 것입니다. 간단하게 node_modules 디렉터리를 제거하고 아무것도 없는 상태로 npm install을 실행해도 됩니다.

Node.js 주간 뉴스 2015년 10월 23일

Node.js 뉴스 — 10월 23일

Node.js v5.0.0 릴리스 제안

Node.js v5.0.0 릴리스 제안

이번 주에는 Node.js v5.0.0 릴리스 제안이 있었습니다. 이전 버전의 전체 변경사항은 GitHub에서 확인할 수 있습니다.

주요 변경사항

  • console: console.time가 밀리 초 이하의 정밀도로 로깅하도록 변경되었습니다. (Michaël Zasso) #3166
    • 이제 console.time이 출력한 값은 소수 셋째 자리의 정밀도를 가질 것입니다.
  • fs: *File 함수들이 파일 디스크립터를 지원합니다. (Johannes Wüller) #3163
    • fs.readFile, fs.writeFile, fs.appendFile이 첫 번째 인자로서 파일 디스크립터를 받습니다.

Node.js 재단이 공식 로고를 검토하고 있습니다.

  • 사진과 아이디어를 게시하려면 여기를 눌러주세요.
  • 마케팅 위원회는 미래의 어떤 시점에서 아이디어를 훑어 보고, 잠재적으로 하나를 선택하거나 몇몇 아이디어나 방향을 골라 디자이너에게 넘길 것입니다.
  • 최종 로고는 이사회의 승인을 받아야 합니다.

Node.js 재단이 Node.js interactive를 위한 프로그래밍 발표

  • 커뮤니티가 주도하고 기업들이 지원하는 컨소시엄으로, Node.js 플랫폼의 개발을 돕는 Node.js 재단은 Node.js Interactive를 위한 초기 프로그래밍을 발표하였습니다.
  • Linux 재단과 협력하여 새롭게 형성된 Node.js 재단이 주도하고 있는 개회식은 2015년 12월 8일부터 9일까지 오리건 주 포틀랜드에서 열립니다.
  • Node.js Interactive는 세 가지 트랙에 초점을 맞출 것입니다. 프론트엔드, 백엔드, 사물 인터넷(IoT)

자세한 사항은 https://nodejs.org/en/blog/announcements/interactive-2015-programming을 보세요.

NodeUp 팟캐스트

  • NodeUp 팟캐스트 에피소드 92가 이번 주에 게시되었습니다. http://nodeup.com/ninetytwo를 보세요.
  • 팟캐스트의 주제는 Node 4.0이고, 참여자는 Rod Vagg, Evan Lucas, Rich Trott입니다.

시작하기 좋은 기여

자세한 사항은 https://github.com/nodejs/node/labels/good first contribution을 보세요.

커뮤니티 업데이트

Node.js나 io.js에 관한 글을 쓰거나 발견했다면, Evangelism 팀 저장소에 와서 이슈 페이지에 주간 업데이트 이슈로 알려주세요.

다가오는 이벤트

  • EmpireNode, 10월 23일 미국 뉴욕에서 열립니다.
  • NodeFest, 11월 7일 일본 도쿄에서 열립니다.
  • Node Knockout, 11월 7일부터 8일까지 전 세계에서 열립니다.
  • Node Girls London, 11월 7일 영국 런던에서 열립니다.
  • Playnode, 11월 12일 대한민국 서울에서 열립니다.
  • Nodevember, 11월 14일부터 15일까지 미국 Tennessee의 Nashville에서 열립니다.
  • NodeConf Barcelona, 11월 21일 스페인 바르셀로나에서 열립니다.
  • CampJS VI, 11월 20일부터 23일까지 오스트레일리아 퀸즐랜드에서 열립니다.
  • Node.js Interactive, 12월 8일부터 9일까지 미국 포틀랜드에서 열립니다.

Node.js의 다가오는 이벤트를 계획하고 있나요? Evangelism 팀 저장소이슈 페이지의 주간 업데이트 이슈를 통해 알릴 수 있습니다.

“상사 설득하기” 편지

2015년 12월 8일부터 9일까지 포틀랜드에서 열리는 Node.js Interactive에 참가하고 싶지만, 상사한테(월급을 주는 사람) 어떻게 보고해야 하는지 모르겠나요? 왜 Node.js Interactive에 참가하는 것이 중요한지를 설명하는 간단한 편지를 작성했습니다. 아래 내용의 전체나 일부를 사용하세요. 오레곤주 포틀랜드에 가기 위해 어떻게 사용해도 됩니다.

"상사 설득하기" 편지

안녕하세요. 상사 이름 님,

저는 2015년 12월 8~9일에 오리건 주 포틀랜드에서 열리는 **Node.js Interactive 2015**에 참가하고 싶습니다. 1년에 많은 Node.js 콘퍼런스가 열리지만, 이번 콘퍼런스는 Node.js 재단에서 주최하고 있습니다. 이번 콘퍼런스는 의도적으로 특정 회사에 종속적이지 않게 만들어졌고 차세대 플랫폼에 사용할 Node.js에 대한 실력을 높일 수 있는 모든 것에 집중하고 있습니다. Node.js는 로봇부터 엔터프라이즈 분야까지의 모든 기술을 거의 하나의 관점으로 관통할 수 있는 기술이어서 상당히 중요합니다.

Node.js Interactive에서는 이번 이벤트에 700여 명이 참가할 것으로 기대하고 있습니다. 콘퍼런스는 경험 많은 개발자뿐만 아니라 사업에서 Node.js를 어떻게 사용해야 하는지 배우고자 하는 사람들까지 모두 참가할 예정입니다. 콘퍼런스의 트랙에는 IoT, 프론트엔드, 백엔드 기술에 집중하고 있습니다. 제가 이번 콘퍼런스에 참가했을 때 다음과 같은 이점이 있습니다.

  • 기술에서 가장 중요한 부분 중 하나는 그 기술이 얼마나 다양하게 사용할 수 있는가입니다. Node.js는 모바일 앱이나 엔터프라이즈 앱을 만들 때 사용할 수 있고 LinkedIn부터 IBM이나 Netflix까지 유명한 큰 회사 대부분이 사용하고 있습니다. 우리가 제품 전략이나 제안을 만들기고 결정한다면 사용 기술로 Node.js를 선택할 가능성이 높습니다.

  • 2일간의 콘퍼런스 동안 50여 개의 세션이 있습니다. 이 세션에는 환상적인 키노트와 핸즈온 튜토리얼, 기술적으로 깊게 살펴보는 강의와 프리젠테이션이 있습니다.

  • 세션은 Node.js에 대한 저의 기술을 높여줄 뿐만 아니라 다 자연스럽게 변화하고 더 통합된 IT 팀에 대한 우리 사업에 기술을 도입하는 것이 얼마나 좋은지 배우는 데 도움이 될 것입니다.

  • 핵심 세션에는 Node.js 생태계에서 고성능 팀을 만들고 관여하는 방법, Node.js를 사용한 가정 자동화, 차세대 IoT에서 Node.js를 개발하는 방법, Node 국제화: 우리는 어디에 있고 다음은 무엇인가 등이 있습니다. 전체 프로그램 목록은 여기서 볼 수 있습니다.

  • Uber, IBM, Intel, New Relic, Eventbrite, Bloomberg L.P, Microsoft, Getty Images 등 멋진 회사들이 발표합니다.

미화 325달러의 얼리버드 등록 가격은 2015년 10월 23일 금요일까지입니다. 얼리버드에는 참가등록과 Node.js Interactive의 모든 이벤트에 참여할 수 있는 권한을 줍니다. 정식 등록은 2015년 11월 21일에 마감하고 이후부터는 참가비가 425달러에서 525달러로 올라갈 예정입니다. 호텔 할인도 2015년 11월 11일 수요일까지 가능합니다.

콘퍼런스에 다녀온 후 콘퍼런스 후기를 작성할 것이고, 무엇을 배웠고 Node.js를 어떻게 구현할 수 있는지 뿐만 아니라 우리 사업 전략에 오픈 소스를 사용하는 방법도 다른 팀원과 공유할 것입니다.

감사합니다.

당신의 이름

Node.js 재단에서 Node.js Interactive의 프로그램을 발표했습니다

백엔드, 프론트엔드, IoT 애플리케이션의 Node.js 사용을 늘리는 최초의 콘퍼런스

샌프란시스코, 2015년 10월 20일 – 커뮤니티가 주도하고 기업들이 지원하는 컨소시엄으로 Node.js 플랫폼의 개발을 돕는 Node.js 재단Node.js Interactive의 첫 프로그램을 오늘 발표했습니다. Linux 재단과 협력해서 새로 만든 Node.js 재단이 주도하는 이 최초의 이벤트는 미국 오리건 주의 포틀랜드에서 2015년 12월 8일부터 9일까지 열릴 예정입니다.

Node.js는 기술 분야의 거의 모든 생태계 어디서나 사용되고 있고 주류 엔터프라이즈 시장에서 점점 더 많이 사용되고 있습니다. 플랫폼이 계속 발전할 수 있도록 Node.js Interactive는 다양한 분야의 커뮤니티, 프로젝트, 제품, 회사가 함께 교육하고 협업하는 공간을 만들 수 있게 하였습니다. 700여명이 참가할 것으로 예상하는 Node.js Interactive는 다양한 커뮤니티의 다른 개발자나 엔지니어와 교류할 수 있는 방법을 제공합니다.

Node.js Interactive는 프론트엔드, 백엔드, 사물 인터넷(IoT) 세 가지 트랙에 집중할 것입니다. 각 트랙의 발표는 트랙 위원회인 Jessica Lord(프론트엔드), C J Silvero(백엔드), Kassandra Perch(IoT)와 협업해서 선택했습니다. 주목할 만한 발표는 다음과 같습니다

주목할 만한 프론트엔드 세션

  • JavaScript, For Science! - Dat 프로젝트의 컴퓨터 프로그래머 Max Ogden
  • Making Your Node.js Applications Debuggable - NodeSource의 시니어 Node 엔지니어 Patrick Mueller
  • Node Intl: Where We Are, What's Next - IBM의 시니어 소프트웨어 엔지니어 Steven Loomis
  • Rapid Development of Data Mining Applications in Node.js - Bloomberg L.P.의 연구 컨설턴트이자 Jožef Stefan 연구소의 시니어 연구원, Quintelligence의 파트너인 Blaz Fortuna
  • Real-Time Collaboration Sync Strategies - Scripto의 CTO인 Todd Kennedy
  • Rebuilding the Ship as It Sails: Making Large Legacy Sites Responsive - Eventbrite의 시니어 소프트웨어 엔지니어 Philip James

주목할 만한 백엔드 세션

  • Building and Engaging High-Performance Teams in the Node.js Ecosystem - IBM, StrongLoop의 기술 책임자 Chanda Dharap
  • Microservice Developer Experience - nearForm의 엔지니어링 책임자 Peter Elger
  • Modernizing Winston for Node.js v4 - GoDaddy의 엔지니어링 UX 플랫폼 책임자 Charlie Robbins
  • Node.js API Pitfalls, Can You Spot Them? - IBM의 StrongLoop의 Node/Ops 개발자 Sam Roberts
  • Node.js Performance Optimization Case Study - NodeSource의 시니어 Node 엔지니어 Bryce Baril
  • Resource Management in Node.js - NodeSource의 소프트웨어 엔지니어 Bradley Meck

주목할 만한 IoT 세션

  • Contributing to Node Core - NodeSource의 Node 코어 기여자 Jeremiah Senkpiel
  • Hands on Hardware Workshop - 3D Robotics의 엔지니어링 프로젝트 관리자이면서 Tessel 프로젝트의 결정 위원회 회원이자 이사회 공동 창시자인 Kelsey Breseman
  • Internet of Cats - IBM Watson의 프론트엔드 엔지니어 Rachel White
  • IoT && Node.js && You - Particle IO의 시니어 소프트웨어 엔지니어 Emily Rose
  • Node.s Bots at Scale - nearForm의 아키텍트 Matteo Collina
  • Node.js Development for the Next Generation of IoT - Intel Corporation의 소프트웨어 제품 라인 관리자 Melissa Evers-Hood
  • Node.js While Crafting: Make Textile to Compute! - Scripto의 JavaScript 엔지니어 Mariko Kosaka

"Node.js는 지난 몇 년 사이에 다양한 분야에 퍼지면서 많은 커뮤니티가 주목할 만한 성과를 이루었습니다. 여기에는 새로운 Node.js 재단을 만들고 io.js와 node.js를 합친 성과도 포함됩니다."라고 Node.js 재단의 커뮤니티 관리자 Mikeal Rogers가 얘기했다. "이러한 성장을 보여주고 Node.js 커뮤티니의 수많은 요구사항을 받아들이고 엔터프라이즈 분야에 도입하려는 움직임을 돕고자 이번 콘퍼런스를 만들었습니다."

얼리버드 등록은 2015년 10월 23일에 끝나고 정식 등록은 2015년 11월 21일에 마감합니다. 이후에는 콘퍼런스 가격이 $425에서 $525로 올라갈 예정입니다. 호텔 할인도 2015년 11월 11일(수요일)까지만 가능합니다. 등록하려면 https://www.regonline.com/Register/Checkin.aspx?EventID=1753707에 방문해 보세요.

Node.js Interactive는 플래티넘 후원사 IBM, 골드 후원사 Microsoft, 실버 후원사 NodeSource와 nearForm 덕분에 개최할 수 있었습니다.

다른 패널과 키노트는 조만간 발표할 예정입니다. 초기 프로그램을 보고 싶다면 http://nodejspdx2015.sched.org를 방문해 보세요. 더 자세한 내용은 http://events.linuxfoundation.org/events/node-interactive를 방문해 보세요.

추가 자료

Node.js 재단에 대해 더 알아보고 프로젝트에 참여해 보세요. Node.js 재단의 뉴스를 계속해서 보고 싶은가요? Node.js 재단 페이지 하단에서 뉴스레터에 가입해 보세요. TwitterGoogle+를 팔로우 하세요.

Node.js 재단에 대해

Node.js 재단은 Node.js 플랫폼과 그 외 관련 모듈을 만들고 지원하는데 집중하는 협업 오픈 소스 프로젝트입니다. Node.js는 매달 2백만 건 이상의 다운로드가 이뤄지고 200여개국의 수만 개의 회사에서 사용되고 있고 엔터프라이즈 애플리케이션, 로봇, API 엔진, 클라우드 스택, 모바일 웹사이트의 모든 것을 운영하는 고성능, 저지연 애플리케이션의 런타임입니다.

재단은 플래티넘 회원사인 Famous, IBM, Intel, Joyent, Microsoft, PayPal과 골드 회원사인 GoDaddy, NodeSource, Modulus/Progress Software, 실버 회원사인 Apigee, Codefresh, DigitalOcean, Fidelity, Groupon, nearForm, npm, Sauce Labs, SAP, StrongLoop, YLD를 포함한 다양한 회사로 구성되었습니다! 참여하려면 http://nodejs.org를 방문하세요. Node.js 재단은 Linux 재단 산하의 협업 프로젝트(Collaborative Project)입니다. Linux 재단 협업 프로젝트는 협업 개발의 힘을 이용해 산업과 생태계 전반에 걸친 혁신을 돕기 위한 소프트웨어 프로젝트로 독립적으로 투자를 받습니다. https://nodejs.org/en/foundation/

Node.js 주간 뉴스 2015년 10월 16일

Node.js 뉴스 — 10월 16일

Node.js v4.2.1(LTS), v4.2.0(LTS) 릴리스

Node.js v4.2.1(LTS)과 v.4.2.0(LTS) 릴리스

이번 주에는 Node.js v4.2.1(LTS)Node.js v4.2.0(LTS) 릴리스가 있었습니다. 이전 버전의 전체 변경사항은 GitHub에서 확인할 수 있습니다.

Node.js v4.2.1(LTS) 주요 변경사항

  • 두 개의 회귀에 대한 수정 사항이 포함되어 있습니다.
    • WeakCallback의 단언문 에러 - #3329를 보세요.
    • 정의되지 않은 타임아웃 회귀 - #3331을 보세요.

Node.js v4.2.0(LTS) 주요 변경사항

  • icu: 중요한 성능 개선과 함께 버전 56으로 업데이트되었습니다. (Steven R. Loomis) #3281
  • node:
    • 코드 실행 없이 스크립트 문법을 검사하기 위한 -c (또는 --check) 명령어 인자가 새로 추가되었습니다. (Dave Eddy) #2411
    • 현재의 ICU 라이브러리 버전을 나타내는 process.versions.icu가 추가되었습니다. (Evan Lucas) #3102

커뮤니티 업데이트

Node.js나 io.js에 관한 글을 쓰거나 발견했다면, Evangelism 팀 저장소에 와서 이슈 페이지에 주간 업데이트 이슈로 알려주세요.

다가오는 이벤트

  • JSConf CO가 10월 16일부터 17일까지 콜롬비아 Medellin의 Ruta N에서 열립니다.
  • EmpireNode, 10월 23일 미국 뉴욕에서 열립니다.
  • NodeFest, 11월 7일 일본 도쿄에서 열립니다.
  • Node Girls London, 11월 7일 영국 런던에서 열립니다.
  • Playnode, 11월 12일 대한민국 서울에서 열립니다.
  • Nodevember, 11월 14일부터 15일까지 미국 Tennessee의 Nashville에서 열립니다.
  • NodeConf Barcelona, 11월 21일 스페인 바르셀로나에서 열립니다.
  • CampJS VI, 11월 20일부터 23일까지 오스트레일리아 퀸즐랜드에서 열립니다.
  • Node.js Interactive, 12월 8일부터 9일까지 미국 포틀랜드에서 열립니다.

Node.js의 다가오는 이벤트를 계획하고 있나요? Evangelism 팀 저장소이슈 페이지의 주간 업데이트 이슈를 통해 알릴 수 있습니다.