WIP某所で喋るための草稿。
当たり前のことを書く。当たり前のことが、当たり前にできない人へ。JavaScriptだから、当たり前のことをしなくていいと思っている人達へ。
- それぞれのファイルは、可能な限り参照透過な関数を提供する
- それぞれのファイルは、読み込んだだけでは副作用を起こさない
npm i -g nativefier | |
curl https://azu.github.io/in-site-search-javascript/index.js > index.js | |
nativefier --name "ECMAScript" "https://tc39.github.io/ecma262/" --fast-quit --hide-window-frame --show-menu-bar --maximize --inject ./index.js |
#!/usr/bin/env node | |
/* eslint-disable */ | |
/* | |
Usage. | |
: Input generator.yml | |
pkgName: '@x/y' | |
testExtension: .test.js |
var str = 'class ಠ_ಠ extends Array {constructor(j = "a", ...c) {const q = (({u: e}) => {return { [`s${c}`]: Symbol(j) };})({});super(j, q, ...c);}}' + | |
'new Promise((f) => {const a = function* (){return "\u{20BB7}".match(/./u)[0].length === 2 || true;};for (let vre of a()) {' + | |
'const [uw, as, he, re] = [new Set(), new WeakSet(), new Map(), new WeakMap()];break;}f(new Proxy({}, {get: (han, h) => h in han ? han[h] ' + | |
': "42".repeat(0o10)}));}).then(bi => new ಠ_ಠ(bi.rd));'; | |
try { | |
eval(str); | |
} catch(e) { | |
alert('Your browser does not support ES6!') | |
} |
これはredux-middlewaresの紹介です。
Middlewareがどのようなものかついては、非常に分かりやすい記事があるのでそれを貼っておきます。
http://qiita.com/kuy/items/57c6007f3b8a9b267a8e
僕がMiddlewareを活用するようになったのは、この記事を読んでからです。
var webpack = require('webpack') | |
module.exports = function (config) { | |
config.set({ | |
browsers: [ 'Chrome' ], //run in Chrome | |
browserNoActivityTimeout: 60000, | |
singleRun: true, //just run once by default | |
frameworks: [ 'mocha' ], //use the mocha test framework | |
files: [ | |
//'src/**/*.{jsx,js}', |
All of the below properties or methods, when requested/called in JavaScript, will trigger the browser to synchronously calculate the style and layout*. This is also called reflow or layout thrashing, and is common performance bottleneck.
Generally, all APIs that synchronously provide layout metrics will trigger forced reflow / layout. Read on for additional cases and details.
elem.offsetLeft
, elem.offsetTop
, elem.offsetWidth
, elem.offsetHeight
, elem.offsetParent