タグ

ブックマーク / blog.xole.net (6)

  • ハタさんのブログ : Javascriptによる大規模開発の覚え書き

    未だに半年前のエントリにブクマされるみたいなので、もう少しjavascriptについて書いてみる。 今回は大規模化開発におけるJavascriptの注意点とかそういうの。当てはまらない環境の方もいます。(しかも基的な事だらけで大したことは書いてないです) ほぼリッチクライアントを主目的としたjavascripterとコードを対象とします。 どちらかというと、ライブラリを提供する側の視点から 1.ログを出力せよ あなたが書いたコードは遅い、と必ず言われます。なので言われる前から、自分の書いたコードの処理時間をログするようにしましょう。 次のような処理時間を計測するロガーを作ります。 var TraceLog = function (){ this.startTime = -1; var outer = document.getElementById('_outer'); if(oute

  • ハタさんのブログ : Javascriptによる大規模開発の覚え書き。高速化編

    前回書いた「Javascriptによる大規模開発の覚え書き」が凄いことになってました。 今回は、省略した「5.高速化せよ」について書きます。 僕にとってjavascriptは非常に高速な言語です。それは何が高速か 開発速度が高速である 開発速度、及びそこに至るまでの修得速度はとても高速です。動的言語を上手く操る開発者はもちろん、開発に不慣れな(言葉が悪いけど)新人達でさえ「動く」モノをサクっと作ってしまえる。 また、プラットフォーム(? というかブラウザ)が広く普及しているので、ググればスグに問題解決もできる。 それにローカルで簡単に作れる。javascript、それは動作環境を含めて高速です。 高速にUI操作ができる(UI操作が非常に簡単である) swingとかでUI操作をするには多くのオブジェクト操作をしなければならないけど、javascript(もといDHTML)は非常に簡単に

  • ハタさんのブログ : javascriptの暗黒面

    javascript の暗黒面については、ちょっと書かれているので何も言わずもがな。なのですが、最近こういった質問が増えてきたので少し書く。 via - JavaScript の暗黒面を覗く nullはオブジェクトだ! nullは歴史的理由からobjectです。なので、typeofするとobjectって返ってきます。 alert(typeof null); // object なので、この事に気がついている方は次のようなコードを書きます。 if(typeof hoge == 'undefined' || hoge == null){ // do something } たとえば、次のようなコード var hoge = function (a){ if(typeof a == 'number'){ // was number // 数値計算とか return a + 1; } if(type

  • ハタさんのブログ : ticksとregister_shutdown_function

    うおおお!何の意味も分からずテキトーに調べて動かしていたけど、解説されてるよ! 小泉守義のPHPソースコードウォッチ - こんどは register_tick_function() 小泉守義のPHPソースコードウォッチ - register_shutdown_function() すばらしいいい!やっぱ内部コード付きの詳細な情報ってすげー説得力ある。僕もこれくらい書けるようにならねば。 でも、僕はよく調べもしないまま、ガンガン進めちゃったので、こんなことになってます。 プロセス制御(pcntl_)面白いよ!これだけでご飯3杯はいけるよ! このまま進めて、PHPユーザのためのマルチプロセスフレームワークをプロデュースしちゃうぞ!(半分嘘 ってか、セマフォ(sem_)とか共有メモリ(shm_)の違いが分からねー。 共有メモリ(shmop)が楽すぎるのでこれを使ってるけど、何が違うんだろう

    vndn
    vndn 2007/02/08
    ticksとか
  • ハタさんのブログ : PHPでクロージャ

    PHPcreate_functionでクロージャできるんじゃないかな。と思って書いてみた。 そもそもクロージャについて詳しく理解してないけど、PHPでやるならこんな感じでしょうか class closure { protected $sum = 0; public function fib($n){ $this->sum++; if($n == 0){ return 0; } else if($n == 1){ return 1; } else { return $this->fib($n - 1) + $this->fib($n - 2); } } public function calling(){ return $this->sum; } public static function create(){ return new closure; } public function

    vndn
    vndn 2006/05/24
  • http://blog.xole.net/archives/2004-10/03_2159_720.php

    vndn
    vndn 2006/05/09
  • 1