このQ&Aは役に立った 役にたった:1件 このQ&Aをともだちに紹介する このQ&Aをブックマークする このQ&Aについてブログを書く 質問 質問者:shigetaken Ruby on Railの開発で役立つサイトや書籍 困り度: 困っています 現在、時期プロジェクトでRuby on Railsを使ってシステム開発を行うためRuby on Railsを勉強中の者です。 railsはもちろんrubyも初心者です。 現在「RailsによるアジャイルWebアプリケーション開発」という本を読んで勉強していますが、他にも参考になる書籍やサイトなどがあれば教えて頂きたいです。 宜しくお願いします。 質問投稿日時:09/09/18 19:37質問番号:5300811 この質問に対する回答は締め切られました。 最新から表示|回答順に表示|良回答のみ表示 回答 良回答10pt 回答者:yugui 2
本日は Ruby on Rails による Web アプリケーション作成の続きです。前回の記事では、Scaffold を使用して記事データ入力の基本的なインターフェースを作成するところまでやりました。generate スクリプトを実行するだけでテーブルのリスト表示・項目作成・編集・削除のすべての操作が実装されるのは驚きでしたね。本日は、前回手動で行ったテーブルの作成作業を Ruby on Rails に任せるための migration と呼ばれる方法をご紹介します。 migration は簡単に言うと Ruby スクリプトによってテーブルの作成やカラム構成の変更を行う機能です。Scaffold 主に導入時のサポートを目的とした機能でしたが、migration はデータベース構成の維持管理を主目的にしています。最大の特徴はテーブル・カラム構成(スキーマと言うんですかね)にリビジョン管理のよう
別にRailsには限らないのだけど。 Railsの開発中に標準出力にデバッグ出力を出すと、サーバのログ(webrickが標準出力に吐くやつとか)と混ざってすごく見にくい。 そこでLoggerを使う。 使い方は簡単 require 'logger' class ApplicationController helper_method :d def initialize @logger= Logger.new('./logger_log.log') @logger.level = Logger::DEBUG end def d(str) @logger.debug str end end として、Loggerをセットアップ 後は好きなところで d obj.inspect とかしてやれば#{RAILS_ROOT}/logger_log.logにその出力が行われる。 tail -f logger_l
Rails のログ(development.log / test.log / production.log) は使いやすいが、なぜかログにタイムスタンプが吐き出されない。どうしてだろうと、つらつらと Rails のソースコードを眺めてみた。やはり ActiveSupport の clean_logger.rb でわざわざ時刻もなにも出力されないようにメソッドが上書きされていた。 そこで、タイムスタンプをログに出力するための hack。 # lib/logger_with_timestamp.rb class Logger private if method_defined?(:formatter=) def format_message_with_datetime(severity, timestamp, progname, msg) app_format_message(msg) end
引き続き、Linuxの環境構築をやっています。 ruby、railsと来たので、じゃあ次は、RMagickだよね、ということで、RMagickのインストールをしてみました。 これがまた、うまくいかないいかない。 散々苦戦させられてようやくだったので、メモ。 環境確認 改めて、再度。 # cat /etc/redhat-release CentOS release 5 (Final) ImageMagickが入っているかどうかは、以下のコマンドから確かめられます。 # convert -version ImageMagickのインストール まずは、ImageMagickのインストールから。 rpmを使う、もしくは、ファイルをwgetで引っ張ってきてtarで解凍してmake→installとか、方法はいくつかあるみたいです(自分の場合、rpmを試してみたけど、依存性の欠如がどうこうでどうにもな
アプリを運用し始めると、原因のよくわからないトラブルに見舞われることが間々あります。 そんなとき、「とりあえずログで」とログを辿るのが常套手段だったりするのですけれど。 railsの場合、何も考えなかったら、延々と同じログファイルにひたすらログを出力する仕組みになっているから、ファイルが大きくなりすぎると、ファイルが開けないとかいう罠があったりします。 そういうのって、まずいっすよね。 ってことで、今回はログローテートの設定ってどうやるんだっけ? って話。 結論から言えば、実に単純。 /config/environment.rbか、/config/environment/#{RAILS_ENV}.rbのどれかの良きところに、こんなコードを書きます。 config.logger = Logger.new(config.log_path, 'daily') この場合、日次でログを新しくしてロー
実はRailsでの開発を仕事とするようになって、そこそこ経ちました。 初めは、すげー、これ便利! と感動することしきりだったわけですけれど、いざ実運用に乗せてみると苦戦することもたくさん。 今回は、実装するときは、ちょっと立ち止まって考えないと、はまってしまいそうな(ていうか、よくはまってた)事例をまとめてみようかと思います。 NoMethodErrorの罠 まず一番よく出るのが、NoMethodError。 たとえば、モデルのリレーションに belongs_to :user と指定したとしましょう。 で、ビュー側では以下のように書いていたとします。 entry.user.name もしテーブルのuser_idがnilのデータを取得してきたら、NoMethodErrorが出てしまいますね。 ちょっと気を抜くと、このエラーが頻発します。 if entry.user.blank? ? entr
運営している某サービスが落ちていてあせったのだが、なんのことはない、約3年間そのままだった Rails の production.log が超巨大ファイルになっていたのが原因でした。 Log Rotation for Phusion Passenger | overstimulate で紹介されている通りに設定し、ログを毎日ローテートするようにしました。 以下の内容で、/etc/logrotate.d/passenger というファイルを作成、 /home/deploy/app/shared/log/*.log { daily missingok rotate 30 compress delaycompress sharedscripts postrotate touch /home/deploy/app/current/tmp/restart.txt endscript } ちゃんとロー
以前書いた » つくるぶガイドブログ: ひとりサービスをリリースするまでやっておくこと10個 や つくるぶガイドブログ: ひとりサービスをリリースするまでやっておくこと10個 : 僕は発展途上技術者 を読んでいて、更新したくなった。 以下は更新部分しか重点的に書かないので、詳細知りたければ上記エントリーとあわせて読んでほしい。 アプリケーションエラーをメールで通知する。以前は Exception Notifier プラグインを使っていたが、今は Hoptoad が断然おススメ。 エラーページをカスタマイズする Javascript を無効にしているユーザー向け対策をおこなう フッターのコピーライト表示を常に最新にしておく slow query ログを送るようにしておく DBのバックアップを定期的におこなう仕組みを作っておく サイトのアクセス解析をおこなう。PCならGoogle Analyt
ネイルで使う材料で、DIY時の木割れやネジ跡を派手にしたらかわいい OSB合板でちょっとしたボックスをつくりました。 ビス止め下手すぎて木を割ったり穴あけすぎたりした場所に、好きな派手色の樹脂を詰めてパテ代わりにしてみました。 ちょっと某HAYっぽみ出て可愛かったので、自分用にメモです。 手順 塗装 派手色グミジェルで失敗部分…
RubyProfを使って、Railsアプリのプロファイリングをする方法を紹介します。 まずは、ruby-profをGemでインストールします。 インストールが完了したら、ruby-profプラグインをRailsアプリにインストールします。 ruby-profプラグインは、Gemがインストールされたディレクトリの下にあります。 環境によって場所は変わりますが、例えば/usr/local/lib/ruby/gems/1.8/gems/ruby-prof-0.6.0/rails_plugin/ruby-profなどの場所にあります。 これをvendor/plugins/ruby-profにコピーすれば設定は完了です。 あとはproduction環境でRailsアプリにアクセスすると、以下のようなログが出力されます。 1 Thread ID: 3076980460 2 Total: 2.030
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く