go 1.8、19 のベータ版や RC 版は go get コマンドでインストールできる。 # https://twitter.com/golang/status/894686139361120256 # https://godoc.org/golang.org/x/build/...
h2o の CGI として node.js のスクリプトを動かしてみた。macOS の場合、#!/usr/bin/env node がエラーになった。 #!/usr/local/bin/node console.log('Content-type: tex...
ふと h2o で Go の CGI を試したくなったので書いてみた。 package main import "fmt" func main() { fmt.Print("Content-type: text/plain; charset=utf-8nn") fmt.Pr...
browserify の復習。ES2015 とそれ以降の標準をまとめて導入できる babel-preset-env、 コードを圧縮してくれるbabel-preset-babili を一緒に導入する。 yarn ...
開発に必要なツールが一通りそろっている。 yarn global add create-react-app create-react-app my-app cd my-app yarn start
npm よりも高速にダウンロードできる yarn が広まってきています。npm 5.2 で npx が導入され、package.json の scripts でサブコマンドを自分で定義する�...
Facebook が開発している Jest を使い始めることにした。 yarn add --dev jest // sum.js function sum(a, b) { return a + b; } module.exports = sum; // sum.tes...
Promise.all を使う。 const p1 = new Promise((resolve, reject) => { setTimeout(() => { console.log("p1 を実行しています。"); resolve("p1"); }, 10...
HTTP リクエストのように処理が一定の時間を超える場合、エラーとして扱う必要がある場合、 Promise.race を使う。Bluebird を使ったコードの例は次�...
コールバック地獄のコードの例を見ると、そのままでは実行できないものばかりなので、setTimeout を題材にすることにした。 let msg = "Hello"; s...
chrome://flags/ で Experimental Web Platform features を有効にすれば ES2015 モジュールを利用できるようになりました。 type 属性の値に module を指定します。...
MacOS の場合、Bash で次のエイリアスを定義する。 alias chrome="/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" スクリーンショットをとってみま...
async/await に馴れた後でジェネレーターを再学習することにした。ジェネレーターのコードの実行には co を導入。 const co = require('co'); co(functio...
Bluebird.js が用意している Promise.delay に相当する関数を自分で定義してみよう。 function delay(ms) { return new Promise((resolve) => setTimeout(resolve, ms...
TC39 で Promise.try が提案されている。2017年7月時点でステージ1。 通常の Promise のコンストラクターと比べて resolve と reject のコールバックを指定�...
Promise.reject には文字列以外に Error のインスタンスを渡すこともできる。 const p = Promise .reject(new Error('fail')) .then(() => console.log('then')) ...
tc39 で Promise.prototype.finally が提案されている。 const p = Promise.resolve('Hello') .then(value => console.log('then', value)) .finally(() => console.log('finally...
Emscripten は homebrew でインストールできる。 brew install emscripten バージョンをチェックしてみよう。 emcc -v 設定ファイルの ~/.emscripten が生�...
Node.js の通常版、開発版に加えて ChakraCore の通常版および開発版を利用するために nvm から nvs (Node Version Switcher) に乗り換えました。 nvm は通常版...
TypeScript 2.3 で AsyncIterator を試してみた。 import 'core-js/shim'; function sleep(ms = 0) { return new Promise(r => setTimeout(r, ms)); } async function* g() { ...