タグ

ブックマーク / qiita.com/seri_k (3)

  • 運用に耐えるRailsによるWebアプリケーションの作り方 - Qiita

    2019/09/09加筆: 注意事項 多くの人に見ていただいていますが,この記事は2017年12月当時(Railsの最新バージョンが4.2ぐらい)に書かれたものであり,現在は内容がかなり古くなっています 2019年9月現在,筆者はRailsどころかwebアプリケーション開発からも離れているため,今の所アップデートする予定はありません(というかできません). そのため,記事を参考にする場合は使用しているRailsのバージョンに合わせて適宜脳内補完しながら読んでいただければ幸いです. 記事に書かれているようなベストプラクティスを検討する上で最善の方法は,Railsの公式リファレンスとRailsのコードそのものを読んで最善策を模索することです.Rails5以上を使っている場合は,こんな古い記事を読まずに,自分で最善の方法について検討することをおすすめします. 筆者は,2014年半ばから201

    運用に耐えるRailsによるWebアプリケーションの作り方 - Qiita
  • RailsのControllerにActionが増え過ぎて困った場合のリファクタリング - Qiita

    TL;DR RailsのControllerって気がついたらActionのmethodが大量に増えてて見通しが悪くなったりfilterかけ忘れたり色々イヤなことが起きる 「なんか読みづらいな~」と思うぐらいのサイズになったら自分は以下のいずれかを行ってControllerをリファクタリングするようにしている ConcernにActionを切り出す Controllerを分ける まとめられるActionは1つにまとめる(特に更新系) RailsのController肥大化問題 単純な各リソースに対するCRUD機能だけを持つRailsアプリケーションだとControllerはせいぜい100行ぐらいに収まってスッキリしていることが多いと思う しかし仕事で40モデル~ぐらいの規模のサービスを作っているとそうはならないケースが多い よくあるパターンとしてAjaxコール用のActionが場当たり的に量

    RailsのControllerにActionが増え過ぎて困った場合のリファクタリング - Qiita
    lEDfm4UE
    lEDfm4UE 2016/10/26
  • Punditから考えるDRYな権限管理の設計方針 - Qiita

    TL;DR Web applicationを書いてると,たいてい業務ロジック実装のための分岐処理でコードが汚くなり,また色々な場所に同様な処理のコピペが発生する 権限管理用ライブラリであるPunditを使って業務ロジックにおける分岐処理を1箇所にまとめるときれいに整理できるケースがある 複雑なUser Roleベースの権限管理をするときはcancancanなどを使うべきで,目的に応じた使い分けが大事 書いていないこと Punditの詳しい使い方(コードベースが非常にシンプルでdocも充実しているので自分で読んだ方が早い) 他の権限管理ライブラリの使い方(筆者より優秀なエンジニアが書いた記事が沢山あるのでググった方がいい) 前置き Web applicationがある程度大きくなった時に生じる2大問題 ビジネスロジックの条件分岐でコードが汚れる問題 以下のようなビジネスロジックを実装するため

    Punditから考えるDRYな権限管理の設計方針 - Qiita
  • 1