2008-10-01から1ヶ月間の記事一覧

Rails 2.2の threadsafe と ConnectionPool を読んでみる#3

次は ConnectionPool について.ひとまず関連部分を出すために % rak 'ConnectionPool' --ruby で activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb 19| # connection back in. ConnectionPool is completely thread-safe, …

Rails 2.2の threadsafe と ConnectionPool を読んでみる#4

と言うことは,threadsafe! によっては ActionController 側では同期しなくなっただけ. ActiveRecord 側では,ConnectionPool によって接続を使いまわすようになっただけ. かな?次は IRC で上がってた http://m.onkey.org/2008/10/23/thread-safety-for-y…

Rails 2.2の threadsafe と ConnectionPool を読んでみる#2

続き.actionpack/lib/action_controller/dispatcher.rb を見ると 5 | @@guard = Mutex.new 104 | def dispatch_unlocked 105 | begin 106 | run_callbacks :before_dispatch 107 | handle_request 108 | rescue Exception => exception 109 | failsafe_resc…

Rails 2.2の threadsafe と ConnectionPool を読んでみる#1

まず thread safe にする設定は config/environments/production.rb にある # Enable threaded mode # config.threadsafe! からなので,これを調べると railties/lib/initializer.rb の

Rails勉強会@東京第34回

日曜に参加してきました.そして初懇親会だったのですが,かなり楽しかったです.皆さんお疲れ様でした. まとめ gettextとi18nのどっちにすべきだろうか. Rails 2.2でとりあえず作っておいた方がいいかな. リファレンスマニュアルには秘密がたくさん.も…

Jpmobile で user_agent を設定してテストするには

get/post などの前に, @request.user_agent = "DoCoMo/2.0" としてユーザエージェントを設定する.@request.env['USER_AGENT'] では,TestRequest 生成時に上書きされた値が使われてしまうようだ.

Ajax.in

Rails 2.1.1 では,form_authenticity_token が必要な関係上,Ajax 関係のリクエストをそのまま使うと失敗する.対処法としては,下記のように直接記入するとか. <p id="place">ここをクリックして編集</p> <script type="text/javascript"> new Ajax.InPlaceEditor('place', '<%= url_for(:action => "update…

iiim-properties が core を吐く対策 など

iiim-properties の適用・OKで core を吐いて落ちる問題は,http://blog.browncat.org/2007/12/atok_x3gconf.html を参考に対策をとってみた. #!/bin/sh gconftool -s "/desktop/input_methods/languages_save" -t list --list-type=string "[ja;atokx3;]…

Shibuya.lisp テクニカルトーク #1に行ってきた.

Lisp関係でこれだけ熱い人たちが集まってくるのは,結構すごいね.あとLL言語に比べて,何かしらのこだわりが強い人が多かった感がある.楽しいだけじゃない,熱意というか.まだ初心者な私にも何かしら凄さを感じさせてくれました.話の内容的にあんまり追…

パソナテックカンファレンス2008に行ってきた.

先週の土曜(10/11)のですが,ログなど記録. 12/6(土)に「インフラエンジニア・討論会2008」と言うのがあるらしい. 2月に Web プログラマーの祭典 in 東京があるらしい.

Ubuntu 8.04.1に乗り換えて1週間

特に不満はない感じ.Thinkpad X61なので,無線LANとかVGAとかいろいろ気になったのだが,あっさり認識してインストール完了した.これは便利.ただ今のところ一つだけ問題があって,サスペンド(スリープ時)にUSB給電が止まらないこと.サスペンドすると,一…

rails-footnotes でデバッグ表示.

id:moroさんのRailsのエラー画面に出るデバッグ情報を他所でも表示する - moroの日記に書かれていたrails-footnotesを Rails 2.1.1 に導入してみました.ただ github にかかれているやり方では,どうも branch がないようなので,download から取ってきて展…

Ubuntu 8.04 で rubygems を 1.3.0 に上げるには.

0. root になる*1 $ sudo su - # export GEM_HOME=/var/lib/gems/1.8 1. /usr/bin/gem を書き換える require 'rubygems' require 'rubygems/gem_runner' Gem.manage_gems 2. update する # gem update --system 3. 環境変数を設定(.zshrc とかにも書く) % ex…

さくらインターネットで gateway.cgi を使う@Rails 2.1.1

fcgi と drb を使って 90 秒だけ生存するサーバみたいな感じですかね. 基本的にhttp://d.hatena.ne.jp/cimadai/20080923/RubyonRails_on_sakuraを参考にしました.1. Rails/Gem のインストールなど. どこぞにある方法で. 2. fcgi のインストール $ cd ~/l…

さくらインターネットにRailsをGitでdeployする際の注意点

public のパーミッションを755にする必要がある.普通に deploy すると,777 になるので,これを変更するように :after_update_code などで変更しておく.

MySQL で最適化のために覚えておくこと.

SELECTは内部的にデータを全て読み込むため,SELECT id FROM ... などとしても負荷低減にはならない.そのため SELECT が遅い*1 データ転送の負荷軽減にはつながる. 解決法は,テーブル分割.データ本体とそのインデックスの2つのテーブルに分割するなどが…

Git講習会に行ってきた.

Git

kunitさん主催による Git のメンテナ Junio さんの Git 講習会.プレゼン資料が USB メモリで廻ってくると言う,今までにないスタイル*1.最後のデモがかなり良かったです. Git のメンテナの Junio C Hamano さん Dell のノートに Ubuntu が入ってた. 元々…

OSC2008 Tokyo/Fall に行ってきた.

初日は業務として行かせてもらえました.感謝. メモと感想 仮想化は今後のグリーンITとかエコとかでかなり重要な技術になりそう. またラックの省スペース化に貢献できそうなので,積極的に採用すべきだと思った. 予想以上に性能が良いようだ. ネットワー…

ファイルによって deploy 先を変えるには

単純に Capfile と config/deploy.rb を複製すればよい. % cp Capfile Capfile.host % cp config/deploy.rb config/deploy_host.rb % vim Capfile.host # load 'config/deploy' -> load 'config/deploy_host' % vim config/deploy_host.rb # :app, :deploy_…