並び順

ブックマーク数

期間指定

  • から
  • まで

161 - 200 件 / 916件

新着順 人気順

"Clean Architecture"の検索結果161 - 200 件 / 916件

  • GoのDIライブラリgoogle/wireの使い方 - 一休.com Developers Blog

    こんにちは。宿泊事業本部の宇都宮です。この記事では、GoのDIライブラリgoogle/wireの使い方を紹介します。 この記事は一休.com Advent Calendar 2019の9日目の記事です。 DIとは GoのDIライブラリ wireの使い方 Providerのエラーハンドリング Injectorのカスタマイズ Provider Set インタフェースのバインド 構造体のフィールドを参照する 細かな注意点 値とポインタの違いに注意 go runするときはwire_gen.goも一緒に おわりに DIとは DI(Dependency Injection, 依存性の注入)とは、あるオブジェクトが依存しているオブジェクトを自ら用意するのではなく、外部から渡してもらう(外部から注入する)というデザインパターンです。 例として、以下のように、監督の名前を渡すとその監督の映画を全てリストにし

      GoのDIライブラリgoogle/wireの使い方 - 一休.com Developers Blog
    • 既存のシステム設計手法ではつらいので、数理的システム設計という手法をつくった #agileto2019 - うさぎ組

      現代のソフトウェアシステムにおけるシステムアーキテクチャ設計手法や、それらをとりまく各種手法は素晴しい。だけど、わたしはまだまだもっと理想にちかづきたい。 そんな思いから課題をみつめて、自分なりに設計手法をつくってみました。 いまはこれを数理的システム設計とよんでいます。まだαバージョンくらいです。 いままでも、これについては筑波で2度勉強会をしており、今回はAgile Tour Osaka 2019で講演してきました。 アジャイル システム設計 Meetup - connpass システム設計ハンズオン勉強会 -リジェクトすえなみチャンス暑気払い- - connpass Agile Tour Osaka 2019 × miniPLoP 2019年11月9日(大阪府) - こくちーずプロ で、今回はたぶんはじめてスライドを公開しました。 スライドにある通りですが、基本的には僕の経験のみの話

        既存のシステム設計手法ではつらいので、数理的システム設計という手法をつくった #agileto2019 - うさぎ組
      • Mirrativのバックエンド開発におけるMySQLとの向き合い方 - Mirrativ Tech Blog

        こんにちは、バックエンドエンジニアのmakinoです。先日、LINE LIVEさんとの共催イベントにて「Mirrativを支えるバックエンド開発 ~MySQLとの向き合い方~」というテーマでLTをしました。 connpass.com speakerdeck.com 今回はLTの内容から一部抜粋して、Mirrativのバックエンド開発において遭遇したMySQLに関する問題と、その対策について紹介します。 問題 その1 データ量/QPSの増加に伴って、非効率なクエリが顕在化した サービス初期の段階ではデータ量が少なかったり、ユーザーのアクティビティが少ないために問題がなかったクエリも、サービスの成長に伴ってデータ量・QPSが増加したことによって、MySQLに負荷をかけてしまうことがありました。 具体例を以下にいくつか示します。 数千件レコードのfilesort 適切なindexが利用できればM

          Mirrativのバックエンド開発におけるMySQLとの向き合い方 - Mirrativ Tech Blog
        • JavaScriptのアーキテクチャ

          JavaScriptのアーキテクチャ 概要 DDD/CQRSベースなレイヤードアーキテクチャ Write(コマンド)/Read(クエリ) イベントソーシングはやってない DTO(データ変換オブジェクト)はまだ入れてない なのでDomainのインスタンスがViewにそのまま渡す(Read Only) テストが可能 実装 azu/presentation-annotator: viewing presentation and annotate. 登場人 View(React Component) Write Stack UseCase Repository Domain Read Stack Store DataBase(Memory) View React Component CSS Architecture(別途) Container + Project Componentベース Writ

          • Don't Use Frameworks :: Victor's Blog — Ramblings of a Software Professional

            Stop using frameworks for everything. Just stop. You don’t need a framework to write good code and deliver products. Don’t get me wrong, frameworks are useful, but they are all-consuming and hide the application. So if you shouldn’t depend on frameworks what should you do instead? Clean architecture. More specifically, there are some patterns you can follow to better architect your application and

            • ドメイン駆動設計による運行管理システムのアーキテクチャの最適化 - TIER IV Tech Blog

              こんにちは。ティアフォーでWebサービス開発を担当している池谷です。 世の中はコロナで自粛モードが続いていますが、ティアフォーではリモートワークを活用し日々の業務に柔軟に取り組んでいます。 さて、私の所属するWebチームでは、オープンソースの自動運転OS「Autoware」を利用した多種多様なサービスを開発しています。その中でも代表的なサービスに「FMS」という運行管理サービスがあります。今回は、当サービスを開発してきた振り返りとして、主にドメイン駆動設計によるアーキテクチャの最適化に纏わるトピックについてお話したいと思います。 What's FMS? ティアフォーのFMSの注目機能 オンデマンド配車モデル 巡回走行モデル ベストプラクティスを求めて FMS開発における試行錯誤 浮上していた課題 開発手法のアプローチ ドメイン駆動設計 モデリングの実践 設計・実装面のアプローチ クリーンア

                ドメイン駆動設計による運行管理システムのアーキテクチャの最適化 - TIER IV Tech Blog
              • 未経験新卒エンジニアから1年半で38冊の技術書を読んだのでおすすめの必読9冊を紹介 - Qiita

                はじめに 未経験新卒でエンジニアを始めてから一年以上がたち後輩が入ってきました。 よくおすすめの書籍を聞かれるので、この機会に自分が読んだおすすめの本をまとめてみました。 読んだ本を数えてみたら38冊も読んでいて正直自分でもびっくりです。 今回はその中から厳選した9冊を紹介します。 ※ここではJavaなどに絞らず、サーバサイドエンジニアとしておすすめの書籍を紹介します。 私の未経験当時のスペックと現状 未経験当時 大学1年生の時にC言語を授業で習ったがやる気もなくループ処理なども分からず 就活でエンジニアに決まってからPaizaの問題を解きまくりA問題も多少解けるレベル (ただし変数名はaaaaとかhogeeeを多用w) 現状 書籍を大量に読んでアウトプットしていたおかげで(もちろんまだまだ勉強中ですが) ダメなコード、良いコードの判別が出来て、実装にも落とせる。 アーキテクチャを採用した

                  未経験新卒エンジニアから1年半で38冊の技術書を読んだのでおすすめの必読9冊を紹介 - Qiita
                • ソフトウェアエンジニアをしていて影響を受けた5冊(+α)

                  他の方の記事ですが、読んでいておもしろかったです。記事に出ている本はClean ArchitectureとTDD、LeanとDevOpsの科学くらいしか読んだことなかったです。 また自分も書くことで、他の方も記事を書くようになり、ついでに他の方の記事を読んでみるなどしたいなと思ったので書いてみます。 私はソフトウェアエンジニアとしてのキャリアはまだ7年くらい[1]なので短い方ですが、約7年間の中で読んで印象に残ったものを紹介します。 計算機プログラムの構造と解釈 Scala関数型デザイン&プログラミング Effective Java Programming Rust 実践ドメイン駆動設計 なお、この記事ならびに本のリストは誰かの役に立つことは想定しておらず、単に自分が読んで影響を受けているなあと感じる本をまとめています。つまり自己満足です。 加えてこの手の記事を書く際には、一応筆者のプロフ

                    ソフトウェアエンジニアをしていて影響を受けた5冊(+α)
                  • 9つのチームロールでチームワークを強化する / ベルビンチームロール - mtx2s’s blog

                    スティーブ・マコネル(Steve McConnell)の著書『More Effective Agile』の第6章で、「ベルビンのチームロール理論」なるものが紹介されている。そこに、「Plant」や「Shaper」「Resource Investigator」など、聞き慣れない9つのロール名が並ぶ。チーム内でこれらのロールのバランスが取れていることと、チームのパフォーマンスの間には、高い相関があるそうだ。 そう言われると興味を持つ。ベルビンチームロールとはどのようなものだろうか。しかし残念なことに、同書からはほとんど情報を得られない。書かれているのは、先の9つのロールそれぞれに関する短い説明文と、次の引用にある記述ぐらいだ。 この理論では、チームにおいて人々がどのように行動するか、人々がどれくらい協力して作業を行うと考えられるか、そして各役割の候補者をどのように選択するかを評価する。 202

                      9つのチームロールでチームワークを強化する / ベルビンチームロール - mtx2s’s blog
                    • Go言語によるクリーンアーキテクチャの実装例紹介

                      はじめに CastingONEでバックエンドエンジニアをやっている清水です。 この記事ではクリーンアーキテクチャについて学んだけど具体的にどのように実装すれば良いのかという悩みがあったので実装例をまとめてみた記事になります。 クリーンアーキテクチャで実装されたサンプル実装のうちGitHubのスター数が多いリポジトリをピックアップして、設計内容を紹介していきます。 具体的にどこにどんな実装をするべきなのかも含めて紹介していきます。 処理を一部省略して紹介するため実際の処理内容を確認したい場合はGitHubでご確認お願いします。 クリーンアーキテクチャとは クリーンアーキテクチャは、ソフトウェア設計の原則を適用して、依存性の方向性を逆転させ、ビジネスロジックから詳細(フレームワークやデータベース)を分離するアーキテクチャパターンです。これにより、テストしやすく、メンテナンス性が高く、柔軟性のあ

                        Go言語によるクリーンアーキテクチャの実装例紹介
                      • TypeScriptでクリーンアーキテクチャを実践する

                        概要 本記事は、スクラムを管理するアプリケーションをクリーンアーキテクチャの考え方で実装し、WebからもCLIからも動かせるようにしたという実践を紹介するものです。学習のための個人開発で作成したサンプルアプリケーションの設計と実装を適宜紹介することで、クリーンアーキテクチャに対する理解を深めることが目的です。 モチベーション なぜ現代の開発現場で定着しているクリーンアーキテクチャのアプリを手元で実装してみようと思ったかというと、私自身Webエンジニアとして働く中で、クリーンアーキテクチャの実践例は入出力をWebに限定したものばかりだったからです。 しかし、「詳細に依存せず抽象に依存すること」と唱えるクリーンアーキテクチャにとって、Webはただの詳細です。そこで、入力元、出力先を問わないアプリケーションはどのような書き味になるのか、自分で確かめてみたくなりました。 例えば、「ドメイン層は独立

                          TypeScriptでクリーンアーキテクチャを実践する
                        • Clean Architectureで設計してRxJSを使った話

                          歌舞伎座.tech#7「Reactive Extensions」での発表資料 http://kbkz.connpass.com/event/12597/

                            Clean Architectureで設計してRxJSを使った話
                          • Clean Architecture: クライアントアプリの「中心」とは何か / 20200121 the center of the client #ios_ca

                            iOS Clean Architecture勉強会 sponsored by Sansan - connpass https://connpass.com/event/158269/ の発表資料です。 ## 参考資料 Clean Architecture 達人に学ぶソフトウェアの構造と設計 (アスキードワンゴ) | Robert C.Martin, 角 征典, 高木 正弘 | 工学 | Kindleストア | Amazon https://www.amazon.co.jp/dp/B07FSBHS2V マイクロサービスとクライアント: 
