Fork me on GitHub

2017-09-11 JS: Yarn 1.0과 workspace, Node.js 웹 프레임워크 fastify

Translator: U-Yeong Ju Edit on GitHub See Revisions

JSer.info #348 - Yarn 1.0이 릴리즈됐습니다.

Workspaces, link: 식별자, --cwd를 지원하고 yarn.lock 파서를 @yarnpkg/lockfile로써 모듈화 하여 분리했으며 yarn.lock의 충돌을 자동으로 해결 가능하도록 개선됐습니다.

Yarn workspace는 Lerna 처럼 monorepo를 관리하는 기능이며 Lerna와는 다르게 조금 더 저수준의 기능을 제공하는 것을 목적으로 두고 있습니다.

Yarn’s workspaces are the low-level primitives that tools like Lerna can (and do!) use. They will never try to support the high-level feature that Lerna offers, but by implementing the core logic of the resolution and linking steps inside Yarn itself we hope to enable new usages and improve performance.

-- How does it compare to Lerna?

Yarn workspace에 관해서는 아래 문서에 잘 소개돼 있습니다.

또, publish 관련 작업을 할 수 없으며 관련한 내용은 아래 이슈에서 다루고 있으니 참고하시기 바랍니다.


fastify는 속도와 오버헤드를 가능한한 줄이는데 초점을 둔 Node.js 웹 프레임워크입니다. Connect/Express와 Restify와의 호환 가능한 Middlewares를 지원하여 확장할 수 있게 디자인돼 있습니다. 또한 JSON Schema를 사용해 Validation과 Serialize를 정의할 수 있는 구조를 가지고 있습니다.(fast-json-stringify는 이 JSON Schema를 사용해 직렬화를 고속으로 처리 하고 있습니다.)

아래 문서에 어떻게 오버 헤드를 줄이고 있는지 그 원리에 대해서 작성돼 있으니 함께 읽어보시면 좋을 것 같습니다.


헤드라인


Node v6.11.3 (LTS) | Node.js

nodejs.org/en/blog/release/v6.11.3/

node.js ReleaseNote

Node v6.11.3(LTS)가 릴리됐습니다.
hash flooding의 취약점 때문에 비활성화 됐던 V8의 Snapshots이 다시 활성화됐습니다.


AngularDart 4

news.dartlang.org/2017/09/angulardart-4.html

Angular dart

AngularDart 4가 릴리즈됐습니다.


New in Chrome 61  |  Web  |  Google Developers

developers.google.com/web/updates/2017/09/nic61

Chrome ReleaseNote

Chrome 61이 릴리즈됐습니다.
<script type=module>, navigator.share, WebUSB API 등을 지원합니다.


Release Notes for Safari Technology Preview 39 | WebKit

webkit.org/blog/7913/release-notes-for-safari-technology-preview-39/

safari ReleaseNote

Safari Technology Preview Release 39가 릴리즈됐습니다.
Beacon API를 개선했고 FetchRequest.body와 Stage 3의 RegExp dotAll을 지원합니다.


AssemblyScript/assemblyscript: A subset of TypeScript that compiles to WebAssembly.

github.com/AssemblyScript/assemblyscript

TypeScript WebAssembly

assemblyscript는 WebAssembly로 컴파일 가능한 TypeScript의 서브셋으로 정의된 언어입니다.


React 16 RC · Issue #10294 · facebook/react

github.com/facebook/react/issues/10294

React ReleaseNote issue

React 16 RC가 릴리즈됐습니다. Map/Set을 의존하고 있으므로 polyfill이 필요하며 코어가 재작성(Fiber)된 버전입니다. Stream SSR을 지원하고 componentDidCatch로 자식 컴포넌트의 에러를 처리할 수 있도록 개선됐습니다. 또, bundle된 파일이 배포되도록 변경됐습니다.


Announcing Yarn 1.0 | Engineering Blog | Facebook Code

code.facebook.com/posts/274518539716230

yarn ReleaseNote

Yarn 1.0이 릴리즈됐습니다.
Yarn Workspace가 기본적으로 활성화 됐으며 yarn.lock의 파서를 모듈로 분리했습니다. 그리고 --cwd를 지원하고 yarn.lock의 충돌을 자동으로 해결하도록 개선됐습니다.
또, 암묵적 file: 의존에 경고를 발생시키도록 변경됐고 yarn cleanyarn autoclean으로 이름이 변경됐습니다.


Release v0.6.0 · sonarwhal/sonar

github.com/sonarwhal/sonar/releases/tag/0.6.0

Tools ReleaseNote

sonar v0.6.0이 릴리즈됐습니다.
apple-touch-icon 체크 규칙이 summary 포멧터가 추가됐습니다.


