実装は何となく出来てきた.
後はコレに,「理論,数式,理論評価,実験評価」が加わると,誰も手出しが出来なくなって,勝ちだゼ!
月曜日, 12月 11, 2006
JavaScriptで高階関数
例:
これを,XMLHttpRequestで利用。
function higher_order() {
var add = function (x, y) {
return x + y;
}
var sub = function (x, y) {
return x - y;
}
calc(1, 5, add);
calc(7, 6, sub);
}
function calc(x, y, f) {
return f(x, y);
}
これを,XMLHttpRequestで利用。
function getJson(uri, func) {
var req = new XMLHttpRequest();
req.onreadystatechange = function() {
if (req.readyState == 4 && req.status == 200) {
var linksJson = req.responseText;
var data;
eval("data = " + linksJson);
func(data);
}
}
req.open("GET", uri, true);
req.send(null);
}
function process1() {
var func = function (data) {
// process
}
getJson("hoge.json", func);
}
水曜日, 12月 06, 2006
日曜日, 12月 03, 2006
Ajaxで遊ぶ
Ajaxで作った面白サイトを集めてみる
そんで,極めつけはこのスクリプト(元ネタ)
javascript:R=0; x1=.1; y1=.05; x2=.25; y2=.24; x3=1.6; y3=.24; x4=300; y4=200; x5=300; y5=200; DI=document.images; DIL=DI.length; function A(){for(i=0; i < DIL; i++){DIS=DI[ i ].style; DIS.position='absolute'; DIS.left=Math.sin(R*x1+i*x2+x3)*x4+x5; DIS.top=Math.cos(R*y1+i*y2+y3)*y4+y5}R++}setInterval('A()',5); void(0);
javascriptのデバッガとしては,FireBugがとても優秀なようです.
Firefoxのプラグインとして動くそうですが,ステップ実行や,breakpointの設定,変数のウォッチができる模様.
そんで,極めつけはこのスクリプト(元ネタ)
javascript:R=0; x1=.1; y1=.05; x2=.25; y2=.24; x3=1.6; y3=.24; x4=300; y4=200; x5=300; y5=200; DI=document.images; DIL=DI.length; function A(){for(i=0; i < DIL; i++){DIS=DI[ i ].style; DIS.position='absolute'; DIS.left=Math.sin(R*x1+i*x2+x3)*x4+x5; DIS.top=Math.cos(R*y1+i*y2+y3)*y4+y5}R++}setInterval('A()',5); void(0);
- ブラウザで,画像のたくさんあるページを開く(例:google image)
- ブラウザのURLの欄に,上のjavascriptをコピペ
- おもむろにリターン!
javascriptのデバッガとしては,FireBugがとても優秀なようです.
Firefoxのプラグインとして動くそうですが,ステップ実行や,breakpointの設定,変数のウォッチができる模様.
土曜日, 12月 02, 2006
利用する言語
利用する言語は
Core 部分 : C++
UIへのインターフェース: C++
WEB UI: JavaScript
CLI: Python
データフォーマット: JSON
にしよう.
Javaで無い理由:
Javaは公称値よりも体感が大分遅い
Javaは使うときに不愉快
「Write Once, Run Anyware」とはとても思えない
straceとかで追えない
JVMがおかしいと手出しができない
XMLで無い理由:
Parseがやたら面倒
見難い
JSONに比べて重い
特に優れているとは思えない
Ruby, Perlじゃない理由:
Rubyは遅い
バイトコンパイルして欲しい
RubyもPerlも$を使っているのが嫌
個人的にPythonはCライクでとても見やすい
Core 部分 : C++
UIへのインターフェース: C++
WEB UI: JavaScript
CLI: Python
データフォーマット: JSON
にしよう.
Javaで無い理由:
Javaは公称値よりも体感が大分遅い
Javaは使うときに不愉快
「Write Once, Run Anyware」とはとても思えない
straceとかで追えない
JVMがおかしいと手出しができない
XMLで無い理由:
Parseがやたら面倒
見難い
JSONに比べて重い
特に優れているとは思えない
Ruby, Perlじゃない理由:
Rubyは遅い
バイトコンパイルして欲しい
RubyもPerlも$を使っているのが嫌
個人的にPythonはCライクでとても見やすい
cvsにtagつけた
tag: p2pati-0-4-rc1
Linuxだとコンパイルが通ってなんとなく動くバージョン.
- MacOS XとNetBSDは未検証
- WEB UIは作成中
次は,WEB UIができあがったらRC2にしてタグ付けようっと.
特に問題ない限り,pthreadはちゃんとjoinしたほうがよさげなことがわかった.
Linuxだとコンパイルが通ってなんとなく動くバージョン.
- MacOS XとNetBSDは未検証
- WEB UIは作成中
次は,WEB UIができあがったらRC2にしてタグ付けようっと.
特に問題ない限り,pthreadはちゃんとjoinしたほうがよさげなことがわかった.
通常の3倍速で近付いてきます!
シャアだ…赤い彗星だ…に,逃げろ〜!!
久々に,Pentium M 2GHzをつんだThink Padを使って,NetBSDのコンパイルをしてみるけれど,VMWareや,Pentium III 1GHzを使ったときとは比べ物にならないくらいの速度でコンパイルしてくれる.
はえ〜
しかし,Atokに比べて,Anthyがとてもお馬鹿なので使いづらい…
というわけで,今からユーザーランドをインストールしてみて,おかしくなったら,Debianに移行しようかな.
久々に,Pentium M 2GHzをつんだThink Padを使って,NetBSDのコンパイルをしてみるけれど,VMWareや,Pentium III 1GHzを使ったときとは比べ物にならないくらいの速度でコンパイルしてくれる.
はえ〜
しかし,Atokに比べて,Anthyがとてもお馬鹿なので使いづらい…
というわけで,今からユーザーランドをインストールしてみて,おかしくなったら,Debianに移行しようかな.
金曜日, 12月 01, 2006
Bonjour
BonjourはAppleの開発した,zero configurationによる自動的なIPアドレス設定と,マルチキャストDNSを使ってサービス発見を行うソフトウェアです.
もともとApple Talkが実現していたことを,IPを使って実現します.
- AppleのBonjour紹介ページ
- Apple Developer Connectioのページ
このソフトウェアは,OpenSourceソフトウェアとしてソースコードが公開されており,Apache Lisenseで提供されています.
Bonjourは,基本的にローカルリンク上でしか動かないわけですが,MacOS 10.4からDynamic DNSを使って,違うSubnet間でも利用できるようになっています.
しかしながら,これは,せっかく,DNSサーバを利用せずにサービスを発見できるという利点を無くしてしまっています.
これはとても,勿体ない,というわけなんです.
mDNSResponder-107.6
サンプル ResQuerySample
デモンストレーション用のWEB UIを作ったら,DNS機能と,mDNSをいじっていこうと思うわけです
もともとApple Talkが実現していたことを,IPを使って実現します.
- AppleのBonjour紹介ページ
- Apple Developer Connectioのページ
このソフトウェアは,OpenSourceソフトウェアとしてソースコードが公開されており,Apache Lisenseで提供されています.
Bonjourは,基本的にローカルリンク上でしか動かないわけですが,MacOS 10.4からDynamic DNSを使って,違うSubnet間でも利用できるようになっています.
しかしながら,これは,せっかく,DNSサーバを利用せずにサービスを発見できるという利点を無くしてしまっています.
これはとても,勿体ない,というわけなんです.
mDNSResponder-107.6
サンプル ResQuerySample
デモンストレーション用のWEB UIを作ったら,DNS機能と,mDNSをいじっていこうと思うわけです
登録:
投稿 (Atom)