[会社][研修][Rails] 「Ruby on Railsインストール道場(2)運用環境構築編」が開催されました

本日、「Ruby on Railsインストール道場(2)運用環境構築編」が開催されました。

初回開催から1年以上が経過し、その間にもRails関連のソフトウェアはどんどんバージョンアップしています。今回は、サーバ環境をCentOS 5.4(仮想化ソフトウェア上に構築)、Railsは2.3.4で行いましたが、Railsももうすぐメジャーバージョンアップしてバージョン3になると噂されています。

このコースも内容自体が取り立てて高度というわけではないのですが、こういったバージョンアップにできるだけ追従していくことで、「今」のRailsの運用環境構築手順を皆さんにお伝えしていければ、きっと意義があるのではないかと思っています。

このコースは、2009年は今日が最後の開催ですが、来年も隔月で開催しますので、是非、ご検討ください。

[Rails] 「RailsによるアジャイルWebアプリケーション開発 第3版」の出版記念トークセッションに行ってきました

送信者 Knowledge-ex. Blog

池袋のジュンク堂書店さんで、標題のイベントがありまして行ってまいりました。講演者はNaClの前田修吾さん、Railsコミッターとして知られる松田明さん、夫婦揃ってRailsエキスパートの株式会社万葉の大場寧子さんのお三方でした。

もともとは、前田さんのTwitterのつぶやきで、あまり申込者がいないらしい、ということを聞きまして、前田さんには久しくお会いしておらずご挨拶も出来るし、私なんかで頭数としてお役に立てるなら、と思って申し込んだところがあるのですが、ふたを開けてみればやっぱりというか当然というか、立ち見の出るほどの盛況でした。

この「RailsによるアジャイルWebアプリケーション開発」は、Railsの作者DHHやDave Thomasらといったそうそうたる執筆陣の著による本で、日本語の監訳をNaClの前田修吾さんがなさっています。執筆陣も強力、監訳者もRubyのスペシャリストということで、非常に素晴らしい内容の書籍です。私はRailsで何か作るときには、必ず傍らにこの本を置いてしますし、研修でRailsを教える際にも、この本で調べればたいていの疑問や質問には答えられるのではないかというくらい、お役立ち度が高い本です。

しかしながら、唯一といえるであろう難点は、書籍自体の問題ではなく、Railsのバージョンアップがとても早い、という点です。内容は素晴らしいのですが、いかんせんRailsのバージョンアップが早いため、書籍の内容が最新版では通用しなくなっている、という現象が起きてしまうのです。

実は、この書籍の日本語訳版がようやく出版の日を迎えたこのタイミングでも、既にRailsはバージョン3の登場が目前ではないかと噂されていますので、また同じ悲劇が・・・という心配もあるのですが、トークセッションの中では、アプリケーション開発者レベルでは、互換性はかなり高いようなので、あまり心配する必要はない、とのお話しも出ていました。

で、これもトークセッションの中で出た話題ですが、この本の隠れた見所は表紙のデザインの変遷です。写真にあるのですが、版を重ねる毎に、Railの上を走る列車が進化しているのです。しかも、第3版ではその列車はRailから離れて大空に飛び立とうとしている・・・。これは、Rails3のことを暗示しているのではないか(Rails3はmerbと統合され、コアコンポーネントも含めて開発者が自由に選択・入れ替えできるようになるため、決まったRailというのがなくなる)というようなお話も出てきました。若干、某鉄道アニメを想起させるので著作権的に微妙?というような冗談も(笑)

トークセッションの後の懇親会にも行きたかったのですが諸般の事情でいけず、残念ではありましたが、参加者特典でその場で書籍を購入→トークセッション参加者のみなさんのサインを入れていただくことができました。それと、出版社のオーム社さんからはノベルティ(電卓)もいただきました。この2点だけで充分もとは取れたと思います。

また、こういったイベントがあれば参加したいです。

