タグ controller
人気順 5 users 50 users 100 users 500 users 1000 usersYahoo! 知恵袋フロントエンドをリアーキテクトしている話
Yahoo! 知恵袋のフロントエンドには26000行を超えるユニットテスト(1つのcontrollerのユニットテスト)や、多くのロジックを含むcontrollerがあります。これらによって追加実装・保守が難しい状況です。この問題を解決するために、リアーキテクトを行いました。以下について主に話そうと思っています。 ・リアーキテクト... 続きを読む
MVCモデルは意識した方がいい!!!私は地獄を見ました!!! - Qiita
目次 MVCモデルとは何者?? Modelとは Viewとは Controllerとは まとめ (MVCを意識せずに書いた私の経験談) MVCモデルとは何者?? MVC(Model-View-Controller)モデルは、ソフトウェア開発におけるデザインパターンの一つ。MVCはアプリケーションの内部の構造を整理し、役割を分離することで、保守性や拡張性を向... 続きを読む
「クラスごとの役割を明確化すること」がポイント アプリケーション設計におけるドメインロジックの分離法
今回はアプリケーションアーキテクチャを学ぶ最初の一歩として、「MVC」や「3 層アーキテクチャ」などの基本的な用語の意味や関係性を整理する「改めて整理するアプリケーション設計の基本」。ここで大嶋氏が登壇。続いて、Controllerにプレゼンテーション層からデータアクセス層の処理をすべて記載している場合の分離方... 続きを読む
「ビジネスロジック」とは何か、どう実装するのか - Qiita
アプリケーション開発で、「ビジネスロジックは分離しろ」だとか「Controller にビジネスロジックを書くな」といったことをよく言われると思います。 しかし、ビジネスロジックという言葉の意味を聞いたり調べたりしてみても、「システムのコアの部分」とか「システムの目的になる処理をするところ」みたいなことを言わ... 続きを読む
クリーンアーキテクチャのUsecaseはなぜControllerへ値を返すのではなくOutput PortとしてPresenterを呼び出すのか - Runner in the High
何を言っているのかと言うと、みんな大好きクリーンアーキテクチャの右下に図示されているFlow of Controlのこと。 黒線が引かれているということは、つまりUsecaseの中でOutput Portのインターフェイスを持つPresenterの関数なりが最終的に実行されるということである。 ここで湧き上がってくる疑念は「UsecaseがPresen... 続きを読む
あーありがち - Rubyでdebug用のloggerをお手軽低コストに仕込む
<< 2019/08/ 1 2 1. testable constraint 3 1. Railsはどうやって500やdebug用のエラー画面を出しているのか 4 1. もっとControllerから分離してtestableに 5 6 7 8 9 10 1. How to test rack middleware 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 1. Rubyでdebug用のloggerをお手軽低コストに仕込む 26 27 28 29 3... 続きを読む
RailsのControllerにApplicationService相当のロジックを書くのはありなしや? - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く
Railsにおいては、ApplicationService相当のロジックをコントローラーに書いても良いものとする— 猫でもわかるしんぺい入門 (@shinpei0213) June 4, 2019 これについてです。 結論から先にいうと、ぼくは「正しい」と思っています(ただ、自分ではあまりやらず、ApplicationServiceに切り出しちゃいますが、これは好みの... 続きを読む
Railsのcontrollerにおいて、メソッド外で初期化したインスタンス変数を参照すべきでない理由
Railsのcontrollerにおいて、メソッド外で初期化したインスタンス変数を参照すべきでない理由 背景 Ruby on Rails を利用した中規模以上のプロジェクトにおいて、 Fat な controller を解消するために、処理を分割することはしばしば行われます。例えば、サブメソッドへの一部処理の切り出し, before_action, concern へ... 続きを読む
無法地帯にテストケースを追加する時にいつもやっている戦略 - laiso
2018 - 03 - 08 無法地帯にテストケースを追加する時にいつもやっている戦略 数年開発続いてるけどテスト全くないみたいなよくあるコードベースを想定 不具合を修正する時についでにリファクタリングしてドメイン層のテストを書く 手動テストで不具合を再現 ViewからロジックをControllerへ移動し、Viewからは値の参照のみにする 移動したロジックをController内でプライベートメ... 続きを読む
Railsの太ったモデルをダイエットさせる方法について - メドピア開発者ブログ
2017 - 11 - 08 Railsの太ったモデルをダイエットさせる方法について Tweet Share on Tumblr こんにちは。メドピアのRuby(Rails)化をお手伝いしている @willnet です。最近はよくリファクタリングをしています。 今回は、最近僕がリファクタリングしている内容についてまとめようと思います。 メドピアではFat Model/Controllerを避けるた... 続きを読む
Swagger+JSON SchemaでAPIの型をテストして開発サイクルをスピードアップさせた話 - pixiv inside
CTO兼福岡オフィス立ち上げ担当として新アプリを作っている @edvakf です。 JSON APIを開発しているとこういう問題がありがちですよね。 仕様どおりにAPIの形式を作ったはずだけどなんか自信が持てない テストでいくつかのキーが存在するかの簡単なチェックはしてるつもりだけど、全部チェックするのは大変すぎる APIのControllerやViewをリファクタリングしたらレスポンスの形が変わ... 続きを読む
ActionArgsが素晴らしい件 #Rails - Islands in the byte stream
2017 - 06 - 24 ActionArgsが素晴らしい件 #Rails github.com Railsのcontrollerで違和感があるのって actionのinputに params というインスタンスメソッド経由でアクセスすること(しかもそれはviewからアクセスできる!) actionのoutputが controller のインスタンス変数への代入であること(しかもそれはvie... 続きを読む
Controllerのリファクタリング ~または私は如何にして肥大化していくControllerをやめてDHHによるControllerの書き方を愛するようになったか~ - Misoca開発ブログ
2017 - 04 - 07 Controllerのリファクタリング ~または私は如何にして肥大化していくControllerをやめてDHHによるControllerの書き方を愛するようになったか~ こんにちは! Misoca開発チームのめろたん( @renyamizuno_ )です! 最近 LEGO ランドが開園したので行きたいのですが、地味に遠いため行けてないマンです。 最近あった面白いことは... 続きを読む
Go - 外部APIを使うController用のTest Doubleライブラリを書いた - Qiita
Goで net/http を使ったControllerのテストには、 net/http/httptest モジュールを使うと擬似的にサーバをその場で立て、登録したハンドラにリクエストを送れます。 ただ、APIに使うアクションはたびたび、外部のAPIを叩くこともあります。 その際、テストを実行するときに外部APIを使えない状況(本番環境とは違う状況、例えば、production用のAPIの発行には金... 続きを読む
Rails 4 + gonでときおりcontrollerのテストが失敗する問題への対応 - Misoca開発ブログ
2015-06-15 Rails 4 + gonでときおりcontrollerのテストが失敗する問題への対応 こんにちは、Misoca開発チームのmzpです。 先週は友人の家に泊り込んでWWDCのライブストリームを見ていました。 MisocaではRailsとJavaScriptでの値の共有にgonを利用していますが、ときおりcontrollerのテストが失敗するという奇妙な現象に遭遇しました。今日... 続きを読む
cgroup の cpu.shares を検証した | harasou.github.io
cgroup には複数のサブシステム(controller)があるが、その中の cpu.shares について検証してみた。 cpu.shares とはcpu.shares を設定すると、タスクが使用できる CPU 時間の割合を変更することができる。 具体的に言うと、A B2つのグループを作り、cpu.shares をそれぞれ1024 2048とした場合、B のグループにいるプロセスが、A のグル... 続きを読む
Rails 4.1 to 4.2 でハマったポイント - HsbtDiary(2015-03-27)
■ Rails 4.1 to 4.2 でハマったポイント 最近は OpenStack とかインフラ方面を色々やっていたけど、たまには Rails もキャッチアップしないとな〜と Rails アップグレードをさくっとやってみた。社内のいくつかのサービスを Rails 4.2.1 にしてみた所、いくつかのサービス共通でハマる箇所があったので紹介する。 controller/requests tests... 続きを読む
Xslate の mark_raw は template に書かない - blog.64p.org
Xslate の mark_raw は template 側では使わずに、Controller ないし Model で使って欲しい。 ある文字列が、HTML として処理すべきものかどうかは、サーバー側で判断すべき事案であって、マークアップエンジニアが判断すべき事項ではないから、というのが大きい。 「タグがうまく入力できないんですけど」というディレクターからの起票によって、それをマークアップエンジニ... 続きを読む
Rails4のコントローラーのrenderメソッドのレシピ集 - Rails Webook
2014-11-25 Rails4のコントローラーのrenderメソッドのレシピ集 Rails基礎 Rails Controller Railsのコントローラーでのrenderメソッドの使い方について説明します。 renderメソッドは、「コントローラー(Controller)」と「ビュー(View)」のそれぞれにあります。 ここではコントローラーのrenderメソッドの使い方を示します。 ビュー... 続きを読む
天使やカイザーと呼ばれて » オレ流AngularJSを使った設計ポリシー
オレ流AngularJSを使った設計ポリシー Chrome MySQL Adminでは、AngularJSを使って実装を行っています。Chrome appsでは、何らかのMVC Frameworkの利用が勧められています。 AngularJSは、Controller、Directive、Template、Serviceなど、いくつかの部品群を組み合わせてアプリケーションを構成することになります。そ... 続きを読む
AngularJSアンチパターン集 - Qiita
AngularJS歴1年の筆者による個人的なAngularJSアンチパターン集です。自分のための戒めとメモを兼ねています。個人差があると思いますので、参考程度に。 また、筆者はTypeScriptで書いています。 Components ComponentsのDI数が6以上になる ComponentsとはController, ServiceやFactoryなどのこと。 angular.module... 続きを読む
AngularJS で controller, service 等を遅延ロード(定義)する - Qiita
AngularJS で controller, service などが定義された JavaScript ファイルを遅延ロードした場合、通常のような書き方では Injector から対象のオブジェクトが取得できない。なので、以下のようにする。 ※公式的にこれでいいのかどうかは不明だけどメソッドが生えてるってことはこれでいいのかしら。ちなみにソースはこれ メインのファイル var app = angu... 続きを読む
[Ruby on Rails]画像をアップロード・ダウンロードするコントローラの呼び出しとRSpec | Developers.IO
はじめに 画像をアップロード・ダウンロードする処理をRuby on Railsで作成する際、画面がないなどの理由で、コンソールから画像をアップロードする事や、ControllerのRSpecにて動作を確認することがあります。 今回はそれらの具体的なソースと、簡単なRailsの実装について書いてみたいと思います。 1.今回作成するアプリについて 先に書いたように、画像をアップロード・ダウンロードする... 続きを読む
そろそろ来そうなCakePHP3をざっくり見通してみた | nanapi TechBlog
今回は、CakePHP3について書きたいと思います。サンプルのアプリケーションをつくって、bakeされたController、Model、View、ViewCellを見てみました。 CakePHP3について CakePHPは、Ruby on Rails流の「設定より規約優先」なパラダイムによる高速開発PHPフレームワークです。現在の安定版は2系で、nanapiやnanapiワークス、アンサーのサー... 続きを読む
AngularJS - お前のAngular.jsはもうMVCではない。と言われないためのTutorial - Qiita [キータ]
JavaScriptフレームワークに興味あるし、Angular.jsを使ってみようかな・・・ そんな純真無垢なあなたを混沌の世紀末に引きずり込むのが、ほかでもないTutorialなのです。 TutorialではほぼControllerしか出てこないので、素直にこの通り書いているとまず間違いなく3カウントでControllerにコードが集中するいわゆるFat Controllerになり、せっかくMV... 続きを読む