Fork me on GitHub

2016-02-24 JS: TypeScript 1.8, React의 버저닝(Versioning), Draft.js

Translator: U-Yeong Ju Edit on GitHub See Revisions

JSer.info #267 - TypeScript 1.8이 정식 릴리즈됐습니다.

JavaScript 파일을 TypeScript 프로젝트에 포함할 수 있도록하는 --allowJs 옵션이나 TypeScript 파일을 1개의 JavaScript로 번들링하는 기능이 추가됐습니다.

또, String Literal Types를 대응하고 실행 되지 않는 코드(Unreachable)를 검사하는 Control flow analysis 등의 기능도 추가됐습니다.


New Versioning Scheme | React에는 React의 다음 버전인 v15.0.0의 버전 전략 관해 작성돼 있습니다.

소위 Semantic Versioning의 1.0.0 이후의 방식으로 버전을 관리하겠다는 방침에 관해 작성돼 있습니다.

또, React를 의존하는 라이브러리에서 React 버전을 지정하는 방법에 관해서도 작성돼 있습니다.
React Component의 라이브러리를 개발하고 있는 사람은 참고하시길 바랍니다.

react versioning


Facebook의 Note나 Messenger에서 사용하고 있는 React 기반의 리치 텍스트 에디터 프레임워크인 Draft.js가 공개돼 있습니다.

텍스트 에디터와 같은 구조를 React로 컴포넌트로 만들 때 여러가지 고민이 필요하게 되는데, 이 프레임워크의 구조를 살펴보면 도움이 될 것 같습니다.


헤드라인


Node v5.7.0 (Stable) | Node.js

nodejs.org/en/blog/release/v5.7.0/

node.js ReleaseNote

Node.js 5.7.0이 릴리즈됐습니다.
Buffer#fillencoding 인수를 지원하고, spawn()shell 옵션을 지원하는 등 여러가지 변경사항이 있습니다.


jQuery 1.12.1 and 2.2.1 Released | Official jQuery Blog

blog.jquery.com/2016/02/22/jquery-1-12-1-and-2-2-1-released/

jQuery ReleaseNote

jQuery 1.12.1와 2.2.1이 릴리즈됐습니다.
.position()의 버그가 수정됐습니다.


Announcing TypeScript 1.8 | TypeScript

blogs.msdn.microsoft.com/typescript/2016/02/22/announcing-typescript-1-8-2/

TypeScript ReleaseNote

TypeScript 1.8이 릴리즈됐습니다.
String Literal Types를 지원하고, Control flow를 해석하여 Unreachable한 코드를 검사하는 등의 기능이 추가됐습니다.


ESLint v2.2.0 released - ESLint - Pluggable JavaScript linter

eslint.org/blog/2016/02/eslint-v2.2.0-released

JavaScript Tools ReleaseNote

ESLint 2.2.0이 릴리즈됐습니다.
// eslint-disable-next-line를 지원합니다.


Release ES2016 Draft 2016-02-15 · tc39/ecma262

github.com/tc39/ecma262/releases/tag/es2016-draft-20160215

ECMAScript ReleaseNote

ES2016 Draft 2016-02-15이 릴리즈됐습니다.
exponentiation operator 추가, Object.prototype를 immutable하게 변경, Unicode 8.0 업데이트, [[Enumerate]]Reflect.enumerate를 삭제하는 등의 변경 사항이 있습니다.


Release v2.10.0 · jscs-dev/node-jscs

github.com/jscs-dev/node-jscs/releases/tag/v2.10.0

JavaScript ReleaseNote

JSCS 2.10.0가 릴리즈됐습니다.
disallowSpacesInsideTemplateStringPlaceholders, requireImportsAlphabetized가 추가됐습니다.


New Versioning Scheme | React

facebook.github.io/react/blog/2016/02/19/new-versioning-scheme.html

React

React의 다음 버전은 15.0.0로 릴리즈될 예정입니다.
Semver적 버저닝 방식에 맞추기 위해서 변경됐습니다. 또, React를 의존하는 라이브러리에서 React 버전을 지정하는 방법에 관해서도 작성돼 있습니다.


아티클


Why using `_.chain` is a mistake. — Making Internets — Medium

medium.com/making-internets/why-using-chain-is-a-mistake-9bc1f80d51ba

JavaScript library

이 아티클에서는 lodash의 _.chain은 확장하기 어려우며 lodash에 포함돼 있어 bundle 사이즈가 커지는 문제가 있다고 작성돼 있습니다.
4.1부터 lodash/fp에 functional한 함수가 준비돼 있으므로, 이를 활용하여 같은 역할을 하는 코드를 더 작은 bundle 사이즈로 구현 가능하다고 이야기합니다.