[Rails][Tips] Rails 2.3.4でmongrel_clusterのprefixが効かない

先日に引き続きRailsのTipsです。

実は、来月開催の「Ruby on Railsインストール道場(2)運用環境構築編」は、前回までRails2.0.xをベースにした内容になっていたのですが、次回からRails2.3.4対応に教材を改訂する予定でおります。

といいつつ、ほとんどの内容はちょっとした違いだけで済んでいるのですが、このコースではApache+Mongrelという組み合わせで環境を作るのですが、ひとつだけ結構変わってしまったポイントがあります。それが、mongrel_clusterの設定ファイル(mongrel_cluster.yml)で設定できるアプリケーションのprefix(JavaのWebアプリでいうところのコンテキストパスみたいなものです)です。

mongrel_cluster.ymlに記述することのできたprefix属性は、Rails2.3.4では効かなくなっています(ネット上の情報によれば2.3かららしいです)。かわりに、production.rbなどのファイルに

config.action_controller.relative_url_root  = '/プレフィックス'

のように設定します。私の場合、開発時はprefixなし、本番運用時のみprefixありにするので、production.rbに書きますが、開発時も運用時もprefixありでいいなら、environment.rbに書いてもいいでしょう。

そして、このMongrelにApacheのリバースプロキシで接続するようにしている場合は、


<VirtualHost *:80>
ServerAdmin www
DocumentRoot /home/www/rails/app
ServerName localhost
ErrorLog logs/app.com-error_log
CustomLog logs/app.com-access_log combined
# ProxyPass/ProxyPassReverseの接続先URLからプレフィックスを外す
ProxyPass /app http://localhost:3000
ProxyPassReverse /app http://localhost:3000
</VirtualHost>

のようにします。今までとの違いは、mongrel_cluster.ymlにprefixをつけていたときはProxyPass/ProxyPassReverseの接続先URLにも同じくプレフィックスが必要だったのですが、前述のconfig.action_controller.relative_url_rootを使う場合には、接続先URLにはプレフィックスはつけなくてよいことになりました。私は最初これがわからなくてだいぶ時間を使ってしまいました。

参考になりましたら幸いです。

また、これらを含めた運用環境のインストール手順については、「Ruby on Railsインストール道場(2)運用環境構築編」で扱いますので是非ご検討ください。

[Rails][Tips] will_paginateのAjax対応

いま、とあるサイトのリニューアル案件に関わっておりまして、これがRailsで構築されています。このサイトがサービスインしたのは2006年とRailsを利用したサイトとしては結構古くて、当時はRailsのバージョンも1.1くらいだったと記憶しています。そんな時代のサイトなので、当然ながらRailsもバージョン1ベースで動いています。

さすがに、いつまでもそのバージョンで稼働を続けるのもメンテナンシビリティから考えてあまり好ましくないと思われましたので、今、私の手でRailsのバージョンを2.3.4に対応させる作業をリニューアルの作り込みと並行して行っています。

そんな中で、割合にインパクトがあるのが、Rails2.0で標準から外されてしまったページネーション機能(Googleの検索結果に代表されるような、多数の問い合わせ結果を一定件数ずつのページに分けて表示する機能)への対応です。

もちろん、2.0登場当時に、対応としては「will_paginate」プラグインを入れればほとんど同じ感覚でページネーション機能が使えるということはよく知られています。しかしながら、該当のサイトはAjaxを多用していますので、will_paginateで生成したページナビゲーション(<前へ 1 2 3 4 … 10 次へ> のようなリンクですね)からのリクエストをAjaxに対応させる必要があります。とはいえ、ページナビゲーションのリンクは will_paginateメソッドが自動生成するため、そのままではAjaxに対応させることができないように思えます。

困ったときはGoogleで検索・・・と「will_paginate ajax」とかのキーワードで検索してみたところ、いくつか対応方法が記されたサイトがあったのですが、私のやり方がいけないのでしょうか、今ひとつうまくいきませんでした。

