2007-11-01から1ヶ月間の記事一覧

メソッドを適用?

「関数を適用」は分かるけど、メソッドは状態があるからびみょー。

cofsかわいいよcofs

DEV

http://www.si-linux.co.jp/wiki/silinux/index.php?CoLinux%20TIPS#k3d0141e VirtualBoxの共有ディレクトリみたいな機能を探してたら、colinuxにもちゃんとあった。 これで、ローカルのeclipseのwarkspaceをマウントして、colinuxでmongrelを動かすというこ…

ぶつぶつ…

ユーザスレッドだから、基本的にマルチプロセスじゃないと性能でないっていう割り切りなのかしらん? mongrelはスレッド使ってるけど、性能はどうなんだろう?

Luaに渡したユーザデータ

マークする必要があるような…

Rua 0.3.2-b4

http://storehouse.sakura.ne.jp/rua/beta/ Luaに渡されたRubyオブジェクトは全部、Ruaインスタンスが死なない限りはメモリを解放しないようにした。LuaのGCと同期するのがいいんだろうけど、うまいやり方が思いつかない…

ensure節は戻り値にならない

irb(main):001:0> begin irb(main):002:1* 1 irb(main):003:1> ensure irb(main):004:1* 2 irb(main):005:1> end => 1

Rua 0.3.1

http://rua.rubyforge.org/ http://storehouse.sakura.ne.jp/rua/ 例外が投げられたら処理を中止するようにした。 require 'rua' rua = Rua.new(:all) #rua.abort_by_error = false rua.errfunc = lambda do raise 'xxxxx' end rua.eval(<<-EOS) errfunc() p…

文字列リテラルはstatic

C

http://www.bohyoh.com/CandCPP/FAQ/FAQ00058.html 知らなかった。 自動変数の配列と同じで関数を抜けると解放されるものかと思ってた。

Rua 0.3.0

http://rua.rubyforge.org/ なんかRubyForgeでミラーリングされていないようなので↓においときます。 http://storehouse.sakura.ne.jp/rua/ 変更点 例外ハンドラにデバッグ情報を渡すようにした 関数のデバッグ情報を取れるようにした require 'rua' require…

Rua 0.2.4

http://rua.rubyforge.org/ http://rubyforge.org/frs/?group_id=4845&release_id=16541 Luaからブロック付のメソッドを呼び出せるようにした。 酔っ払いながら実装したんでかなり危険かも。 require 'rubygems' require 'rua' rua = Rua.new(:all) rua.rang…

ブロックとlambda

Ruaでエラーハンドラを設定するとこで、妙な違和感があって、少しだけもやもやしていたけど、原因が分かった。 Rua.new(lamda {|e| puts e }) Rua#newにブロックを渡さないで、lambdaでProcを渡しているから妙なごちゃごちゃ感があったんだ。 「じゃあ、まあ…

同じ構造体の参照

RuaFuncが生きているうちに、Ruaが回収されたら困るな…freeはRuaでやってるし。 どうすればいいだろう? RuaFuncの実体で、RuaをVALUEとして持っとけば、GCの対象から外れないかなー。

alloca

C

http://msdn2.microsoft.com/ja-jp/library/wb1s57t5(VS.80).aspx alloca便利そうだなーと思ったら、Windowsでも使えそう。

The Dependencies system isn't thread safe

http://dev.rubyonrails.org/ticket/9155 Railsのスレッドまわりはもういやぁぁぁ… …というか、Railsでマルチスレッドやってるのが変なんだ。うん。 Railsを採用する前にマルチプロセスでどれだけスケールアウトできるか、よくよく考えたほうがいいと思う。…

lua_pushlightuserdata

LuaでCのクロージャを作るときに lua_pushlightuserdata(L, (void *) rbval); lua_pushlightuserdata(L, (void *) error_handler); lua_pushlightuserdata(L, (void *) secure); とかやってるけど、パラメータがふえたらヤなんで、error_handlerとかsecureを…

拡張ライブラリでRDoc

拡張ライブラリのRDoc書くのメンドクセとか思ってたら、Cのファイルも読み込んでくれた! 便利♪便利♪

VS2005と作成物の配布

http://www.microsoft.com/japan/msdn/vstudio/express/faq/#visualc # Express Edition を商用目的で使用することはできますか。 はい、Express Edition でプログラミングしたソフトウェアの販売については、特に制限はありません。とのことなので、問題な…

