JSer.info #355 - Node.js v8.8.0がリリースされました。
http2
モジュールがデフォルトで有効化、モジュールのhookを処理を扱えるコマンドライン引数として--loader
がサポートされています。
Chrome 63βがリリースされました。
Dynamic import、Async iterator、Device Memory API、Promise#finally
のサポートなど
また、プッシュ通知などの許可ダイアログの変更が行われています。
EventTargetのコールバックに不正な値を渡した場合にTypeError
を投げるような仕様追従、印刷時にbeforeprint
とafterprint
イベントに対応、非推奨となっていた/deep/
の削除など
Property-Based Testing for Godly Testsというスライドでは、testcheck-jsを使ったProperty-Based Testingについて書かれています。
Example-Based Test、Fizz Test、Property-Based Testのカバーできる範囲の違いや特徴について紹介しています。
HaskellのQuickCheckなどが有名ですが、Property-Based Testではテストする値の範囲を指定し、その範囲から自動生成された値を使ったテストを行います。
そのため、特定の値を固定値として指定するExample-Based Testよりも、Property-Based Testのカバーできる範囲は広いという話などが書かれています。一方、その仕組みのため速くはない点などについて書かれています。
また、Flowの型定義からのテスト範囲の自動生成についてなどについても書かれています。
JSer.infoをサポートするには
- 😘 知り合いにJSer.infoをおすすめする
- ❤️ GitHub Sponsorsで@azuのスポンサーになる
- 🐦 X(Twitter)で@jser_infoをフォローする
JSer.info Sponsors
JSer.info SponsorsはGitHub SponsorsとしてJSer.infoを支援してくれている方々です。
ヘッドライン
Node v8.8.0 (Current) | Node.js
nodejs.org/en/blog/release/v8.8.0/
Node.js 8.8.0リリース。
http2モジュールがデフォルトで有効化、モジュールのhookを処理を扱えるコマンドライン引数として--loader
の追加など
V8 JavaScript Engine: V8 Release 6.3
v8project.blogspot.com/2017/10/v8-release-63.html
V8 6.3リリース。
パフォーマンス改善、import()
、Promise#finally
、Aynsc iteratorのサポートなど
Release 0.23.0 · avajs/ava
github.com/avajs/ava/releases/tag/v0.23.0
AVA 0.23.0リリース。
NODE_ENV=test
を設定するように、snapshotLocation
をpacakge.json
に書くことでsnapshotファイルの保存場所を指定できるように
Release 2.4.0 · fuse-box/fuse-box
github.com/fuse-box/fuse-box/releases/tag/v2.4.0
FuseBox 2.4.0 リリース。
Quantum上でのUglify-esのサポート、Vue周りの対応改善、CLIをAPIとして使えるように
Chromium Blog: Chrome 63 Beta: Dynamic module imports, async iterators and generators, Device Memory API, and permissions UI changes
blog.chromium.org/2017/10/chrome-63-beta-dynamic-module-imports_27.html
Chrome 63 Betaリリース。
Dynamic import、Async iterator、Device Memory API、Promise#finallyの実装、プッシュ通知などの許可ダイアログの変更など。
また、EventTargetの仕様追従、印刷時にbeforeprint
とafterprint
イベントを発火するように、/deep/
の削除など
- What's New In DevTools (Chrome 63) | Web | Google Developers
- Permission UX | Web Fundamentals | Google Developers
アーティクル
Saying Goodbye to Firebug ★ Mozilla Hacks – the Web developer blog
hacks.mozilla.org/2017/10/saying-goodbye-to-firebug/
FirebugはFirefox57で開発は終了し、Firefoxの開発者ツールが代替となる。
FirebugからFirefoxの開発者ツールへのマイグレーションガイドも公開されている。また、Firebugの歴史について。
MicrosoftのNapa.jsでJavaScriptをマルチスレッド化する | PLAID engineer blog
tech.plaid.co.jp/js_multi_threading/
マルチプロセスのWorkerを扱うことができるnapajaについて。
どのようなモチベーションや構造になっているかについて。
Zoneというワーカーのまとめ役やデータのやり取りの方法についてなど
HTML Web Component using Vanilla JavaScript – Ayush Gupta – Full Stack Web Developer
ayushgp.github.io/html-web-components-using-vanilla-js/
Web Components入門記事。
<user-card />
というデータを取得して表示する要素を例にCustom Elementのライフサイクル、template要素、ShadowDOMについて紹介している
State of Modules in JavaScript - Blog | SitePen
www.sitepen.com/blog/2017/10/26/state-of-modules-in-javascript/
ES moduleについての解説記事。
import/exportやdynamic import、Node.jsやwebpackなどのbundlerでの扱いについてなど
Unpopular Metrics about JS Bundlers – Andrea Giammarchi – Medium
medium.com/@WebReflection/unpopular-metrics-about-js-bundlers-a3c56ea5390d
小さなbundleツールであるasbundle
について。 rollupより機能的にも小さくシンプル。ES moduleをbundleするだけのような機能を持っている
Can You Afford It?: Real-world Web Performance Budgets – Infrequently Noted
infrequently.org/2017/10/can-you-afford-it-real-world-web-performance-budgets/
初回ロードのTime-to-Interactive (TTI)が5秒以下、それ以降は2秒以下というPerformance Budgetsを元にそれを満たすための配分について。
これ満たすための考え方や技術的な手法、補助するツールなどについて
スライド、動画関係
Chrome Dev Summit 2017 - YouTube
www.youtube.com/playlist?list=PLNYkxOF6rcICUD5nBfRdAR6Fveosnqa5m
Chrome Dev Summit 2017の動画まとめ
とにかく楽してVue.jsでTypeScriptを使いたい
www.slideshare.net/sakura_pr/vuejstype-script-81228009
Vue 2.5のTypeScriptサポートについてのスライド。
JavaScriptで書かれたVueアプリケーションをTypeScriptに移行する手順について
Redux. From twitter hype to production by Jenya Terpil
slides.com/jenyaterpil/redux-from-twitter-hype-to-production#/
Reduxの動作フローについてのスライド。
アニメーション画像によってView->Action->Reducer->Stateの流れについてを可視化している。
Property-Based Testing for Godly Tests
www.slideshare.net/garbles/propertybased-testing-for-godly-tests
Property-Based Testingについてのスライド。
Example-Based Test、Fizz Test、
Property-Based Testのカバーできる範囲の違いや特徴について。
testcheck
を使ったテストやFlowの型定義からの自動生成についてなど
- unbounce/babel-plugin-transform-flow-to-gen: Flow + Babel + TestCheck == QuickCheck in JavaScript
- leebyron/testcheck-js: Generative testing for JavaScript
サイト、サービス、ドキュメント
webpackmonitor/webpackmonitor: A tool for monitoring webpack optimization metrics through the development process
github.com/webpackmonitor/webpackmonitor
webpackのstats.json結果をビジュアライズしてくれるツール。
State of Vue.js Report · Monterail
www.monterail.com/state-of-vuejs-report
Vueに関する80ページほどのレポート。Vue自体の状況、アンケートベースのレポート、利用してる企業のケーススタディなどについて書かれている
Apollo Client 2.0 – Apollo GraphQL
dev-blog.apollodata.com/apollo-client-2-0-5c8d0affcec7
Apollo Client 2.0について
ソフトウェア、ツール、ライブラリ関係
vitalets/websocket-as-promised: Promise-based API for WebSockets
github.com/vitalets/websocket-as-promised
PromiseベースのWebSocketライブラリ。
nicojs/node-install-local: Installs npm/yarn packages locally without symlink. Exactly the same as your production installation, no compromises.
github.com/nicojs/node-install-local
npm5やyarnはローカルのパッケージをsymlinkでインストールしてしまうため、symlinkに対応してないツールなどが動作しなくなる。
通常のパッケージと同じようにディレクトリにインストールすることができるツール
softvar/awesome-web-storage: Everything you need to know about Client-side Storage.
github.com/softvar/awesome-web-storage
Web Storageについてのまとめたドキュメント。
cookie、localStorage、sessionStorageについての比較、関連ライブラリ、ツールなどについて
feimosi/frameworks-code-comparison: Code comparison of modern frameworks, based on React, Angular and Vue.js
github.com/feimosi/frameworks-code-comparison
Angular, React, Vueのコンポーネントで共通して行う処理の扱い方について比較したリポジトリ。
それぞれのライブラリごとの短い解説とコードスニペットを紹介してる。
書籍関係
Angular Development with Typescript: Yakov Fain, Anton Moiseev: 9781617295348: Amazon.com: Books
www.amazon.com/Angular-Development-Typescript-Yakov-Fain/dp/1617295345
2018年5月30日発売
AngularとTypeScriptについての本
Amazon.com: TypeScript 2.0 Cookbook eBook: Shiv Shankar Kushwaha: Kindle Store
www.amazon.com/TypeScript-Cookbook-Shiv-Shankar-Kushwaha-ebook/dp/B01CR5GCXY
2018年8月発売
TypeScriptクックブック