途方に暮れかけたのですが、考えてみると、公式サイトを見に行っていなかったことに気がつきました。見に行ってみますと、そのものずばりなページがありました。

Ajax Pagination

書かれている方法を試して、無事に解決することができました。灯台もと暗しというか、何でもとりあえず検索から始めるというのも、善し悪しだなと思った日でした。

http://wiki.github.com/mislav/will_paginate/ajax-pagination

[会社][研修][Rails] Ruby on Railsインストール道場(1)が開催されました

送信者 Knowledge-ex. Blog

本日、「Ruby on Railsインストール道場(1)開発環境構築編」が開催されました。

今回は実際にインストールにチャレンジされて、かなり苦労したという方がいらっしゃっいました。配布された手順書の通りにすんなりインストールされる様子を体験されて「知識もない状態で闇雲に悩んで時間ばかりかかるよりも、こういう研修で経験者に教えて頂く方がずっと効率的」というようなことを言っていただきました。

今回から、対象プロダクトのバージョンをNetBeans6.7.1/Ruby on Rails 2.3.4にあげたのですが、Rails2.3.4を入れるにはgemコマンドのバージョンが一定以上でないといけなかったり、NetBeansにしてもデフォルトでJRubyやらGlassFishやらが入ってしまうと、ネットで調べた通常のRails環境のやり方ができなかったりと、意外と面倒なものです。

インストールの仕方なんてネットで調べればすぐわかるのに・・・とはよく言われることですが、実は初学者の方が一番つまずきやすく、挫折に繋がってしまいやすいのもまた環境構築(インストール)だったりもするわけです。

これからRailsを始めようとしていて、環境構築でお悩みの方は是非当コースをご検討ください。また、Linuxサーバへの運用環境構築については「Ruby on Railsインストール道場(2)運用環境構築編」で扱いますので、こちらもあわせてご検討ください。

あ・・・写真はですね「講師席にスピーカーをつけました」というお知らせなんですが、以前に受講頂いた方の感想で、休憩時間にBGMを流してほしいというご要望がありましたので、9月からPCにスピーカーをつないでクラシック音楽をかけるようにしました。

あと、写真には写っていませんが、インフルエンザの流行が気になる昨今、弊社では会場設置当時から空気清浄機を導入して、清潔環境に努めております。手指消毒ジェル、うがい薬、予備マスクも完備です。安心してお越しください。

[会社][研修][Rails] 研修コンテンツの改訂

来月、再来月と、弊社「Ruby on Railsインストール道場(1)開発環境構築編」と「Ruby on Railsインストール道場(2)運用環境構築編」が開催されますが、このコースはもともと昨年の夏から開始したものです。たったの1年ちょっとではありますが、Railsやその周辺ツールのバージョンもかなり上がっています。ということで、研修コンテンツも改訂に着手しています。

これらのコースの場合、インストール手順書がかなり充実している(細かな説明とインストール時の豊富なスクリーンショット)ため、ツール類のバージョンが上がりますと、説明文もさることながら、インストール時の画面のスクリーンショットもほとんど全て取り直しになります。「開発環境構築編」のほうは、ほぼ取り終わったのですが、数えてみますと、スクリーンショットの枚数は100枚を超えていました。

主に「開発環境構築編」では、Railsのバージョンアップ(2.3.4対応)と、NetBeansのバージョンアップ(6.7.1対応)が大きいところです。「運用環境構築編」では、Capistranoのバージョンアップ対応が大きいと予想しています。

なるべく新しい環境でインストール方法を知りたい方は、是非、これらのコース受講もご検討下さい!

[会社][研修][Rails] 今日からRails研修講師です

今日から3日間、Rails研修の講師です。ちょっとしたことではありますが、今回の会場は自宅から近く、朝の時間に若干余裕があるのが、嬉しいポイントだったりします。

