npm 2.0.0 릴리즈
node.js의 패키지 관리 도구인 npm 2.0.0이 릴리즈됐습니다. npm run-script에 인자를 전달할 수 있도록 변경됐으며, npm의 릴리즈 프로세스가 문서화됐습니다. 또한 Scoped packages라고 하는 기능이 추가되는 등 여러가지 변경 사항이 있습니다. Scoped packages는 모듈을 관리할때 Public이 아니라 범위를 지정하여 관리할 수 있도록 하는 기능을 말합니다. 사내(기업)에서 유용할 것 같습니다. 더 자세한 정보를 알고 싶다면 The npm Blog — npm@2.0.0 문서를 참고하세요.
npm 2.0.0은 아래 명령어로 설치할 수 있습니다.
npm install -g npm
iOS8의 새로워진 사파리와 웹뷰
iOS8이 릴리즈되면서 사파리 브라우저가 업데이트 됐고, 새로운 웹뷰가 내장됐습니다. 아래 문서에는 어떤 기능이 추가됐는지, 기존 웹뷰(UIWebView)와 새로운 웹뷰(WKWebView)의성능 및 기능 면에서의 차이점을 정리하고 있습니다.
- iOS 8 and iPhone 6 for web developers and designers: next evolution for Safari and native webapps
- Apple Shows Love for HTML5 with iOS 8
WKWebView는 아직 안정적이진 않지만, UIWebView와 같은 제한이 없기 때문에 애플리케이션 내에서도 사파리와 같은 동작이 가능할 것으로 기대하고 있습니다.
주요기사
- WinJS Everywhere : WinJS 3.0이 릴리즈됐습니다. 플랫폼 마다 디자인이 달랐던 문제가 개선됐습니다.
- Node v0.10.32 (Stable) : Node.js v0.10.32가 릴리즈됐습니다.
- React v0.11.2 : React v0.11.2가 릴리즈됐습니다. dialog와 picture 요소를 지원하고, flow의 타입 검사 도구에 대한 어노테이션을 제거하는 플래그를 jsx 명령에 추가했습니다.
- Polymer 0.4.1 Released! : Polymer 0.4.1이 릴리즈 됐습니다. WAI-ARIA에 대한 core-a11y-keys 요소와 iOS8의 버그에 대한 workaround를 추가했습니다.
읽을거리
- Updates to our platform roadmap : IE에 개발 중이거나 검토중인 기능에 대해 정리돼 있습니다.
- Node.js 엔지니어가 2014년에 알고 싶어하는 Promise 입문(일본어[구글번역]) : 자바스크립트 Promise의 기본적인 사용 방법과 async.js를 사용하여 구현한 코드를 Promise로 바꾸는 방법 등을 설명하고 있습니다. Promise에 대해 잘 소개하고 있는 튜토리얼 문서입니다.
- Promise를 사용하다. 웹의 사양을 알아봤습니다.(일본어[구글번역]) : Promise의 사양을 다루고 있는 있는 사양 문서 목록이 정리돼 있습니다. 또한 W3C 및 WHATWG의 사양을 다운로드하여 검색하는 방법도 소개합니다.
- Node.js Best Practices : Node.js의 코딩 규칙과 에러에 대해 이야기합니다. callback의 error는 감지되는 동시에 return 하는 방안과 Operational error와 Proframmer eorrs의 차이점 및 대처 방안 그리고 npm을 사용한 workflow에 대해 작성돼 있습니다.
- Traceur, Gulp, Browserify and ES6 : Gulp + Traceur 환경에서 ES6의 코드를 사용하는 방법과 Browserify + es6ify 환경에서 Traceur를 사용하는 방법에 대해 소개합니다.
- JPEGs with Alpha Channels?!? : SVG의 mask 기능을 사용하여 JPG와 마스크용인 PNG를 결합시켜 알파 채널(투명)을 만드는 방법을 소개합니다. PNG를 사용하는 경우 보다 파일의 크기를 줄일 수 있습니다.
- CSS 셀렉터 매칭 비용(일본어[구글번역]) : CSS 셀렉터는 요소와 셀렉터의 수 만큼 판정하는 횟수가 늘어나게 되는데 그 비용을 줄이는 방법에 대해 이야기합니다. 또한 CSS 셀렉터의 판정 절차에 대해서도 그림과 함께 자세히 설명하고 있습니다.
- WebStorm 9 EAP, 138.2406: spy-js code completion, CSS3 enhancements, Scratch files and… JSX : spy.js를 실행한 결과를 사용하여 코드를 보완할 수 있습니다. 또한, Spy-js magnifier를 수식(이전은 인수와 반환 값만 지원)에도 대응했으며, Emacs와 같은 scratch files 기능을 추가했습니다. 그리고 indexing의 범위가 기본적으로 node_module로 제한 됐으며, JSX(React)의 지원이 개선 됐습니다.
- WebIDE, Storage inspector, jQuery events, iframe switcher + more : Firefox 34에 추가되는 개발 도구의 기능을 소개합니다.
- Slide decks of JSConf 2014 : JSConf.eu 204의 슬라이드가 정리돼 있습니다.
- A Quick Introduction to BrowserSync : BrowserSync에 대해 소개하는 스크린 캐스트 입니다.
- Syncing Async : 비동기처리와 Promise에 대한 슬라이드입니다. 콜백의 중첩 문제, Promise 및 Generator에서 말하는 비동기 순차 처리에 대해 이야기합니다.
- CORS для тестирования и для жизни. Константин Якушев. MoscowJS 14 : CORS에서의 HTTP 헤더 설정과 작동에 대해 알기 쉽게 설명돼 있습니다. 헤더 설정에 사용하는 값에 대해서 이해하기 쉽습니다. 슬라이드를 작성한 Константин Якушев는 CORS in Action 기술 편집을 담당했습니다.
라이브러리
- wingify/dom-comparator : 2개의 DOM 문자열을 비교한 결과를 JSON으로 얻을 수 있는 라이브러리입니다.
- ConradIrwin/async-profile : Node.js에서의 비동기 처리 profiles 정보를 얻을 수 있는 라이브러리입니다. profiles 정보는 중첩으로 출력되며, callback 대기에 얼마나 많은 시간을 할애 하는지 알 수 있습니다.
- matthew-andrews/denodeify : Node.js 스타일로 작성한 함수(error, response)를 Promise로 랩핑하는 라이브러리입니다.
- deloreanjs/delorean : Flux patterns(dispatcher, store)을 구현한 라이브러리입니다. React와 Flight 그리고 Reactive 등 에서도 사용할 수 있습니다.
- fat/bean : 자바스크립트의 DOM 이벤트를 간단하게 다룰 수 있는 경량 라이브러리입니다. on, off, fire, one, clone 함수가 구현돼 있으며, clone은 NODE와 event를 동시에 복사할 수 있습니다.
- inikulin/dmn : 이미 존재하는 프로젝트에서 .npmignore를 생성할 수 있는 커멘드 라인 도구입니다. 또한 이미 설치된 node_modules에서 필요하지 않은 파일을 삭제할 수도 있습니다.
JSer.info를 번역하여 공유드리고 있습니다.
JSer.info는 JavaScript Weekly, Badass JavaScript, JsMag, A Minute With Brendan, The Changelog를 참고, 자바스크립트의 주요 소식을 공유하는 사이트입니다.
감사합니다.
0개의 댓글