JSer.info #282 - What's New in Shadow DOM v1 (by examples) — hayato.io에 Shadow DOM v0과 v1의 차이점에 관해 설명돼 있습니다. 글을 작성한 @shadow_hayato는 Shadow DOM의 사양 책정자입니다.
v1에는 closed shadow root라는 개념의 추가됐고, /deep/
나 ::shadow
를 사용할 수 없으며, slot(::slotted
)이 추가되는 등 여러가지 변경 사항이 있습니다.
예제 코드를 중심으로 설명하고 있어, Shadow DOM에 관심 있는 사람이 보면 좋을 것 같습니다.
ReactEurope가 개최됐으며, 해당 컨퍼런스의 발표 영상도 공개됐습니다.
또, The state of React.js 2016 // Speaker Deck라는 슬라이드에는 약 반년 간의 리액트 변화 등에 관해 정리돼 있습니다.
React의 최근 동향을 파악하고자 한다면 React Core 팀의 미팅 노트를 함께 참고하면 좋을 것 같습니다.
JavaScript Plugin Architecture(일본어)에는 자바스크립트의 라이브러리나 도구의 플러그인 구조에 관해 작성돼 있습니다.
현재 jQuery, ESLint, Connect, gulp, Redux의 플러그인 구조를 구현해보면서 살펴보고 원리를 설명하는 과정을 담고 있습니다.
한꺼번에 읽는 것보다 궁금한 부분을 찾아서 볼 수 있는 레퍼런스 적인 느낌으로 정리돼 있습니다.
ECMAScript 소식〆
5월에 개최된 TC39 Meeting의 기록이 공개되어, 중요한 사항 몇 가지를 간단하게 정리해 소개합니다.
보다 자세한 내용은 미팅 노트을 참고하시길 바랍니다.
- tc39/proposals: Tracking ECMAScript Proposals | ECMAScript Daily
- 과거 Proposal은 tc39/ecma262에 정리돼 있었지만, 현재는 별도의 저장소로 옮겨졌습니다.
- Arrive TC39 meeting notes for 2016-05 | ECMAScript Daily
- 2016년 5월의 미팅 노트가 공개됐습니다.
- 6월 중순에는 ECMAScript 2016의 정식 릴리즈가 예정돼 있습니다.
- [Stage 0] ljharb/proposal-promise-finally: ECMAScript Proposal, specs, and reference implementation for Promise.prototype.finally | ECMAScript Daily
Promise#finally
의 Proposal이 Stage 0가 됐습니다.
- [Stage 4] Per May 2016 TC39 consensus, String#{padStart,padEnd} is now stage 4! by ljharb · Pull Request #581 · tc39/ecma262 | ECMAScript Daily
- [Stage 4] Per May 2016 TC39 consensus, Object.getOwnPropertyDescriptors is now stage 4! by ljharb · Pull Request #582 · tc39/ecma262 | ECMAScript Daily
String#{padStart,padEnd}
와Object.getOwnPropertyDescriptors
가 Stage 4가 됐고 ES2017에 들어갔습니다.
- Cancelable promises | ECMAScript Daily
- Promise의 취소 방법으로 CancelToken과
Promise#cancel
두 가지 방법이 제안됐고, 의논이 시작됐습니다. - zenparsing/es-cancel-token: Cancel Tokens for ECMAScript
- ES Observable과도 관계가 있다. Remove forEach and add "subscribe" overload by zenparsing · Pull Request #97 · zenparsing/es-observable 참고.
- domenic/cancelable-promise: Cancelable promises proposal for JavaScript
- Promise의 취소 방법으로 CancelToken과
헤드라인
V8 JavaScript Engine: Release 5.2
v8project.blogspot.com/2016/06/release-52.html
V8 5.2가 릴리즈됐습니다.
Exponentiation operator **
지원, Array.isArray
, in
operator, Function#bind
의 성능이 개선됐습니다.
아티클
Getting Started with TDD in React - Semaphore
semaphoreci.com/community/tutorials/getting-started-with-tdd-in-react
Enzyme를 사용한 React Component 테스트 방법에 관해 이야기합니다.
What's New in Shadow DOM v1 (by examples) — hayato.io
Shadow DOM v0와 v1의 차이점에 관해 작성돼 있습니다.
@shadow_hayato(사양책정자)가 작성한 글이며 예제 코드를 중심으로 설명합니다.
Chrome의 헤드리스 브라우저가 찾아온다 하여 설치해봤다. - Qiita(일본어)
qiita.com/devneko/items/51f2e114a7e0b3389435
Chrome의 헤드리스 브라우저를 설치해본 내용이 정리돼 있습니다.
Infinite collections with ES6 generators - Advanced Web Machinery
advancedweb.hu/2016/05/31/infinite-collections-with-es6-generators/
Iterator를 사용한 무한 리스트(Infinite collections)에 관해 작성돼 있습니다.
Why we chose MobX over Redux for Spectacle Editor
formidable.com/blog/2016/06/02/why-we-chose-mobx-over-redux-for-spectacle-editor/
Redux 처럼 애플리케이션의 State를 관리하는 도구인 MobX의 특징을 소개합니다.
Creating A Living Style Guide: A Case Study – Smashing Magazine
www.smashingmagazine.com/2016/05/creating-a-living-style-guide-case-study/
스타일 가이드의 사례가 정리돼 있습니다.
Improving Your CSS with Parker – CSS Wizardry – CSS, OOCSS, front-end architecture, performance and more, by Harry Roberts
csswizardry.com/2016/06/improving-your-css-with-parker/
CSS 코드를 분석하는 도구인 Parker를 소개합니다.
webpack의 DLL 번들을 사용해 빌드 속도를 빠르게 개선한다 - Qiita(일본어)
qiita.com/pirosikick/items/c77db84dbed4c447a6fe
webpack 빌드의 속도를 개선하는 방법에 관해 작성돼 있습니다.
DLL 번들은 vendar 라이브러리만 따로 빌드하고 그것을 다른 bundle에서 읽어드리는 순간에 빌드하는 방식, cacheDirectory
, externals
와의 차이점에 관해서도 이야기합니다.
슬라이드, 영상
The state of React.js 2016 // Speaker Deck
speakerdeck.com/koba04/the-state-of-react-dot-js-2016
React의 최근 변경 사항이나 향후 변경 및 비권장이 예정돼 있는 기능에 대해서 정리돼 있습니다.
ReactEurope 2016 - Day 1 - YouTube
www.youtube.com/channel/UCorlLn2oZfgOJ-FUcF2eZ1A
ReactEurope 2016의 영상이 정리돼 있습니다.
Building React Applications with Idiomatic Redux - Course by @dan_abramov @eggheadio
egghead.io/courses/building-react-applications-with-idiomatic-redux
Redux 개발자가 공개한 Redux를 이용해 애플리케이션을 만드는 방법을 소개하는 스크린캐스트입니다.
Next Vue.js 2.0 // Speaker Deck
speakerdeck.com/kazupon/next-vue-dot-js-2-dot-0
Vue.js 2.0의 렌더링 흐름을 설명합니다.
Flow vs TypeScript
djcordhose.github.io/flow-vs-typescript/2016_hhjs.html#/
TypeScript와 FlowType의 타입 지정법에 관해 비교한 슬라이드입니다.
사이트, 서비스, 문서
HyperDev
서버측 로직도 함게 작성할 수 있는 JSFiddle과 비슷한 서비스입니다.
Node.js로 서버측 예제를 작성하고, HTML/CSS/JS이나 프론트엔드 측 예제도 함께 작성할 수 있는 에디터 서비스입니다.
Front-end Hyperpolyglot
jeffcarp.github.io/frontend-hyperpolyglot/
React/Angular1,2/Ember/Polymer/Vue의 템플릿 작성 문법을 테이블로 정리해놓은 사이트입니다.
소프트웨어, 도구, 라이브러리
epoberezkin/ajv: The fastest JSON schema Validator. Supports v5 proposals
JSON Schema validator 라이브러리입니다.
MJB-code6/SkyPort: Add offline functionality to your web app
Service Worker를 사용해 오프라인 모드를 대응할 수 있는 라이브러리입니다.
Frend — A collection of accessible, modern front-end components.
Accessible한 DOM UI를 구현하기 위한 JavaScript 라이브러리입니다. CSS 프레임워크 처럼 특정 클래스를 붙인 요소에 WAI-ARIA의 속성을 함께 부여합니다.
GoogleChrome/lighthouse: auditing and performance metrics for Progressive Web Apps
github.com/GoogleChrome/lighthouse
Service Worker를 사용해 오프라인을 대응하고 있는지 검사, Speed Index 등을 이용해 페이지 로드 성능 테스트 등 Progressive Web Apps에 관한 측정 도구 입니다.
도서
플러그인 구조에 관해 학습할 수 있는 JavaScript Plugin Architecture라는 무료 전자 서적을 작성했다 | Web Scratch(일본어)
efcl.info/2016/06/06/JavaScript-Plugin-Architecture/
자바스크립트의 라이브러리나 도구의 플러그인 구조에 관해 작성돼 있는 책입니다.
jQuery, ESLint, Connect, gulp, Redux 등 플러그인의 구조를 구현해보면서 학습할 수 있는 전자 서적입니다.