よたらぼ
自分の興味の赴くままにIT技術系のネタを取りとめもなくメモっています。
Ruby言語やLinuxのネタが多いです。

November 30, 2002

[Misc] Pango

Pangoとは多言語を扱う(主に表示する)ためのフレームワークおよびライブラリです。

GTK+はフォント周りを従来のGdkFontを使う方法からPangoを使うように移行していて、しかもRuby-GNOME2ではObsoleteであるGdk::Font周りをサクっと省いちゃったので、とっとと実装しないとまずいのですが.... ひょっとして実装の方も興味ありですかたむらさん?とか言ってみる(^^;)。

ちなみに、Panはギリシャ語でAllを、goは日本語の「語(languageと書いてありますね)」で、Pangoはそれをくっつけたものです。全ての言語っていう意味でしょうか。こういうところに日本語が使われると言うのはちょっとうれしいですよね。

GdkFontのところでGdk::Fontを省いた話を書きましたが、Ruby-GNOME2はGTK+/GNOME2.0でobsoleteなクラス・メソッドは提供していません。互換性を捨てたという意味では自分でも思いきったことしたなぁと思ってますが、おかげでだいぶスッキリしたAPIになってます。まだちょっと気持ち悪いところもあるけど...。


November 30, 2003

[Misc] Namazu検索停止

今日、Linuxビボ〜ろくでpstore周りのエラーが出てたのを見てちょっといやーんな気がしたのだが、何のことはないホントに容量オーバー(XREAは50MBまで)だったようだ。

テキスト主体のサイトで何がそんなに容量を食うんだろうと一度ファイルを全てローカルに落として調べてみたところ、tDiary関連のデータファイルがかなりな量を圧迫していると言うことがわかった。2002年が3.9M, 2003年が2.6M, cache/html/2002が1.2M, cache/html/2003が908K、tDiary用のNamazuデータが2.3Mでそれだけで10M程度消費している。

50Mの10Mってのはそれほど大したこと無いようにも見えるけど、他にもHikiだのなんだのがごにゃごにゃと入っているので少しでも使用量を減らしたい。

というわけで、NamazuのデータファイルとNamazu検索にしか使っていないcache/html/200[23](squeeze.rbで生成したデータ)を削除することにした。これだけで4.6M程度の節約だ。

tDiaryのデータしか増えないのであればあと2年くらいは持ちそうな計算だ。

でも、いずれ破綻するな...。何か考えねば。

[Misc] Mozilla-1.6a, MozillaFirebird-0.7

今更だけどアップデート。両方ともxft対応版。Firebirdの方は良い感じなんだけどMozillaの方は一部のウィジェットが文字化け(?)するなぁ。しばらくはFirebirdの方を使おうかな。

本日のツッコミ(全4件) [ツッコミを入れる]

Before...

むとぽん [いやぁ、それはもったいないですよ。*.tdrも私の貴重な財産です;)。]