DevTools의 시큐리티 패널 도입에 관해 - Google Developers Japan(일본어)

googledevjp.blogspot.com/2016/02/draft-devtools.html

Chrome debug

Chrome 개발자 도구에 "Security" 패널이 추가됐습니다.
TLS 증명서, Mixed Content 등을 확인해볼 수 있습니다.


JavaScript Safe Navigation

gist.github.com/dakaraphi/6a87168db66fd8f032d2

JavaScript proxy

Proxy와 Symbol을 사용해 ?.와 같이 프로퍼티를 체인할 수 있도록 하는 구현 방벙에 관해 작성돼 있습니다.
safe(o).isNull.next.next.$와 같이 표현할 수 있습니다.


Aerotwist - The Hack is Back!

aerotwist.com/blog/the-hack-is-back/

JavaScript canvas

createImageBitmap와 WebWorker를 사용하는 것으로 이미지의 디코드 처리를 별도의 스레드에서 실행하는 방법에 관해 작성돼 있습니다.


Delivering Octicons with SVG

github.com/blog/2112-delivering-octicons-with-svg

fonts SVG

GitHub는 아이콘 폰트를 그만두고, SVG를 사용한 아이콘을 이용하는 방법으로 변경했습니다.
이 아티클에는 SVG를 아이콘으로 이용하는 방법, 성능, 단점과 주의할점에 관해 작성돼 있습니다.


슬라이드, 영상


talk/webtalk_2016-02-20.pdf at master · momdo/talk(일본어)

github.com/momdo/talk/blob/master/webtalk_2016-02-20.pdf

W3C WHATWG spec 슬라이드

웹의 사양은 지속적으로 갱신되고 있다고 이야기하고 있습니다.
WHATWG HTML에서 보는 W3C HTML, CSS WG가 안정됐다고 여기는 것을 CSS Snapshot으로 기술하고 있다는 사실에 관해 이야기합니다.


Google과 Udacity의 JavaScript Promise 온라인 코스 소개 - Google Developers Japan(일본어)

googledevjp.blogspot.com/2016/02/google-udacity-javascript-promise.html

JavaScript Promises

Google과 Udacity가 함께 개발하여 공개한 Promise 온라인 강의를 소개합니다.


사이트, 서비스, 문서


npm Discover · see what everyone else is using

www.npmdiscover.com/

npm library webservice 検索

특정 npm 패키지와 함께 사용하는 라이브러리 목록을 알려주는 사이트입니다.
「사람들이 react와 함께 사용하고 있는 도구나 라이브러리는 무엇일까」라는 느낌으로 검색할 수 있습니다.


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


trueadm/inferno: An extremely fast, isomorphic JavaScript library for building modern user interfaces

github.com/trueadm/inferno

JavaScript VirtualDOM React library

React 스러운 Virtual DOM 라이브러리입니다.
템플렛에서 Virtual DOM Element를 만드는 단계에서 정적 컨텐츠인지 동적 컨텐츠인지 판단합니다.
그리고 정적 컨텐츠라면 diff/patch 하지 않는 플래그먼트를 생성하는 것으로 성능 향상을 이루고 있습니다.


ziyasal/scientist.js: A JavaScript interpretation of the Ruby library Scientist, a library for carefully refactoring critical paths.

github.com/ziyasal/scientist.js

JavaScript testing

리팩터링을 도와주는 Ruby 라이브러리인 science의 JavaScript 버전입니다.


dthree/cash: Cross-platform Linux commands in pure ES6

github.com/dthree/cash

JavaScript node.js library Tools

JavaScript로 작성한 Linux 커맨드 구현 모음집입니다.
크로스 플랫폼에서 동작하는 mvcp 등의 커맨드를 설치할 수 있습니다.


Draft.js | Rich Text Editor Framework for React

facebook.github.io/draft-js/

React editor facebook library

Facebook Notes나 messenger에서 사용하고 있는 React의 리치 텍스트 에디터 프레임워크 입니다.
immutable-js를 사용하고 있습니다.


ProjectSeptemberInc/gl-react: OpenGL / WebGL bindings for React to implement complex effects over images and content, in the descriptive VDOM paradigm

github.com/ProjectSeptemberInc/gl-react

WebGL React library

OpenGL / WebGL을 사용한 React Component 라이브러리 입니다.


도서


Happy Learn JavaScript Tutorial

www.happylearnjavascripttutorial.com/

JavaScript book

즐겁게 JavaScript를 배우는 것을 목적으로한 도서입니다.


JavaScript-mancy by Jaime González García [PDF/iPad/Kindle]

leanpub.com/javascriptmancy-mastering-arcane-art-of-writing-awesome-javascript-for-csharp-developers

JavaScript book

C# 개발자를 위한 JavaScript 서적입니다.


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