From e871ab4aa9e71e76eb186248a5e3c41588392c87 Mon Sep 17 00:00:00 2001 From: azu Date: Tue, 19 Mar 2019 10:32:18 +0900 Subject: [PATCH] =?UTF-8?q?2019-03-19=E3=81=AEJS:=20TypeScript=203.4=20RC?= =?UTF-8?q?=E3=80=81Node=2011.12.0=E3=80=81experimental=20(#597)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Update 427 draft * Update 427 draft * Update 427 draft * Update 427 draft * Update 427 draft * Update 427 draft * Update 427 draft * Update 427 draft * Update 427 draft * Update 427 draft * Update 427 draft * Update 427 draft * Update 427 draft * Update 427 draft * Update 427 draft * Update 2019-03-18-427draft.md * Move _i18n/ja/_posts/2019/2019-03-18-427draft.md to _i18n/ja/_posts/2019/2019-03-18-typescript-3.4-rcreadonlynode.js-11.12.0-frozen-intrinsic.md * Remove _i18n/ja/_posts/2019/2019-03-18-427draft.md --- ...eadonlynode.js-11.12.0-frozen-intrinsic.md | 212 ++++++++++++++++++ 1 file changed, 212 insertions(+) create mode 100644 _i18n/ja/_posts/2019/2019-03-18-typescript-3.4-rcreadonlynode.js-11.12.0-frozen-intrinsic.md diff --git a/_i18n/ja/_posts/2019/2019-03-18-typescript-3.4-rcreadonlynode.js-11.12.0-frozen-intrinsic.md b/_i18n/ja/_posts/2019/2019-03-18-typescript-3.4-rcreadonlynode.js-11.12.0-frozen-intrinsic.md new file mode 100644 index 00000000000..f404ee19614 --- /dev/null +++ b/_i18n/ja/_posts/2019/2019-03-18-typescript-3.4-rcreadonlynode.js-11.12.0-frozen-intrinsic.md @@ -0,0 +1,212 @@ +--- +title: "2019-03-18のJS: TypeScript 3.4 RC(readonly)、Node.js 11.12.0(`--frozen-intrinsic`)と実験的機能まとめ" +author: "azu" +layout: post +date : 2019-03-18T23:34:25.280Z +category: JSer +tags: +- TypeScript +- Node.js + +--- + +JSer.info #427 - TypeScript 3.4 RCがリリースされました。 + +- [TypeScript | Announcing TypeScript 3.4 RC](https://devblogs.microsoft.com/typescript/announcing-typescript-3-4-rc/) +- [Roadmap · Microsoft/TypeScript Wiki](https://github.com/Microsoft/TypeScript/wiki/Roadmap#34-march-2019 "Roadmap · Microsoft/TypeScript Wiki") +- [Breaking Changes · Microsoft/TypeScript Wiki](https://github.com/Microsoft/TypeScript/wiki/Breaking-Changes#typescript-34 "Breaking Changes · Microsoft/TypeScript Wiki") +- [TypeScript v3.4.0-rc 変更点 - Qiita](https://qiita.com/vvakame/items/7f4a55fe15fc9bbe1a63 "TypeScript v3.4.0-rc 変更点 - Qiita") + +CLIでは、ビルドの情報をファイルに保存して、次回起動時にその情報を元にビルドできる`--incremental`フラグの追加されています。 +`--watch`とは異なり、プロセスの起動終了をまたいだ継続的なビルドを行えます。 + +型周りでは、`readonly`修飾子を配列とtupleに対して適応できるようになっています。 +`const` assertionの追加され、リテラルに対しても`readyonly`の適応や`"文字列"`が`string`という型に勝手に広がるの防止する構文が追加されています。 + +その他にも、高階関数の型推論改善や`globalThis`(Stage 3)の型定義の追加が行われています。 + +---- + +Node.js 11.12.0がリリースされました。 + +- [Node v11.12.0 (Current) | Node.js](https://nodejs.org/en/blog/release/v11.12.0/) + +Node.js 11.12.0では`--frozen-intrinsics`という実験的フラグが追加されています。 +詳細は実装されたPRなどに書かれていますが、`--frozen-intrinsics`は`Array`などのJavaScriptのビルトインオブジェクトのデフォルトでdeep freezeする実験的フラグです。 +このフラグを有効するといわゆるmonkey patchができない状態になるので、暗黙的にビルトインオブジェクトが拡張されていないという前提でコードを調査できるというセキュリティ的な利点があります。 + +- [Frozen intrinsics experimental flag by guybedford · Pull Request #25685 · nodejs/node](https://github.com/nodejs/node/pull/25685 "Frozen intrinsics experimental flag by guybedford · Pull Request #25685 · nodejs/node") +- [A Node.js Security Model](https://docs.google.com/document/d/1h__FmXsEWRuNrzAV_l3Iw9i_z8fCXSokGfBiW8-nDNg/edit?ts=5c1adaed#heading=h.xh66r8quma5i) + +関連する話として、Secure EcmaScript(SES)やNode.js 11.8.0で実験的に実装されたPolicy機能について調べると面白いかもしれません。 + +- [Agoric/SES: Secure EcmaScript](https://github.com/Agoric/SES "Agoric/SES: Secure EcmaScript") +- [2019-01-29のJS: Node.js 11.8.0(Policy機能)、Nuxt.js 2.4.0(TSサポート)、Yarn v2のロードマップ](https://jser.info/2019/01/29/node.js-11.8.0policynuxt.js-2.4.0tsyarn-v2/) + +---- + +[Update on Experimental Features in Node.js - NodeSource](https://nodesource.com/blog/experimental-features-in-node.js)という記事では、現在実装されているNode.jsの実験的な機能について紹介されています。 + +先程紹介したPolicis機能やWorker Threads、Performance Hooks、Diagnostic Report、ECMAScript Modulesについて書かれています。 + +Performance HooksはブラウザのPerformance Timing APIとも互換性が意識して作られている話やECMAScript Modulesは`.mjs`の話などが書かれています。 +興味がある人は試してみるといいかもしれません。 + +---- + +

ヘッドライン

+ +---- + +## New in Chrome 73  |  Web  |  Google Developers +[developers.google.com/web/updates/2019/03/nic73](https://developers.google.com/web/updates/2019/03/nic73 "New in Chrome 73  |  Web  |  Google Developers") +

Chrome ReleaseNote

+ +Chrome 73リリース。 +デスクトップ版でもPWAインストールの対応、Signed HTTP Exchanges、Constructable style sheetsのサポート、`String#matchAll`のサポート。 +`wheel`がデフォルトでPassiveに変更など + +- [Chrome Platform Status](https://www.chromestatus.com/features#browsers.chrome.desktop%3D73 "Chrome Platform Status") + +---- + +## TypeScript | Announcing TypeScript 3.4 RC +[devblogs.microsoft.com/typescript/announcing-typescript-3-4-rc/](https://devblogs.microsoft.com/typescript/announcing-typescript-3-4-rc/ "TypeScript | Announcing TypeScript 3.4 RC") +

TypeScript ReleaseNote

+ +TypeScript 3.4 RCリリース。 +ビルドの情報をファイルに保存して、次回の起動時にその情報で続けてビルドできる`--incremental`フラグの追加。 +`readonly`修飾子を配列とtupleに対して適応できるように、`const` assertionの追加、高階関数の型推論改善など + +- [Roadmap · Microsoft/TypeScript Wiki](https://github.com/Microsoft/TypeScript/wiki/Roadmap#34-march-2019 "Roadmap · Microsoft/TypeScript Wiki") +- [Breaking Changes · Microsoft/TypeScript Wiki](https://github.com/Microsoft/TypeScript/wiki/Breaking-Changes#typescript-34 "Breaking Changes · Microsoft/TypeScript Wiki") +- [TypeScript v3.4.0-rc 変更点 - Qiita](https://qiita.com/vvakame/items/7f4a55fe15fc9bbe1a63 "TypeScript v3.4.0-rc 変更点 - Qiita") + +---- + +## Node v11.12.0 (Current) | Node.js +[nodejs.org/en/blog/release/v11.12.0/](https://nodejs.org/en/blog/release/v11.12.0/ "Node v11.12.0 (Current) | Node.js") +

node.js JavaScript ReleaseNote

+ +Node.js 11.12.0リリース。 +`Array`などのビルトインオブジェクトをデフォルトでfreezeする`--frozen-intrinsics`フラグを実験的に追加など + + +---- + +## CKEditor 5 v12.0.0 with inline widgets and distraction free editor released +[ckeditor.com/blog/CKEditor-5-v12.0.0-with-inline-widgets-and-distraction-free-editor-released/](https://ckeditor.com/blog/CKEditor-5-v12.0.0-with-inline-widgets-and-distraction-free-editor-released/ "CKEditor 5 v12.0.0 with inline widgets and distraction free editor released") +

JavaScript editor library ReleaseNote

+ +CKEditor 5 v12.0.0リリース。 +Inline widgets、placeholderの対応、TableにMediaを埋め込めるように、inspector機能を持つデバッグモジュールの公開など + + +---- + +## Releasing React Native 0.59 · React Native +[facebook.github.io/react-native/blog/2019/03/12/releasing-react-native-059](https://facebook.github.io/react-native/blog/2019/03/12/releasing-react-native-059 "Releasing React Native 0.59 · React Native") +

React ios andoi ReleaseNote

+ +React Native 0.59リリース。 +Hooksの対応、JavaScriptCoreをアップデートし、64 bitサポートなど。一部のコアコンポーネントを外部ライブラリ化など + + +---- +

アーティクル

+ +---- + +## 手元のコードのパフォーマンスを計測するperformance.markのスニペット | Web Scratch +[efcl.info/2019/03/14/performance-snnipet/](https://efcl.info/2019/03/14/performance-snnipet/ "手元のコードのパフォーマンスを計測するperformance.markのスニペット | Web Scratch") +

JavaScript performance article

+ +`performance.mark`を使った特定のコードの処理時間や関連データを記録するスニペットについて。 +記録の計測とデータの収集を分けて行うことについて + + +---- + +## A Complete React Redux Tutorial for 2019 +[daveceddia.com/redux-tutorial/](https://daveceddia.com/redux-tutorial/ "A Complete React Redux Tutorial for 2019") +

redux JavaScript tutorial

+ +Reduxについてのチュートリアル。 +ステートの管理方法、ActionのDispatch方法やその動き、Reactと一緒に使う方法などについて + + +---- + +## Node.js and Express Tutorial: Building and Securing RESTful APIs +[auth0.com/blog/node-js-and-express-tutorial-building-and-securing-restful-apis/](https://auth0.com/blog/node-js-and-express-tutorial-building-and-securing-restful-apis/ "Node.js and Express Tutorial: Building and Securing RESTful APIs") +

node.js tutorial API article

+ +Node.jsとExpressを使ってRest APIを作成するチュートリアル。 +Auth0を使ったjwt対応など + + +---- + +## On the Road to WebRTC 1.0, Including VP8 | WebKit +[webkit.org/blog/8672/on-the-road-to-webrtc-1-0-including-vp8/](https://webkit.org/blog/8672/on-the-road-to-webrtc-1-0-including-vp8/ "On the Road to WebRTC 1.0, Including VP8 | WebKit") +

WebRTC article safari

+ +Safari 12.1のWebRTC対応更新について。 +VP8コーデック、Simulcast、Unified Planの対応など。 +Screen capture APIの実験的サポート、古いWebRTC APIの非推奨化など + + +---- + +## Update on Experimental Features in Node.js - NodeSource +[nodesource.com/blog/experimental-features-in-node.js](https://nodesource.com/blog/experimental-features-in-node.js "Update on Experimental Features in Node.js - NodeSource") +

node.js article

+ +Node.jsの実験的な機能についての紹介記事。 +Worker Threads、Performance Hooks、Diagnostic Report、Policis、ECMAScript Modulesについて + + +---- + +## 自社運営のWebアプリをPWA化した際にハマった話(OAuthなど) - APC 技術ブログ +[techblog.ap-com.co.jp/entry/2019/03/13/201027](https://techblog.ap-com.co.jp/entry/2019/03/13/201027 "自社運営のWebアプリをPWA化した際にハマった話(OAuthなど) - APC 技術ブログ") +

safari article PWA Android Chrome

+ +AndroidとiOSでのPWA対応についての記事。 +ホームスクリーンアプリにすると動かなくなった機能とその対処法などについて + + +---- +

スライド、動画関係

+ +---- + +## Yahoo!ニュースにおけるBFFパフォーマンスチューニング事例 +[www.slideshare.net/techblogyahoo/yahoobff](https://www.slideshare.net/techblogyahoo/yahoobff "Yahoo!ニュースにおけるBFFパフォーマンスチューニング事例") +

node.js performance slide

+ +Node.jsのサーバアプリ処理のボトルネックの調査方法やベンチマークのとり方、アプローチなどについてのスライド + + +---- +

ソフトウェア、ツール、ライブラリ関係

+ +---- + +## aruneko/WebUSB-MyNumberCard +[github.com/aruneko/WebUSB-MyNumberCard](https://github.com/aruneko/WebUSB-MyNumberCard "aruneko/WebUSB-MyNumberCard") +

JavaScript library

+ +WebUSBを使ったマイナンバーカードのドライバ + + +---- + +## sindresorhus/type-fest: A collection of essential TypeScript types +[github.com/sindresorhus/type-fest](https://github.com/sindresorhus/type-fest "sindresorhus/type-fest: A collection of essential TypeScript types") +

TypeScript library

+ +TypeScriptの型コレクションライブラリ + + +----