28 Sep '15, 11pm

Railsアプリケーションにおけるエラー処理(例外設計)の考え方 - Qiita”

Railsアプリケーションにおけるエラー処理(例外設計)の考え方 - Qiita”

# はじめに Railsアプリケーションを本格的に作り込んでいくと、「エラー」とは無縁ではいられません。 しょうもないバグでエラーが発生することもありますし、ほとんど不可抗力ともいえるような大規模なネットワーク障害でエラーが発生することもあります。 エラーの種類がなんであれ、エラーが起きた場合は「原因を素早く特定し、速やかに復旧させること」と「あるエラーが引き金になって、さらに大きなエラーに引き起こさないようにすること」が重要です。 エラー処理を適切に実装していれば、原因の特定や復旧もすばやくできますし、さらに大きなエラーを引き起こす可能性も少ないです。 また、ソースコードも比較的シンプルに保てます。 逆にエラー処理が不適切だと原因の特定に時間がかかったり、異常なデータがどんどん増えてさらに大きなエラーを引き起こしたりします。 ソースコードにも無駄に複雑な処理フローや条件分岐がたくさん出てきて、保守性の悪いコードになってしまうことも多いです。 堅牢で壊れにくい、そして壊れても直しやすいアプリケーションを目指して、適切なエラー処理の考え方を学びましょう。 そこで、この記事ではRailsアプリケーションにおけるエラー処理の考え方をまとめてみました。 ## 備考: この記事で説明することと、しないこと この記事では「発生したエラーをどう処理すべきか」という設計寄りの話を書きます。 言い換えると、 「エラーをどう扱うと自分の味方になってくれるのか」 「どう扱うと泥沼にハマるのか」 そういった基礎的な考え方を説明します。 Rubyの例外機構をゼロから説明したり、Rails特有のエラーハンドラの使い方を説明したりするものではありません。 また、クライアントサイドではなく、サーバーサイドの話がメインです。 一応Railsを対象にしていますが、考え方自体は他の言語やフレームワークでも応用が利くはずです。 # 正常系と異常系(エラー)を分類する 正常系と異常系を理解する例として、簡単なユーザー登録処理を考えてみる。 何も問題がなければ以下のように処理が進む。...

Full article: http://qiita.com/jnchito/items/3ef95ea144ed15df3637

Tweets

Ruby - Railsアプリケーションにおけるエラー処理(例外設計)の考え方 - Qiita...

b.hatena.ne.jp 29 Sep '15, 4am

New multiprocess model architcture on fluentd v0.14 with ServerEngi...

Railsでチャット機能を実装する方法(実装編) - Qiita: チャット機能を実装する場合...

qiita.com 30 Sep '15, 12am

- チャット機能を実装する場合、WebSocketを使う、Server Sent Event(SSE)を使う、Pusherなどのサービスを活用するなど、いくつかの方法がありますが、私のケースでは、WebSocketを使うのが最もマッチしていたの...

Ruby - Emacs での Rails 開発を GNU GLOBAL でだいぶ快適にする ...

qiita.com 27 Sep '15, 7am

Rails アプリケーションの開発をするとき、頻繁にメソッドの定義内容や Gem のコードを参照することがあります。 そこで、ソースコードタグ付けツールの [GNU GLOBAL (gtags)](http://www.gnu.org/soft...

Ruby 2.2.3 Hash Basics : Part 2 #ruby #RoR

rubyflow.com 27 Sep '15, 10pm

× The Ruby and Rails community linklog Made a library? Written a blog post? Found a useful tutorial? Share it with the Rub...

Ruby 2.2.3 Hash Basics : Part 3

rubyflow.com 28 Sep '15, 2am

× The Ruby and Rails community linklog Made a library? Written a blog post? Found a useful tutorial? Share it with the Rub...

Ruby 2.2.2 Array Basics : Part 10

rubyflow.com 29 Sep '15, 3am

× The Ruby and Rails community linklog Made a library? Written a blog post? Found a useful tutorial? Share it with the Rub...