以前書いた » つくるぶガイドブログ: ひとりサービスをリリースするまでやっておくこと10個 や つくるぶガイドブログ: ひとりサービスをリリースするまでやっておくこと10個 : 僕は発展途上技術者 を読んでいて、更新したくなった。 以下は更新部分しか重点的に書かないので、詳細知りたければ上記エントリーとあわせて読んでほしい。 アプリケーションエラーをメールで通知する。以前は Exception Notifier プラグインを使っていたが、今は Hoptoad が断然おススメ。 エラーページをカスタマイズする Javascript を無効にしているユーザー向け対策をおこなう フッターのコピーライト表示を常に最新にしておく slow query ログを送るようにしておく DBのバックアップを定期的におこなう仕組みを作っておく サイトのアクセス解析をおこなう。PCならGoogle Analyt
Railsでログをファイルに書き出すには、コントローラで利用できるloggerオブジェクトを使う。このオブジェクトを使ってログを出すと、開発時にはlog/develpment.logにログが出力される。 logger.debug "デバッグメッセージ" logger.fatal "Fatalメッセージ" 例外をキャッチしたときそのトレース情報をログに出したいときは、上記のメソッドとExceptionクラスのbacktraceメソッドを利用する。 backtraceメソッドは、トレース情報をStringの配列で返すので、以下の例では配列を改行文字で連結し出力している。 Exceptionクラスについては⇒プログラミング言語 Ruby リファレンスマニュアル begin # 例外が発生する可能性のあるコード rescue => e # 例外発生時 logger.fatal "[FATAL] な
アプリケーションを本番環境に移行すると、ブラウザではエラーの詳細が表示されませんし、ユーザはエラーの発生を教えてくれる訳ではありません。そこでエラーが発生したときには、エラーメッセージの内容を、管理者へ自動的にメールしてくれると助かります。 今回はRailsでエラーメッセージを自動送信する方法についてです。内容はRails本に書いてある通りだけど。 まず、Railsでエラーが発生した場合、必ず呼ばれるメソッドが、 rescue_action_in_public(exception) です。こいつをオーバーライドすることで、エラーメッセージを送信できるようにしてやります。 まず、ApplicationControllerに以下のメソッドを追加します。(app/controllers/application_controller.rb) def rescue_action_in_public(
Open Flash Chartというグラフツールがあります。その名の通り、フラッシュを使って描画します。グラフの見栄えはかなり良いです。Railsからも簡単に使えるようなので、試してみました。 手順としては、以下の通りです 1.プラグインのインストール 2.ControllerとViewの記述 3.swfobject.jsのコピー 4.open-flash-chart.swfのコピー 詳しい手順はこちらから Open Flash Chart II Plugin for Ruby on Rails - Graphs(OFC2) 1.インストール # ruby script/plugin install http://svn.pullmonkey.com/plugins/trunk/open_flash_chart/ + ./MIT-LICENSE + ./README + ./Rakefi
MySQLで写真・画像などをファイル保存ではなくテーブルに保存する場合は、型をlongblobにしなければいけませんが、Railsのmigrateではlongblobは指定できません。 rake migrateでlongblobを指定する方法です。 (DDLから作成すれば問題ないですが・・・) def self.up create_table :xxxxx do |t| t.binary :photo end execute("alter table xxxxx change photo photo longblob"); end binaryを指定するとblob型になります。 blob型で作成し、executeでalter tableします。 何か気持ち悪い感じですね・・・ ちなみに一般的に利用する型も書いておきます。 string ⇒ varchar(255) text ⇒ text
application_helper.rb module ApplicationHelper def zen_to_han(text) zen = %w(ガ ギ グ ゲ ゴ ザ ジ ズ ゼ ゾ ダ ヂ ヅ デ ド バ ビ ブ ベ ボ パ ピ プ ペ ポ ヴ ア イ ウ エ オ カ キ ク ケ コ サ シ ス セ ソ タ チ ツ テ ト ナ ニ ヌ ネ ノ ハ ヒ フ ヘ ホ マ ミ ム メ モ ヤ ユ ヨ ラ リ ル レ ロ ワ ヲ ン ャ ュ ョ ァ ィ ゥ ェ ォ ッ ゛ ゜ ー ).freeze han = %w(ガ ギ グ ゲ ゴ ザ ジ ズ ゼ ゾ ダ ヂ ヅ デ ド バ ビ ブ ベ ボ パ ピ プ ペ ポ ヴ ア イ ウ エ オ カ キ ク ケ コ サ シ ス セ ソ タ チ ツ テ ト ナ ニ ヌ ネ ノ ハ ヒ フ ヘ ホ
[目的] Gmailのsmtpを利用して、メールを送信する。 [環境] Rails 2.2.2 ActionMailer 2.2.2 Ruby 1.8.7 ubuntu 8.04 [作業方法] (1)TLSライブラリのインストール(gmailのsmtp認証用) ◆フォルダ vendor/plugins/action_mailer_tls vendor/plugins/action_mailer_tls/lib ◆ファイル vendor/plugins/action_mailer_tls/init.rb init.rbの中身 require_dependency 'smtp_tls' vendor/plugins/action_mailer_tls/lib/smtp_tls.rb smtp_tls.rbの中身 require "openssl" require "net/smtp" Net:
Gmail サクっと大容量のメールのアカウントがとれるGmailは便利だしSMTPを外部からも使えるので重宝するんですが・・・セキュリティのためTLSを使ってます。 これがActionMailerが対応してないっぽく、できないなと思ってたら適当にプラグイン作ってくれている人がいたので助かった〜 ▲ ▼ プラグインを作る ここにやり方が書いてある Sending E-mail Using Gmail SMTP - Rails Forum - Ruby on Rails Help and Discussion Forum まずプラグインを置く用のディレクトリ vendor/plugins/action_mailer_tls vendor/plugins/action_mailer_tls/lib の二つを作ります。 ファイル vendor/plugins/action_mailer_tl
restful_authentication の導入時に 認証メールの送信テストで メールアカウントを持っているサービスを幾つか試してみた。 試したのは下記。 ・Yahoo!メール : ログイン認証 ・GMail : TLS ・ロリポップ : POP before SMTP と、バラエティに富んでいてサンプルに ちょうどいい感じだったので、メモを残しておきます。 yahoo!メール 特に変わったことをする必要もなく、 ActionMailerの設定のみでいけます。 config/environment.rb Rails::Initializer.run do |config| ... config.action_mailer.delivery_method = :smtp config.action_mailer.smtp_settings = { :address => 'smtp.ma
ActionMailerのSMTPサーバにGMailを使いたい。 だって宅鯖なんだもの。 問題は、GMailがTLS経由でのSMTP接続を要求すること。 Rubyのメジャーバージョンが上がるとnet/popやnet/smtpでTLSが使えるようになるみたいだが、いつになるか分からない。 まだ作業の途中だがメモしておく。 参考: http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/2789 http://bloghome.lovepeers.org/daymemo2/?date=20040802#p02 http://d.hatena.ne.jp/drawnboy/20051113/1131822348 接続のための設定 $ tail config/envirionment.rb ActionMailer::Base.del
jpmobileはじめの一歩 jpmobileとRailsで楽しい携帯Web開発(2) 携帯WebではPCからのアクセスもあり得る。端末別に適切な処理を行うための判別の仕方を学ぼう プログラムの実行はどのようにして行われるのか、Linuxカーネルのコードから探る (2017/7/20) C言語の「Hello World!」プログラムで使われる、「printf()」「main()」関数の中身を、デバッガによる解析と逆アセンブル、ソースコード読解などのさまざまな側面から探る連載。最終回は、Linuxカーネルの中では、プログラムの起動時にはどのような処理が行われているのかを探る エンジニアならC言語プログラムの終わりに呼び出されるexit()の中身分かってますよね? (2017/7/13) C言語の「Hello World!」プログラムで使われる、「printf()」「main()」関数の中身を
さて、Rails 2.2も 無事にリリース されたわけだが、今回の目玉はなんといっても “I18n” 対応だろう。 つまり、今回の大規模なI18n対応で、やっとこれが# Rails 2.1.2 より抜粋 options[:object_name] ||= params.first options[:header_message] = "#{pluralize(count, 'error')} prohibited this #{options[:object_name].to_s.gsub('_', ' ')} from being saved" unless options.include?(:header_message) options[:message] ||= 'There were problems with the following fields:' unless opti
BackgrounDRb を使えば、時間のかかる処理をバックグラウンドでおこなわせることができる。 大容量のファイルのアップロードや大量メール送信など時間のかかる処理をおこなわせるのに最適だ。 » InfoQ: Introduction to BackgrounDRb では、処理経過をプログレスバーで表示する例が解説されている。 » I sort my thought... - BackgrounDRbについて調べてみた が同じ例を日本語で解説しているが、これを読みながらでもいくつかつまずいた点があったので、補足しておく。 まず、 $ script/plugin install svn://rubyforge.org//var/svn/backgroundrb でプラグインをインストールしたあと、 $ rake backgroundrb:setup を実行すること。 DRB サーバーを起動
第3回Rails2.0で作るRESTfulアプリケーション(後編) 鎌田達哉(かまだたつや) 2008-05-23
今更ですが、rails の has_many :through を使った データの多対多関係の扱いをまとめてみようかと。 (※ もう少し早く、もうちょっと理解してれば 今もう少し楽できたなという後悔を含め。) Tweet さて、今回使うのは単純なクラブと学生の紐付け。 クラブには複数人の学生が紐付けれるし、 学生にも複数のクラブを紐付けれる。 そんな関係。 で、"クラブ"テーブルと"学生"テーブルを作成する。 そんで、データはこんな感じで入れておく。 [クラブ] [学生] もう一つ、紐づけるためのテーブルが必要になる。 "クラブ"テーブルと"学生"テーブルの紐付けを行うんで、 "club_students" という名前でもして作成する。 "club_students" には、"クラブ"テーブルの id と "学生"テーブルの id をそれぞれ持たせる。 こんな感じ↓ で、これを rails
こんにちは。Ruby(とRails)を担当している石原です。 ソーシャル「OSを入れた後にインストールする10のアプリケーション」(仮)の開発の続きです。 今回は登録したアプリケーションに対してタグ付けできるようにして、タグクラウドを作ることを目標にします。 初見の方、よろしくお願いいたします。これまでのエントリーの一覧はこちらです ↓ つくるぶガイドブログ: Ruby on Rails を使ってひとりでサービスを作ってみよう つくるぶガイドブログ: ひとりサービスの雛型をつくる(リキッドレイアウト、GetText、Acts as Authenticated) つくるぶガイドブログ: Rails で楽々ソーシャルブックマークの仕組みを作る それでは、さっそく作っていきます。 acts_as_taggable_redux プラグインのインストール タグの各機能を簡単に実装するためにプラグイン
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く