2006-04-02(Sun) [長年日記] この日を編集
2006-04-03(Mon) [長年日記] この日を編集
_ [Rails]AjaxのときもparamsをHashに構築してくれるの?
Rails1.0で
text_field("post", "title", "size" => 20)
と書くと
<input type="text" id="post_title" name="post[title]" size="20" value="#{@post.title}" />
に展開され、しかもcontroller側で受け取るときは勝手にHashになる
params[:post] # {"title" => "画面の入力データ"}
んですが、observe_form で :withでparameterを渡しても、query_stringの形式のままcontrollerに渡されてしまうようです(;_;
ごりごり書くしかないのかなー。なんとかしたいけど。
_ [Ruby]るびまに感謝。
今は会社でWebアプリを書いています。ツールの選択権は私にあるんで、Rails三昧でつよ!とはいえ、ひっかかることもけっこうあったりして、そんなときにるびまはかなり役にたってます。moriqさんのRails連載はもちろん、リフレクション系だったら青木さんの添削とか。いまさらながら感謝。
_ [Rails]さっきの答えってもしかしてこれ?
class CGIMethods #:nodoc: public # Returns a hash with the pairs from the query string. The implicit hash construction that is done in # parse_request_params is not done here. def CGIMethods.parse_query_parameters(query_string) parsed_params = {} ...
これコントローラで呼んだらいいのかしら?明日やってみよう。
2006-04-04(Tue) [長年日記] この日を編集
_ [ジム]ジム2回目
早めに帰ってきたので、夕食後一泳ぎ。10分歩いて、10分泳いで、10分歩いてクールダウン。+お風呂で1時間ぐらいで帰ってきた。強度を上げてないのにこのしんどさとは...。徐々に慣らして行こう。徐々に。
しかし、コンタクトなしで泳ぐと誰が誰かわからんな。かといって1時間のために使い捨てを使う気にはなれないし。とはいえスタジオに行くようになったらつけないとめがねでは動けないもんなー。
_ [思いつき]OutlookからMAPIでimapアクセスできたらなー、
と思っています。Exchangeな環境なので、Outlookはグループウェアモード、というかExchange専用モードなんですな。このモードではpopはおろかimapも駄目です。切り替えれば使えますが。
で、MAPIでIMAPアクセスできたらcourierでもなんでも立ち上げて放り込めるじゃん!と思いついたわけですが...商用製品には付属ですがOpenSourceでは見つけられませんでした。どこかで見たことがあるような気もするんですけど。
実現したいのは、総務とかいろんなところから回ってくるお知らせのメールの転送転送をやめさせたいんです。まず自分が整理するのが面倒だけどさっさと消すわけにもいかないし、部課長職の貴重なリソースをそんな無駄なことに費やすのも腹立つし。しかもメールサーバにも無用な負荷をかける、ということで悪いこと尽くしかと。
なので、まず課長にお願いして、そういうメールはExchangeの外のimapに放り込んでもらって、RSSで配信とかどうかな、と思ったわけです。あるいはもっと簡単にみんなでimapで見てもいいし。
ちゅーか、Exchangeなのにグループウェアとして使えねーのはどうにもこうにも。まあ、サーバ容量の制限がありますからねー。それにプログラミングしにくそうだし(偏見?)
そういうところにこそイントラブログ+RSSフィードでつよ!という声もあるとは思いますが、実際にはそこまで変えるのは難しいでしょうね。Outlook独自のリッチテキストに慣れちゃってるし...ってFKCEditorでWYSIWYG編集でどうよ?みたいな。
うん、今年度の小集団活動のテーマはメール転送量の削減、にしようかしら。
2006-04-05(Wed) [長年日記] この日を編集
_ sp2になりました。
会社ではずっと都合でXPsp1だったんですが、もうすぐ大量に入ってきそう、ということでヒトバシラーに。アップグレードウィザードがなかなか終わらないのでどうしようかと思ってしまった。
SQLServerも入れなくては。
2006-04-09(Sun) [長年日記] この日を編集
_ [ジム]ジム3回目
2,3年ぶりにスタジオクラスに入った。再開してからは初だったのだけど...
マジでつれえのな
45分だったんだけどこんなにきついとは思わなかった。最初の5分で後悔しちまったよ。なんとか最後までやったけれど、次回は同じ時間の初心者クラスに行こう。明日以降心配だわ( ・ω・)
_ xrea
なんか死んでない?
_ づんだもち [XREA、どうやら↓のトラブルのためみたい。 https://www.value-domain.com/info.p..]
2006-04-13(Thu) [長年日記] この日を編集
_ [Subversion]TortoiseSVNはやっぱり便利だ。
今Railsで書いたアプリを本番で使っていて、順次要望をとりいれつつ改善中なんだけれど、ちゃんとブランチをきってリリース用と開発最先端をわけている。いまのところうまく回っている感じ。ちゃんとリリース毎にタグもきってるし。でもリリース用の小改善を開発最先端に適用するときに何回かマージをしくじって手で直すはめに。うーむ。修行が足らんな。
今日後輩がjspアプリの改修をやるときにリリースブランチから開発最先端にマージをしたのを指導したのだが、あっさりうまく行きやがった。うれしいやらくやしいやら。やっぱり手パッチさせてからありがたみをわからせてやればよかったかも。
2006-04-16(Sun) [長年日記] この日を編集
_ [Rails]Ajp-Railsを試す
以下の環境で試して動いたヽ(´ー`)ノ
- ruby1.8.4(ASR1.8.4.0)
- ajp-rails (0.1.0)
- Apache2.0.55(win32)
- mod_jk(1.2.15)
- rails(rev 4206)
インスコ
> gem install ajp-rails -y
httpd.conf
include "c:/home/www/conf.d/*.conf"
mod_jk.conf
<IfModule !mod_jk.c> LoadModule jk_module "C:/Program Files/Apache Group/Apache2/modules/mod_jk.so" JkWorkersFile "c:/home/www/conf.d/workers.properties" JkLogFile "c:/home/www/logs/mod_jk.log" JkLogLevel info JkLogStampFormat "[%a %b %d %H:%M:%S %Y] " JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories JkRequestLogFormat "%w %V %T" JkMount /ajp-mounted/* ajprails </IfModule>
Alias /todo "c:/home/kog/prj/todo/public" <Directory "c:/home/kog/prj/todo/public"> Options ExecCGI FollowSymlinks AllowOverride All </Directory>
workers.properties
# Comma separated worker names worker.list=jkstatus,ajprails # Definition for Ajp13 worker # worker.ajprails.type=ajp13 worker.ajprails.port=3009 worker.ajprails.host=localhost worker.jkstatus.type=status
public/.htaccess
RewriteEngine On RewriteBase /todo RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ /ajp-mounted/$1 [QSA,L] RewriteRule ^([^.]+)$ $1.html [QSA] ErrorDocument 500 "<h2>Application error</h2>Rails application failed to start properly"
config/production.rb
ActionController::AbstractRequest.relative_url_root = '/todo'
config/ajp.yaml
host: localhost port: 3009 location: /todo prefix: /ajp-mounted directory: "c:/home/kog/prj/todo"
パッチ(!)
--- ajp_rails_dispatcher.rb.orig 2006-04-15 23:58:12.904643200 +0900 +++ ajp_rails_dispatcher.rb 2006-04-16 02:30:28.410856000 +0900 @@ -15,18 +15,18 @@ response = AjpRailsResponse.new prepare_application ActionController::Routing::Routes.recognize!(request).process(request, response) - ajp_req.output_cookies.each do |cookie| - if cookie.name == 'JSESSIONID' - case cookie.value - when String - cookie.value << '.' << server_environments['LOAD_BALANCE_ID'] - when Array - cookie.value.each do |item| - item << '.' << server_environments['LOAD_BALANCE_ID'] - end - end - end - end +# ajp_req.output_cookies.each do |cookie| +# if cookie.name == 'JSESSIONID' +# case cookie.value +# when String +# cookie.value << '.' << server_environments['LOAD_BALANCE_ID'] +# when Array +# cookie.value.each do |item| +# item << '.' << server_environments['LOAD_BALANCE_ID'] +# end +# end +# end +# end response.to_ajp_response(ajp_req.output_cookies) rescue Object => exception puts exception.message + ":" + exception.backtrace.join("\n")
最後のパッチはどうしても下の状況が解決できなかったので無理やり。mod_jk初めてなので何がどういかんのかがわかりませんでした。orz
C:\home\kog\prj\todo>ajp-rails -c config/ajp.yaml processing /ajp-mounted/task can't convert nil into String:c:/ruby/lib/ruby/gems/1.8/gems/ajp-rails-0.1.0/lib /ajp-rails/ajp_rails_dispatcher.rb:25:in `<<' c:/ruby/lib/ruby/gems/1.8/gems/ajp-rails-0.1.0/lib/ajp-rails/ajp_rails_dispatche r.rb:25:in `dispatch' c:/ruby/lib/ruby/gems/1.8/gems/ajp-rails-0.1.0/lib/ajp-rails/ajp_rails_dispatche r.rb:24:in `dispatch' c:/ruby/lib/ruby/gems/1.8/gems/ajp-rails-0.1.0/lib/ajp-rails/ajp_rails_dispatche r.rb:18:in `dispatch' c:/ruby/lib/ruby/gems/1.8/gems/ajp-rails-0.1.0/lib/ajp-rails/rails-runner.rb:38: in `process_request' c:/ruby/lib/ruby/gems/1.8/gems/ruby-ajp-0.2.1/lib/net/ajp13/server.rb:171:in `pr ocess_forward_request' c:/ruby/lib/ruby/gems/1.8/gems/ruby-ajp-0.2.1/lib/net/ajp13/server.rb:145:in `pr ocess' c:/ruby/lib/ruby/gems/1.8/gems/ruby-ajp-0.2.1/lib/net/ajp13/server.rb:138:in `pr ocess' c:/ruby/lib/ruby/gems/1.8/gems/ruby-ajp-0.2.1/lib/net/ajp13/server.rb:103:in `st art' c:/ruby/lib/ruby/gems/1.8/gems/ruby-ajp-0.2.1/lib/net/ajp13/server.rb:100:in `st art' c:/ruby/lib/ruby/gems/1.8/gems/ajp-rails-0.1.0/lib/ajp-rails/rails-runner.rb:185 c:/ruby/lib/ruby/gems/1.8/gems/activesupport-1.3.1/lib/active_support/dependenci es.rb:140:in `load' c:/ruby/lib/ruby/gems/1.8/gems/ajp-rails-0.1.0/bin/ajp-rails:4 c:/ruby/lib/ruby/gems/1.8/gems/activesupport-1.3.1/lib/active_support/dependenci es.rb:140:in `load' c:/ruby/bin/ajp-rails:18 processed /ajp-mounted/task: 200 OK
無理やりパッチしたところ、どうにかしたいなあ。
これで、fastcgi, scgi, ajpと3つ常駐させる技法が使えるようになった(と言い切れないか^^;)ので、かなり安心。特にajpについてはmod_jkのメンテナンスが期待できそうなので安心感がある。うまくやればIISとの連携でもいけるかもしれない。先にmod_rewriteをなんとかしなきゃなんないか。
あと、今回実験に使ったアプリがrailsのtrunkを参照してるので、rails1系でも試してみよう。
2006-04-19(Wed) [長年日記] この日を編集
_ 寄り道
今日はちょっとはやめに上がって、目をつけていた本屋さんへ。
以前、ダイエーの中に店舗があり重宝していたのにダイエー自体が閉店されてしまって(´-ω-`)と思っていたのだけれど、たまたまクルマでその前を通ったときにダイエーの建屋のB1-2Fで営業してるのを発見!これはぜひ行かなくては...と思っていた次第。
で、いろいろ見て堪能しましたとさ。いやー本屋さんって買わなくても楽しいなあ。
_ [読書]楽々ERDレッスン
といいつつ買ってしまいました。 楽々ERDレッスン (CodeZine BOOKS)((株)スターロジック 羽生 章洋) とりあえず3部以外は読んだ。3部は手を動かしながらやる。 やっぱり羽生さんの文章もいいなあ。
アイデンティファイアについては、うなずけるところが多々あるものの今まで複合主キーをずーっと率先してきた身としてはちょっとつらいものがある(笑)。が、キーはアクセスパス、と割り切ることで得るものが大きいんだからやるべきだわな。できればRailsあたりから初めてみたいと思っています。黙っていてもid必須だしね。
2006-04-21(Fri) [長年日記] この日を編集
_ [Rails]Ajp-Railsを使う2
作者さまに補足捕捉されたみたいなので、追試結果をあわてて書く(汗)。結論からいうとパッチは不要です。
host: localhost port: 3009 location: /todo prefix: /ajp-mounted directory: "c:/home/kog/prj/todo" serverid: todo1 # <= これがいる
serveridが抜けてただけだった...。でもでも、コマンドラインオプションのデフォルトはないみたいだし、必須だともよみとれなかったずら!と逆切れしてみたり。
これでちゃんと使えそうなことがわかってほっとした。Laszloと共存!とかになったらApacheからはajpのみでいいかも!
2006-04-29(Sat) [長年日記] この日を編集
_ [WebService]GoogleCalenderはじめました
gmailを使っていることもあるので、ちょこっと使いはじめてみました。結構便利かも。
_ づんだもち [All-In-One Tracよい感じですね。早速、試していますよ。]