Skip to content

Instantly share code, notes, and snippets.

@uupaa
uupaa / package.json.md
Last active Aug 29, 2015
The own field add to package.json.
View package.json.md

npm の設定ファイル package.json は、 https://www.npmjs.org/doc/files/package.json.html で定義されているフィールドの他にも、 貴方好みの独自のフィールドを追加した状態で、 npm publish が可能です(単にエラーにならないという話です)。

たとえば、npm モジュールの雛形 Xxx.js の package.json では、 "build": { ... } フィールドを追加しています。

{
  "name":           "uupaa.xxx.js",
  "version":        "0.8.3",
  "description":    "",
@uupaa
uupaa / XHR Lv2 act.md
Last active Aug 29, 2015
XHR Lv2 act
View XHR Lv2 act.md
<script>
function successCase() {
  var href = location.href;

  console.log(href);

  var xhr = new XMLHttpRequest();

  xhr.onreadystatechange = function(event) {
@uupaa
uupaa / Help.js and WebModule slide introduction.md
Last active Aug 29, 2015
Help.js and WebModule slide introduction.
View Help.js and WebModule slide introduction.md

折角の 4/1 なので、スライドを2つご紹介します。

Help.js

1つ目は、 [Help.js][] です。

これは、リア充だったり家族サービスが忙しかったり、マルチタスクが下手だったりで、
「あれもこれもやらないと」
「あとドキュメントも書かなきゃなんだけど… もっと優先度が高いものがありすぎて…」と、
常に時間不足で、ドキュメントを書けないような状態の人が、

@uupaa
uupaa / Perry.md
Created Apr 16, 2014
ゆっくりペリーさん2010
View Perry.md

Copy from http://pigs.sourceforge.jp/blog/20100821/demo/LT/20100821/

// === Global namespace pollution ==========================
var uu, // core and class namespace
    UU, // const and config namespace
    uudoc = document; // document cache

// === Core ================================================
@uupaa
uupaa / gist:7d02cdbe4cc3576a4abb
Created May 8, 2014
node repl mode, command line
View gist:7d02cdbe4cc3576a4abb

node コマンドの引数

node コマンドの引数は $ node -h で見ることができます。

node -h

Usage: node [options] [ -e script | script.js ] [arguments]
       node debug script.js [arguments]
@uupaa
uupaa / CanvasProfiles.md
Last active Aug 29, 2015
Chrome Canvas Profile Capture
View CanvasProfiles.md

Canvas Profiles の使い方

Chrome の DevTools に搭載されている Canvas Profiles (Canvas Capture) を使うと、Canvas API の発行状況が可視化されます。

Canvas Profiles を使うための準備

chrome://flags/#enable-devtools-experiments を開き、
デベロッパー ツールのテストを有効にする をクリックし、Chrome を再起動してください。

DevTools の設定(歯車のアイコン)をクリックして、 左側の Experiments から Canvas inspection をチェックし、設定画面を閉じます。

@uupaa
uupaa / MobileSafari.ChangeLog.md
Last active Aug 29, 2015
Mobile Safari ChangeLog
View MobileSafari.ChangeLog.md

iOS 5 MobileSafari

  • Web Workers が実装されました
  • XMLHttpRequest Lv2 が実装されました
  • CSS Position: fixed が実装されました
  • Appnize(Homeに追加)したページでもJITが有効になりました
  • <meter>, <detail>, <summary> が実装されました
  • <input type="..."> が range, date, time, datetime, month, datetime-local をサポートしました
  • Inline SVG をサポートしました
  • Token List API を実装しました。 body.classList.add("CSS-CLASS-NAME") が可能になりました
@uupaa
uupaa / __dirname.md
Created Jun 12, 2014
node current dir __dirname
View __dirname.md
var path = require("path");
var fs = require("fs");

var package = JSON.parse( fs.readFileSync( path.resolve( __dirname, "../package.json"), "utf8"));

console.log(package);
@uupaa
uupaa / game.fps.js
Created Sep 3, 2014
Game fps setTimeout setInterval requestAnimationFrame
View game.fps.js
(function(global) {
function Game(after) { // @arg Boolean = false
this.init();
this._vsync.tick = _loopVsync.bind(this);
this._timer.tick = after ? _loopAfter.bind(this) : _loopBefore.bind(this);
this._interval.tick = _loopInterval.bind(this);
document.body.innerHTML +=
"<br />" +
(after ? "--- After ---" : " ---Before ---");
@uupaa
uupaa / getAllNodeEventListeners.md
Last active Aug 29, 2015
getAllNodeEventListeners
View getAllNodeEventListeners.md

以下の snippet を Chrome の DevTools で使うと、ページ内に仕掛けられた全てのEventListenersの設定元の一覧をダンプし、コードの位置を辿ることや、<scoped> な Closure Object(スコープ内の変数等) を参照することができます。

(ა✘﹏✘)ა イベントリスナーが沢山あってもう何がなんだかわからないんですー

な、状況や、パフォーマンス・チューニングで泣きつかれた時に、

(ε・◇・)з o O ( なるほど… お困りのご様子…
(ε・◇・)з o O ( では、ちょっとキーボードをお借りしますね…

と、華麗に console にタイプするのが、以下のコードになります。

You can’t perform that action at this time.