タグ

Railsとあとで読むに関するfun-techlabのブックマーク (12)

  • てめえらのRailsはオブジェクト指向じゃねえ!まずはCallbackクラス、Validatorクラスを活用しろ! - Qiita

    てめえらのRailsはオブジェクト指向じゃねえ!まずはCallbackクラス、Validatorクラスを活用しろ!RubyRails ちょっと煽り気味のタイトルにしてみましたが、Railsで開発する時は意識的にOOPに寄せないとオブジェクトの力が活かせなくなるよってことと、Railsが提供しているクラスの責務を分割することを支援してくれる機能について話をします。 ActiveRecordの性質 Rails開発においては、モデル層にロジックを書いてコントローラーは薄くしろ、というのはしつこく言われているので、概ね浸透してきていると思います。 それに加えて、最近私が結構しつこく主張しておきたいのが、モデル = ActiveRecordでは無いよ、ということです。 ActiveRecordは成り立ちから言うと、ロジックとDBへの永続化をまとめてカプセル化するアーキテクチャパターンから来ています。

    てめえらのRailsはオブジェクト指向じゃねえ!まずはCallbackクラス、Validatorクラスを活用しろ! - Qiita
  • 中規模Web開発のためのMVC分割とレイヤアーキテクチャ - Qiita

    TL;DR MVCもレイヤで捉えて関係性の設計をするといいのでは 普通のRubyオブジェクトを積極的に使いたいですね 「パーフェクト Rails」に期待しましょう 長くなって面倒くさくなり、途中から手抜き感が半端ないですが許してください この記事の位置付けなど 7 Patterns to Refactor Fat ActiveRecord Models - Code Climate Blog [翻訳] エリック・エヴァンスのドメイン駆動設計 エンタープライズ アプリケーションアーキテクチャパターン これらの参考文献を踏まえてRailsアプリケーションのリファクタリングをしていて、だいぶ方向性や考え方がまとまってきたので、これからチームに合流する人を想定読者に、Qiitaがどんな感じで作られているのかを文書化したものです。(参考文献の一覧は記事の最後にあります) 内容的には文献[2,3]を踏

    中規模Web開発のためのMVC分割とレイヤアーキテクチャ - Qiita
  • Railsアプリの例外ハンドリングとエラーページの表示についてまとめてみた - Qiita

    Railsアプリケーションの例外ハンドリングとエラーページの表示方法については色々な方法があると思いますが、そのなかでもよく使われる方法についてまとめてみました。 前提 Rails 4.2.6 Rails 標準の仕組みで静的ページを表示する Rails は標準では Rack Middleware のActionDispatch::ShowExceptionsの仕組みで例外を捕捉して、エラーページを表示しています。その際、捕捉した例外に対してどんなエラーページを表示するのかをActionDispatch::PublicExceptionsが処理しています。 例えばActionController::RoutingErrorが発生した場合、対応する404のHTMLファイルpublic/404.htmlが表示される、という感じです。 なお、rails generateしたときに用意されるHTML

    Railsアプリの例外ハンドリングとエラーページの表示についてまとめてみた - Qiita
  • Railsアプリケーションにおけるエラー処理(例外処理)の考え方 - Qiita

    はじめに Railsアプリケーションを格的に作り込んでいくと、「エラー」とは無縁ではいられません。 しょうもないバグでエラーが発生することもありますし、ほとんど不可抗力ともいえるような大規模なネットワーク障害でエラーが発生することもあります。 エラーの種類がなんであれ、エラーが起きた場合は「原因を素早く特定し、速やかに復旧させること」と「あるエラーが引き金になって、さらに大きなエラーに引き起こさないようにすること」が重要です。 エラー処理を適切に実装していれば、原因の特定や復旧もすばやくできますし、さらに大きなエラーを引き起こす可能性も少ないです。 また、ソースコードも比較的シンプルに保てます。 逆にエラー処理が不適切だと原因の特定に時間がかかったり、異常なデータがどんどん増えてさらに大きなエラーを引き起こしたりします。 ソースコードにも無駄に複雑な処理フローや条件分岐がたくさん出てきて

    Railsアプリケーションにおけるエラー処理(例外処理)の考え方 - Qiita
  • ぼくのかんがえたさいきょうのRailsファースト・ガイド

    すみません、タイトルは釣りです。 Webプログラマーの実務経験ないけど、Railsの勉強始めました的な人にお会いする機会が何度かあって、 僕ができることってなてかなぁと思って考えた文章です。教えることは下手ですので、「もっといい方法があるよ」 といった方がもしいらっしゃったら、ぜひアドバイスもらえるとめっちゃうれしかったりします。 これからしばらくは「はじめてのプログラムはRailsです」といった方が増えるのかもと思います。 そういった人たちがプログラムを楽しいと思ってもらえるようになるとうれしいっす。 (2015-07-20 14:00) 質問をいただけたので書籍リストを追加 🎂 <セクション1> 1日目-11日目まずは触ってみるプログラミングに触ったことがない人や、大学の授業しかプログラムやったことがない人向けのセクションです。 すでに別の言語をやったことがある人はスキップしてくださ

    ぼくのかんがえたさいきょうのRailsファースト・ガイド
  • Apache Passenger - Ruby on Rails環境構築 06 - Qiita

    Apache Passengerのインストールついて説明していきます。各設定をを行います。環境構築を何回かに分けて明記しています。OSはCentOSです。 Apacheのインストール sudo権限のあるユーザでログインします。

    Apache Passenger - Ruby on Rails環境構築 06 - Qiita
  • Rails で、Controller に定義されている action を一度に取得する方法はありますか? - QA@IT

    平素よりQA@ITをご利用いただき、誠にありがとうございます。 QA@ITは「質問や回答を『共有』し『編集』していくことでベストなQAを蓄積できる、ITエンジニアのための問題解決コミュニティー」として約7年間運営をしてきました。これまでサービスを続けることができたのは、QA@ITのコンセプトに共感をいただき、適切な質問や回答をお寄せいただいた皆さまのご支援があったからこそと考えております。重ねて御礼申し上げます。 しかしながら、エンジニアの情報入手方法の多様化やQAサービス市場の状況、@ITの今後のメディア運営方針などを検討した結果、2020年2月28日(金)15:00をもちましてQA@ITのサービスを終了することにしました。 これまでご利用をいただきました皆さまには残念なお知らせとなり、誠に心苦しく思っております。何とぞ、ご理解をいただけますと幸いです。 QA@ITの7年間で皆さまの知識

    Rails で、Controller に定義されている action を一度に取得する方法はありますか? - QA@IT
  • これからはじめるRuby on Rails

    はじめに Rubyと出会ったころ、その簡潔さに感動した著者は、「ここまで自然言語に近い形でプログラムが書けるのであれば、インターネットとPCの違いすら理解しないでも、少しはプログラミングができるようになるかもしれない」と、家庭での普及に挑戦したことがあります。 その試みは、渡した入門書を「はじめてのRUBAI」と読まれた時点で頓挫したわけですが、その経験から「Rubyの文法に従ってはいるが、何やら他言語の匂いを感じるコード」のことを、Rubyの潜在力を生かしきれていないという意味で「RUBAIコード」と呼ぶことにしました。 そして、社内のさまざまな分野のプログラマにRuby開発を指導してみて分かったのは、"RUBAIコード"には、実装レベルの間違いと、設計レベルの間違いがあるということです。 実装レベルの間違いとは、処理を他言語の習慣に従って記述することで引き起こされます。Javaプログ

  • Railsを支える基本概念の整理(RESTfulやリソースなど) - Qiita

    概要 今更ながら格的にRailsを触る事になったのでメモ。 Ruby on Rails Tutorialがとても良かったので、 そこで学んだエッセンスを自分なりに整理してみる。 Ruby on Rails Tutorial(chapter2) http://railstutorial.jp/chapters/a-demo-app?version=4.0#top リソースとは データモデルとwebインターフェイスが組み合わさったもの。 データモデルとは 現実世界のあるモノを分類/抽象化して落とし込んだカタマリ (より具体的にいえば(今回の文脈では)「RDBMSに則って設計されたデータ群」と同義) ##### 「User」を表すデータモデルのサンプル column type

    Railsを支える基本概念の整理(RESTfulやリソースなど) - Qiita
  • Rails4のデプロイでCapistrano3の基本的な使い方を把握する

    概要 Capistranoはサーバの遠隔操作を自動化する多目的なツールです。以下では特に Rails4 を Capistrano3 でデプロイする基的な方法をまとめます。Rails の場合は Capistrano の設定が gem で提供されているため、Capistrano の知識がなくても基的なデプロイはできます。独自にカスタマイズしたい場合など、ページの内容を越えるものは公式ページを参照してみてください。また、Capistranoは v3 と v2 の違いが大きく、v3 を対象とした以下の内容は v2 には適用できないことに注意してください。 サンプルアプリケーションの準備 デプロイするRailsアプリケーションを、こちらのページを参考に用意しましょう。ここではbundlerの使用を前提にしています。ご存知でない方はこちらを参照してみてください。 RailsのGemパッケージをb

    Rails4のデプロイでCapistrano3の基本的な使い方を把握する
  • RailsのDeploy環境+運用を考慮したサーバー構築 - Qiita

    Ruby on RailsでDev環境は使ったことあるけど、test・prod環境を考慮した環境構築をしたことがない人にお勧めの内容です。 サーバー構成図 サーバーの役割 リバースプロキシサーバー(ホスト名:rp01) ロードバランサ機能を使ってWEBサーバ二台に処理を振り分け、アクセスを1台のサーバーに集中させない WEBサーバーを外部から隠せることでセキュリティ面の向上 WEBサーバー(web01、web02) webサーバーを2台用意することでアクセスが1つのサーバーに集中しないため、レスポンスを早くできる マスターDBサーバー(db01m) DB内容をもう1台のDBサーバー(スレーブ)へリアルタイムにコピーし、障害でマスターが停止したときはスレーブに切り替える スレーブDBサーバー(db01s) 読み込み専用のサーバー。書き込みをしない分レスポンスが早くなる マスターの内容を常にコ

    RailsのDeploy環境+運用を考慮したサーバー構築 - Qiita
  • イマドキ、Ruby on Railsで開発するならエディタはRubyMineだよね? 6出たよー! | mah365

    社内の8割方の人間を敵に回すタイトルです。RubyMineを使いはじめてから、かれこれ1年が経ちますが、もうRubyMine無しではRuby on Rails使えません。それぐらいに便利なので、そろそろちゃんとご紹介しようと思うのです。 ちなみに僕は、 vimEmacs → Sublime Text → RubyMine(今ココ!) という感じにエディタを渡り歩いています。 6になって、最強が更に最強になった つい先日、RubyMineがメジャーバージョンアップして6になりました。これにより以下の機能が加わり、より最強になりました。 IDEの中でターミナルを開けるように Zeusを標準で扱えるように(どうせならSpringもサポートして欲しかったけど・・・) 「今までできなかったのかよ!」とツッコミを受けかねない機能追加なのですが、いちいちウィンドウを切り替えてターミナル叩きながらコ

    イマドキ、Ruby on Railsで開発するならエディタはRubyMineだよね? 6出たよー! | mah365
  • 1