V8 최적화
이번 주는 V8 최적화에 대한 내용이 많습니다. nodeconfeu도 있었고, JSer.info 운영자 역시 최적화에 대한 아티클(일본어[구글번역])을 공개했습니다.
- V8 Installation and d8 shell usage에는 V8을 빌드하고 커멘드라인 전달인자를 사용하여 최적화나 트레이스 하는 방법에 대해 이해하기 쉽게 정리돼 있습니다.
- JSer.info 운영자의 아티클인 V8 최적화 및 IRHydra으로 시각화 및 벤치마크에는 최적화를 위한 숨겨진 클래스(HiddenClass, Fast Property Access 참고)가 어떤 상황에서 동작하지 않는지를 IRHydra2를 사용하여 알아내는 방법을 소개하고 있습니다.
- thlorenz는 V8의 구조나 프로파일링에 대한 참고자료를 thlorenz/v8-perf에 정리하고 있고, Demystifying v8 and JavaScript Performance라는 슬라이드도 공개했습니다.
Intro to Broccoli
위 문서에는 빌드 도구인 Broccoli에 대해 소개하고 있습니다. Broccoli은 Rails에서 말하는 asset pipline와 같은 효율적인 빌드를 목적으로 하고 있습니다. 빌드 대상은 파일 단위가 아닌 Tree로 다루도록 되어 있습니다. 구조에 대한 자세한 정보는 Broccoli: First Beta Release나 No more grunt watch: Modern build workflows with Broccoli – Ember Fest!를 참고하세요.
주요소식
- Intern 2.1 released : Intern 2.1이 릴리즈 됐습니다. HTML reporter/JUnit XML reporter가 추가됐습니다.
- Release 3.1 “Satyameva Jayate” · postcss/autoprefixer : autoprefixer 3.1이 릴리즈됐습니다.
아티클
- for는 이제 그만, 이벤트 루프와 nextTick()(일본어[구글번역]) : node.js의 이벤트 루프와 블록에 대해 이야기합니다. setTimeout(), process.nextTick(), setImmediate()의 차이 그리고 I/O Event와 각각의 실행 타이밍을 알기 쉽게 설명하고 있습니다.
- Integrating D3.js visualizations in a React app : D3.js의 데이터 시각화, 데이터 갱신과 React의 Virtual DOM 조합에 대해 설명합니다.
- Firefox Add-on Enables Web Development Across Browsers and Devices : Chrome이나 Safari에서 접속한 웹을 Firefox의 개발자도구를 사용하여 디버깅할 수 있는 어댑터를 소개합니다. remotedebug.org와 비슷하지만 공유 프로토콜을 제공하는 것이 아닌 Firefox 프로토콜 기반으로 동작합니다.
슬라이드
- 9 anti-patterns for node.js teams : node.js에 대한 9 가지 안티 패턴을 설명합니다.
- 2014-09-09-performance-in-css-hikalab-yuya-saito.pdf(일본어) : CSS 성능에 대해 이야기합니다. 어떠한 스타일 변경이 렌더링 트리 변경 및 리페인트를 일으키는지 알아내는 방법과 그것을 해결하는 방법을 소개합니다.
- OSCON – React Architecture : React의 역사와 React의 DOM Diff에 대해 설명합니다.
- Building high quality services at Uber : Uber사의 node.js를 사용한 제품 운영에 대한 슬라이드입니다. 로그, 예외 로그, 모니터, 설정 관리, 프로필, 스케폴딩 도구 등을 소개합니다.
- Asynchronous JavaScript & Promises : 자바스크립트의 비동기 처리와 프로미스에 대한 동영상과 슬라이드입니다.
- BSidesLA Managing Content Security Policy : CSP(Content Security Policy)를 설명합니다. CSP 정의, 적용 및 관리, CSP Lv2의 script hash에 대한 것과 CSP reporter 분석 그리고 caspr를 소개합니다. 발표자인 Neil Matatall는 트위터에서 근무하고 있는 소프트웨어 엔지니어입니다.
- ES6 right now : 코드를 바로 실행할 수 있는 예제를 이용해 ES6의 기능을 설명합니다.
서비스
- Polyfill service : polyfill 라이브러리를 제공하는 CDN 서비스입니다.
- srcset와 sizes(일본어[구글번역]) : Srcset and sizes을 일본어로 번역한 사이트입니다.
- Speed Hall of Fame : 크로미움과 V8의 성능 최적화 및 성능 향상에 대한 내용이 정리돼 있는 사이트입니다.
라이브러리
- davidmarkclements/decofun : 익명 함수에 자동으로 문맥에 어울리는 이름을 기입하는 디버깅 도구입니다.
- GraftJS/jschan : libchan의 자바스크립트 포트 라이브러리입니다. 네트워크를 넘나들며 채널끼리 서로 통신합니다. WebSockets과 SPDY를 지원하며 msgpack를 사용합니다.
- uupaa/WMCache.js : FileSystem, IndexedDB, Quota Management API를 사용하여 100MB 이상의 임시 스토리지(temporary storage)를 관리하는 라이브러리입니다.
- hello.js : OAuth2를 지원하는 애플리케이션 대응 및 일반적인 API를 지원하는 라이브러리입니다. https://auth-server.herokuapp.com 인증 서버를 사용하고 있어 클라이언트 사이드를 작성하는 것만으로 Github나 Facebook 등의 API를 이용할 수 있습니다.
- BlackDice/lill : es6-symbol을 사용해 linked-list를 구현한 라이브러리입니다.
- thlorenz/proxyquireify : 로드한 모듈의 메소드를 stup할 수 있는 browserify의 plugin입니다.
도서
- JavaScript: Novice to Ninja – O’Reilly Media : 2014년 10월에 발매되는 자바스크립트를 기초 부터 배울 수 있는 도서입니다.
JSer.info를 번역하여 공유드리고 있습니다.
JSer.info는 JavaScript Weekly, Badass JavaScript, JsMag, A Minute With Brendan, The Changelog를 참고, 자바스크립트의 주요 소식을 공유하는 사이트입니다.
감사합니다.
0개의 댓글