Skip to content

Instantly share code, notes, and snippets.

@uupaa
uupaa / getAllNodeEventListeners.md
Last active August 29, 2015 14:06
getAllNodeEventListeners

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

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

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

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

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

@uupaa
uupaa / fs.md
Last active August 29, 2015 14:06
  • StorageLimit
    • NW-Z1050 33MB
    • Nexus 7 770MB
  • iPhone5 IndexedDB は blob は非サポート、arraybuffer では 200MB 以上利用可能。500MB使っても落ちない

Webkit does not support Blob in IndexedDB.

http://trac.webkit.org/changeset/163923 - IDB: Reimport storage/indexeddb tests from Blink

@uupaa
uupaa / VDOM.spec.md
Last active August 29, 2015 14:06
VDOM

VDOM Tree

  • import from DOM
  • export to DOM
  • traverse するためのAPIセットを考える
  • 差分の抽出と反映方法を考える
  • node.offsetLeft みたいなリフローを伴うパターンをどうするか考える
  • undo/redo とタイムラインAPIを考える
@uupaa
uupaa / webmodule.misc.js
Created October 11, 2014 19:45
webmodule misc
#!/usr/bin/env node
(function(global) {
var _USAGE = _multiline(function() {/*
Usage:
misc [--help]
[--verbose]
[--travis]
[--jshint]
@uupaa
uupaa / au.md
Last active August 29, 2015 14:08
AU feature phone device id scraping script
@uupaa
uupaa / murmur.test.c
Last active August 29, 2015 14:09
xxhash and murmur test code
// see https://github.com/uupaa/Hash.js
#include <stddef.h> /* size_t */
#include <stdlib.h>
#include <string.h>
#include <stdint.h>
#include <stdio.h>
uint32_t murmur3_32(const char *key, uint32_t len, uint32_t seed) {
static const uint32_t c1 = 0xcc9e2d51;
@uupaa
uupaa / module.md
Last active August 29, 2015 14:10
solve the module dependency tree.
// モジュールリスト
    var list = [
      "nodemodule",
      "console",
      "valid",
      "help",
      "task",
      "test",
@uupaa
uupaa / Math.imul.md
Last active August 29, 2015 14:10
Math.imul

こちらは、shibukawa さんのエントリ へのアンサー・ソング的な何かです。

Math.imul を使うと、C言語のコードを原型を維持したまま JavaScript に変換することができます。
これにより、派生版の実装がだんだんC言語版から取り残されていく(Box2D的な残念な)現象を最小限にできるのではないでしょうか。

高速なHash関数 xxhash.c を JavaScript に変換した WMXXHash.js を例に説明するとこのようになります。

若干のコーディングスタイルの変化(JSHint対策)や、UINT32 な変数を5個作り出すために new Uint32Array(5) を使うというアイデアが入っていますが、変数名などは基本的にC言語のコードのままにしてあります。

@uupaa
uupaa / Canvas.toBlob.md
Created December 16, 2014 11:20
Canvas.toBlob
function Canvas_toBlob(canvas,   // @arg HTMLCanvasElement
                       callback, // @arg Function - callback(blob:Blob)
                       type) {   // @arg MimeTypeString = "image/png"
    type = type || "image/png";

    if (canvas.toBlob) {
        canvas.toBlob(callback, type);
    } else {
 var dataURL = canvas.toDataURL(type);
@uupaa
uupaa / WMColor.md
Created December 28, 2014 21:38
color
#summary mm.color - parse and arrange color
#sidebar TableOfContents

== mm.color ==
mm.color は色を表す文字列やオブジェクトを受け取り、色の相互変換を行う mm.Class.Color のインスタンスを生成し返します。

mm.color(_color_:!NamedColorString/RGBAHash/HSLAHash/HSVAHash/!ColorArray/Color/Number = 0):Color

|| !*TypedName*        || *Type* || *Subject* ||