本を書きました。
![]() |
Ruby on Rails携帯サイト開発技法 ソフトバンククリエイティブ(2010-04-30) ソフトバンククリエイティブ 新品価格:¥ 2,940 ASIN:4797358785 |
自分はjpmobileを使ってアプリを作る章を担当しました。書店で見かけたら手にとって頂けるとありがたいです。
![]() |
Ruby on Rails携帯サイト開発技法 ソフトバンククリエイティブ(2010-04-30) ソフトバンククリエイティブ 新品価格:¥ 2,940 ASIN:4797358785 |
自分はjpmobileを使ってアプリを作る章を担当しました。書店で見かけたら手にとって頂けるとありがたいです。
screen+vimで縦分割したときに矢印(→)やら米印(※)やら三角(▽)やらを含んだファイルで桁ずれを起こしていたのですが、対策が見つからずそのファイルは単独タブで開くという後ろ向きな手段で回避して使っていました。
しかし先日ついに我慢できなくなって、前から気になっていたtmuxを試してみたところ見事にこの現象が起きず、これを機に乗り換えることにしました。複数コンソールを開くだけ、というきわめて基本的な機能しか使っていなかったため、少し設定ファイルを書くだけでまったく同じように使えています。(参考として.tmux.confを貼っておきます。)
bind-key BSpace previous-window
bind-key Space next-window
set -g default-terminal screen-256color
set -g prefix C-z
set -g status-bg colour7
set -g status-fg black
setw -g window-status-current-format " #I:#W "
setw -g window-status-current-bg black
setw -g window-status-current-fg white
setw -g window-status-format " #I:#W "
さて、ということで必要に迫られてautotest_screenのtmux版であるautotest-tmuxを作りました。
screen版の区切りをアンダースコアにしたのが、githubに置かれたgemの命名規則にかち合うのを回避という理由だったため、いまはその心配がないであろうという判断でtmux版はハイフン区切りにしました。
同じような環境にあるかた、お試しください。
正しくは、500を返す。
render :nothing => true, :status => 450
なんてことをしていて、Mongrelの開発環境だとちゃんと450が返ってくるのにApache+Passengerの検証環境だと500が返ってきていた。
そこで原因を調べたところ、返す可能性のあるステータスコードはすべて定義されていて、それ以外は500で返している。(※ソースは後述)
で、なんでこんなことをしようとしているのか。Flashのアップローダを作ってFileReference#upload()でアップロードしているのだけれど、こいつが結果をHTTPステータスでしか受け取れない。だから、結果のメッセージをサーバから返してそれを表示する、てこともできない。
アップロード自体が成功したか否かを知るには200かそれ以外か、くらいで十分なんだけれど、アプリ要件(たとえば、アップロードが終わってからファイルを受け付けられない状況になってただとか、ファイルの中身を見て判断しなきゃいけないだとか)での結果を返すには、これでは足りない。
結局、Apacheのソースコメントでunusedとなっていた418~421に意味を持たせ、そこを使って対応しました。層を混同していて気持ちがいいものではないのだけれど、影響範囲は広くなく、なんらかのフラグを立てて別リクエスト、のコスト増を考えるといいだろうとの判断。もしなにかいい方法があったら教えてください。
以下、Apacheソースの該当部分。
続きを読む…
configの下も出したかったので調べた。
rails-2.3.5/lib/source_annotation_extractor.rb
48 # Returns a hash that maps filenames under +dirs+ (recursively) to arrays
49 # with their annotations. Only files with annotations are included, and only
50 # those with extension +.builder+, +.rb+, +.rxml+, +.rjs+, +.rhtml+, and +.erb+
51 # are taken into account.
52 def find(dirs=%w(app lib test))
53 dirs.inject({}) { |h, dir| h.update(find_in(dir)) }
54 end
ここね。
Rails 2.3.4から入ったrake db:seed。所謂マスターデータを入れる処理はmigrationじゃなくてこっちにしようという話。
もう悩まない!
autotest/screenの切り出しを引き受けてから早2週間、やっとのことでリリースしました。
RubyForge: autotest_screen: Project Info
Autotest::Screen shows autotest/autospec progress on GNU Screen’s status line.
これからは
gem install autotest_screen
でどうぞ。
RubyForge: zentest-4.0.0-released
ZenTest version 4.0.0 has been released!
先日パッチを投げてみて、そのあとこんなやりとり(超訳:Ryan「おれscreen使ってなくて、これからも使う予定ないから、メンテやってくれないかな。」オレ「わかった、やるよ。」)があって、autotest/screenを担当することになったのですが、その直後にリリースされた4.0.0ではもうautotest/screenが削除されております。(こんなタイミングだったとはっ!
)
そのためZenTest 4.0.0にアップデートされた方はautotest/screenが無い状態になっていると思いますので、お困りの方のために暫定処置としてソースを張っておきます。
こいつを ZenTest-4.0.0/lib/autotest/screen.rb として置くか、$HOME/.autotest にまるっと貼り付けてやればOKです。
正式対応はへっぽこ英語でやりとりしつつ鋭意作業中ですので、いましばらくお待ちください。
[ref.] Autotest::Screenのhookを整理してみた。
[ref.] RubyForge: ZenTest – Ruby Unit Testing Utility:
Riding Rails: Merb gets merged into Rails 3!
It’s christmas, baby, and do we have a present for you. We’re ending the bickering between Merb and Rails with a this bombshell: Merb is being merged into Rails 3!
インストールするといっぱい依存gemが入るというくらいの知識しかなく(えぇー!)、触ってみなきゃと思いつついますぐには必要ないしという後ろ向きな理由でそのままにしていたMerbがRails3にマージされるそうです。
ふつうにアプリを作るならきっと現時点でもう十分で、フレームワークは道具でまた学習コストがかかるのは云々て意見も正しいと思うけど、ここをこう変えたんだとかこういう機能がついたんだというのをみるたびに、そんな方法があるんだ!とかそうやってるのか!とか感じるのが単純におもしろい。
包丁を研いでうわー切れるーだとか、ドリルに油さして穴開け軽々ーだとか、そういう感覚と同じなんじゃないかな。
いい道具を使うことはそれ自体が楽しみで、それをメンテナンスするのも楽しいことだと思う。
Rails edge に Metal という新しい機能が追加された。これは Rack を用いた高速な Controller であり、Rails の色んな機能は捨ててでも、兎に角、単純で速いレスポンスがどうしても必要だ!という局面ではもの凄い助けになるだろう。
いままでのRailsの遅さがネックになるようなシチュエーションに対するアンサー的な機能が追加されたみたいです。(すばらしー、詳細は↑を。)
ここで、こちらのコメントで思ったことがあったのでひとつ。
paco (2008-12-17 15:19)
rails一本で何も考えずにスタートしても後で何とかなるって安心感は増えますねー
自分は「Railsしか触ってない」って思っているところがあったのだけれど、使い始めた頃の1.2といまの2.2ではけっこう違う。機能の追加や変更があるたびに基づいている考えも変わっているわけで、ちゃんとそれに追従していけばそれでも悪くないのかなーと。もちろん視野を狭めるつもりはないのだけれど、なんとなく感じていた「Railsだけしか」的な負い目みたいなのは余計なことなんだろうな。
そもそもそこまで深くRails知ってるのかって言うとNoなんですがね、同じ物を見続けていても対象が動いていれば結果的に自分も動いていけるんだよな、と。そういうことを感じたのです。
・・・と、ここまできてぴったりな言葉を思い出した。
「牛に引かれて善光寺参り」
そう、これだ。Railsは牛。