サービス終了のお知らせ NAVERまとめは2020年9月30日をもちましてサービス終了いたしました。 約11年間、NAVERまとめをご利用・ご愛顧いただき誠にありがとうございました。
![サービス終了のお知らせ - NAVER まとめ](https://cdn-ak-scissors.b.st-hatena.com/image/square/c1caf12a6e33637df7a5eb3183f8c5d3d0c656df/height=288;version=1;width=512/https%3A%2F%2Frr.img.naver.jp%2Fmig%3Fsrc%3Dhttp%253A%252F%252Fimgcc.naver.jp%252Fkaze%252Fmission%252FUSER%252F20140210%252F96%252F963506%252F0%252F300x369xa40297da8645a84ce05293c0.jpg%26twidth%3D1200%26theight%3D1200%26qlt%3D80%26res_format%3Djpg%26op%3Dr)
https://github.com/cookpad/arproxy http://rubygems.org/gems/arproxy これは何? Arproxyを使うと、ActiveRecordが発行したSQLがDB Adapterによって実行される直前をフックすることができます。これによって、カスタマイズしたクエリログを出力したり、どこからクエリが発行されたのかをトレースしたりすることができるようになります。 Arproxyでは、DB Adapterのフック処理を以下のように定義します。これはクエリが実行されるたびにバックトレースを出力する例です。*1 class QueryTracer < Arproxy::Base def execute(sql, name=nil) Rails.logger.debug sql Rails.logger.debug caller(1).join(
色々なところで見かけるコーディング規約を見て意識はしているのですが、 その時の気分で書き方を変えてしまうことが多々あったので、自戒を込めてコーディング規約をまとめてみました。 「なぜこの規約が存在するか」を明確にするために、できる限り理由も併記しています。 ただかなり主観的な部分があるので、あまり意味がないかもしれません…。 「この記事のこの規約は気に入らない。」と思うことがきっとあると思います。 その時はコメント欄などに理由も合わせて書いてくれると嬉しいです。 この記事ではRubyのコーディング規約をまとめています。 近いうちにRailsとCoffeeScriptのコーディング規約もまとめるつもりです。 Rubyのコーディング規約は以下のページを参考にまとめました。 https://github.com/styleguide/ruby https://github.com/bbatsov
Ubuntuで初めてRubyやRailsに挑戦する方のために、最新の Ruby 1.9.3 と Ruby on Rails 3.2 のインストール手順をやや詳しく説明します。 なお、本稿ではRubyのインストールにrbenvを利用します。apt-getでインストールされるRubyはバージョンが古いので、(手順がちょっと複雑ですが)本稿の方法をお勧めします。また、rbenvを利用すると、プロジェクトごとにRubyのバージョンを簡単に切り替えられるというメリットもあります。 本稿が対象とする OS は Ubuntu 12.04 LTS および Ubuntu 12.10 のデスクトップ版です。Ubuntu上でRuby/Railsの学習やRailsアプリケーションの開発をしたい方向けに書いています。開発したRailsアプリケーションをサーバ版のUbuntuにインストールして運用したい方は、Rail
2010.07.09 次世代Ruby on RailsサーバーUnicorn(汎用のRackアプリケーションサーバ)を使ってみた 2010.07.20追記: prefixを指定した運用も可能でした。ご指摘頂きありがとうございます。 2010.07.28追記: 関連記事「RailsサーバUnicornを飼いならす! 運用時の便利技」へのリンクを張りました。 Railsサーバはたくさんあってややこしいですね! 最近さらにUnicornというものが頭角を表してきたようで、Twitterやgithubも使っているようなので使ってみましたので、特徴や使い方などレポートしてみたいと思います。 このブログの他にもEngine Yardのブログ記事「Everything You Need to Know About Unicorn」やgithubの記事「Unicorn!」が非常に参考になると思いますので、
更新 更新処理についても複数の方法が用意されています。まず、内部的な処理の違いで、以下の2系統に分類することができます。 ActiveRecordオブジェクトを取得して、オブジェクトを通じてレコードを更新する ActiveRecordオブジェクトを介さずに更新を実行する また、1レコードを更新することに特化しているか、そうでないかでも区別できます。これらを踏まえて更新系メソッドを表に整理すると次のようになります。 (1) instance.save instance.save! instance.update_attribute instance.update_attributes instance.update_attributes! (内部的に)ActiveRecordオブジェクトを介する更新 ActiveRecordオブジェクトを介さない更新 1レコードを対象とする
Ruby on Rails Guides (v7.1.3.3) These are the new guides for Rails 7.1 based on v7.1.3.3. These guides are designed to make you immediately productive with Rails, and to help you understand how all of the pieces fit together. The guides for earlier releases: Rails 7.0, Rails 6.1, Rails 6.0, Rails 5.2, Rails 5.1, Rails 5.0, Rails 4.2, Rails 4.1, Rails 4.0, Rails 3.2, Rails 3.1, Rails 3.0, and Rails
今回は、以前投稿したRailsの高速BDD(振る舞い駆動開発)環境の作成をまとめたいと思います。 おおよそ前々回、前回の記事と同じ内容です。 (Cucumberのbootstrapの記述漏れや、自動テストの高速化など追記しています。) 長くなりますが、Ubuntu 11.10 デスクトップ版に以下のものをインストール・設定していきます。 rvm+ruby1.9+rails3.0+rspec+cucumber+spork+guard+notify(growl) 以下の手順で進めます。 RVM のインストール Ruby 1.9 のインストール Ruby on Rails 3.0 のインストール 高速BDD(振る舞い駆動開発)環境の作成 ファイルが更新されたタイミングで自動テストを行う設定 動作確認 今回のインストール環境および補足説明 Ubuntu 11.10 デスクトップ版にインストールしま
Railsエンジニアになってから1年半くらいが経ち、社内のRailsのプロジェクトを全部で5つくらい触って、今やってるAbilie*1でようやく人並みにテストを書いてる気がしてきたので、現時点でやってるテストの方法をまとめておく。 テストのルール的なの rspecでは必ずモデルのテストは書くようにしてる。ヘルパーも大体書いてるけど、コントローラやルーティングのテストはあまり書いてない。 というのも、コントローラーのコードを極力短くしてモデルを太らせているのでコントローラのテストはあんまり意味が無い気がしていて、その代わりにCapybaraでテストを書いておけば十分なんじゃないかなと思ってきたから。Capybaraは書いてるので、そういう意味では書いてるとも言える。 社内の管理者だけが使える管理画面も作ってるけど、そっちはテストあんまり書いてない。ここは動かなくなっても一般ユーザーには影響が
LaptopはUbuntu、Mac OSXのRuby on Rails開発環境をまとめてセットアップします。 これからRailsの勝発をはじめてみたい、そう思ったMac OSX/Ubuntu利用者にお勧めなのがLaptopです。30分であなたのマシンが開発マシンに様変わりします。 例えばこれがMac OSX用。 こちらはUbuntu用。 インストールされるソフトウェアです。 Laptopはたった一行のコードを実行するだけで多種多様なソフトウェアが一気にインストールされます。Homebrew(Mac OSXの場合のみ)/QT/Ack/Tmux/Postgres/Redis/ImageMagick/RVM/Ruby 1.9.2/Rails/Heroku/Tapsなどがインストールされます。ネットワーク状況によりますが、だいたい30分はかかるとのことです。 LaptopはBashスクリプト製、M
プログラミングどうやって覚えたんですか?って聞かれて、そういう情報少ない気がしたので書く。 チラシの裏みたいな長文だらだら書くの、はてなブログでも1回やってみたかった。 最初は、大学のサークルみたいなやつで先輩がRailsをつかってて、Railsっていうサイト作るためのフレームワーク(?)っていうのがあるから覚えようって聞かされて、MVCみたいな話をされた。サッパリだった。それ自体の概念もサッパリだったが、それを使う理由も分からなくてメタサッパリもあった。3時間くらい教えてもらったけど、サッパリだった。その後そこでは結局Railsを使うことはなかった。並行してRubyというものも教えてもらって、irbというのがあってそこで色々試すということをした。面白いなー会話してるみたいだなーと思って教えてもらっているときは少し弄っていたけど、使う理由も分からなかったので使わなくなった。ちなみにWind
GitLabはRuby/Ruby on Railsで作られたGitHubクローンです。 GitHubは有料でプライベートリポジトリが持てますが、それでもセキュリティ上の理由でリポジトリを外だしできないケースはあるかと思います。そんなときに使ってみたいのがGitLab、GitHubクローンです。 ログイン必須になります。 ログインした後の画面です。登録済のプロジェクトが一覧表示されます。 一つのプロジェクトを閲覧しています。ソースツリーが出ます。ソースツリーは右へ右へスライドして表示されます。GitHubに似ています。 ソースコードハイライターも内蔵されています。rawでファイルをダウンロードできます。 タグやブランチを切り替えることもできます。 コミット履歴一覧です。 コミット詳細ではDiffが確認できます。 コミットに対するコメントも確認できます。 チーム設定です。複数人でのコラボレーシ
最近クックパッドでは、アプリケーションサーバの大半が Rails 2.3 から Rails 3 に置き換わったのですが*1、リリース前のベンチマークの時点ではあまりパフォーマンスが出ず四苦八苦していました。具体的には Rails 2.3 の時と比べ MRI 1.8.7 だとレスポンスタムが200%ぐらい遅い結果でした。Rails 3 になって実装が Merb core を取り入れ疎結合で綺麗になった反面、より多くのオブジェクトと・メモリを利用する様になった影響かと思います。 そこで Ruby インタプリタの変更*2を行い検証をしたところ MRI 1.8.7 (Rails 2.3と比べ) 約200%遅い MRI 1.8.7 -> Ruby Enterprise Edition 1.8.7 2011.03 (tcmalloc 無効) 約180%低速 MRI 1.8.7 -> Ruby Ente
Account Suspended This Account has been suspended. Contact your hosting provider for more information.
Railsの各種サーバーの速度ベンチマーク: Pound、Varnish、Nginx、Unicorn、Mongrel RailsのアプリをPound、Varnish、Nginx、Unicorn、Mongrelを使用して動かした際の速度ベンチマーク。以下の構成での同一Railsアプリをhttperfでベンチマークした結果をまとめます。 Pound -> Varnish -> Nginx -> Unicorn * 2 Varnish -> Nginx -> Unicorn * 2 Nginx -> Unicorn * 2 Mongrel (Rails.env == 'development') node.js (Express + Socket.IO) 全体の構成Poundを80番ポートを公開し、Varnishを81番ポート、nginxを8080番ポート、Unicornの2プロセスをsocke
複数のRailsプロジェクトなんかを経験していると、ベースとなるRubyのバージョンが1.8.6だったり1.8.7だったりします。1.9.1の環境を試してみたいと思うかもしれません。 複数のバージョンのRubyを管理するのはちょっと面倒です(Windowsとかだとパス切り替えだけで良さそうだからまだしも…)。./configure時に別々のパスを指定してあげてもいいですが、GEMの管理はそれはそれで気をつかわないといけないですし。 そういった時には Ruby Version Managerの利用をお勧めします。このツールを使うと、色んなRubyをスマートに管理できるようになります。 ■ 導入方法 ここではgitを使った導入方法を紹介します。検証は Mac OS X 10.6 で試しました。 まずは専用のディレクトリを作成して、rvm 本体をダウンロード、インストールします。 % mkdi
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く