Release Workbox v2.0.0 · GoogleChrome/workbox

github.com/GoogleChrome/workbox/releases/tag/v2.0.0

ServiceWorker ReleaseNote

Workbox v2.0.0이 릴리즈됐습니다.


아티클


미완・Web 브라우저의 색상 관리 대응 정리 : 왕잠자리 마노의 blog(임시)(일본어)

blog.livedoor.jp/yamma_ma/archives/38413741.html

browser color

브라우저의 색상 관리 및 프로파일에 관해 정리된 글입니다.


Angular vs. React vs. Vue: A 2017 comparison – unicorn.supplies – Medium

medium.com/unicorn-supplies/angular-vs-react-vs-vue-a-2017-comparison-c5c52d620176

JavaScript library opinion article

JavaScript 프레임워크를 비교한 글입니다.
Angular, React, Vue가 여러 측면에서 비교돼 있습니다.


Learn How To Debug JavaScript with Chrome DevTools – codeburst

codeburst.io/learn-how-to-debug-javascript-with-chrome-devtools-9514c58479db

JavaScript Chrome debug article

Chrome 개발자 도구를 사용한 디버깅 방법에 관해 소개돼 있습니다.
디버거에서 브레이크 포인트를 걸어 디버깅하는 방법을 단계별로 설명합니다.


슬라이드, 영상


Polymer Summit 2017 - YouTube

www.youtube.com/watch?v=tNulrEbTQf8

JavaScript 이벤트 video

Polymer Summit 2017의 영상이 공개됐습니다.


Google Developer Days Europe 2017 - YouTube

www.youtube.com/playlist?list=PLOU2XLYxmsIJz-cYWfjQP8SV7n8C-PTVm

google ProgressiveWebApp 이벤트 video

Google Developer Days Europe의 영상이 공개됐습니다.


웹 브라우저 용 심층 학습 모델 고속 실행 프레임워크 「WebDNN」 // Speaker Deck

speakerdeck.com/kiikurage/uebuburauzaxiang-keshen-ceng-xue-xi-moderugao-su-shi-xing-huremuwaku-webdnn

slide JavaScript browser 기계학습

WebDNN을 소개하는 슬라이드 입니다.
WebGPU / WebGL / WebAssembly 등을 사용한 웹브라우저에서의 계산 백엔드 구조, Keras나 TensorFlow 등의 학습 모델의 변환, 클라이언트 사이드에서 연산을 고속으로 처리하기 위한 최적화 방법 등에 대해 이야기합니다.


JavaScript conferences in 2017 | Confs.tech

confs.tech/

JavaScript 이벤트 정리

JavaScript 관련 컨퍼런스가 정리돼 있는 사이트입니다.


소프트웨어, 도구, 라이브러리


pinterest/service-workers: A collection of utilities for creating/testing/experimenting with service workers.

github.com/pinterest/service-workers

ServiceWorker Tools library

pinterest의 Service Worker와 관련된 유틸리티 도구 묶음입니다.
Service Worker에서 캐시할 파일 관리하는 도구와 webpack 플러그인 그리고 테스트 유틸리티를 제공합니다.


Transform | All important transforms at one place.

transform.now.sh/

JavaScript Tools webservice

JSON에서 React PropTypes, HTML에서 JSX, GraphQL에서 TypeScript 등 여러가지 변환 기능을 제공하는 도구입니다.


fastify/fastify: Fast and low overhead web framework, for Node.js

github.com/fastify/fastify

library node.js サーバー

Node.js 웹 프레임워크입니다. 오버 해드가 작은 라우팅, Schema를 기반으로한 직렬화, express / connect와 호환성을 갖는 middleware를 제공합니다.


antonmedv/jsize: Find out minified and gzipped npm package size

github.com/antonmedv/jsize

JavaScript npm node.js Tools

npm 모듈의 사이즈(gzip)을 살펴 볼 수 있는 도구입니다.
복수의 모듈을 + 로 조합하면 중복을 고려한 모듈의 총 크기도 알 수 있습니다.


allegro/node-worker-nodes: A node.js library to run cpu-intensive tasks in a separate processes and not block the event loop.

github.com/allegro/node-worker-nodes

node.js library

Node.js 환경에서 복수의 프로세스로 분할하여 cpu-intensive한 처리를 다룰 수 있는 라이브러리입니다.


도서


O'Reilly Japan - 처음 하는 자동 테스트(일본어)

www.oreilly.co.jp/books/9784873118161/

browser testing book

2017년 9월 21일 출간 예정인 도서로 UI 테스트, 통합 테스트, 유닛테스트, TDD 등 테스트와 관련한 주제를 다룹니다.


Pull Request to this article
JSer.info Slackに参加する