latest log

酩酊状態で書いたエンジニアポエムです。酩酊状態で読んでください。

2012-01-01から1年間の記事一覧

Number#lazy をやめて Number#wait にしたいメモ

Number#lazy を作ってみて、 メソッド名の改善と引数の並びに改善可能な点を感じたので、 Number#lazy は廃止して Number#wait にして、さらに引数変えるかもよの巻。何を考えてAPIの変更を行なったかメモNumber#lazy の実装はこうなっています。 // Number#…

さいきんのもふもふ

mofmof.js でクラス // 汎用クラスHogeを定義する mm.Class("Hoge", { ... }); // SuperClassを継承した汎用クラスHogeを定義する mm.Class("Hoge:SuperClass", { ... }); // シングルトンなクラスHogeを定義する mm.Class.singleton("Hoge", { ... }); // …

x3.js JavaScript rapidly reloader release

x3.js というものを創ってみました。 http://code.google.com/p/x3-js/JavaScript をキャッシュしておき、JavaScript ロード時に発生するボトルネック/ブロッキングやネットワークアクセスコストをゼロにしようという、ありそうでなかったライブラリです。We…

簡単ログインの終焉 x ガラケーとCookie x そしてFlashLite

ガラケー(FP:フィーチャーフォン)周りの整理整頓と、ソーシャルカードゲーム界隈はいつまで FlashLite1.1 縛りなのかな? 調べ。2009年当時は、FlashLite1.1 での開発がデファクト Flash Lite入門講座 第1回 日本のFlash Liteの仕様 | デベロッパーセンター(ε…

IE 6, IE7, IE 8 でキャッシュしておいた文字列を、動的に生成した script 要素に設定し、文字列を JavaScript として評価する方法

IE 8 で文字列から動的に script 要素を生成したい時もあると思います。 オフラインにキャッシュしておいた文字列を JavaScript として評価したい場合などです。 こうすると動作します IE6 ~ IE8 専用です。 var script = document.createElement("script")…

ライブラリをキャッシュし読み込み速度 x3.js にするライブラリを書いてみた (書きかけ

(ε・◇・)з きえまみた (ε・◇・)っ x3.js JavaScript rapidly reloader release - latest log

関数の引数を増やすことでバグを生み出してしまう事がある。 という話

(ε・◇・)з いつも JavaScript のローレベルな話題をお届けしています~ (ε・◇・)з このブログは今日も平常運転です~ さて、引数を1つしか持たない単純な関数は不便なのでしょうか? 便利なのでしょうか?このエントリでは、 引数を1つしか持たない単機能な関…

mofmof.js の Future でシンプルに非同期処理を記述する

以下は、画像を3つ読み込み全て読み込み後に canvas でまとめて描画するコードです。http://mofmof-js.googlecode.com/svn/trunk/test/base.js.htm に行き、コンソールに以下のコードを貼り付けると動作します。 (function() { var images = [ "http://www.g…

IE 6, IE 7, IE 8 が退場した未来

Internet Explorer の自動アップグレードについて | TechNet長かった… 本当に長かった… やっと、IE 6, IE 7 が居なくなるのですね…uupaa.js ver 0.8 に埋まっている処理から情報を抜き出し IE 6, IE 7, IE 8 が居なくなった未来では何が可能になるのか抜粋し…

話の流れで AKB48(), AKB48.decode() をガーッて。30分でガーッて作ってみたよ

(ε・◇・)з AKB48 って Base64 の亜種かなんかでしょ? (ε・◇・)з でもちょっと余るんだな… 何個か抜かなきゃ…(ε・◇・)з じゃあ A, K, B, 4, 8 と、恋愛禁止らしいので L, O, V, E も抜いちゃいますか! Base64: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrs…

mofmof.js の Unit Test(ver 2) - もっと短く簡単に書けるよ

mofmof.js にはユニットテスト機能があり、同期/非同期テストの混在や遅延評価もシンプルに記述できます。以下のコードは、http://mofmof-js.googlecode.com/svn/trunk/test/base.js.htm でテストできます。(ε・◇・)з mofmof.js には Unit Test 機能が最初か…

mofmof.js のUnit Test機能

mofmof.js にはユニットテスト機能があり、同期/非同期テストの混在や遅延評価もシンプルに記述できます。以下のコードは、http://mofmof-js.googlecode.com/svn/trunk/test/base.js.htm でテストできます。 同期/非同期の混在 String#test は String#stream…

mofmof.js のログ機能

mofmof.js に実装されている4種類のログ出力機能を紹介します。 Local Remote Graph 機能 mm.log ○ ○ -- コンソールやサーバのログに文字列を出力します mm.log.warn ○ ○ -- コンソールやサーバのログに警告文字列を出力します mm.log.error ○ ○ -- コンソー…

HTML5 canvas bench: particle 30000

gist.github.com

Future と Stream という同期/非同期処理の混在をシンプルにコード化できる車輪を再発明したよ

Script Junkie | Creating Responsive Applications Using jQuery Deferred and Promises (日本語訳: jQueryのDeferredとPromiseで応答性の良いアプリをー基本編 | ゆっくりと… ) をみて、(ε・◇・)з Deferred… Promise… お 覚えられん… (ε・◇・)з 脳みそちっ…

uupaa looper 見っけたよー

(ε・◇・)з hasOwnProperty を使った for in ループより 20%~84% 低コストな、うーぱー式 ループのご紹介だよ~ Object.keys を使い、key を列挙することで、hasOwnProperty を使った for in ループよりも速くなります。 var keys = Object.keys(obj), i = 0…

デバッグする人にやさしいコードの書き方というものがあります

(ε・◇・)з 分かりやすいコードは、ステップ実行もしやすいのです! (ε・◇・)з ループの先頭に、滅多に通らない大きな塊を配置するのはダメなのです! (ε・◇・)з ポチポチする毎に画面がスクロールするのは、余計なストレスなのです! (ε・﹏・)з ブラウザのデバ…

JavaScript クイズ

(ε・◇・)з さあみんな、クイズの時間だよ問1. クォート( " と ' )を使わずに ["1"] を作ってみよう。 問2. 以下のコードはクロスブラウザでしょうか? YES / NO [void 0, null, 0].sort(function() { return 0; }); (ε・◇・)з 珍回答ができたら @uupaa までー…

各ブラウザ毎の window.requestAnimationFrame の実装状況

window.requestAnimationFrame と window.webkitCancelRequestAnimationFrame の実装状況のメモです。 // --------------------------------------- // WebKit // Chrome 16 ready // Safari 5.1.2 not ready // iOS 5.0.1 not ready // Chrome for Android …

CSSのセレクタ部分(IDやCLASS)にハイフンとか使われるの好きじゃないなー。ボクはあまり好きじゃないなー

「CSS の ID 名や CLASS 名の単語の連結にハイフンを使うべき、キャメルケースとかアンダーバーとかダメ」的な主張を去年ぐらいにどこかで読んだ記憶があるのですが(うろおぼえ)、 /* たしか… これがオススメのスタイルで */ .hoge-huga-piyo {...} /* これ…

loop unwinding - ループ展開(先におまとめ, 後からおまとめ)

ループ展開使ってますか? 8の倍数でバルクループさせると、普通に回すより効率いいですよ?定番のループ展開も 先にまとめてやる 後からまとめてやる の2つの方法で記述する事ができます。 // loop unwinding type1 - 先にやる function loop1(n) { var now =…

0~100までの数値を2つランダムに選択し小さな値と大きな値を表示する

お題「0~100までの数値を2つランダムに選択し小さな値と大きな値を表示する」を mofmof.js でコード化するとこんな感じになります。 0..to(100).shuffle(2).nsort().f("small = @@, big = @@"); // -> "small = 2, big = 43" 素の JavaScript で同様の処理…

コンソールに階層構造付きで呼び出し履歴(トレース)を出してみる。出来るだけダーティーな実装で

階層付きのトレース出力をこのような感じで実装します。 (function(global) { function console_q() { function begin() { console.log(repeat("|", nest) + "+- " + fname + "(" + slice.call(args).join(",") + ")"); } function q() { console.log(repeat…