カテゴリ: ruby の記事
[リスト]
ところが逆に自分が行く図書館で一番いい仕事をしていたカウンターは三鷹だった.そして その人の良さはまったく出ることなく,もう1年くらいたってしまった.これはちょっと残念だ.自分の仕事を否定された気になって病気などされないといいなあと思ったりして.
自分もITの仕事を散々しているわけで,ITが事務仕事の省力化に使われる面がある以上,いままでも何人かの雇用を奪ってきたのかもしれない.そしてそれが今自分に巡ってきているのかもしれないなあ.
今日は,研究室でハックを披露する会
D論でいそがしいのであまりマトモなことはできなかったのだが,
http://github.com/armaniacs/dumptter
という,自分のtwitter発言を検索して,csvに書きだすものをつくりました.- $ monetter と打つだけだと,金に関係あるtweetを拾って, ~/.dumptter/monetter.csvというファイルをつくります
- $ monetter "千里眼" とかすると, 千里眼.csv ができます.
本当はtwitterに
夕飯 530円 定食
とか買いたら,ms moneyによませるofxファイルを作ってmoney起動までいきたかったのだが,できませんでした.ofx ファイルがみきれてない..
酒のみながらLTを聞く.RubyKaigiのreject会議のような感じで進行していく.質疑などは基本的になく,LTなのでざくざく進み,歓談の時間にやるスタイルでした.
二次会にも行きたかったけど,行くと原稿がすすまないこと必死なので,そそくさと帰宅することに.
自分のLTの最初に12月の東京Debianの勉強会忘年会の宣伝もしてきた.こんなかんじでできるといいんだけどね.そこまでは無理だろうから,ハッカソン中心になるのだろうか.まあいずれにしろ,Debian JP会長やらdancerjやらが方向はずばーんと決めてくれるだろう.
ふとおもって試してみた.http://rubyforge.org/frs/download.php/64475/ruby-enterprise-1.8.7-20090928.tar.gzからとってきて,展開して.installというコマンドを叩くだけという簡単さ.
ちゃんとインストール前に依存するライブラリの存在も調べてくれる.自分は
apt-get install libreadline5-dev
をやるだけですんだ.
インストール先は /opt/ruby-enterprise-1.8.7-20090928 といったかんじになる.
ubuntu用のdebをdebian用に書きかてる人もいるのでそっちがいい人は使うといいと思います.
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)
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
でなおっているらしい.
ay先生のオーガナイズにより,debian ruby kaigiが横浜でおこなわれた.コーヒーと,お菓子ごちそうさまでした.
twitterでも書いてはみたのだが自分なりのメモをしてみる.
ruby1.9のリリースマネージャのyuguiさんからのお話- rubyではオフィシャルサポートを表明しているDistributionに対してはsecurity fixのnoticeをするらしい.現状ではmacosxくらいだが,debianも追加されることに.
- rubyにはまだJPCERTやJVNへの道がないらしい.自分でもしらべてみるか..
- REEはGCを変更したおかげで,script languageとしては遅くなっている.
- 参加者はGCネタが大好きなようで.たいへんもりあがる.
- debianでは--enable-pthreadをしているが,1.9ならしっかりなおってるので,とっとと1.9に移行しましょう.
- 1.9.0がdebianにはいってしまったのは事故だった.しかししょうがない.
- Ukai版ruby policyは現状に追随できていないのでupdateが必要.というわけで今回話に.
- JRuby.debのメンテナ(seb@debian.org)は今回の話にからんでないようです.誘う?
- rubygems問題. l
- rubygemsがつくったbinにパスが通ってないというBTSがくるけど,考えてそうしているので必要なら自分で処理してね.
- gccにdependsしてないのはサーバなどでgccなどいれたくないから.Suggestsにはいっているので,必要なら自分で判断してね.
- http://svn.debian.org/wsvn/pkg-ruby-extras/tools/gemsd/dh_rubygems.rb にgemからdebをつくるものがある.daigoさんは毎日ノートで使うぶんをうごかしているらしい.
- ruby1.9.2は1.9.2とバイナリコンパチなので,/usr/lib/ruby/1.9.1以下にはいることになる.
- ruby-supportというのをdebianでは用意しようとしている.これがうまくできると,pure rubyライブラリの処理が楽になるはず.xRuby問題が解決する(好適には)
donrailsでつかっているlibxml-rubyとlibxml-xmlrpcをconfig.gemでいれられるようにしていたのだが,そのconfig.gemで指定しても,
Missing these required gems: libxml-ruby libxml-xmlrpc You're running: ruby 1.8.7.160 at /opt/local/bin/ruby rubygems 1.3.4 at /Users/yaar/.gem/ruby/1.8, /opt/local/lib/ruby/gems/1.8
といわれるのでした.
もちろんlibxml-rubyもlibxml-xmlrpcも存在している.
/opt/local/lib/ruby/gems/1.8/gems$ ls libxml-ruby* libxml-ruby-0.8.3: CHANGES RAKEFILE doc/ lib/ test/ LICENSE README ext/ setup.rb libxml-ruby-0.9.7: CHANGES README doc/ lib/ test/ LICENSE Rakefile ext/ setup.rb libxml-ruby-1.1.3: CHANGES README doc/ lib/ test/ LICENSE Rakefile ext/ setup.rb
どうやら
#LibXML Ruby - Dependency of Solr Ruby config.gem "libxml-ruby", :lib=>"xml/libxml", :version=>"~>0.8.3"
こんなかんじで中でよんでる :libの形にあわせて書け,とそういうことらしい.
config.gem "libxml-ruby", :lib=>"xml/libxml" config.gem "libxml-xmlrpc", :lib=>"xmlrpc/client"
に.変更した.これでok