[JSer.info#번역] 2014-11-25 자바스크립트 주요 소식

Posted by in Research

Chrome 39 릴리즈

Chrome 39가 릴리즈 됐습니다. 구현된 기능은 베타 릴리즈 노트를 참고해주세요.  ES6 Generator가 기본으로 활성화 됐고 Web Application Manifest 대응, Beacon API(한국어)가 구현됐습니다. 그리고 Web Animations 구현이 진행되고 있습니다. 보통 XHR을 사용한 비동기 통신 시 페이지를 종료하면 요청을 신뢰할 수 없지만 Beacon API를 사용하면 백그라운드로 요청하기 때문에 UI를 블로킹하지 않으면서 요청을 신뢰할 수 있습니다. 예를 들어 링크 클릭을 로그로 쌓기 위해 리스너에서 기본 이벤트를 중지시키고 XHR 요청 후 페이지 전환을 해야 했지만 Beacon API를 사용하면 단순히 navigator.sendBeacon으로 요청하면 보내면 됩니다.

 

Modern Debugging Experience: Part 2

개발자 도구를 사용한 자바스크립트 디버깅 기술을 소개하는 Modern Debugging Experience Part 2가 공개됐습니다. Modern Debugging Experience에서 파트 1도 볼 수 있습니다.  debugger 키워드를 사용한 break 뿐만 아니라 Object.observe와 getter/setter 등을 조합해 사용하는 방법 등 새로운 디버깅 방식도 소개하고 있습니다. 또, 조건부 Breakpoints(코드, DOM, Event)를 사용하는 방법과 콜-스택을 읽는 방법, Node.js 디버깅 도구에 대해서도 작성돼 있습니다.

 

Flow

Facebook에서 자바스크립트 형 검증 도구 Flow를 공개했습니다.

Flow는 Facebook이 공개한 Hack과 비슷한 부분가 있고, 병렬로 처리하므로 고속으로 형을 검사할 수 있습니다. /*@Flow*/ 애너테이션으로 적상된 부분에 대해서만 형을 검사합니다. 따라서 단계적으로 적용할 수 있습니다. 아직 버전이 0.1.1이므로 표준 타입을 전부 검사할 수 없고, Window에서 사용하려면 비공식 빌드 도구를 이용해야합니다. 하지만 앞으로 기대를 가져볼 만한 도구입니다. 향후 예정 사항은 Flow|Future Plans에 작성돼 있습니다.

 

읽을거리

  • Send beacon data in Chrome 39 : Chrome 39에 Beacon API가 구현됐습니다. Beacon API를 사용하는 방법에 대해서 소개합니다.
  • My five promise patterns : Promise 패턴에 대해 이야기합니다. Node.js 스타일의 고차 함수가 Promise 개체를 반환하도록 변환하는 nodeify, 인자를 고정하는 bind, 콜백 패턴과 함께 사용, reject 대신  throw로 처리, 비동기 처리의 끝을 항상 catch에서 처리 하는 패턴을 소개합니다.
  • Property testing in JavaScript with quick_check.js : 자바스크립트에서 QuickCheck를 구현한 quick_chack.js를 소개합니다.
  • uxebu/mocha-sinon-traceur-example : ES6 환경에서 테스트 코드를 작성하는 방법에 대해 작성한 TDD 샘플 프로젝트입니다.
  • Nodevember : nodevember 컨퍼런스의 발표 영상 리스트입니다.
  • Real World React(슬라이드) : React의 Component를 개발하는 방법과 테스트를 작성하는 방법을 자세히 설명합니다.
  • DOM Performance (JSNext Bulgaria) : 성능을 위한 DOM 조작 팁을 정리한 슬라이드 입니다. Event Delegate, Style 조작 방법, DOM Node 작성법(Clone, DocumentFragment), DOM Node 삭제 방법에 대해 이야기합니다.
  • KnowThen : 자바스크립트에 대한 스크린 캐스트 사이트입니다.

 

라이브러리

  • newton-software/devil : node-inspector 처럼 GUI로 Node.js 앱을 디버깅할 수 있는 도구입니다.
  • axemclion/protractor-perf : Protractor의 성능 측정 버전 도구입니다.
  • inikulin/ineed : HTML 스크랩핑이나 변환 처리(Reprocessing)을 할 수 있는 Node.js 모듈입니다.
  • jas-/secStore.js : localStorage/sessionStorage/Cookie 랩핑한 암호화 기능을 제공하는 라이브러리입니다.
  • janmonschke/Web-Audio-Editor : 웹 기반 Web Audio Editor입니다.
  • SpoonX/useuses : @uses 애너테이션으로 자바스크립트가 의존하는 파일의 경로를 기술하여 모듈을 관리하고 빌드할 수 있는 도구입니다. concat이 단순하고, CommonJS 처럼 강한 의존 관계가 아니라 단순히 애너테이션을 추가할 뿐이므로 추가적인 파일이 필요 없습니다.
  • techlayer/espresso.js : Backbone.js와 React에 영감을 받아 개발한 MV* 라이브러리입니다. Flux의 단 방향 데이터 흐름 아이디어를 Backbone.js에 녹여낸 듯한 느낌입니다.

 

도서

 

JSer.info를 번역하여 공유드리고 있습니다.

JSer.info는 JavaScript Weekly, Badass JavaScript, JsMag, A Minute With Brendan, The Changelog를 참고, 자바스크립트의 주요 소식을 공유하는 사이트입니다.

감사합니다.