ruby

rails-3.1.0をcygwinでやるメモ

sqlite sqlite-develをsetup.exeでいれとく javascript engine なんとなくspidermonkeyにする。 http://ftp.mozilla.org/pub/mozilla.org/js/ から js-1.7.0.tar.gz をダウンロードする。 $ cd /usr/local/src $ wget http://ftp.mozilla.org/pub/mozilla.or…

herokuことはじめ(ruby+sinatra)

herokuの開発にはruby+git+opensshがきっちり動く環境が必要なので、そのあたりの整備を兼ねて一番簡単?なruby+sinatraの場合からはじめる。 Windows7(64bit)+Cygwinを使う記録。 cygwinの替わりにmsysgitを使ってもできると思うがrubyのネイティブモジュー…

ruby-1.9.2(i386-mingw32)のbuildr-1.4.6の動作環境

Windows7(64bit) rubyとdevkit ruby-1.9.2 => C:\ruby192 DevKit-tdm-32-4.5.1-20101214-1400-sfx.exe => C:\ruby-devkit rjb-1.3.3のインストール dosプロンプト開始 > echo %JAVA_HOME% C:\Java\jdk1.6.0_26 > ruby --version ruby 1.9.2p180 (2011-02-18)…

ruby-mingwでOpenGLモジュールビルドのメモ

RubyInstaller対応のOpenGLモジュールビルドで苦労した件について。使ったruby > ruby --version ruby 1.9.2p180 (2011-02-18) [i386-mingw32] glut DevKitでビルド http://vision.kuee.kyoto-u.ac.jp/~nob/doc/opengl/opengl.html#doc1_42 mkrf-0.2.3 mingw…

cool.ioをFiberと組みあわせる

valaのGIOのasync関数が良かったので、ruby+cool.ioでも そういう書き方をやってみた。 #!/usr/bin/env ruby require 'fiber' require 'uri' require 'cool.io' class HTTPRequest def initialize(uri, method=:GET) abort "invalid uri: #{uri}" unless uri…

revが新しくなってcool.ioになったようだ

rubyでterminfoを使ってw3mようなものを作るべく画策中なのだが、キーボード入力, socket IO, signalをEventLoopで制御するのにrevを採用する気になってきた。で、見てたらrevの名前が変っていた。 http://groups.google.com/group/comp.lang.ruby/browse_th…

rvmでは#!/usr/bin/env rubyにしないとはまる

いつのまにか、一月くらい空いてしまった。手癖で #!/usr/bin/ruby なるshebangを書いたらsystemのruby-1.8.7の方が呼ばれて wrong argument type Coolio::TCPServer (expected Struct) (TypeError) とか出て少し悩んだのであった。 本当は、 ~/.rvm/rubies/…

Revでhttpプロキシ

以前作っていたフィルタプロキシを今風に作り直そうと思って、 Rackで作ろうと思って調べ始めたのだが、 ストーリミングデータを扱えるような逐次送信のAPIがなさげだったので なにか他のものを探していたら、 いつの間にかRevを使うことになっていた。Revは…

Revでhttpプロキシその2

リファクタリングして、Postメソッドへの対応を実装した。 Proxy用途には、Rev::HttpClientは都合が悪いことが判ったので、素のRev::TCPSocketを使うように変えた。 keep-aliveとssl対応をしてからコンテンツフィルターとキャッシングに使いたいのだがいける…

sinatra練習その2

どうもhamlは好みじゃないので、erbに換装しようとしたところ文字コードの件で おおはまりする。 Encoding::CompatibilityError - incompatible character encodings: ASCII-8BIT and UTF-8 erbで結果をレンダリングするときにERBの元がASCII-8BITになるらし…

sinatra練習

http://gihyo.jp/dev/serial/01/ruby/0009 を読んでpassengerにのせてみた。 Haml::Error - Invalid US-ASCII character は、config.ruに Encoding.default_external='utf-8' がポインツとなる。

sinatraはまった

Hello Worldが動かずしばらく悩む・・・ # myapp.rb require 'rubygems' require 'sinatra' get '/' do 'Hello world!' end 単体で動かすには追加で下記が必要っぽい。 if $0==__FILE__ then Sinatra::Application.run! end 最近のバージョンで変わったのだ…

redmineのgit repository

地味に手こずった Path to .git directory: /path/to/project/.git 及び http://d.hatena.ne.jp/yuichi_katahira/20091111/1257936521

redmineをruby-1.9で動かす努力

redmineはruby-1.8.7じゃないとだめなのだが、ruby-1.9.2で使いたい。 ruby-1.8.7でmigrateとかdbの下準備をしてから、 ruby-1.9のpassengerで動作させてみると、一見動くが、特定のページで malformed format string - %Y とか出ちゃう。 残念wエラーをよく…

passengerを使ってみた

redmineとsinatra-rubygemsを乗せて動かしてみたメモ。 ハマった所だけ書いておく。 redmine # アクセスURLを以下のように設定する場合。 # http:// localhost/redmine $ cd /var/www $ sudo ln -s redmine-1.0.2/public redmine $ vi redmine/.htaccess Rai…