思えばRailsの研修講師を最初にさせていただいたときは、Railsのバージョンは1.2くらいだったような気がしますが、今回の研修のバージョンは2.3.3です。かなり、仕様がかわっているところもありますが、意外と大筋ではかわっていないという感じもします。

あまりにも変化が大きすぎると、研修講師の準備も大変なのですが、この研修の場合、昨年の冬に2.1(だったかな?)で一度実施したことがあるため、基本的にはそのときとの差分で内容確認するだけでよい感じでした。

ただ前回は後半の内容のコーディングがヘビーで、時間をかなり超過してしまったという反省があるので、ここを上手くコントロールしていけるように気をつけたいと思っています。

Rails研修に関しては、弊社でも「Ruby on Railsインストール道場(1)開発環境構築編」「Ruby on Railsインストール道場(2)運用環境構築編」というコースも開催していますので、是非、ご検討下さい。

[会社][研修][Rails] 研修準備

来週、とあるお客様先でRailsの研修があります。だいたいの内容は昨年も同じ教材を使っているので、把握できているのですが、対象バージョンが2.3.3に上がっていることと、IDEがNetBeansに変更となっています。そのため、今日は変更内容を確認していく作業を実施しました。

幸いにして、NetBeansは普段からRailsの開発で使っています(Railsインストール道場でもNetBeansをベースに解説しています)ので、この点に関してはさほど苦労なく進めることができました。ただし、多くの機能はNetBeansの機能ではなく、コマンドベースで済ませてしまっているものも多いので、改めてNetBeans上のメニューで確認するところもいくつかありました。

Railsのバージョンが上がったことによる差異は、この研修教材の内容に関しては、さほど見られなかったようです。

とはいっても、内容が改訂されてからは初物であることには変わりないので、抜かりなく準備を進めたいと思います。

[Ruby][Rails][会社][研修] 「Ruby on Railsインストール道場(1)開発環境構築編」が開催されました

本日、「Ruby on Railsインストール道場(1)開発環境構築編」が無事開催されました。
本日も、やはり少人数でしたが、Rubyのインストールで若干のトラブルがあったものの、なんとか規定の内容は終えることが出来ました。人数がもう少し多いと、受講者の皆さんのフォローなどを個別に実施することで結構時間がかかってしまうこともあるのですが、今日は時間よりもだいぶ早く規定の内容が終了できたので、本来のカリキュラムになかったRailsの文法の基礎などを少しご説明したり、また弊社で購入したりいただいたりしたRuby/Railsの書籍についてご紹介したりすることが出来ました。

同様のコースを秋以降にも、ペースは少ないと思いますが開催予定ですので、どうぞご検討ください。もともとが少人数の教室ですから、いろいろと質問もしやすく、内容も柔軟に対応できるのではないかと思います。会社ではない個人やSOHOの方のご受講も大歓迎です。どうぞご検討ください!

[Ruby][会社][研修] 弊社サイトがGoogleの「ruby 研修」で検索順位第3位に!

送信者 Knowledge-ex. Blog

今週土曜日に「JavaエンジニアのためのRuby1日入門」が開催されますが、皆さん、どうやって弊社のセミナーを発見されているのだろうか、ということには非常に興味があります。

実際に受講者の方に聞いたり、アンケートに記入いただいたりしているのですが、だいたいの方は「検索で・・・」とおっしゃいます。本当に検索で発見できるのだろうか?と思い、さきほど「ruby 研修」でGoogle検索してみると、なんと、弊社のサイトが検索順位の3位に表示されているではないですか!

※ ちなみに、「java 研修」だと第5位でした。これも驚きです。

※ それと、1位のRuby Academyには、私も以前これに関連する研修で講師を務めたことがあります。

こんな弊社みたいな零細企業のサイトが検索順位の第3位だなんて、ちょっと恐縮してしまいますが、中身はちゃんとしているつもりですので、弊社セミナーをどうぞよろしくご検討のほど、お願いいたします。