JSer.info #284 - ECMAScript 2016이 정식으로 릴리즈됐습니다.
ECMAScript 2016의 변경 사항은 예전에 간단히 소개해드린적이 있습니다.
추가된 기능은 Array.prototype.includes
와 **
연산자 정도로 큰 변경사항은 없습니다.
(Proxy의 [[enumerate]]
trap과 Reflect.enumerate
가 삭제되기도 했습니다.)
ECMAScript의 사양 책정 프로세스는 스냅샷을 찍듯이 매년 릴리즈하는 방법으로 진행되고 있습니다.
조금 예전에 작성한 글이지만 아래 문서에 해당 프로세스에 관해 소개한 글이 있으니 참고하시길 바랍니다.
HTML의 사양과 마찬가지로 ECMAScript의 사양을 읽으려한다면 스냅샷보다는 Living Standard스러운 아래 문서를 참조하는 편이 더 좋다고 생각합니다.
또, ECMAScript 2016과 동시에 ECMAScript® 2016 Internationalization API Specification도 함께 릴리즈됐습니다.
Intl
오브젝트 등 ECMAScript의 국제화 API를 책정하는 사양입니다.
이 사양도 매년 릴리즈하는 책정 프로세스로 운영됩니다.
ECMAScript의 최신 정보는 ECMAScript Daily(일본어)에 작성 및 소개하고 있으니 관심이 있는 분은 참고하시길 바랍니다.
JavaScript의 프레임워크 Qunit 2.0이 릴리즈됐습니다.
비권장이었던 글로벌 함수를 삭제하고, 메서드의 이름을 변경하는 등 비호환적인 변경 사항이 주로 이뤄졌습니다.
-
module()
,test()
는 각각QUnit.*
하위로 이동 -
start()
,stop()
대신assert.async()
이용 -
setup
/teardown
은beforeEach
/afterEach
로 이름 변경 -
QUnit.init
과QUnit.reset
삭제
업그레이드 가이드와 마이그레이션 도구가 공개돼 있으니 함께 살펴보시길 바랍니다.
헤드라인
ECMAScript® 2016 Language Specification
www.ecma-international.org/ecma-262/7.0/
ECMAScript 2016이 릴리즈됐습니다.
매년 릴리즈하는 형식으로 변경된 후의 첫 릴리즈입니다.
- Standard ECMA-262
- tc39/ecma262: Status, process, and documents for ECMA262
- ECMAScript 2016 features & changes - JSer.info
ECMAScript® 2016 Internationalization API Specification
www.ecma-international.org/ecma-402/3.0/
ECMAScript 2016 Internationalization API 사양이 릴리즈됐습니다.
Unicode 8.0을 필요로 하게 됐고, Intl.getCanonicalLocales()
이 추가됐습니다.
Release v1.9.0 · testem/testem
github.com/testem/testem/releases/tag/v1.9.0
testem 1.9.0이 릴리즈됐습니다.
커스텀 리포터가 meta 태그를 전달받을 수 있도록 변경됐습니다.
Release 2.0.0 · jquery/qunit
github.com/jquery/qunit/releases/tag/2.0.0
QUnit 2.0.0이 릴리즈됐습니다.
비권장이었던 글로벌 함수를 삭제하고, 메서드의 이름을 변경하는 등 비호환적인 변경이 이뤄졌습니다.
-
module()
,test()
는 각각QUnit.*
하위로 이동 -
start()
,stop()
대신assert.async()
이용 -
setup
/teardown
은beforeEach
/afterEach
로 이름 변경 -
QUnit.init
과QUnit.reset
삭제
아래 업그레이드 가이드를 참고하세요.
ESLint v2.13.0 released - ESLint - Pluggable JavaScript linter
eslint.org/blog/2016/06/eslint-v2.13.0-released
ESLint v2.13.0이 릴리즈됐습니다.
2.x 계열의 마지막 버전이며, 다음 버전으로는 3.0.0이 예정돼 있습니다.
RC2 Now Available
angularjs.blogspot.com/2016/06/rc2-now-available.html
Angular2 RC2가 릴리즈됐습니다.
Safari 10.0
Safari 10의 릴리즈 노트가 공개됐습니다.
IndexedDB, CSP, Shadow DOM v1, ES6, ECMA i18n API 등을 지원합니다.
아티클
React에서 TDD(테스트주도개발)을 시작해보다 : 환경 구축에서 테스트 작성, 기능 구현까지 소개하는 가이드 | 프로그래밍 | POSTD(일본어)
postd.cc/getting-started-with-tdd-in-react/
React Component를 TDD로 개발하는 이야기입니다.
A Quick Introduction To Polymer — WebComponents.org
webcomponents.org/articles/a-quick-polymer-introduction/
Polymer 입문을 위한 개괄적인 개요를 설명한 글입니다.
실사례로 학습하는 ECMAScript 2015 〜Generator〜 – NET BIZ DIV. TECH BLOG(일본어)
tech.recruit-mp.co.jp/front-end/post-10358/
Generator, Iterator 에 관해 소개합니다.
Iterable를 다루는 for of, Array.from
, spread operator 관해 이야기합니다.
「Generator는 Iterator를 반환하는 함수」등 관련된 특징이나 원리를 친절하게 설명하는 글입니다.
The SoundCloud Client in React + Redux - RWieruch
www.robinwieruch.de/the-soundcloud-client-in-react-redux/
React + Redux로 Soundcloud의 클라이언트 부분을 만드는 튜토리얼입니다.
The Future of Declaration Files | TypeScript
blogs.msdn.microsoft.com/typescript/2016/06/15/the-future-of-declaration-files/
npm에서 TypeScript의 타입 정의 파일을 추가할 수 있게 된다고 합니다.
npm install --save @types/lodash
와 같은 형태로 별도의 도구없이 설치할 수 있습니다.
슬라이드, 영상
Tips & Tricks in Front-End Development // Speaker Deck
speakerdeck.com/forloop/tips-and-tricks-in-front-end-development
object-fit
, Viewport unit, 읽은 링크를 다루는 법, 깨진 <img />
를 표현하는 법, 요소 내에 빈공간이 생길때 출력 방법, postMessage, SVG 등의 프론트엔드 관련 팁을 소개합니다.
CSS Animations, Orchestrated by David Khourshid
slides.com/davidkhourshid/deck-17#/
복잡한 CSS 애니메이션을 다루는 방법에 관한 슬라이드입니다.
Resource (pre)loading
yoavweiss.github.io/link_htmlspecial_16/
<link rel>
를 소개하는 슬라이드입니다.
prefetch, resource loading, feature detection 등에 관해 이야기합니다.
사이트, 서비스, 문서
mgiuca/web-share: Web API proposal for sharing data from a web page
navigator.share
API에 관한 문서입니다.
Web Share API는 Android의 intents, iOS의 UIActivityViewController 처럼 공유를 위한 API입니다.
Chrome에서 구현을 검토하고 있습니다.
- Web Share - Chrome Platform Status
- Web Share API for sharing content to arbitrary destination - APIs - WICG
소프트웨어, 도구, 라이브러리
fed135/Kalm: Node socket wrapper and optimizer
Kalm은 양방향 통신(WebSocket, WebRTC)을 위한 라이브러리입니다.
Nagle 알고리즘을 구현하는 등 효율적으로 패킷을 전송하는 구조를 갖고 있습니다.
Adapter를 이용하여 통신 프로토콜을 변경할 수 있도록 구현돼 있습니다.
af/envalid: Environment variable validation for Node.js
Node.js process.env
의 값을 검사하는 라이브러리입니다.
headless - chromium/src - Git at Google
chromium.googlesource.com/chromium/src/+/master/headless/
Chromium 헤드리스 브라우저 저장소입니다.
alexreardon/raf-stub: Accurate and predictable testing of requestAnimationFrame and cancelAnimationFrame
github.com/alexreardon/raf-stub
requestAnimationFrame
의 stub 라이브러리입니다.
단계별로 프레임을 진행할 수 있습니다.
도서
Manning | Angular 2 in Action
www.manning.com/books/angular-2-in-action
Angular 2를 소개하는 도서입니다.