Fork me on GitHub

2016-10-03 JS: Vue.js 2.0, Babel 6.17.0, 복잡한 JavaScript

Translator: U-Yeong Ju Edit on GitHub See Revisions

JSer.info #299 Vue.js 2.0이 릴리즈됐습니다.

2.0에는 snabbdom을 fork한 Virtual DOM을 도입하기 때문에 요소를 갱신하는 방법이나 라이프 사이클 등, Virtual DOM과 관련된 기능과 아키텍처가 주로 변경됐습니다.
(한편, cycle.js의 개발자는 snabbdom의 collaborator가 됐습니다 -참고-)

또, 1.x에서의 마이그레이션 헬퍼와 가이드도 공개돼 있습니다.


Babel 6.17.0이 릴리즈됐습니다.

optimize-js와 관련된 변경이나 ECMAScript Proposal의 Stage 변경을 각 preset에 반영하는 등 여러가지 변경 사항이 있습니다.

9월에 이뤄진 TC39 MTG에서 논의된 Stage의 변경 사항은 아래 페이지에 잘 정리돼 있습니다.


복잡한 자바스크립트 애플리케이션을 염두하여 만들기(일본어)라는 슬라이드에는 대규모 자바스크립트 애플리케이션의 설계에 관해 작성돼 있습니다.

Flux와 CQRS, 1개의 객체가 2가지 이상의 역할을 갖게 될 때 발생할 수 있는 복잡성을 회피할 수 있는 아키텍처 등 대규모 애플리케이션을 생각하면서 고민한 여러가지 내용이 작성돼 있습니다.

이러한 고민을 토대로 탄생한 구현체가 Almin 이며, 이를 활용한 개발 관련 내용은 아래 저장소(문서)에 정리돼 있습니다.


헤드라인


Node v6.7.0 (Current) | Node.js

nodejs.org/en/blog/release/v6.7.0/

node.js ReleaseNote

Node v6.7.0이 릴리즈됐습니다.
시큐리티 릴리즈가 포함된 버전입니다.


Vue 2.0 is Here! – The Vue Point – Medium

medium.com/the-vue-point/vue-2-0-is-here-ef1f26acf4b8

JavaScript library ReleaseNote

Vue.js 2.0이 릴리즈됐습니다.
1.x에서의 마이그레이션 헬퍼도 공개돼있습니다.


6.16.0 Released · Babel

babeljs.io/blog/2016/09/28/6.16.0

babel ReleaseNote

Babel 6.16.0이 릴리즈됐습니다.
babel-core가 parserOptsgeneratorOpts을 지원하는 등 다양한 변경 사항이 있습니다.


Release v6.17.0 · babel/babel

github.com/babel/babel/releases/tag/v6.17.0

babel ReleaseNote

Babel v6.17.0이 릴리즈됐습니다.
async generator와 object rest-spread를 stage3으로 지정하는 등 Proposal의 Stage 변경을 반영했고, optimize-js과 관련된 사항이 변경됐습니다.


ESLint v3.7.0 released - ESLint - Pluggable JavaScript linter

eslint.org/blog/2016/09/eslint-v3.7.0-released

ESLint ReleaseNote

ESLint v3.7.0이 릴리즈됐습니다.
코드를 자동으로 수정하는 --fix 플래그에 새로운 규칙이 추가되는 등 다양한 변경 사항이 있습니다.


RE:DOM is now 1.0! – RE:DOM – Medium

medium.com/re-dom/re-dom-is-now-1-0-58ec0328a59d

JavaScript DOM ReleaseNote

RE:DOM 1.0이 릴리즈됐습니다.
RE:DOM용 Fake DOM인 NO:DOM도 함께 공개하고 있습니다.


Release v0.33.0 · facebook/flow

github.com/facebook/flow/releases/tag/v0.33.0

flowtype ReleaseNote

FlowType 0.33.0이 릴리즈됐습니다.


Release Notes for Safari Technology Preview Release 14 | WebKit

webkit.org/blog/6969/release-notes-for-safari-technology-preview-release-14/

safari ReleaseNote

Safari Technology Preview Release 14가 릴리즈됐습니다.
URLSearchParams 구현, safaridriver를 포함하는 등 다양한 변경 사항이 있습니다.


아티클


Node.js debugging with Chrome DevTools (in parallel with browser JavaScript)