理想と現実の狭間で / Ideal and Reality of microservices from the client-side - Speaker Deck https://speakerdeck.com/qsona/ideal-and-realit

                              Clean Architecture: クライアントアプリの「中心」とは何か / 20200121 the center of the client #ios_ca
                            • 達人出版会

                              探検! Python Flask Robert Picard, 濱野 司(訳) BareMetalで遊ぶ Raspberry Pi 西永俊文 なるほどUnixプロセス ― Rubyで学ぶUnixの基礎 Jesse Storimer, 島田浩二(翻訳), 角谷信太郎(翻訳) 知る、読む、使う! オープンソースライセンス 可知豊 きつねさんでもわかるLLVM 柏木餅子, 風薬 ブランドスイッチの法則 田中 宏樹 Blenderでアニメ絵キャラクターを作ろう!モデリングの巻 夏森轄 R/RStudioでやさしく学ぶプログラミングとデータ分析 掌田津耶乃 データサイエンティストのための特徴量エンジニアリング Soledad Galli(著), 松田晃一(訳) 実践力をアップする Pythonによるアルゴリズムの教科書 クジラ飛行机 スッキリわかるサーブレット&JSP入門 第4版 国本 大悟(著),

                                達人出版会
                              • GitHub上でSwaggerをプレビューできるChrome拡張機能を作った - Qiita

                                概要 GitHub 上で、Swagger の yaml | yml | json を Swagger-UI に変換できる Chrome 拡張機能を作った。 その紹介。 「Swagger とは?」という話は、下記等を参照のこと。 Swaggerの概要をまとめてみた。 - Qiita Demo クリックするだけ。簡単に変換できる。 全展開・全折り畳みができて便利。 インストール Chrome Web Store からインストールできる。 swagger-viewer - Chrome ウェブストア 特徴 簡単 1クリックで変換できる 依存なし この拡張機能のみで動作する Web の Swagger Editor を開いたり、ドキュメント生成サーバーを起動する必要なし セキュア(たぶん) 外部ネットワークへの送受信はないため、業務でも使用できる ※自己責任でお願いします たぶん Chrome の

                                  GitHub上でSwaggerをプレビューできるChrome拡張機能を作った - Qiita
                                • FlutterとFirebaseで開発した 英語の瞬間翻訳トレーニングアプリ Lala の技術 - Qiita

                                  どうも、shoheiです。 株式会社Neverの代表です。 今回はFlutterとFirebaseで開発した英語の瞬間翻訳トレーニングアプリ Lala の技術を紹介します。 アプリはこちらからダウンロードできます(無料でご利用できます)。 ・iOS https://apps.apple.com/jp/app/id1493691416 ・Android https://play.google.com/store/apps/details?id=com.gmail.hukusuke1007.lala 目次 概要 開発期間 設計 主な機能 UI/UXデザイン ユーザーレビュー マーケティング その他 終わりに 概要 まずはLalaの概要を紹介します。アプリストアの情報をそのまま掲載します。 Lalaは英語の会話力向上を目的とした瞬間翻訳トレーニングアプリです。 次々と出題される文章を瞬間的に翻訳

                                    FlutterとFirebaseで開発した 英語の瞬間翻訳トレーニングアプリ Lala の技術 - Qiita
                                  • 関心の分離を意識してサーバーを作ってみる(TypeScript + Express) - Qiita

                                    はじめに こんにちは、都内でフロントエンドエンジニアをやっている @sadnessOjisan です。最近、自分のできる範囲を広げたいと思い、バックエンドエンジニアに転身しました。フロントエンドエンジニアがバックエンドを書けたら最高ですよね?歌って踊れて楽器が弾けるアイドルって感じがします(知らんけど)。 そんなカジュアルな感じでバックエンドエンジニアに転身したのですが、どうも僕が立てるサーバーは汚く柔軟性もなく見通しも悪くなってしまいがちです。どうせなら綺麗なサーバー立てたいと思い、良いサーバーを作るための技術や方法論を知りたいと調べていくと、「関心の分離」という言葉を知りました。そこで GW に、レイヤードアーキテクチャやクリーンアーキテクチャという耳かじった言葉を調べ、なんとかサンプルアプリを作れたので、そこで得た学びをここに残したいと思います。この記事では、関心の分離ができているこ

                                      関心の分離を意識してサーバーを作ってみる(TypeScript + Express) - Qiita
                                    • PHP中級者がソフトウェア開発の理解を深めるためのオススメ書籍 約30冊(2020年版) — A Day in Serenity (Reloaded) — PHP, CodeIgniter, FuelPHP, Linux or something

                                      去年末(2019/12)にオススメ書籍をまとめてみたことがあったので、それを少し更新して公開します。 上にある書籍がよりオススメというわけではないです。 対象者は「PHP中級者」です。中級者が何かは難しいですが、初心者、初級者では決してないとは言えます。 改めて一覧にしてみると、かなり偏っているかも知れません(笑 こういうのはコンテキストというのがあるため、それが合わないと「お前は何を薦めているのだ?」となるでしょうね。 キーワードは、「モデリング」「オブジェクト指向プログラミング」「TDD」「デザインパターン」「DDD」「チーム開発」「アジャイルソフトウェア開発」「スクラム」でしょうか。 PHP中級者のイメージ たぶん、PHP中級者であれば、PHPに関することはPHPマニュアルなどを調べて解決できるでしょう。PHPのオープンソースプロジェクトに貢献しており、自分でプロジェクトを持っている

                                      • 達人出版会

                                        探検! Python Flask Robert Picard, 濱野 司(訳) BareMetalで遊ぶ Raspberry Pi 西永俊文 なるほどUnixプロセス ― Rubyで学ぶUnixの基礎 Jesse Storimer, 島田浩二(翻訳), 角谷信太郎(翻訳) 知る、読む、使う! オープンソースライセンス 可知豊 きつねさんでもわかるLLVM 柏木餅子, 風薬 R/RStudioでやさしく学ぶプログラミングとデータ分析 掌田津耶乃 データサイエンティストのための特徴量エンジニアリング Soledad Galli(著), 松田晃一(訳) 実践力をアップする Pythonによるアルゴリズムの教科書 クジラ飛行机 スッキリわかるサーブレット&JSP入門 第4版 国本 大悟(著), 株式会社フレアリンク(監修) 徹底攻略 基本情報技術者教科書 令和6年度 株式会社わくわくスタディワール

                                          達人出版会
                                        • これからクリーンアーキテクチャによるiOSアプリ開発をしようとしている人にオススメの4つの資料 | DevelopersIO

                                          はじめに こんぬづは、今年は冬コミに初参加してみようかと企んでいる田中です。秋葉原に務めるからには、その文化を身をもって味わう必要があるかと思った次第で御座います。 この記事はiOSでクリーンアーキテクチャに興味がある人が対象です。「やろうかな?」「そもそもどんなものなのかな?」と考えている人は参考にしてください。 クリーンアーキテクチャを調べると、解説記事は数多く見つかります。私は「これだけ情報があれば理解できるだろう」と思っていましたが、いろいろな記事を読めど読めど、しっくりくる感覚がなかなか手に入らない状態に陥りました。そんな経験を元に、私がクリーンアーキテクチャによるアプリ開発を学習し、実際にコードを書いていく上でとても参考になった資料を紹介します。 対象読者 そもそもクリーンアーキテクチャとは?とお思いの方 これからiOSでクリーンアーキテクチャによるアプリ開発をやってみたいと考

                                            これからクリーンアーキテクチャによるiOSアプリ開発をしようとしている人にオススメの4つの資料 | DevelopersIO
                                          • 達人出版会

                                            探検! Python Flask Robert Picard, 濱野 司(訳) BareMetalで遊ぶ Raspberry Pi 西永俊文 なるほどUnixプロセス ― Rubyで学ぶUnixの基礎 Jesse Storimer, 島田浩二(翻訳), 角谷信太郎(翻訳) 知る、読む、使う! オープンソースライセンス 可知豊 きつねさんでもわかるLLVM 柏木餅子, 風薬 徹底攻略 JSTQB Foundation教科書&問題集 シラバス2018対応 梅田 弘之 MATLABで学ぶ 物理現象の数値シミュレーション 小守 良雄 徹底攻略Google Cloud認定資格 Associate Cloud Engineer教科書 根本 泰輔, 奥村 健太, 前山 弘樹, 中野 慎也, 坂田 功祐, 久保 航太, 佐塚 大瑚 改訂新版ファーストステップ ITの基礎 國友 義久 エキスパートPytho

                                              達人出版会
                                            • Clean Architecture in React – Kohei Asai – Medium

                                              あたりを参照。 要は複数層から成るレイヤードアーキテクチャの一種で、レイヤー・要素間の結合性を依存性ルールによって縛り、下記のような恩恵を期待する。 恩恵 アプリケーションをフレームワークから独立させる。フレームワークによって提供されている機能や設計に依存せず、同時にフレームワークの制約に縛られない。 テストを容易にする。各レイヤー・要素を独立して動作させる。ある一つの要素のテストのために、他の要素を用意する必要がない。 UIに依存しない。UIがブラウザではなくCLIになったとしても、ビジネスルールを変更する必要がない。 データベースに依存しない。OracleやMySQLを問題なくMongoやPostgresQLに置き換えられる。Webのクライアントとしては、永続化層に依存しない。Web APIのURLやリクエストパラメータが変わったとしても置き換えられる。また、Web APIではなくLo

                                                Clean Architecture in React – Kohei Asai – Medium
                                              • エンジニア組織のキャリア戦略とスタンスとして大事にすべきこと

                                                こんにちは、株式会社エウレカでCTOをしている kaneshin です。 この記事は CTOA Advent Calendar 2020 の21日目の記事です。エンジニア組織におけるキャリア設計について、今までの私の経験を踏まえて考察してきたスキルの礎の部分について、いろいろな方にお話しする機会が増えたこともあり、今年の締め括りとしてエンジニア組織のキャリア戦略について一本書こうと思い、本記事を書いています。 はじめに株式会社エウレカは、恋活・婚活マッチングアプリ「Pairs」の運用とオンライン結婚相談所「Pairsエンゲージ」の展開をしています。私は2012年にエンジニアとして入社し、当時ローンチしたばかりのPairsチームへの配属となりました。(Pairsは以下「ペアーズ」と表記します) 入社当時は出会い系と同じ括りとして認識されていたペアーズですが、今ではこのようなクリエイティブを世

                                                  エンジニア組織のキャリア戦略とスタンスとして大事にすべきこと
                                                • ウェブフロントに見る clean architecture の一例

                                                  最初に: clean architecture は誤解されている 『Clean Architecture 達人に学ぶソフトウェアの構造と設計』(以下『Clean Architecture』)を読んだことがありますか?例の同心円の図しか知らないという人も多いでしょう。 画像出典: Robert C. Martin 「The Clean Architecture」 さて、ここでクイズです。「Clean architecture とは、 controllers や use cases、entities というクラスを作って繋げるアーキテクチャのことだ、○か×か」。どっちでしょうか? → → → 正解は×です。 あの同心円は、あくまで clean architecture の一例として『Clean Acrhitecture』で紹介されたものです。 そう、clean architecture とはア

                                                    ウェブフロントに見る clean architecture の一例
                                                  • DDD + Clean Architecture + UCDOM Essence版

                                                    http://ddd-cqrs-es.connpass.com/event/27181/ 「Reactive Messaging Patternsプレ読書会 - CQRS、ESの基本を学ぶ -」の資料です。 Embeddedなままだと各種リンクが有効ではないので、気になる方は"Download PDF"よりご参照ください。 Full版はコチラ:https://speakerdeck.com/yoskhdia/ddd-plus-clean-architecture-plus-ucdom-fullban

                                                      DDD + Clean Architecture + UCDOM Essence版
                                                    • リファクタリングに関する何か - 日々常々

                                                      リファクタリングの話をするとき、焦点が合ってないなーと感じることがたまにあるのでざっくり描いてみた。 自分のために描いたものなので、なんか違うなーって思ったらご自身で描いてみるといいと思います。レッツモデリング。 破線は依存、実線は変換。長方形は名前などで明確に識別可能なもの、角丸は様々なものを包含する活動。雲は思いです。 描いた時の経緯と言うか 該当ツイート: リファクタリングって常時やるものなんですよね。もちろん「よーしやるぞー」って感じで行うものもあるんですけど、それは深呼吸的な。 とは言え。やったことがない、やってはいけない文化(動いているコードに触ってはいけない)に染められてしまっている、そのような方に「無意識にやれ!」と言っても、何の意味もないので言いません。むしろ害悪ですらある。 該当ツイート: 無意識にやるようになって、ようやく「リファクタリング」がカタログ化される前の「偉

                                                        リファクタリングに関する何か - 日々常々
                                                      • 独立したコアレイヤパターン - Shin x Blog

                                                        モチベーション 全体 サンプルアプリケーション コアレイヤ サービスレイヤ 口座間送金ユースケース 処理の流れ コアレイヤ サービスレイヤ コアレイヤ対象範囲 DDD スタイル 手続き型スタイル 実装アイデア レイヤでパッケージを分ける コアレイヤの範囲 ポートの種類 DDD スタイルへの一歩目 さいごに 参考 独立したコアレイヤは、アプリケーション実装パターンである。以下のような特徴を持つ。 アプリケーションを、何を実現するのか(What)と、どのように実現するのか(How)に分ける。 What は、コアレイヤに実装する。ユースケースやドメインロジックを実装する。フレームワークやライブラリには依存しない。UI やデータベースからは独立している。 How は、サービスレイヤ(仮)に実装する。フレームワークやライブラリを活用して、ユースケースが要求する技術詳細を実装する。 コアレイヤが必要な

                                                          独立したコアレイヤパターン - Shin x Blog
                                                        • ADOP (Application Domain Others Pattern)

                                                          TL;DR ADOP はヘキサゴナルアーキテクチャの実装パターンとして考えられます。 パターンという名前はそれに由来します。 あえて名付けた理由はこぼれ話をご確認いただけると幸いです。 ADOP の概要 ADOP (Application Domain Others Pattern) は中長期的に運用可能なコードへ誘導するアプリケーションアーキテクチャパターンです。 ADOP は次の特徴があります。 最小限のルールである 指針が明確である 特定の技術スタックに縛られない テスタビリティが確保される これらの特徴は、コードを自然と中長期的に運用可能なコードへ導きます。 まず、簡単にそれぞれがどういった意味を成すのかを確認してきましょう。 最小限のルールである どれほど完璧な作戦であっても、その実行が不可能であれば何の意味もありません。 プログラミングにおいてもそれは同じことで、制約を守るため

                                                            ADOP (Application Domain Others Pattern)
                                                          • Clean Architecture考察 - ROXX開発者ブログ

                                                            この記事は個人ブログの内容がソースです。 kami-programming.com そもそもなぜクリーンアーキテクチャーを考察するのか DRY原則やSOLID原則などが浸透している昨今ですが、実際の開発現場のソースコードを読み込んでみると必ずしもこれらの原則に則していない場合は多いのではないでしょうか。 そして、そういった開発環境でいざコーディングをしていくと、以下のような問題に直面するのではないでしょうか。 あるバグの修正をしたのだが、同じロジックが他の場所でも書かれていたようで重複箇所のバグは依然としてバグったままだった。 あるクラスを変更したが、依存性の方向性や範囲が把握しきれておらず、変更の影響で新たなバグを生んでしまった。 ビジネスロジックの変更を迫られたが、同じロジックが重複しすぎており修正範囲を特定するだけで一苦労。 想定外の値の入力があり、バグが発生してしまった。 これらは

                                                              Clean Architecture考察 - ROXX開発者ブログ
                                                            • 実例に基づいた大規模 iOS アプリの継続的な開発についての勉強会を開催しました - クックパッド開発者ブログ

                                                              技術部モバイル基盤グループ新卒エンジニアの日高(@natan3)です。 去る11月17日、「Cookpad Tech Kitchen #4 〜Cookpad × MoneyForward〜」と題して、iOS エンジニア向けの技術交流イベントを行いました。 https://cookpad.connpass.com/event/43082/ このイベントでは、 iOS開発の中でも特に大規模アプリの品質を維持するための設計や、複数の言語圏や様々なパートナー企業に合わせたアプリの提供をテーマに、弊社のエンジニアから2つ、マネーフォワードさんから2つの発表がありました。 この記事では、その様子についてお伝えします。 iOSアプリケーションの海外展開 まず、海外事業部の西山(@yuseinishiyama)から、海外事業向けのiOSアプリケーションの開発フローについて紹介がありました。 How to

                                                              • 2019年ふりかえり - しゅみは人間の分析です

                                                                同人誌を生産する生活 同人誌制作が生活の中心だった。妻が同人活動を始め、それに振り回された一年といえる。妻はもともと絵を描く人だったが、ある日突然漫画も描くようになった。配偶者とはいえ、ひとの趣味なので始めは放置していた。だが、どうも雲行きが怪しい。スケジュールが破綻していたのだ。新刊が落ちるかもしれない、そんな状況で2019年を迎えた。年末年始の休暇をすべて費やし、私はスケジュール管理とアシスタントをすることになった。妻は1日に4ページの作画をこなし、私がベタとトーンを塗る。正月も休むことなく作業をし、締切前日には当然のように徹夜をした。 同人誌を作るのは文化祭の準備と似ている。あらゆる手段を使って完成させ、イベントで頒布しないといけない。本を用意できたら対面販売の喜びが得られる。インターネットで得られるただの数字とは違って、目の前の人が本を買ってくれるのだ。狭いスペースに何時間もいるの

                                                                  2019年ふりかえり - しゅみは人間の分析です
                                                                • Unityを利用した大規模なゲーム開発にクリーンアーキテクチャを採用した話 - WonderPlanet Developers’ Blog

                                                                  こんにちは、タノシムスタジオテックリードの吉谷です。タノシムスタジオでは2011年ごろからクライアントアプリケーションの開発にUnityを利用し始め、いろいろ試行錯誤をつづけた結果、現在ではクリーンアーキテクチャの考え方を取り入れています。 今回は、Unityを利用したゲーム開発にクリーンアーキテクチャを適用した例として、導入理由、具体的な構成、実際に感じたメリット、デメリットなどを紹介したいと思います。 クリーンアーキテクチャとは クリーンアーキテクチャはRobert C. Martin氏が自身のブログにて発表した、すべてのソフトウェアアーキテクチャが守るべき考え方やアプローチがまとめられた概念です。以下のような同心円状の図で説明されることが多いかと思います。 出典: The Clean Architecture クリーンアーキテクチャの説明自体は、検索していただければ優れた記事や書籍な

                                                                    Unityを利用した大規模なゲーム開発にクリーンアーキテクチャを採用した話 - WonderPlanet Developers’ Blog
                                                                  • 2022年版実践WPF業務アプリケーションのアーキテクチャ【設計編/後編】 ~ドメイン駆動設計&Clean Architectureとともに

                                                                    今回はいよいよ最終回となります。前回は非機能要件についてアーキテクチャを設計してきました。今回は代表的なユースケースを選定して、アーキテクチャの詳細な設計を蒸留していきます。また、開発者ビューについても設計を行います。利用者側の要件から出てきにくい、開発上に必要となる設計、テスト設計などを実施します。 ソースコード 実際に動作するソースコードは、GitHub上に公開しているので、ぜひご覧ください。ビルドや実行方法については、リンク先のREADME.mdをご覧ください。また、実際に動作させるためには次の2つのライセンスが必要です。 ComponentOne for WPF SPREAD for WPF 4.0J これらは試用ライセンスを発行することができます。 本稿だけで読み進められるように記載していますが、すべてのコードを詳細に解説しているわけではありません。本稿を読んだ後、あらためて動作

                                                                      2022年版実践WPF業務アプリケーションのアーキテクチャ【設計編/後編】 ~ドメイン駆動設計&Clean Architectureとともに
                                                                    • iOSアプリ設計大全集 2016 - Qiita

                                                                      iOS関係の勉強会に参加するとほぼ間違いなく、設計に関する発表があるように思います。 「RxSwiftを使ってMVVM...」「Clean Architectureを導入...」, etc... 色々話を聞く中で、自分は以下のような課題があるなぁと感じています。 いろいろな設計方法があるけれど、結局何を使うべきなのかわからない 名前は聞いたことがあるけれど、それぞれがどのような設計で、何がメリットなのかわからない 勉強した時は分かったような気がしたけれど、もう忘れた この記事はこれらの解決の一助になればと思って書いたものになります。(設計へのモチベーションを上げたい) サンプルコードを交えながら、5つの設計について考察してみます。 ※ RxSwiftの名前を出しましたが、ライブラリに関してはこの記事では言及しません。 そもそも、なぜ設計に拘る必要があるのか iOSアプリ開発において、このよ

                                                                        iOSアプリ設計大全集 2016 - Qiita
                                                                      • クリーンアーキテクチャ本を読むためのポイント|erukiti

                                                                        先日のClean Architectureは全てのプログラマにお奨めしたい良著という記事では、ASCII DWANGOから出ているClean Architecture 達人に学ぶソフトウェアの構造と設計(以下、Clean Architecture本と呼ぶ)が、アーキテクチャパターンとしてのクリーンアーキテクチャ The Clean Architecture(日本語翻訳版) を採用するかどうかに関わらず、ありとあらゆるプログラマにお勧めしたい良著であると書きました。 Clean Architecture本は主に設計(実装面もある程度含む)において、メンテナンスしやすいものを作り上げるために必要な知見をコンパクトにまとめた本です。この本で押さえておくべき重要な概念は「知識」とその知識を利用する「依存関係」です。 この記事では、前回よりもさらに掘り下げて、Clean Architecture本を

                                                                          クリーンアーキテクチャ本を読むためのポイント|erukiti
                                                                        • Clean Architecture in Practice @ScalaMatsuri2019

                                                                          実践 Clean Architecture http://2019.scalamatsuri.org/

                                                                            Clean Architecture in Practice @ScalaMatsuri2019
                                                                          • Clean ArchitectureでAPI Serverを構築してみる - Qiita

                                                                            この記事では、アーキテクチャを採用する理由、次にClean Architectureの概要、最後にアプリケーションの構築をしていきます。 この後詳しく見ていきますが、Clean architectureの概念は比較的シンプルでわかりやすいものだと思います。しかし実際コードに落とし込んだ時、これってどう実装すればいいのかな?と迷うことがあったので、自分の理解も深めるために実際にAPI Serverを構築していきたいと思います。 また、サーバーサイドでの採用事例をあまりみないので誰かの参考になればいいかなと思います。 サンプルコードは、Go言語です。 アーキテクチャを採用する理由 アーキテクチャに期待することは、関心の分離です。 関心の分離を正しく行うことで、次のようなメリットがあると思います。 再利用性の高い設計になり生産性が向上する コードの可読性が上がり、メンテナンスが容易になる 変化に

                                                                              Clean ArchitectureでAPI Serverを構築してみる - Qiita
                                                                            • UseCaseの再利用性 - yoskhdia’s diary

                                                                              Clean ArchitectureにはUseCase層が定義されていますが、このUseCaseが一体どういうものなのか度々わからなくなるので、自分の考えをまとめてみるエントリです。 Clean Architectureについてはこちら 8thlight.com 日本語訳:クリーンアーキテクチャ(The Clean Architecture翻訳) 以降、概念を”ユースケース”、実装されるモノを”UseCase”と表記することにします。 (同じっちゃ同じなんですが、指してるものがところどころ変わるので表記分けをしています。) また、Webアプリケーションを想定しています。 ユースケースとは何なのか Clean Architectureから抜粋します。 Use Cases The software in this layer contains application specific busi

                                                                                UseCaseの再利用性 - yoskhdia’s diary
                                                                              • 『Microservice Patterns』 まとめ - Qiita

                                                                                今年10月に出版された『Microservices Patterns With examples in Java』という本を読んだ。面白かったので紹介したい。 はじめに 著者は、マイクロサービスパターンのサイト microservice.io を運営している Chris Richardson という人。Cloud Foundry の創設者でもあり、最近では Eventuate というマイクロサービス用のプラットフォームを提供してるらしい。コンサル経験も豊富らしく、本の中でもそこで得られた知見が盛り込まれている。 microservice.io でもマイクロサービスパターンはカタログ化されているが、この本ではサンプル事例で肉付けされて具体的に解説される。関連するトピックも豊富で勉強になる。 ここが面白い 問題領域のカタログとして役立つ 初心者が考えるマイクロサービスのイメージといえば、その人

                                                                                  『Microservice Patterns』 まとめ - Qiita
                                                                                • GitHub - dariubs/GoBooks: List of Golang books

                                                                                  Awesome Go Books Awesome Go Books Starter Books 2018 - Learning Go Free 2018 - Get Programming with Go 2019 - API Foundations in Go 2019 - Go for Javascript Developers Free 2019 - The Go Workshop 2019 - Head First Go 2020 - How to Code in Go 2021 - Learning Go: An Idiomatic Approach to Real-World Go Programming 2022 - Go, from the beginning Free 2022 - Practical Go Lessons Free 2022 - Pro Go 2022

                                                                                    GitHub - dariubs/GoBooks: List of Golang books