Skip to content

Commit aacbc67

Browse files
bors[bot]azuprobot-for-jser-info[bot]
committed
Merge #587
587: 2019-02-19のJS: Mocha 6.0.0、Fly(Edge Applications)、サードパーティJavaScriptの実行コスト r=azu a=azu * [Release v6.0.0 · mochajs/mocha](https://github.com/mochajs/mocha/releases/tag/v6.0.0 "Release v6.0.0 · mochajs/mocha") * [Fly · Edge Applications](https://fly.io/ "Fly · Edge Applications") * [cerebral/overmind: Overmind - Frictionless state management](https://github.com/cerebral/overmind "cerebral/overmind: Overmind - Frictionless state management") Co-authored-by: azu <[email protected]> Co-authored-by: azu <[email protected]> Co-authored-by: probot-for-jser-info[bot] <probot-for-jser-info[bot]@users.noreply.github.com>
2 parents d126511 + 2c9e873 commit aacbc67

File tree

1 file changed

+207
-0
lines changed

1 file changed

+207
-0
lines changed
Lines changed: 207 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,207 @@
1+
---
2+
title: "2019-02-19のJS: Mocha 6.0.0、Fly(Edge Applications)、サードパーティJavaScriptの実行コスト"
3+
author: "azu"
4+
layout: post
5+
date : 2019-02-19T00:34:08.205Z
6+
category: JSer
7+
tags:
8+
- mocha
9+
- cdn
10+
- JavaScript
11+
12+
---
13+
14+
JSer.info #423 - Mocha 6.0.0がリリースされました。
15+
16+
- [Release v6.0.0 · mochajs/mocha](https://github.com/mochajs/mocha/releases/tag/v6.0.0)
17+
18+
Node.js 4のサポート終了、`--compiler`などの非推奨となっていたコマンドラインオプションを削除が行われています。
19+
また、`require`のキャッシュを削除する`Mocha.unloadFile`の追加、`.mocharc.js``package.json`に設定を書けるRCファイルをサポートしています。
20+
21+
----
22+
23+
[Fly · Edge Applications](https://fly.io/)というサービスでは、CDNのEdge LocationでJavaScript Applicationを動かせます。
24+
FlyではV8をベースにした実行環境で、[Fly runtime](https://github.com/superfly/fly)を使いLB、Cache、TLS、Networkに関する処理をEdgeで行えます。
25+
[Cloudflare Workers](https://www.cloudflare.com/ja-jp/products/cloudflare-workers/)のようにService Worker互換のAPIをサポートしていたり、ローカルでのテスト実行などもサポートしているようです。
26+
27+
----
28+
29+
[patrickhulce/third-party-web](https://github.com/patrickhulce/third-party-web)というリポジトリでは[HTTP Archive](https://httparchive.org/)のクロール結果から調査したサードパーティスクリプトの実行コストがまとめられています。
30+
広告、アクセス解析、SNS、動画などのカテゴリ別に、利用数や実行にかかった平均の時間などがまとめられています。
31+
32+
サードパーティスクリプトがウェブページを占める割合については、次の記事も合わせてみると面白いかもしれません。
33+
34+
- [SpeedCurve | JavaScript growth and third parties](https://speedcurve.com/blog/javascript-growth/)
35+
36+
37+
----
38+
39+
<h1 class="site-genre">ヘッドライン</h1>
40+
41+
----
42+
43+
## Bootstrap 4.3.0 | Bootstrap Blog
44+
[blog.getbootstrap.com/2019/02/11/bootstrap-4-3-0/](https://blog.getbootstrap.com/2019/02/11/bootstrap-4-3-0/ "Bootstrap 4.3.0 | Bootstrap Blog")
45+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">CSS</span> <span class="jser-tag">ReleaseNote</span></p>
46+
47+
Bootstrap 4.3.0リリース。
48+
`.stretched-link``.text-break``.rounded-sm``.modal-dialog-scrollable``.list-group-horizontal`のクラスの追加など
49+
50+
51+
----
52+
53+
## Release: [email protected] - 📣 announcements - npm forum
54+
[npm.community/t/release-npm-6-8-0/5352](https://npm.community/t/release-npm-6-8-0/5352 "Release: [email protected] - 📣 announcements - npm forum")
55+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">npm</span> <span class="jser-tag">ReleaseNote</span></p>
56+
57+
npm 6.8.0リリース。
58+
monorepo対応として`repository`フィールドの`directory`プロパティでのパッケージディレクトリの指定についてのドキュメントを追加など
59+
60+
61+
----
62+
63+
## Node v11.10.0 (Current) | Node.js
64+
[nodejs.org/en/blog/release/v11.10.0/](https://nodejs.org/en/blog/release/v11.10.0/ "Node v11.10.0 (Current) | Node.js")
65+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">node.js</span> <span class="jser-tag">ReleaseNote</span></p>
66+
67+
Node v11.10.0リリース。
68+
npm 6.7.0を同梱するように、`perf_hooks`にhistogramベースのAPIを追加、`tls`モジュールのクライアントに`session`イベントを追加など
69+
70+
71+
----
72+
73+
## Release v1.2.0 · rollup/rollup
74+
[github.com/rollup/rollup/releases/tag/v1.2.0](https://github.com/rollup/rollup/releases/tag/v1.2.0 "Release v1.2.0 · rollup/rollup")
75+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">bundler</span> <span class="jser-tag">ReleaseNote</span></p>
76+
77+
Rollup 1.2.0リリース。
78+
Hoisting時に変数名を衝突しないようにするためのリネームロジックを再実装、configファイルをCJSとしてexportしてもエラーとならないように修正など
79+
80+
81+
----
82+
83+
## Release v6.0.0 · mochajs/mocha
84+
[github.com/mochajs/mocha/releases/tag/v6.0.0](https://github.com/mochajs/mocha/releases/tag/v6.0.0 "Release v6.0.0 · mochajs/mocha")
85+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">node.js</span> <span class="jser-tag">testing</span> <span class="jser-tag">ReleaseNote</span></p>
86+
87+
Mocha 6.0.0リリース。
88+
Node.js 4のサポート終了、非推奨のコマンドラインオプションを削除、`Mocha.unloadFile`の追加、RCファイルでの設定をサポートなど
89+
90+
91+
----
92+
<h1 class="site-genre">アーティクル</h1>
93+
94+
----
95+
96+
## Replacing a hot path in your app's JavaScript with WebAssembly  |  Web  |  Google Developers
97+
[developers.google.com/web/updates/2019/02/hotpath-with-wasm](https://developers.google.com/web/updates/2019/02/hotpath-with-wasm "Replacing a hot path in your app's JavaScript with WebAssembly  |  Web  |  Google Developers")
98+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">WebAssembly</span> <span class="jser-tag">article</span> <span class="jser-tag">JavaScript</span></p>
99+
100+
処理速度が重要な部分だけをwasmで書くという話。
101+
JavaScript、C、AssemblyScript、Rustの比較
102+
103+
104+
----
105+
106+
## Trusted Types help prevent Cross-Site Scripting  |  Web  |  Google Developers
107+
[developers.google.com/web/updates/2019/02/trusted-types](https://developers.google.com/web/updates/2019/02/trusted-types "Trusted Types help prevent Cross-Site Scripting  |  Web  |  Google Developers")
108+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">Chrome</span> <span class="jser-tag">XSS</span> <span class="jser-tag">HTML</span> <span class="jser-tag">JavaScript</span> <span class="jser-tag">article</span></p>
109+
110+
Chrome 73でTrusted Typesがフラグ付きで実装され、76までOrigin Trialとして試せる。
111+
TrustTypesはXSSのsinkとなる部分をポリシーでチェックする。
112+
ポリシーに一致しない場合はエラーに落とすことで回避するAPIと仕組み
113+
114+
115+
----
116+
117+
## Constructable Stylesheets: seamless reusable styles  |  Web  |  Google Developers
118+
[developers.google.com/web/updates/2019/02/constructable-stylesheets](https://developers.google.com/web/updates/2019/02/constructable-stylesheets "Constructable Stylesheets: seamless reusable styles  |  Web  |  Google Developers")
119+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">CSS</span> <span class="jser-tag">JavaScript</span> <span class="jser-tag">article</span></p>
120+
121+
Chrome 73で実装されたConstructable Stylesheetsについて。
122+
共有できるCSSオブジェクトを作成して複数のShadow RootsやDocumentに対して当てられるAPI。
123+
124+
125+
----
126+
127+
## Rendering on the Web  |  Web  |  Google Developers
128+
[developers.google.com/web/updates/2019/02/rendering-on-the-web](https://developers.google.com/web/updates/2019/02/rendering-on-the-web "Rendering on the Web  |  Web  |  Google Developers")
129+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">browser</span> <span class="jser-tag">performance</span> <span class="jser-tag">article</span> <span class="jser-tag">ServiceWorker</span></p>
130+
131+
CSR(クライアントサイドレンダリング)からSSR(サーバサイドレンダリング)などのウェブサイトのレンダリング手法やそれぞれの利点や欠点などをまとめた記事。
132+
またService Workerを前提としたTrisomorphic Renderingについてなど
133+
134+
135+
----
136+
<h1 class="site-genre">スライド、動画関係</h1>
137+
138+
----
139+
140+
## cerebral/overmind: Overmind - Frictionless state management
141+
[github.com/cerebral/overmind](https://github.com/cerebral/overmind "cerebral/overmind: Overmind - Frictionless state management")
142+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">library</span> <span class="jser-tag">React</span> <span class="jser-tag">Vue</span> <span class="jser-tag">Angular</span> <span class="jser-tag">TypeScript</span></p>
143+
144+
ステート管理ライブラリ。
145+
副作用をeffectsとして実装し、actionを発行して、Proxyを使ったStateの変更検知してViewの更新を行う。
146+
React、Vue、Angularに対応したバインディングと開発者ツールが用意されている。
147+
148+
- [Overmind - Frictionless state management](https://overmindjs.org "Overmind - Frictionless state management")
149+
- [Overmind introduction - YouTube](https://www.youtube.com/watch?v=82Aq_ujnBQw "Overmind introduction - YouTube")
150+
151+
----
152+
<h1 class="site-genre">サイト、サービス、ドキュメント</h1>
153+
154+
----
155+
156+
## patrickhulce/third-party-web: Summary of which third party scripts are most responsible for excessive JavaScript execution on the web.
157+
[github.com/patrickhulce/third-party-web](https://github.com/patrickhulce/third-party-web "patrickhulce/third-party-web: Summary of which third party scripts are most responsible for excessive JavaScript execution on the web.")
158+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">performance</span> <span class="jser-tag">browser</span> <span class="jser-tag">JavaScript</span></p>
159+
160+
HTTP Archiveのデータを元にしたウェブサイトにおけるサードパーティスクリプトの実行コストについての調査結果。
161+
広告、アクセス解析、SNS、動画などの項目別に利用数や実行にかかった平均の時間などのまとめ。
162+
163+
164+
----
165+
166+
## Fly · Edge Applications
167+
[fly.io/](https://fly.io/ "Fly · Edge Applications")
168+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">cdn</span> <span class="jser-tag">webservice</span> <span class="jser-tag">V8</span></p>
169+
170+
Edge ApplicationをJavaScriptで書けるCDNサービス。
171+
OSSで公開されているfly runtimeを使いLB、Cache、TLS、Networkに関する処理をEdgeで行える。
172+
Service Worker互換のAPIも用意されていて、ローカルでもserverを立ててテストできるようになっている。
173+
174+
- [superfly/fly: Fly is an edge application runtime that makes it easy to build CDNs](https://github.com/superfly/fly "superfly/fly: Fly is an edge application runtime that makes it easy to build CDNs")
175+
176+
----
177+
<h1 class="site-genre">ソフトウェア、ツール、ライブラリ関係</h1>
178+
179+
----
180+
181+
## postlight/mercury-parser: 📜 Extracting content from the chaos of the web.
182+
[github.com/postlight/mercury-parser](https://github.com/postlight/mercury-parser "postlight/mercury-parser: 📜 Extracting content from the chaos of the web.")
183+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">library</span></p>
184+
185+
ウェブサイトからメタデータやメインコンテンツを抽出するライブラリ
186+
187+
188+
----
189+
190+
## transloadit/uppy: The next open source file uploader for web browsers
191+
[github.com/transloadit/uppy](https://github.com/transloadit/uppy "transloadit/uppy: The next open source file uploader for web browsers")
192+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">library</span></p>
193+
194+
プラグインで拡張できるファイルアップロードライブラリ。
195+
UI、ローカルやリモートからのリソースの取得やアップロード先などをプラグインで指定できる。
196+
197+
198+
----
199+
200+
## modernserf/zebu: A compiler for little languages in tagged template strings
201+
[github.com/modernserf/zebu](https://github.com/modernserf/zebu "modernserf/zebu: A compiler for little languages in tagged template strings")
202+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">library</span> <span class="jser-tag">document</span></p>
203+
204+
tagged template literalを使いミニ言語を作成するライブラリ。 構文を定義して、それを扱うtagged funcitonを作成する。
205+
206+
207+
----

0 commit comments

Comments
 (0)