blog.hospodarets.com/nodejs-debugging-in-chrome-devtools

Chrome debug node.js

Node.js를 Chrome의 개발자 도구로 디버깅하는 방법을 설정하는 것부터 순서대로 소개합니다.


Master the DOM – Medium

medium.com/@pakastin/master-the-dom-bc1a2a06089b

DOM tutorial

DOM API를 이용해 DOM Tree의 기본적인 조작을 배워볼 수 있는 글입니다.


Common CSS Mistakes (And How To Fix Them)

blog.mariano.io/common-css-mistakes-and-how-to-fix-them-8ee0f5e88d64

CSS

CSS 작성 시 흔히하는 실수와 수정하는 방법에 관해 작성돼 있습니다.


requestAnimationFrame와 타이머의 새삼스러운 비교와 데모 :: 허브로그(일본어)

havelog.ayumusato.com/develop/javascript/e725-timer_vs_raf.html

JavaScript browser

requestAnimationFramesetTimeout의 비교글 입니다.
setTimeout는 세심한 처리에도 영향을 받기 쉽다는 이야기가 작성돼 있습니다.


hemanth/es-next: stage-0 to stage-4 ECMAscript proposals.

github.com/hemanth/es-next

ECMAScript proposal

ECMAScript proposals의 Stage 별 정리 글입니다.
각각 스펙 별 작은 샘플 코드가 작성돼 있습니다.


Loading Polyfills Only When Needed — Philip Walton

philipwalton.com/articles/loading-polyfills-only-when-needed/

JavaScript library

polyfill을 필요할 때 동적으로 불러들이는 방법과 고민에 관해 작성돼 있습니다.


슬라이드, 영상


복잡한 자바스크립트 애플리케이션을 염두하여 만들기(일본어)

azu.github.io/slide/2016/react-meetup/large-scale-javascript.html

JavaScript 슬라이드 CQRS DDD

자바스크립트 환경에서 복잡한 애플리케이션을 만드는 경우에 어떻게 설계하는게 좋을지 고민한 내용이 작성돼 있습니다.
도메인 모델을 어떻게 염두해 만들어 나갈지, Babel, React, Almin, PostCSS 등을 베이스로 이야기를 풀어갑니다.


사이트, 서비스, 문서


CodePen - React ES6 lifecycles

codepen.io/netsi1964/full/NRgyZX/

React document

React의 라이프 사이클 API가 정리돼 있습니다.
실제로 동작하는 코드가 문서에 포함돼 있어 해당 코드를 동작시켜 보면서 라이프 사이클 메서드의 실행 순서를 이해할 수 있습니다.


Web Platform Feature Availability

paulirish.github.io/web-feature-availability/

webservice browser

CanIUse와 StarCounter를 사용해 개발된 사이트로, 특정 기능을 플랫폼에서 어느정도 비율로 사용할 수 있는 상태인지를 살펴볼 수 있습니다.


React Status: A Free, Weekly Email Newsletter

react.statuscode.com/

React news mail

React를 다루는 Weekly 메일 매거진입니다.


Fix and prevent known vulnerabilities in Node.js apps | Snyk

snyk.io/

node.js security webservice

Node.js 모듈의 기존 취약성 등을 감지하여 알려주고 수정할 수 있는 서비스입니다.
CI를 이용해 자동적으로 체크할 수 있습니다.


소프트웨어, 도구, 라이브러리


mkwtys/bundle-size: Show bundle file size of npm packages

github.com/mkwtys/bundle-size

JavaScript Tools

지정한 패키지의 파일 사이즈를 출력할 수 있는 CLI 도구입니다.
Environment를 지정할 수 있어서 development와 production의 파일 사이즈를 minify와 gzip이 끝난 상태로도 비교할 수 있습니다.


krasimir/navigo: A simple vanilla JavaScript router with a fallback for older browsers

github.com/krasimir/navigo

JavaScript library

심플한 라우터 라이브러리입니다.
URL 맵핑에 정규표현식도 사용할 수 있습니다.


도서


TypeScript Design Patterns - O'Reilly Media

shop.oreilly.com/product/9781785280832.do

TypeScript 디자인패턴 book

TypeScript의 디자인패턴에 관한 책입니다.


Pull Request to this article
JSer.info Slackに参加する