せざーる [はじめまして。サポートにお願いしてみるとよいそうですよ。 http://hayawakari.xrea.org/wi..]

むとぽん [はじめまして>せざーるさん 無料で容量追加ができるんですね。それはすばらしい! 情報ありがとうございました。]


November 30, 2005

[Ruby-GNOME2] Rabbit 0.3.0

m17nなサンプル、インパクトありますねぇ。


November 30, 2008

[Rails] Ruby-Locale for Ruby on Rails sample

Ruby-Locale for Ruby on Railsにあるサンプルにちょっと手を加えて公開してみました。ぜひ見てみてくださいまし。

[Rails] Rails2.2でサイトトップではないアプリケーションの配置・設定

今回のLocale for Ruby on RailsのサンプルはApacheのCGI(XREA上)でかつ、サイトのサブディレクトリに配置(http://www.yotabanana.com/locale_rails_sample/)した。色々大変だったのでその時のメモ。

まず、ファイルの配置。/virtual/yotabanana/がXREA上のディレクトリ。とりあえず、ローカルの/home/mutoh/配下にディレクトリを作る。

/home/mutoh/virtual/yotabanana/locale_rails_sample/
                              |                   +app/
                              |                   +config/
                              |                   +public/
                              |                   +vendor/
                              |                   + ...  
                              +lib/ruby/
                                       +site_ruby/1.8
                                       +gems/

/home/mutoh/virtual/yotabanana/lib/配下には/usr/lib/ruby/配下の内容をコピーして置く。基本的にはRubyGemsがインストールされている状態であればOKなはず(面倒くさいので全部コピってしまった)。
それから、RAILS_ROOT配下(RAILS_ROOT = /home/mutoh/virtual/yotabanana/locale_rails_sample/ね)で、rake gems:unpack, rake rails:freeze:gemsしてgemとrailsの関係ファイルを全部vendor配下にコピーしておく(/usr/lib/ruby配下をコピーさえしてしまえば実はこの作業自体不要なのかもしれないけど複数のバージョンのRailsアプリを入れる場合等は必要)。

で、Apacheの設定。RAILS_ROOT/public/.htaccessを編集する。

Options +FollowSymLinks +ExecCGI
AddHandler cgi-script .cgi
RewriteEngine On
RewriteRule ^$ index.html [QSA]
RewriteRule ^([^.]+)$ $1.html [QSA]
RewriteCond %{REQUEST_FILENAME} !-f [OR]
RewriteCond %{REQUEST_METHOD} =POST [NC]
RewriteRule ^(.*)$ dispatch.cgi [QSA,L]
SetEnv RAILS_ENV production
#SetEnv RAILS_ENV development
SetEnv GEM_HOME /virtual/yotabanana/lib/ruby/gems/1.8
SetEnv RUBYLIB /virtual/yotabanana/lib/ruby:/virtual/yotabanana/lib/ruby/site_ruby/1.8

config/routes.rbを編集する。path_prefixをつけてhttp://www.yotabanana.com/locale_rails_sample/がアプリのルートになるようにする。

ActionController::Routing::Routes.draw do |map|
  path_prefix = :locale_rails_sample
  map.resources :samples, :collection => {:clear_cookie => :get,
                                          :cached_action => :get}, :path_prefix => path_prefix
  # Localized Routing.
  map.connect ':lang/:controller/:action/:id', :path_prefix => path_prefix
  map.connect ':lang/:controller/:action/:id.:format', :path_prefix => path_prefix
 
  map.connect ':controller/:action/:id', :path_prefix => path_prefix
  map.connect ':controller/:action/:id.:format', :path_prefix => path_prefix
 
  map.root :controller => "samples", :path_prefix => path_prefix
end

#これ、全部にpath_prefixつけなくてもよい方法ないのかなー。

config/environment.rbを編集する。こちらもアプリケーションのルートを指定するイメージ。

Rails::Initializer.run do |config|
     :
     :
  config.gem "locale"
  config.gem "locale_rails"
  config.action_controller.asset_host = "http://www.yotabanana.com/locale_rails_sample"
end

config.action_controller.asset_hostの指定をしないとスタイルシート・Javascript等の設定がうまくいかないようだ。この辺、もうちょっとroutes.rbで頑張れるんじゃないかと思うんだけど・・・。挫折。もっといいやり方があったら教えてください。

で、ファイルの編集が終わったところで/home/mutoh/locale_rails_sampleをXREA上の/virtual/yotabanana/locale_rails_sampleへFTPでコピー。
で、sshでXREAにログインしてシンボリックリンクを貼る。

$ cd /virtual/yotabanana/public_html
$ ln - s /virtual/yotabanana/locale_rails_sample/public locale_rails_sample

あとは、http://www.yotabanana.com/locale_rails_sample/でアクセスできるようなった。

ということで、XREAに限らず、一つのURLの元、複数のRailsアプリケーションを動作させる場合にも使えると思いまーす。

参考:

  • http://tam.qmix.org/archives/2005/03/xrea_ruby_on_ra.html
  • http://wiki.rubyonrails.com/rails/pages/Non+VHost+Installation
  • http://wiki.rubyonrails.org/rails/pages/HowToInstallApplicationsInSubdirectories
  • 本日のツッコミ(全2件) [ツッコミを入れる]

    もろはし [環境変数RAILS_RELATIVE_URL_ROOTとかを設定するとそれだけでサブディレクトリにおけるはずです。A..]

    むとう [おぉ、環境変数一発ですか!? 知らなかった・・・orz。 でも、情報ありがとうございました!!]


    追記