**RAILS
どんなツール(プログラミング言語、フレームワーク)でも、リファレンスを上手く引けなければ、ツールを使いこなすことはできない。日々Railsによる開発をしている皆様方におかれましては、ブラウザのアドレスバーに「api」と入力した瞬間「api.rubyonrails…
このエントリに出てくるコードは ruby 1.8.7 p72、rspec 1.1.11 で試しています。 RSpec って… RSpec-1.1.11: Overview には次のように書いてあります。 RSpec is a Behaviour Driven Development framework for Ruby. 訳は「RSpec は Ruby の振る舞い駆動開…
Rails2.2のリリースノートを訳しました。 バージョンアップの参考にしてください。 http://webtama.jp/series/railstips/articles/17 すばらしすぎる がんばりすぎ スレッドセーフ化記念はてブ! すばらしい! 変わりすぎじゃねぇ。でも、意欲的な変更ですご…
一つのアクションで複数のモデルオブジェクトを操作するのは意外に厄介なものです。データの受け取りは fields_for で何とかなるとしても、関連の組み立てやエラー処理などやっているとすぐにコードがとっちらかってしまいます。 ActivePresenter プラグイン…
2008-09-23 23:35追記 そういえばこのエントリはボトルネックがビュー(キャッシュ)の生成で、それが遅いせいでリクエストが詰まってしまう、ということを前提に書いてます。Railsはいまのところシングルスレッドでしか動作しないので、バランサの裏にAPサー…
本日、jpmobileを使って、絵文字入りのmailを携帯に対して送りたいと言う話がきました。 と言うわけで、よしぶろっIP: Railsで絵文字入りメールを送る方法を参照して モジュールを作ってみた。 ActionMailer::Baseを上書きする。 class ActionMailer::Base d…
「今週の話題」を除くと、すごく久しぶりの投稿になってしまいました。いろいろあってなかなか時間が取れなかったのですが、やっと復活できそうです。ネタはだいぶ溜まっているので、頑張って書いていこうと思います。 さて、本日ご紹介するのは Rails アプ…
ActiveResouceなんかを使ったり、認証サーバと連携したりといった外部サーバとの通信が必要なアプリケーションを書く場合、ローカルで動かせるダミーサーバが欲しくなります。このところ仕事でそういうシーンが多かったのですが、そういったときにWEBrick(と…
INDEX PAGE ドメインの異なるサイトでセッションを共有する Railsの1.2移行では、セッションはデフォルトではCookieを使用しているので サーバーが分散していてもセッション共有することができます。 ※携帯サイトなどでは方式を検討する必要がありますが。 …
ruby-lang.orgより、REXMLの脆弱性に関する報告がありました。 REXMLのDoS脆弱性 RailsでXMLリクエストのパースに使用されているREXMLに、DoS脆弱性が発見されました。XML entity explosion attackと呼ばれる攻撃手法により、ユーザから与えられたXMLを解析…
restful_authenticationは、ログイン認証という限定された機能を、適度なサイズで提供してくれている。ログイン認証には多くのRailsの技が駆使される傾向にあり、コードを眺めていると勉強になることが多い。今回はモジュールの使い方に注目してみた。 restf…
「Ruby on Rails によるシステム開発をモデリングで効率的に行う」連載記事を書いた - Akasata's Page(あかさたのページ) という記事を見つけまして、これが自分の考えとピッタリだったのでご紹介。 経緯 以前においらはmasuidrive on rails - アジャイル…
iPhone と iPod touch は、Mobile Safari を米国で最も人気のあるモバイル・ブラウザーにしました。Mobile Safari は通常の Web ページのレンダリングにも十分対応できますが、それでも数多くの Web 開発者たちは iPhone を対象としたアプリケーションのバー…
restful_authenticationに権限(role)管理を追加して、実用的に利用するカスタマイズ例として、Restful Authentication with all the bells and whistlesを参考にいろいろ考えてみた。コードを読みながら、次第に以下のような疑問や考えが浮かんできた。 メー…
Ruby on Rails を簡単に日本語化する RailsJa, ActionMailerJa を公開しました。 プラグインをインストールするだけで、Rails とActionMailer の日本語対応ができます。 経緯 現在のRuby on Rails の日本語化の定番と言えば、Ruby-GetText です。 しかし、多…
著者の大場寧子さん、大場光一郎さん、久保優子さん。今回は会社で一緒にRailsやってる同僚も一人連れて行ったんだけど、持ってきた名刺が2枚って‥‥。しかも1枚受付で渡しちゃうし。 http://www.freia.jp/taka/blog/605?utm_source=rss&utm_medium=rss RoR …
今回実行した環境は Debian GNU/Linux lenny。 Red Hat Enterprise Linuxの場合、パッケージの入れ方とApacheのコンフィギュレーションファイルの場所が異なる。 1. Passenger本体のインストール $ sudo gem install passenger 依存モジュールに fastthread …
Railsの便利な機能の一つが、DBのマイグレーション機能だろう。RDBMSは便利な反面、プログラム言語と溝があり、扱いが面倒な時があった。そのため、O/Rマッピングのようなツールが作られ、状態のバージョン管理としてマイグレーションがとても便利だった。 …
scaffoldはモデル同士の関連は無視して*1、最も基本的なwebアプリケーションとしての骨格を生成してくれる。自分ではそれをお手本に、少しずつ拡張していくことが多い。しかし、モデル同士が無関係という状況はほとんどなく、ほとんど例外なくモデルにhas_ma…
ネットをあてもなくさまよっていたところ、 OpenCVという物体認識ソフトに辿り着きました。 どうやら2007年3月くらいにけっこうミニブームが来ていたようなのですが、 このOpenCVの物体認識機能がrubyではdaraさん作のObjectDetectという モジュールを使うこ…
コミュニティの基本はフォーラムにある。各種Webサイトでも、ソフトウェアのプロジェクトでもユーザとのコミュニティにフォーラムを利用する。そこで交わされる会話の中で新しいサービスが生まれたり、問題が明確になったりする。 フォーラム フォーラムを提…
手元のRailsアプリケーションを2.1.0に移行する際にちょっと躓いた。 2.1.0への移行 移行手順はいつも通り。次のサイトが詳しい。gettextが文句を言ってくるという、日本語圏Railsプログラマが十中八九ひっかかる問題もサポート。すばらしい。 Rails2.0から2…
テストのC0カバレッジを上げるために、 何度もrcovを手で実行していたのですが、 テストの数が多くなってくると非常に時間がかかって面倒なため、 自動化するRakeタスクを作りました。 1 namespace :rcov do 2 desc 'Automate rcov' 3 task :auto do 4 inter…
リファレンスを見てたら偶然見つけたメソッドが使えそうだったのでまとめておきます。同じviewテンプレートを複数のアクションで使い回す時に使えます。 current_page? 指定したURLが、現在表示されていればtrueを返します。 例 link_to_if link_toの第一引…
iPhone と iPod touch は、Mobile Safari を米国で最も人気のあるモバイル・ブラウザーにしました。Mobile Safari は通常の Web ページのレンダリングにも十分対応できますが、それでも数多くの Web 開発者たちは iPhone を対象としたアプリケーションのバー…
Webアプリケーションはブラウザから使うもの、として認識されている。だがその種類や可能な操作はデスクトップアプリケーションを脅かしつつある。AIRのような技術もあり、Web技術はデスクトップの分野まで手にかけている。 メイン画面 そんな状況をさらに進…
RubyProfを使って、Railsアプリのプロファイリングをする方法を紹介します。 まずは、ruby-profをGemでインストールします。 1 % sudo gem install ruby-prof インストールが完了したら、ruby-profプラグインをRailsアプリにインストールします。 ruby-prof…
ここ最近、MacBookの作業環境改善に努めている間に、Railsは2.1にバージョンアップしていた。相変わらずの進化のスピード。すでに出遅れた感はあるが、自分のRails環境も2.1にしてみた。Railsの複数バージョン環境は共存できることが分かっているので結構気…
Rails 2.1系ではいくつか新機能が加わっていますが、「Partial Updates」もその一つです。 「Partial Updates」では、「Dirty tracking(Dirty Object)」というActiveRecordのモデルのattributesが変更されたかどうかをチェックする機能を使って、「変更さ…
Rails勉強会のセッション参加者の中で出た話です。 抜けている部分も多々ありますし、他にも色んな運用があると思うので、コメントいただけると幸いです。 ログローテート ログローテートはlogrotateで普通に行っている。 HUPシグナルを送る必要がある。 ロ…