カテゴリ: tech の記事
[リスト]
技術系の話題
donrailsをJRuby対応したのでその顛末をまとめておく.まあ先日のエントリのときの作業なのだが.
準備
なくてもいいかもしれないが,JRubyに対応したgemsはgithubにあることが多い.
$ sudo jgem sources -a http://gems.github.com Password: http://gems.github.com added to sources
DBまわり
http://jruby-extras.rubyforge.org/activerecord-jdbc-adapter/参照.
activerecord-jdbcmysql-adapterをgemでいれた.
gemの追加まわり
pocket-0.1.15は問題なし.
actionwebservice-2.3.2はないようだ.なんと
$ sudo jgem install actionwebserviceSuccessfully installed activesupport-1.4.4 Successfully installed actionpack-1.13.6 Successfully installed activerecord-1.15.6 Successfully installed actionwebservice-1.2.6
という具合.これは手をうたねばならぬ.
/Users/yaar/tmp/actionwebservice/actionwebservice-2.3.2.gem
を発見.
cfardm-2:~/tmp/actionwebservice-2.3.3$ jgem build actionwebservice.gemspec Successfully built RubyGem Name: actionwebservice Version: 2.3.3 File: actionwebservice-2.3.3.gem cfardm-2:~/tmp/actionwebservice-2.3.3$ sudo jgem install actionwebservice-2.3.3.gem Successfully installed actionwebservice-2.3.3 1 gem installed
なんとか jruby script/server にこぎつける.
Missing these required gems: hpricot will_paginate libxml-ruby libxml-xmlrpc You're running: ruby 1.8.6.287 at /opt/local/share/java/jruby/bin/jruby rubygems 1.3.5 at /opt/local/share/java/jruby/lib/ruby/gems/1.8 Run `rake gems:install` to install the missing gems. cfardm-2:~/playground/donrails$ jrake gems:install
しかし will_paginateがないといわれる.しょうがないので手でインストール.コレハok.
$ sudo jgem install hpricot libxml-ruby libxml-xmlrpc
すると
ERROR: Error installing hpricot: ERROR: Failed to build gem native extension.
でおわってしまう.libxml-rubyもlibxml-xmlrpcもhpricotもnative extensionをつかってるのでjrubyでは使えない.
hpricot
http://blog.s21g.com/articles/1414 を見るとhpricotは現在JRubyでも使えるようになっているらしい.
git clone git://github.com/olabini/hpricot.git
してから jrake package_jrubyをすればよさそう.
$ jrake package_jruby (in /Users/yaar/playground/ruby/hpricot) /bin/sh: ragel: command not found Using ragel version: 0.0, location: Ragel 6.1 or greater is required.
ragelが必要らしいので portsでいれる.
libxml-ruby
これはlibxml-jrubyにいれかえる方向で.
$ git clone git://github.com/dylanvaughn/libxml-jruby.git $ cd libxml-jruby $ jgem build libxml-jruby.gemspec WARNING: no description specified Successfully built RubyGem Name: libxml-jruby Version: 1.0.0 File: libxml-jruby-1.0.0-java.gem
あるいは
jruby -S gem install dylanvaughn-libxml-jruby --source=http://gems.github.com
たぶんソース本体はそのままでいいとおもわれる.
libxml-xmlrpc
jrubyだといらない? なんか最初のに含まれてる?
/opt/local/share/java/jruby/lib/ruby/1.8/xmlrpc/client.rb
will_paginate (XXX)
will_paginate-2.2.2は古い?
app/helpers/application_helper.rb:426:in `display_article_attachments'
/opt/local/share/java/jruby/lib/ruby/gems/1.8/gems/will_paginate-2.2.2/lib/w
ill_paginate/finder.rb:164:in `method_missing_with_paginate'
などというのを返す.
- どうもwill_paginateはもう古く,githubにあるmislav-will_paginateをつかうべきのようだ.
http://wiki.github.com/mislav/will_paginate
sudo gem sources -a http://gems.github.com sudo gem install mislav-will_paginate
enviroment.rbのwill_paginateのところを変更.requireは変更なし.
config.gem "mislav-will_paginate", :lib=>"will_paginate"
しかし問題が.
app/helpers/application_helper.rb:426:in `display_article_attachments'
/opt/local/share/java/jruby/lib/ruby/gems/1.8/gems/mislav-will_paginate-2.3.
11/lib/will_paginate/finder.rb:168:in `method_missing_with_paginate'
/opt/local/share/java/jruby/lib/ruby/gems/1.8/gems/mislav-will_paginate-2.3.
11/lib/will_paginate/finder.rb:168:in `method_missing_with_paginate'
app/helpers/application_helper.rb:425:in `display_article_attachments'
rd/rdfmtとrd/rd2html-libをどうするべきか
require "rd/rdfmt" してるライブラリをJRubyで動かすスマートな方法がわからん.
結局rb-rdtoolをinstallした.(gemではなく普通にruby setup.rb)
vlanとかもつかうようなサーバ系の実験が必要になって会社でsetupをしはじめたのだが,以前とちがって固定IPを一切getできないため,実験ができなくなった.そして会社のネットワークに勝手につなぐわけにもいかず..そうしたらどうすればいいのか.答えは簡単.スタンドアロンネットワークを作ること.
ここで問題になるのは,現在のオンライン前提のOSで実際どうやってインストールするか.DebianならDVDインストールもできるのだが,実際のところ面倒でやってられない.マシンも沢山あるし.そこでClonezillaの登場ってわけだ.
詳細をそのうち書けることもあるだろうがぜんぶがうまくいったら書こう.
ArgumentError (A copy of ApplicationHelper has been removed from the module tree but is still active!): app/helpers/application_helper.rb:459:in `don_get_oldconfig' app/helpers/application_helper.rb:453:in `don_get_config' lib/akismet.rb:41:in `initialize'
というエラーが,JRubyでdevelopment modeで動作させたときだけ発生していた.
Commit d37ac7958fc88fdbf37a8948102f6b4e45c530b3 to rails's rails - GitHub
でなおっているらしい.
- 新宿コクーンタワーの地下のカフェは電源がつかえなくなったらしい.webは古いままなので注意.
- オリジナルのdescriptionを英語nativeでは無い人が書く場合には,debian-englishを活用しよう.という話がi18n集会できまったらしい
- fossologyの話,UDDの話,がdebianのおおきめなDBの話のようだ.
- dashを使えという話.そのうちdashismとか言われないといいなあ.
- みんなのこれからのハック予定もしくはハック経過などの交換.
- 次回は荻窪.
そこで,日比野さんの言語ネタが爆発する.勉強になるなあ.gotomはかなり時差ぼけがー,といっていたのだが,メシを食い,マニアなトークをすると疲れが飛んでいたようでありました.
Ocaml, ML, Common Lispのdeepなtalkが山のようなメシでした.
雨だったのでBBQと花火は中止.
夏休みの土曜日のせいか,おこさまだらけで大変だったが,こっちもやりたいことがあるのでやる.
というわけで,git://github.com/armaniacs/donrails.git をつくる.自分の場合はオフラインのときにコード書くことが多いのでgitが便利だから..あわせて,JRuby1.3.1に対応させてみた.
一日目は夜までに宿に集合.メシはよくある海辺の旅館なかんじ.そのあと間をおいてから宴会.
栗田 光晴さんという方が,web上のトラブルシュート文書を構造化 + 検索者の足りない情報を推測 する技術発表をしていた.Debianも対象にしていて(あくまでもいくつもあるlinux distributionのひとつ),どうやらその情報はクロールして入手しているようだった.
なんだかもったいない話な気もするので,これは勧誘すべきか.
学位論文
Web フォーラムの構文情報を用いたトラブルシュート文書抽出 (pdf)
【ニューヨーク=池松洋】米ニューヨーク・タイムズ紙(電子版)は24日、米金融大手ゴールドマン・サックスや一部のヘッジファンドが、他の市場参加者よりも100分の3秒早く情報を入手できる大口投資家の立場を利用し、高速コンピューターを駆使して大きな利益を上げていると報じた。
米証券取引委員会(SEC)もこの「抜け道」を問題視しており、新たな取引規制を今秋にも導入する見込みという。
同紙によると、ゴールドマンなどは、100分の3秒の時差の間に取引情報を分析して自動的に取引を行うコンピューターを導入し、自己勘定で巨額の利益を得ている。
こんな話はあるけれど,30msecってけっこうな時間であって,現在のストリームDBをつかったアルゴリズム取引は2,3msecの違いで左右される世界.
ここで金融ITは2月ころはどん底で,なんだか最近求人も増えてきたようなのに,こんなnewsがあると暗い気分になる.
で,ちょっとどうなるのかを考えてみる.
- 完全に抜け道をふさぐようなひどい規制がかかったら,金融ITイヨイヨオワタってことになる.これが最悪のシナリオ.
- NYSEやNASDAQの取引周辺にはECNがその数倍の規模であって,その速度を競っているので,そっちに逃げる.それで形骸化するシナリオ.
- 大手には規制がかかって,個人やらヘッジファンドには規制がかからない意味わからんことになるシナリオ
Energy meters get tweeting - Springwiseより.
大学の研究室でも電力量計+NGNなんてことをやっている.
が,そのカッコたるや..プロの手にかかるとこんなにカコヨクなるのかーといういい例.
でも,機能でも性能でも負けてませんよ!