インフラストラクチャー部の成田(@mirakui)です。 Rails の OR マッパーである ActiveRecord ですが、みなさんどのように運用していますか? ActiveRecord を使うと、 SQL を直接扱うことなく、抽象化された表現で RDB にアクセスできるので、アプリケーションの開発効率という観点ではメリットが大きいです。 一方で、 ActiveRecord が駆使されているアプリケーションをサーバに配置してプロダクションとして運用する立場からすると、いくつかの問題に突き当たります。 まずはクックパッド本体アプリケーションにおける、最新の rake stats をご覧ください。 +----------------------+-------+-------+---------+---------+-----+-------+ | Name | Lines | LOC
URLYou can post either your article on Qiita or your blog post. About reserved postingIf you register a secret article by the day before the same day, it will be automatically published around 7:00 on the same day. About posting periodOnly articles submitted after November 1 of the year can be registered. (Secret articles can be registered anytime articles are posted.)
最近のフレームワークの傾向 最近のWebアプリケーションフレームワークには、次の傾向がみられる。: 「モデル・ビュー・コントローラ」(MVC)モデルに沿って構成要素をプログラミングする 「設定より規約」(Convention over Configuration)方式で構成要素を結びつける リレーショナルデータベースアクセスのためのO/Rマッパが付属しているか、既存のO/Rマッパと親和性がある O/Rマッパ O/Rマッパ(Object-relational mapper)は、テーブルとローで構成されるリレーショナルデータベース要素へのアクセスを、プログラミング言語におけるクラスとインスタンスの操作を通じて行えるようにするライブラリである。 図3-2: O/Rマッパ 例えば、S2JDBCでは、次のようなJavaコードで検索を行うことができる。: List<Book> results jdbc
Draperって何?Draperは、Model/Controller/View/Helperと異なる第4のレイヤを提供するGemです。 この第4のレイヤは、海外では「Presenter」として分類されています。(正確にもう少し細かい分類があるらしいですが割愛♪) このレイヤを作るメリットは、 model/viewに余計なロジックを書かなくてすむ Helperのメソッドが使われている場所が不明という事態を防ぐ 日本ではPresenterレイヤでは、ActiveDecoratorというGemが有名です。ActiveDecoratorもほぼ同じことができます。 Draperの紹介Draperの説明ならRailsCastが一番わかり易かったです(説明は日本語に翻訳されています、動画は英語です)↓ #####286 Draper - RailsCasts 1年前の記事ですので、実際に動かしてみると少
Ruby on Rails チュートリアル 実例を使って Rails を学ぼう プロダクト開発の0→1が学べる Webサービスを創りながら学んでいく大型チュートリアルです。解説動画や質問対応も提供していて、筑波大学や琉球大学などでも採用されています。Railsチュートリアルで自分のオリジナルサービスを創ってみませんか? 原著者から,日本の読者の皆様へ Ruby on Rails Tutorial が、まつもとゆきひろ (Matz) 氏の母語である日本語でも読めるようになったことを嬉しく思います。ここ数年間で Matz や日本の Ruby 開発者の方々とお会いしましたが、彼らの技術的な才覚と親切さはいつも私に感銘を与えてくれます。 また、安川 要平氏や八田 昌三氏を始めとする多くの協力者の方々が Rails Tutorial を翻訳してくれたことを光栄に思います。彼らの素晴らしい成果に感謝し
2日ほど前にGitHubに登場して話題となっているRackアプリケーション向けエラー画面表示ツールの「better_errors」というgemがヨサゲなので、ちょっと試してみました。Rack対応なので、Sinatraでも使えるようですが、もちろん、Ruby on Rails対応です。間に合えば、Ruby on Rails4に採用されることもあるかもしれません。というぐらい、こういうのを待っていましたという声が出ているようです。 スタックトレースとエラー発生箇所が表示されるのは、Rails標準のエラー画面と同じですが、コードがハイライトされているほか、スタックフレームの任意の場所をクリックすると、該当するコードが表示されるなど、簡易なWebアプリっぽくなっています。インスタンス変数や、パーシャルに渡っているローカル変数も表示します。 以下はRails標準のエラー画面です。 Better Er
注意 このエントリは急いで書いたので間違いが含まれている可能性が高いです。気づいた方はご指摘ください。 序文 strong_parameters とは、mass assignment で余計なパラメータをモデルの属性にセットさせないための新しい仕組みです。Rails 4.0 からはこれが標準になります。Rails2.x と 3.x はattr_accessibleやattr_protectedなどで似たような機能が提供されていましたが、これだと管理が煩雑になるケースがありました。 今年の3月くらいにGitHub が mass assignment の脆弱性を突かれたことで 、この問題をどうにかしようという流れが起き、最終的に strong_parameters が作られるという経緯を辿りました。 mass assignment とは Rails ではこんなコードをよく見ると思います。 de
ビジネス分野でのRubyの利用が徐々に増えてきている昨今ですが、大規模なシステムとなると、まだ多くの面で不安の声があがっているのも事実です。その中で楽天(株)では、2006年よりRubyに対する取り組みをスタートさせ、現在では1日に数百万アクセスという大規模システムでもRailsが採用されているそうです。今回は、同社執行役員であり楽天技術研究所の所長を務める森正弥氏に、Rubyの採用状況やその経緯、実際に行った検証内容などについてお話を伺いました。 Ruby採用のきっかけは"志の一致" Q: まず、御社のシステム開発にRubyを導入することになった経緯を教えていただけますか。 A: 主なきっかけは2つあります。ひとつは、2006年下期あたりから楽天技術研究所(楽天技研)の活動を本格化させようという動きが社内でありまして、その中で、どういったことをやっていくか、まつもとさん[1]とディス
このアプリケーションでできること deploy用アプリケーション。 SSHでアクセス可能で、同じユーザ名/パスワードで、同じディレクトリ構成のものであれば、複数台に配置可能(配置先サーバ名を設定に追加するだけ) subversionからのエクスポートを手動やwebアプリからキックするより、セキュア&合理的 配置先でマイグレーション可能。 配置先でfcgiやmongrelなどの再起動可能 配置先でのロールバック(一つ前の配置状態に戻す)可能 配置先は過去の配置状態を時系列で保持している(ディレクトリ名をタイムスタンプとして保持) 対象バージョン
jQuery Mobile | jQuery Mobile を使って Ruby on Rails で作ったWebサイトを iPhoneなどのスマフォに対応したサイトに変更してみました。以下の画像は Ruby on Railsの Scaffold で作ったサイトをjQueryMobile対応した後の画面です。 クールなスマフォサイトになっています! 1. まずは普通にscaffold でアプリを作る Railsはjavascript周りが大幅に強化された3.1を使っています。 % rails new jq_mobile % cd jq_mobile % rails g scaffold todo due:date task:string % rake db:migration % rails s 2. PC と iPhone でview(layout)を切り替える jQueryMobile用
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く