monthly gimite

試験運用中。

ruby

Cygwinでsqlite3-ruby

スカンク日記2.0 | Ruby on Rails と MySQL じゃなくて SQLiteを見ながら作業してたんですが、結論としては、一番下のコメントの通りに lib/sqlite3/driver/dl/api.rb の45行目付近にある when /win32/を when /win32/, /i386-cygwin/に変えるだけで、SQL…

はてな認証API Rubyインタフェース

はてな認証APIが公開されましたね。↓とりあえずHatena::API::AuthをRubyに移植してみました。hatena_auth.rb→あっid:secondlifeさんがもう作ってるじゃん(汗)。こっちは封印。

解決?: Ruby 1.8.4 on MacOS Xで'undefined method for Fixnum'

なんかsqlite3-rubyのswig版*1を使ったら、起きなくなりました。エラーが起きたところはSQLiteとは関係ない所だったので、Rubyのせいかとも思ったんですけど、sqlite3-rubyのDL版*2のせいだったみたいです。DL版のDLL呼び出しの実装とPowerPCの相性が悪くて…

Ruby 1.8.4 on MacOS Xで'undefined method for Fixnum'

Mac上のRuby 1.8.4でsqlite3-rubyを使っていて、 undefined method `[]=' for 46070335:Fixnumみたいなエラーが頻発する症状が発生。「どう考えてもオブジェクトが入ってるはずの変数に何故かFixnumが入ってる」のが原因っぽいんですが、エラー箇所より後の…

WebDAVをドライブ文字に割り当てるNetDrive

前に日記で でもWebフォルダって「その場でファイルをダブルクリックして開いて編集」ができないんですよねぇ。 とか書きましたが、NetDriveというソフトを使えば、WebDAVをドライブ文字(X:\とか)に割り当てて、ローカルのディレクトリと同じようにアクセ…

RubyでSWT

RJB(RubyからJavaの機能を呼び出すライブラリ)を使って、RubyでSWT*1を使ってみました。mswin32版とcygwin版でちょっと試した範囲では問題なく使えてます。サンプルコードはこちら。サンプルの動かし方はこちら。RJBを使いやすくするためにちょっとした拡…

RDE with ctags

上のマクロの件のついでに見つけたんですが、RDEにはタグジャンプという機能があるんですね。これは、RDE上でメソッド名とかクラス名にキャレット(カーソル)をあわせてShift+F10を押すと、そのメソッド/クラスの定義にジャンプできる、という機能です。こ…

RDEのマクロ

RDE(Rubyの開発環境)のマクロ機能が結構使えることを発見。 RDEを操作するメソッドがCOM*1で提供されている。 RDEで、特定のキーを押すとスクリプトを呼び出すように設定できる。 ということで、 WIN32OLEを使ってRDEを操作するRubyスクリプトを書く。 そ…

gsub_multi

るびま10号の「あなたの Ruby コードを添削します」を(今頃になって)読んでて、複数の「正規表現→置換後文字列」ペアを同時に指定できるgsubがあれば便利なのかなぁ、と思って、ちょっと作ってみました。これを使えば、上の記事に出てくるparse_inlineとHT…

RubyのArray/Hashの消費メモリ (2)

昨日のコメント欄でLPenguin氏も言ってますが、Hashの代わりにArrayを使うなら、ラッパをかぶせてHashもどきにするのが自然です。ただ1個気になって追加実験してみると、 Object: 1個50バイト …ということで、1個のArrayに1個のラッパオブジェクトをつけると…

RubyのArray/Hashの消費メモリ

手元のCygwin Ruby 1.8.3で[1, 2]と{1=>2}をそれぞれ10万要素ほど生成して調べたところ、だいだい [1, 2]: 1個60バイト {1=>2}: 1個140バイト ぐらい消費してるっぽいです。結構食いますね。ちなみにArrayの方は、要素数を1増やすごとに4バイト増えます*1。H…

Active Record + SQLite3

ロイディのデータ保存にSQLiteを使えないかなぁと思って、Active Record*1 + SQLite3を試してみました。導入が面倒になるのは避けたいので、今までロイディはRDB(MySQLとか)を使ってなかったんですが、SQLiteならデーモン不要でRubyの拡張ライブラリ+DLLだ…

Mac OS Xでのruby/readline

Mac OS X上でRubyを普通にソースからインストールすると、readlineが入らなくて、irbの履歴機能とかが使えなくて不便です。調べて試したところ、こんな感じでGNUのreadlineを入れてからRubyをコンパイルすればOK。 curl -O ftp://ftp.gnu.org/gnu/readline/r…

Sajax Ruby backend

なんか近々バイトでAjaxをやらされそうなので調査。とりあえずMatzにっきで名前を見かけたSajaxというライブラリのRuby backendを試してみました。が、少し修正しないと動かなかったりインタフェースにRubyっぽくないところがあったりしたので、勝手に修正/…

WEBRickでお手軽WebDAVサーバ

WEBrick+WebDAV Handler Safely Extracted From the Wildへぇ。要RubyGems。ちなみに、普通にブラウザで開こうとするとForbiddenとか言われます。IEなら[ファイル]-[開く]で[Webフォルダとして開く]をチェックして開けばOK。でもWebフォルダって「その場でフ…

Math.log(0)の結果は環境依存

FreeBSD上で動かしてたRubyスクリプトがCygwin Rubyでエラーになったので、なんでかなーと思ってたら。 $ ruby --version ruby 1.8.2 (2004-12-25) [i386-cygwin] $ ruby -e 'p Math.log(0)' -e:1:in `log': Numerical argument out of domain - log (Errno:…

恋するプログラム―Rubyでつくる人工無脳

恋するプログラム―Rubyでつくる人工無脳作者: 秋山智俊出版社/メーカー: 毎日コミュニケーションズ発売日: 2005/04メディア: 単行本(ソフトカバー)購入: 4人 クリック: 286回この商品を含むブログ (86件) を見る紀伊国屋本店で入手しました。読み中。前置…

WEBrick

Rubyでお手軽にHTTPサーバを作るライブラリらしい。メモ。1.8以降では標準付属。試しに、CGIっぽいものを作ってみました。 require "webrick" server = WEBrick::HTTPServer.new(:Port => 12000) server.mount_proc("/") do |req, res| res["Content-Type"] …