datetime型を持つモデルのテスト

Ruby on Railsにおいて,テスト環境がとっても気持ちがいいと「前のエントリ」で書いたが,実際にテストケースを書き始めると,やっぱり知らないことがいろいろと出てきて,サクサクっとはいかない。もちろん,それは俺がバンビーノだからなのだが。。。 datetime型な列があるappointments表のAppointmentモデルをテストすることを考える。fixtureには,こんな感じで記述するだろう。 first: id: 1 promise: 2007-07-10 13:30:0...

Railsアプリを本番環境に配備する際の注意点

MacOS Xで作成したRuby on Railsアプリケーションを,今日Fedora Core 6に配備することにチャレンジした。もちろん一発でうまくいく訳もなく,いくつかハマり箇所があった。同じミスを繰り返さないためにも,ここに残しておく。 [rubyコマンドのパス] 作成したRailsアプリを,「 約5時間かかったRuby on Railsの実行環境構築」エントリで紹介したlighttpd実行環境にファイル一式コピー。lighttpd.confおよびhttpd.confにそれぞれ設定...

「%>」と「-%>」の違い

Ruby on Railsで採用されているERB(eRubyの実装)。これによって,HTML内にRubyコードを記述することで,動的なコンテンツを出力することが可能となっている。 いくつかのサイトや書籍を見ながらRoRアプリケーションを試していたところ,以下の点に気がついた。 「%>」と「-%>」,何が違うのか? マイナス記号が付いている場合と付いていない場合がある。例えば, ‘edit’, :id => user.id -%> といったように。 上記の...

Ruby on Railsのテスト環境が気持ちいい

Javaな世界に10年以上どっぷりと浸かってきたが,Ruby on Rails(RoR)をやっていると「良く考えられているなぁ」と感心してしまう箇所が随所に見られる。とかくScaffoldやActiveRecordに関するコーディングに目が行ってしまいがちだが,僕個人的にはテストに関する環境が最も「おぉ」と感じている。 言うなれば,「JUnit + DbUnit + Cactus」な環境が標準で整備されている,ということだ。 JUnitについては,もちろんTest::Unitがそれに相...

約5時間かかったRuby on Railsの実行環境構築

ここ数日はJavaからほとんど離れて,Ruby on Railsのお勉強に多くの時間を割いている。確かにRoRがこんだけ騒がれる理由がわかる。railsの内部処理に踏み込むと宇宙な世界だが,railsの上でアプリケーションを書いて単体テストをしている分には,この上ない気持ちにさせてくれる。 しかし,RoRアプリの運用環境構築に5時間も苦戦するとは思わなかった。 RoRの運用環境は,現在では以下のパターンがあるらしい。細かく分ければ,もっと多くの組み合わせがあるだろう。 a...

S2Wicketをバージョンアップしました

何ヶ月ぶりかになるが, S2Wicketをバージョンアップした。数ヶ月苦しんだ機能追加ができあがったのではなく,いくつかのバグフィックスを施したのが今回の内容。S2Wicketを使ってくれている NAGASEYASUHiTOさんからのフィードバックを元に,不具合修正を行った。 [JIRA - S2Wicket] バージョン1.2.1のChangeLog 1人でOSSを作っていると,なかなかテストや動作確認を完璧に行うことは難しく,叩いてくれる利用者がいてこそ品質の向上が図れる(残念ながら...

Webブラウザの起動

「 Webブラウザコンポーネントの利用」エントリで紹介したように,EclipseプラグインのViewなどにBrowserコンポーネントを貼り付けることで,効果的なEclipseプラグインを低コストで開発することができるようになる。「〜clipseな技術」の第2弾として,Webブラウザの起動方法について紹介してみたい。 何らかのWebサービスを利用したEclipseプラグインでは,Webサービスの提供元のWebページをWebブラウザ(not Browserコンポーネント)でブラウジングした...

Webブラウザコンポーネントの利用 Part2

「 Webブラウザコンポーネントの利用」エントリで紹介したBrowserコンポーネントを使用すれば,低コストでリッチなEclipseプラグインを開発できる。しかし,嬉しいことばかりではない。このエントリでは,発生し得るいくつかの問題点と,その解決方法について紹介する。 万能に見えるBrowserコンポーネントだが,Webブラウザであること故のデメリットもちゃんと対処してあげなければならない。〜clipseで行っている対処として,以下のものがあげられる。 コンテキストメニ...

夏到来!

昨晩,家に帰ると玄関に「夏到来!」な文字があった。 普段嫌いな夏だけど,今年の夏は元気に乗りきれそうだ。

Webブラウザコンポーネントの利用

「〜clipseな技術」の第1段として,Webブラウザコンポーネントの利用方法について紹介する。 近年,Web2.0的なアプリケーションが数多く登場している。これを支えているのは,RESTなどによる軽量なWebサービスが次々と公開されているという事実であることについては,誰もが認めるところだろう。多くのWebサービスがWebブラウザ上で利用あるいはマッシュアップされることを前提として提供されている。つまり,Webブラウザ上,しかもJavaScriptとの親和性という点が重要である。 何...