Rubyは簡潔な言語であり、この点は開発において重要な意味を持ちます。つまり、コード行が少なくなれば、開発にかかる時間やメンテナンスの費用が減少するということです。RailsはRubyベースのWebアプリケーションフレームワークで、ほとんどの開発者にとって扱いやすいフレームワークですが、大規模なWebアプリケーションをデプロイする際にスケーリングの制限に直面する...
『 Railsに特化したmod_ruby的なものをつくったという話/『最大シェアを誇るApacheHTTPServerだが、Railsとの相性はあまりよくない。』←mod_rubyとrailsの相性がわるいだけでは? 』
『 Rails2.2からスレッドセーフになる模様. 』
『 ついにスレッドセーフか。プロセス多重起動は不自然な感じがしていたのでたいへんよいと思う。というかみんなプロセス多重起動による並列化って気持ち悪くないのかな。 』
named_scopeによるPagination を行うためのGemを作りました。 通常はwill_paginateを利用するほうがいいと思いますが、 :joinsを含む複雑なnamed_scopeを介してpaginationを行いたい場合には、 利用すると便利かもしれません。 pagination_scope 使い方 まず、モデルクラスの中でincludeします。 1 class Post 2 include PaginationScope 3 end これによって、Postク...
Ruby on Rails を簡単に日本語化する RailsJa, ActionMailerJa を公開しました。 プラグインをインストールするだけで、Rails と ActionMailer の日本語対応ができます。 経緯 現在の Ruby on Rails の日本語化の定番と言えば、Ruby-GetText です。 しかし、多国語対応ではなく、単に日本語対応したいだけであれば、少し大げさな印象がありました。 そこで、Ruby on Rails をカンタンに日本語対応できる...
Railsアプリケーションでpaginationといえば、 will_paginate等のプラグインやGemを使うのが一般的だと思います。 しかし、named_scopeでjoinsを使った場合にうまく paginationができなかったので、 named_scopeだけを使ってpaginationする方法を考えてみました。 まずは以下のようなnamed_scopeを作ります。 以下の例はPostクラスで宣言される事を想定しています。 1 named_scope :paginate, pro...
『 Rails、リファレンス、チートシート、API/rake/Generators/Plugins/Migration/RJS 』
小雨の振る中、秋葉原駅前というか、雨を避けてダイビル前に寄ったあたりに集まった。怪しい集団が飲物片手に集まっているので、ダイビルの守衛さんに「敷地内飲食禁止だよ」と怒られる。でも、どこまで公道でどこから敷地なのか不明。 今回は勉強会・懇親会ともに参加者が過去最高ということである。大阪の勉強会の大規模さと本格さには及ばないけれど、東京も盛り上...
最近、Railsの仕事が増えてきて、一つのパッケージ空間でRailsやRubyGemsを動かすのに問題が出てきたので、Debianをchrootして、その中にアプリを閉じ込める様にしてみる。 hroot を使って異なる Debian ディストリビューションを起動する を参考にして、Debian内に新しいSargeをインストールし、そこに手でRails環境を構築。MySQLサーバは、chroot外の物を利用。 (chrootされてない環境で) # mkdir ...
ある ActiveRecord オブジェクトの内部状態が期待する値かどうかを検査するのがvalidation 機能です。例えば、ある変数(状態)が、空値、決まった範囲、特定の正規表現にマッチ、であるかどうかといった検査を定義します。定義するには、ActiveRecord::Base#validate を override します。validate_on_create や validate_on_update などに関しても同様です。 validate_on_create: オブジェクトが新規に作成された...
Ruby on Railsには良くかけたチュートリアルがあって、最初の一歩は踏み出しやすいようになっています。しかし、チュートリアルをひととおり読んで、scaffoldスゲーということはわかったのだけど、次に何をしたら良いかわからないという人が多いようです。かくいう筆者もその一人でした。 次に何をすればよいかというと、一番良いのはやはり自分で実際に何かアプリケーション...
http://rails2u.com/htmlhelp/rails.chm.zip 今まで Rails のマニュアル引きには http://api.rails2u.com/ を使ってたのですが、ネットワークに繋がらない時などにいちいちローカルで動かすのもめんどくさい、と思えてきたので最新の svn head なドキュメントをみんなだいすき*1な htmlhelp にしてみました。 また ActionController や ActiveRecord などを全部入力するのはめんどくさいので AC や AR で引けるよう...
『 via:http://builder.japan.zdnet.com/news/story/0,3800079086,20366959,00.htm 』
『 プロジェクト/バグ管理、←Trac、ガントチャート、多言語対応、フィールドのカスタマイズ、各種データベース対応 』
こちらはRailsに限らず良く使われている方法ですが、RailsではWebサーバをフォアグラウンドプロセスとして立ち上げた状態で使う感じになります。 $ ./script/server p/ppに慣れている人にはわかりやすくて良いと思います。 2. logger.debug さて、続いてlogger.debugを使う方法です。 logger.debug "something interesting information" p/ppの代わりにlogger.debugを呼ぶ事で、結果がlog/development.logなどのlog/$RAILS_EN...
私もAwardにも応募した [1]し、嫁もRailsに興味が出てきたみたいだったので(無理矢理?w)、ドリコム主催のRails勉強会 [2]に参加してきました。 対象は「プログラミング自体の経験が少ない方向けです。」って書いてあったので、元Javaプログラマの嫁でも大丈夫かなーと思って。 それで夫婦で参加してみて思ったのは、なにせ準備不足。何が目的なのかも分からない。 最初から最後...
以前に所属していた会社であるワイズノットで「10分で作るRailsアプリ for Windows」でおなじみので増井さんによるrails講習会があるというメールを頂いて行ってきました。 rails講習会メモ 日本語化 ActiveHeart or GetText-Ruby(better) DBの変更管理 Migration rake migrate rake migrate VERSION=3 (古い状態に戻せる) rake remote:migrate (サーバでmigrate) デプロイ管理 カピストラーノ capistrano (deploy管理) (元Switch...
バージョン2がリリースされたのは12月7日。主要な強化機能としては、REST(Representational State Transfer)のサポート強化と、セキュリティの改善などが挙げられる。 「Rails 2.0で気に入っているのは、RESTfulの原則を追求してアプリケーション開発が調和的になった点だ」とRuby on Rails作成者デビッド・ハイネマイヤー・ハンソン氏はeWEEKに語った。「これにより、アプリケーション開...
『 RubyonRailsを理解するには良いチュートリアルをたくさん読むことだと 』
どうせお前らはカラム名の日本語化は ActiveHeart を使っていて自分で使う分には快適なのだけど、久々に scaffold を使ってみると生成された view ではColumn#human_name → Base.human_attribute_name(@name) と基底クラスのが呼ばれて結局ローカライズされねー!と悔しい思いをしつつも、まあ generator でそこのテンプレだけ変えればいいか俺に任せろ!と書き直そうとするんだけど、テンプレつーか...