2段ssh

Net::SSHでncで2段SSHしようと四苦八苦していたのだが、ちゃんとそれようのライブラリがあった。 http://net-ssh.rubyforge.org/gateway/v1/api/index.html

久しぶりにVRuby

役に立ちそうな状況なのでメモっとく。 Install http://arton.hp.infoseek.co.jp/indexj.html http://raa.ruby-lang.org/project/vruby/ Reference http://www.osk.3web.ne.jp/~nyasu/vruby/referer/VRStudyAid.html Tutorial http://www.osk.3web.ne.jp/~ny…

wxRubyでexeを作る方法

mingw32-ruby-1.9.1-wxruby-2.0.1-setup.exe を使っている。http://www.up-cat.net/wxRuby%2B%252B%2Bocra%2B2009.html

vcでビルド

http://pub.cozmixng.org/~the-rwiki/rw-cgi.rb?cmd=view;name=Ruby+Install+Guide%3A%3Amswin32+%28%A5%BD%A1%BC%A5%B9%A4%AB%A4%E9%29

ダンジョン生成

よさげなもの発見。 ウイザードリー方式の薄い壁にこだわらなければいい感じ。 http://d.hatena.ne.jp/parrot_studio/20100325/1269528464 組み合わせて使うとしたらこの辺かなぁ。 http://www.kumaryu.net/?%28Ruby%29+Riko ゲームエンジン自体は人様の作っ…

nanocよさげ

今までひとりwiki的にwebbyを使っていたのだが、既にメンテされていないっぽいし日本語の通りが悪かったりするので微妙なところもあった。ここに、新型webbyとも言うべきnanocを発見。 http://nanoc.stoneship.org/ 乗り換えた。わりと快適。webby用に書いて…

TCPSocket練習

webrickプロキシに乗せるための試作httpクライアント。 前にNet::BufferedIO(内部用と書いてあるのを勝手に使っている)を流用していた部分がどうにも使い勝手がよろしくないので自作することにした。 TCPSocketを使えば楽ちん。 一挙に全データをreadしない…

ruby1.9のワンライナーと文字コード

pythonコードのインデントを2から4に変えるこんなことをやってみた。 $ find . -name "*.py" | xargs ruby -pe '$_.sub!(/^( )+/){|m| m*2}' -e:1:in `sub!': invalid byte sequence in UTF-8 (ArgumentError) 対象のファイルにutf-8のものとcp932にものが混…

Nokogiriのdomに要素を追加する

特定の要素を抜き出すのではなく特定のノードに要素を追加する使い方 #!/usr/bin/ruby # coding: utf-8 require 'nokogiri' if $0==__FILE__ then doc=Nokogiri::HTML <<-__HTML__ <html> <head> </head> <body> <div>div0</div> </body> </html> __HTML__ body=doc.at('/html/body') div1=Nokogiri::XML::Node:…

WEBrick::HTTPProxyServerでデータを逐次送信させる

HTTPProxyServerはデータをすべて取得してから一度に返す動きをしていたのでこれを逐次で返すように改造してみた。 ニコ串のソースを見てやり方はすぐ判ったのだが、これをWEBrickの枠に当てはめるのにだいぶ苦労した。 なんか動作が怪しいところもあるがyou…

WEBrickの動作を調べてみる。

webrickのソースは、gentooでは/usr/lib/ruby19/1.9.1にあるwebrick.rb。 これは、/usr/lib/ruby19/1.9.1/webrick/下の他のファイルを読み込むの使われている。 webrick/server.rb WEBrick::GenericServer HTTPProxyServer webrick/httpserver.rb WEBrick::H…

Nokogiriに渡す前の文字コード判別

Nokogiriが確実に処理できるように、htmlを先に決め打ちでutf-8に変換する方法を模索してみた。 方針としては、 httpヘッダのcharsetは中身と一致しているとは限らないため参照しない。 metaタグのcharsetは信用する。 metaタグが無かったら自動判定。 文字…

redmineのインストールで悶絶

ruby-1.8のrails-2.1.2にしとけということらしい。 cygwin上のruby-1.8ではサクッとできたが、 gentoo上のruby-1.9では頓挫してしまった。 がんばって動くところまでこぎ着けた。 まず、開発版のredmineを使う。 $ svn co http://redmine.rubyforge.org/svn/…

ファイラー発見

http://www.geocities.jp/daisuke530221jp/gentooとcygwinにいれて使ってみる予定。mfiler3の方をruby-1.9の環境でビルドしてみた。 ちょっとRubyのマクロを使っていることを手直しする必要があった。 1.8から1.9で変わったよくあることらしい。RSTRING(hoge…

ruby1.9でruby-gnome2を野良ebuild

大量のundefined reference to rbgobject_...が出て頓挫するかに見えたが原因を突き止めた。 LDFLAGSに-Wl,--no-undefinedがあるとエラーになる。どこから-Wl,--no-undefinedが来ているのかと 遡っていくと Makefile -> extconf.rb -> mkmf.rb -> /usr/lib/r…