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

Rails 2.2、thin、Windows

Windowsにthinをインスコして、こないだのコードを動かしてみる。 #: # begin 01:50:31 #: # end 01:51:18 #: # begin 01:51:18 0 1 2 3 4 5 6 7 8 9 #: # end 01:51:18sleepでzooに制御が移ると思ったけど、そうならないなぁ。 Windowsのせいなのか、シング…

g++が使えない

g++が使えないんですよ。開発用サーバで。 gcc 4.1が必要らしい。 で、gccをupgradeしようとするとこの有様ですよ。 ~# apt-get upgrade gcc Reading Package Lists... Done Building Dependency Tree... Done The following packages have been kept back: …

link:HowTosWorkerThreads

http://wiki.rubyonrails.org/rails/pages/HowTosWorkerThreads あとで読みます。

Rails 2.2.2: ActiveRecordの並列性 - 2.0.1の場合

とりあえず、Rails 2.0.1でActiveRecordを並列に動かしてみる。 BarController $stdout.sync = true class BarController < ApplicationController def index 10.times do Thread.fork do touch end end render :text => 'OK' end private def touch begin 1…

Rails 2.2.2: ActiveRecordの並列性 - 2.2.2の場合(失敗)

Rails 2.2.2でActiveRecordを並列に動かしてみる。 BarControllerは2.0.1の場合と同じ。 environment.rbにはconfig.threadsafe!を追加。 mongrelの出力 Expected C:/home/sugawara/work/foo/app/models/user.rb to define User Expected C:/home/sugawara/wo…

Rails 2.2.2のスレッドセーフ

Railsのスレッドまわりで苦労した身としては、Rails 2.2が謳っているスレッドセーフを検証してみないと…と思って、検証してみた。 rubygemsの1.3.1へのアップデートでいきなり躓いたけど*1、とりあえずアップデートは完了。BarControllerとZooControllerを作…

ギャー、日付間違えた!

てっきり今日が表彰式だと思ってた…orz 笹田耕一賞をいただいたんですねー、ありがとうございます。 でも、出席したかったなぁ。とほほ…

diff -y

diffコマンドに、ファイルを横に並べるオプションがあった。 ~/work$ diff -y a.c b.c #include #include int main() { int main() { printf("hello, world.\n"); printf("hello, world.\n"); > printf("hello, diff -y.\n"); return 0; return 0; } }知らな…

VPDS:羽なしルートクリア

ラスボスで3回ぐらい全滅しながら、なんとかクリア。 ベホマクラスの魔法をラスボスが使うなよ…何度、心が折れたことか。ヴァルキリープロファイル -咎を背負う者-出版社/メーカー: スクウェア・エニックス発売日: 2008/11/01メディア: Video Game購入: 7人…

Lux IO 移植中…

http://storehouse.sakura.ne.jp/viewvc/viewvc.cgi/luxio/?root=svn コメントアウトしまくりでビルドだけ通った。 あとはmmapとかflockの中身を書かないと。

Lux IO msvc9移植版

http://storehouse.sakura.ne.jp/viewvc/viewvc.cgi/luxio/?root=svn 動くは動いたけど、ロックまわりは怪しいかも。 //#include <luxio/btree.h> #include "btree.h" #include <iostream> //#define NUM_RECORDS 1000000 #define NUM_RECORDS 100 int main(void) { Lux::IO::Btree *b</iostream></luxio/btree.h>…

組み込みRuby: top-levelを取得する

http://blade.nagaokaut.ac.jp/cgi-bin/vframe.rb/ruby/ruby-talk/30139?29887-31396 #include <ruby.h> #include <version.h> EXTERN VALUE ruby_top_self; int main() { int status; ruby_init(); ruby_init_loadpath(); rb_eval_string_protect("def my_func; puts 'hello'; </version.h></ruby.h>…

rb_obj_as_string / rb_string_value[_ptr]

rb_obj_as_string VALUE rb_obj_as_string(obj) VALUE obj; { VALUE str; if (TYPE(obj) == T_STRING) { return obj; } str = rb_funcall(obj, id_to_s, 0); if (TYPE(str) != T_STRING) return rb_any_to_s(obj); if (OBJ_TAINTED(obj)) OBJ_TAINT(str); re…

組み込みRuby: エラーを出力する

http://blade.nagaokaut.ac.jp/cgi-bin/vframe.rb/ruby/ruby-list/44098?44041-44273 #include <ruby.h> #include <version.h> EXTERN VALUE ruby_top_self; int main() { int status; ruby_init(); ruby_init_loadpath(); rb_eval_string("def func; raise 'hoehoe'; end"); rb</version.h></ruby.h>…

Sequel: The Database Toolkit for Ruby

http://sequel.rubyforge.org/ モデル層のないWebアプリフレームワークと組み合わせるとよいかも。

OpenSSL: AEC-CBCの初期ベクトル

AEC-CBSの初期ベクトルのデフォルト値が気になったので、少し調べる。 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8_6/ext/openssl/ossl_cipher.c?revision=12043&view=markup static VALUE ossl_cipher_init(int argc, VALUE *argv, VAL…

OpenSSL: AEC-CBCの初期ベクトル その2

pkcs5_keyivgenで適切にsaltを設定すればいいのかも。 試してみる。 require 'openssl' passwd = 'foobarzoo' source = 'じゅげむじゅげむ' def encrypt(plain, passwd, salt = nil) cipher = OpenSSL::Cipher::Cipher.new('AES-256-CBC') cipher.encrypt ci…

link:OpenSSLの暗号文をJava/Perl/Rubyで開く

http://alpha.mixi.co.jp/blog/?p=91 めも。

teeでパイプの途中を覗く

http://d.hatena.ne.jp/kazuhooku/20081016/1224162806 teeの出力先を標準エラー出力にしてパイプの途中を覗いてみる。 ~/work$ date | tee /dev/fd/2 | wc -c Tue Nov 4 18:20:21 JST 2008 29Cygwinでもできた。 で。 ~/work$ echo 'Hello World!' | openss…