VS2005でQDBMのRubyバインディングをビルド

もう少してこずるかと思ったけど、案外サクッとビルドできた。 一応、メモ。 QDBMのビルド QDBM付属のVCmakefileを少し手直しして、Microsoft Platform SDKのコマンドプロンプトから、nmake。 --- VCmakefile.orig 2006-01-07 19:13:08.000000000 +0900 +++ …

Re:クリティカルパス

DEV

http://d.hatena.ne.jp/winebarrel/20071115/p2 頭が冷えてきたので、少し書き直す。 実際の工数が見積もり越える原因は、2つしかないと思う。 見積もりの間違い 予定外の作業 予定外の作業について片手間でこなせる人もいるけど、僕には無理だ。 なので、…

Rua 0.1.5

http://rua.rubyforge.org/ http://rubyforge.org/frs/?group_id=4845&release_id=16436 RubyからLuaに渡したRubyオブジェクトを元に戻すようにした。 require 'rua' class Foo def bar p self end end foo = Foo.new foo.bar #=> #<Foo:0x293ff38> rua = Rua.new rua.foo =</foo:0x293ff38>…

とりあえずのタスク

Proxyの仕組みを調査 Nora+Tenjinの検証 QDBMまわりの調査 TCはwin32で使えない。。。 RubyでCursesを使ってみる

Ioバインディングでも作ろうかなぁ…

Luaのバインディングがわりとさくさく進んで楽しかったので、Ioのバインディングでもつくろうかなと考え中。 競合するライブラリは結構ありそうなんだけど、名前のせいか検索にヒットしない。。。 ホントにライブラリはないのかなぁ?

Rua 0.1.4

http://rubyforge.org/frs/?group_id=4845&release_id=16367 スタックがずれていたのを修正。 コルーチンの呼び出しに対応。 method_missingを実装。 require 'rua' error_handler = lambda do |e| p e end rua = Rua.new(error_handler) rua.openlibs(:all)…

クリティカルパス

DEV

クリティカルパスについて思うところがあったので、メモしておく。ただの妄想。 すべての作業がクリティカルパスだと考えている管理者がいる。いろいろなところにいる。彼らはすべての作業は遅れてはならない…というか、遅れたら取り戻されなければならない…

rua: RubyForgeに登録

http://rubyforge.org/projects/rua/ とりあえずRubyForgeに登録。gemでインストールできるようになった。 エントリも更新。 unixでのコンパイルはコケるかも… ~$ gem install rua Select which gem to install for your platform (i386-mswin32) 1. rua 0.1…

Rua: セキュリティを考える

OSとか環境とかはホスト側が提供しない限り、Luaから触れないからよいけど、ホストのオブジェクトをそのままポイッとわたして、メタプログラミングをされてしまうのは怖い。 「基本的に関数定義して、オブジェクトなんかそのまま渡すなよな」という姿勢でい…

Rua: セキュアモード案

Object#__id__は読まれても実害はない…と思うけど一応、禁止に。 破壊的な更新をするメソッドの変換抑制は開発者側にがんばってもらう。 Moduleとそのサブクラスの変換を回避・禁止する 以下のメソッドの変換を回避・禁止する __id__ __send__ class extend …

Rua: セキュアモード

http://d.hatena.ne.jp/winebarrel/20071111/p1 とりあえず、実装した。

Rua: Ruby Lua Library

http://rua.rubyforge.org/ http://rubyforge.org/projects/rua/ http://storehouse.sakura.ne.jp/viewvc/viewvc.cgi/rua/rua.tar.gz?root=svn&view=tar extconf.rbでコンパイルが通って、動作確認もできたので正式公開。 近日中にRubyForgeに移す予定。 こ…

テトリス

ここ読んでいたら、こんなんが載ってた。 <body onKeyDown=K=event.keyCode><script>X=[Z=[B=A=12]];h=e=K=t=P=0;function Y() {C=[d=K-38];c=0;for(i=4;i--*K;K-13?c+=!Z[h+p+d]:c-=!Z[h+(C[i]=p*A-Math.round(p/ A)*145)])p=B[i];!t|c+4?c-4?0:h+=d:B=C;for(f=K=i=0;i<4;f+=Z[A+p])X[p=h+B[i++]]=1 </body>…