タグ

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

  • ハタさんのブログ(復刻版) : やったーjavascriptでScala風のActorできたよー\(^o^)/

    まだ、loopとかreactとか、その辺りが動くかなーって感じで中途ハンパだけど。 元scalaのコード(http://www.scala-lang.org/node/54から転載) abstract class PingMessage case object Start extends PingMessage case object SendPing extends PingMessage case object Pong extends PingMessage abstract class PongMessage case object Ping extends PongMessage case object Stop extends PongMessage object pingpong extends Application { val pong = new Pong val pi

    kwry
    kwry 2011/04/04
  • ハタさんのブログ(復刻版) : Re: Titanium Mobileの暗黒面

    面白いものをみてしまったので、僕も少しだけ ref - Titanium Mobileの暗黒ノウハウを公開します。 - このブログは証明できない。 Object の wrap って出来ないね。ってやつ Titanium.Database まわりを実装していたときのことなんですが DB の処理って大半は CRUD しかないから、それらを楽に扱えるように、wrapper を書こうと思って下記のようなコードを用意してみました。 Titanium.UI.setBackgroundColor('#000'); var copyArray = function(obj){ var result = []; for(var i = 0; i < obj.length; ++i){ result.push(obj[i]); } return result; }; var DatabaseWrapper

  • ハタさんのブログ : javascriptのコンストラクタとか

    偶然、javascriptでMixinとかを読んでいるときに、見付けたのでメモ。 newされたfunctionの参照先は? 突然ですが、javascriptで以下のコードを実行した際、どのような動きをするかわかりますでしょうか? var Hoge = function (){ this.message = 'hoge'; }; Hoge.prototype = { createFoo: function (){ this.message = 'foo'; } }; var hoge = new Hoge; alert('No1: ' + hoge.message); hoge.createFoo(); alert('No2: ' + hoge.message); この場合、想像通り、No1: hoge、No2: fooと表示されます。 では、次のように書いた場合はどう出力されるでしょう?

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

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

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

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

    kwry
    kwry 2007/09/27
  • 1