タグ

Architectureに関するmyzkkzyのブックマーク (17)

  • 「システム設計の面接試験」という本が良かった

    皆さんこんにちは。株式会社ラクーンホールディングスで働いている川崎です。 最近「システム設計の面接試験」というを読みました。 個人的にとても面白いと感じたので、オススメポイントと感想を共有します。 直近でシステム設計の面接を受けない方も、きっと読んで得るものがあると思います。 の概要 システムの設計はシステムの機能や仕様、データのアクセスやセキュリティを左右するため、非常に重要だが、従うべき一定のパターンがないために、その習得は難しいと言われています。 一方で、システム設計自体がITエンジニアに日常的に求められる作業であるため、システム設計の面接試験は米国で広く採用されています。 書では、「Webクローラ」「通知システム」「ニュースフィードシステム」「チャットシステム」「youtube」など実践的なテーマに沿って、システム設計の問題を出題し、その回答を解説することで、システム設計力を

    「システム設計の面接試験」という本が良かった
  • モノリスとマイクロサービスを経てモジュラモノリスを導入した実践事例

    全てのAPIをProtocol Buffersで管理する / Manage all APIs with Protocol Buffers

    モノリスとマイクロサービスを経てモジュラモノリスを導入した実践事例
  • 中世

    ノーバード・ショウナワー、三村浩史監訳 「世界のすまい6000年 3西洋の都市住居」、彰国社、1985年 中世の要塞都市:ノルウェー人、スラブ人、マジャール人などがキリスト教に改宗したのに伴い、12世紀には異民族の侵入もかなりおさまり、暗黒時代から中世盛期と呼ばれる新しい時代へと次第に移っていった。森林、荒地、沼地が開墾され、農業技術の改良により農業生産は当時の必要とした水準をしのぐようになった。人口も増加し、再び社会的分業が可能となり、交易や商業が発展し、幾つかの古代ローマ都市が甦っただけでなく、川の合流点や交通路の交流点などに新しく都市が育っていった。このようにして10世紀初めまでに歩いて1日くらいの距離(約24Km)をおいて、町や都市が農村地に現れ、それぞれの周辺農村のための市場になり、農村と都市の共存的な関係が発達した。 中世都市の急増に伴い、12,13世紀のヨーロッパで新しい労働

  • クリーンアーキテクチャ完全に理解した

    clean_architecture.md 2020/5/31追記: 自分用のメモに書いていたつもりだったのですが、たくさんのスターを頂けてとても嬉しいです。 と同時に、書きかけで中途半端な状態のドキュメントをご覧いただくことになっており、大変心苦しく思っています。 このドキュメントを完成させるために、今後以下のような更新を予定しています。 TODO部分を埋める 書籍を基にした理論・原則パートと、実装例パートを分割 現在は4層のレイヤそれぞれごとに原則の確認→実装時の課題リスト→実装例という構成ですが、同じリポジトリへの言及箇所がバラバラになってしまう問題がありました。更新後は、実装時の課題リストを全て洗い出した後にまとめて実装を確認する構成とする予定です。 2021/1/22追記: パートの分割と、クリーンアーキテクチャという概念の定義について追記を行いました。大部分の実装例パートを中心

    クリーンアーキテクチャ完全に理解した
  • Unityにおける設計パターン

    CA.unity #1 2021/02/19 https://meetup.unity3d.jp/jp/events/1271

    Unityにおける設計パターン
  • Goとクリーンアーキテクチャとトランザクションと - Qiita

    はじめに アドベントカレンダー16日目、aptpodのしがないサーバーサイドエンジニアがお届けします。 弊社ではサーバーサイドのプログラミング言語としてGoを利用しています。 Goでアプリケーションを実装していく中で特に頭を悩ませた、Go x クリーンアーキテクチャ x トランザクションについて、学んだこと、どうやって対処したかを書きたいと思います。 題材について 解説するにあたり、クリーンアーキテクチャ1を意識したサンプルアプリケーションを作りました。 機能自体はしょうもない、CRD(Update無し!)です。 意識はしていますが、クリーンアーキテクチャの厳密さを言われるとそうでもないです。 しかし、その部分の議論は題とずれますので特に触れません。 まず全体の絵を。 ざっくりクラス関連図 ざっくりシーケンス図 ユースケースのアクティベートの部分はトランザクションを意味しています。そこだ

    Goとクリーンアーキテクチャとトランザクションと - Qiita
  • 形から入ったドメイン駆動設計によるゲーム開発の光と闇

    フロントエンドエンジニア友人と“型”で話がすれ違った原因 YUMEMI.grow合同LT会in横浜 @Kaito-Dogi

    形から入ったドメイン駆動設計によるゲーム開発の光と闇
  • システムアーキテクチャ設計で考えることを整理してみた - Qiita

    この記事は BrainPad AdventCalendar 2018 6日目の記事です。 実際のシステム開発では、開発規模だったり緊急度だったり重要度だったりを考慮しなければならないため、経験を頼りに臨機応変に対応することが多いのではないでしょうか。 記事ではシステムアーキテクチャ設計の検討事項について簡単ではありますが整理してみました。 システムアーキテクチャ設計について思うところ 企業は利益や利益率の増加、コスト削減といったビジネス課題を解決するための手段として情報システムを導入するわけですが、私はそれを実現するための重要な要素の一つにシステムアーキテクチャ設計があると考えています。 早速ですが、題に入りましょう!! システムアーキテクチャ設計の検討事項 システムアーキテクチャ設計では、システム稼働上の要件を検討し適切なシステム構成にするために必要な要素を明確化するわけですが、検討

    システムアーキテクチャ設計で考えることを整理してみた - Qiita
  • 失敗から学ぶAndroid設計話

    導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について

    失敗から学ぶAndroid設計話
  • グローバルゲームジャムでクラス設計をやった話2017 - Qiita

    お知らせ 2017/11/26開催の「プログラマのためのUnity勉強会」において、 Unity開発で使える設計の話+Zenjectの紹介 というタイトルで講演しました。こちらのスライドを先に見てから記事を参照されることをおすすめします。 はじめに 去年に引き続き、今年もGGJに参加してきました。今回もそのことを書きたいと思います。 今回の内容は以前に投稿したUnity開発で便利だったアセット・サービス紹介 & Unityでのプログラミングテクニックとつながりがあるので、こちらを先に読んでからのほうがわかりやすいかもしれません。 Global Game Jam とは GGJとは全世界同時に行われるゲームジャムのことです。要する、世界規模のゲーム開発ハッカソンです. プログラマ、デザイナ、プランナ、グラフィッカなど様々な役職の人をごちゃまぜに、3~8人程度のチームを組み、48時間でゲーム

    グローバルゲームジャムでクラス設計をやった話2017 - Qiita
  • モデルでドメイン知識を表現するとは何か[DDD] - little hands' lab

    DDD連載記事 なぜDDD初心者はググリ出してすぐに心がくじけてしまうのか ドメイン駆動設計の定義についてEric Evansはなんと言っているのか モデルでドメイン知識を表現するとは何か ドメイン駆動設計で実装を始めるのに一番とっつきやすいアーキテクチャは何か ドメイン駆動 + オニオンアーキテクチャ概略 概要 DDDの定義についてEric Evansはなんと言っているのか この記事でドメイン駆動開発の定義は以下のようなものであると書きました。 ドメインの中核となる複雑さと機会に焦点を当てる ドメイン専門家とソフトウェア専門家のコラボレーションでモデルを探求する 明示的にそれらのモデルを表現するソフトウェアを書く 境界付けられたコンテキストの中のユビキタス言語で話す では、ドメインの知識を言語化したモデルは、最終的にコードでどのように表現されるのでしょうか? 不変条件 まず、業務の制約に

    モデルでドメイン知識を表現するとは何か[DDD] - little hands' lab
  • ドメイン駆動設計で実装を始めるのに一番とっつきやすいアーキテクチャは何か[DDD] - little hands' lab

    DDD連載記事 背景・前提 なぜDDD初心者はググリ出してすぐに心がくじけてしまうのかの記事で、 ネット上の文献で紹介されるアーキテクチャが様々なものとなっているのです。IDDDではヘキサゴナルアーキテクチャというものが掲げられていましたが、それを進化させたオニオンアーキテクチャ、クリーンアーキテクチャなどの有名な亜種が存在します。 これが実装に着手する際に非常に大きな混乱を呼ぶのです。文脈の理解、採用するアーキテクチャの選定に時間を取られることでしょう。 と書きました。こちらに対して、私が「一番とっつきやすい」と考えるアーキテクチャを紹介します。 前提としてですが、完全に個人的な経験に基づく私見になります。 DDDの理論の中で、アーキテクチャに関しては「エリック・エヴァンスのドメイン駆動開発」(以下原典)と実践ドメイン駆動開発(以下IDDD)とでも異なったものが紹介されており、唯一の正解

    ドメイン駆動設計で実装を始めるのに一番とっつきやすいアーキテクチャは何か[DDD] - little hands' lab
  • 書籍「Clean Architecture 達人に学ぶソフトウェアの構造と設計」を読んだので大事なポイントを自分のためにまとめてみた - Qiita

    書籍「Clean Architecture 達人に学ぶソフトウェアの構造と設計」を読んだので大事なポイントを自分のためにまとめてみたGo初心者まとめアーキテクチャCleanArchitecture はじめに Clean Architecture 達人に学ぶソフトウェアの構造と設計を読んだ。 なぜソースコードを綺麗に書くのかから始まり、オブジェクト指向、コンポーネントの原則、アーキテクチャと体系的にまとまっている良い内容だった。 この記事では、書の内容の引用を踏まえながら自分の考えの振り返りをまとめたものである。 実際にGoで実装したりしたので、なにか間違いなどあれば指摘していただきたい。 クリーンアーキテクチャの書籍を読んだのでAPIサーバを実装してみた 対象読者 ・Clean Architecture 達人に学ぶソフトウェアの構造と設計を読むか迷ってる人 ・Clean Architec

    書籍「Clean Architecture 達人に学ぶソフトウェアの構造と設計」を読んだので大事なポイントを自分のためにまとめてみた - Qiita
  • [DDD]ドメイン駆動設計で実装を始めるのに一番とっつきやすいアーキテクチャは何か - Qiita

    DDD連載記事 なぜDDD初心者はググリ出してすぐに心がくじけてしまうのか ドメイン駆動設計の定義についてEric Evansはなんと言っているのか モデルでドメイン知識を表現するとは何か ドメイン駆動設計で実装を始めるのに一番とっつきやすいアーキテクチャは何か ドメイン駆動 + オニオンアーキテクチャ概略 背景・前提 なぜDDD初心者はググリ出してすぐに心がくじけてしまうのかの記事で、 ネット上の文献で紹介されるアーキテクチャが様々なものとなっているのです。IDDDではヘキサゴナルアーキテクチャというものが掲げられていましたが、それを進化させたオニオンアーキテクチャ、クリーンアーキテクチャなどの有名な亜種が存在します。 これが実装に着手する際に非常に大きな混乱を呼ぶのです。文脈の理解、採用するアーキテクチャの選定に時間を取られることでしょう。 と書きました。こちらに対して、私が「一番とっ

    [DDD]ドメイン駆動設計で実装を始めるのに一番とっつきやすいアーキテクチャは何か - Qiita
  • 書籍「マイクロサービスアーキテクチャ」まとめ(前編) - Qiita

    はじめに O`REILLY発行の マイクロサービスアーキテクチャ を読みました。 非常に興味深く、これまで主に企業向けエンタープライズ開発に関わってきた自分にとっては、今後のソフトウェアエンジニアとしてのキャリアを作っていくには、考え方の転換が必要だと気付かされる内容でした。 書の内容は広範囲に渡りますが、特に重要と感じた要点を整理(かなり長いですが)しておきたいと思います。(後編 との2部構成です) 要点 はじめに マイクロサービスを取り巻く技術の進歩は早く、マイクロサービスを実現する特定の技術を習得することよりも、その質的な考え方を理解することが重要である。 1章.マイクロサービス マイクロサービスとは マイクロサービスはSOA(サービス指向アーキテクチャ)のひとつの実現形態であり、DDD(ドメイン駆動設計)、CI・CD(継続的インテーグレーション・デリバリ)、インフラ仮想化、自動

    書籍「マイクロサービスアーキテクチャ」まとめ(前編) - Qiita
  • Serverless Architectures

    Serverless architectures are application designs that incorporate third-party “Backend as a Service” (BaaS) services, and/or that include custom code run in managed, ephemeral containers on a “Functions as a Service” (FaaS) platform. By using these ideas, and related ones like single-page applications, such architectures remove much of the need for a traditional always-on server component. Serverl

    Serverless Architectures
  • James Lewis/Martin Fowlerの"Microservices"日本語訳 - 自由課題

    はじめに 記事はMartin Fowler氏のBlog記事を日語訳したものです。 なお、訳は2014/11/09時点のもので、オリジナル記事中のコラムは訳せていません。コラムの訳に関しては、暇や反応を見ながらぼちぼちやろうと思います。 訳に対する指摘・ご意見などありましたらtwitter(@kimito_k)でお願いします。 補足 Martin Fowler氏に連絡をとったところ、主著者はJames Lewisであるとのことでしたのでタイトルを変更しました。(2014/11/13) Microservices "マイクロサービスアーキテクチャ"という専門用語は、ソフトウェアアプリケーションを独立して配置可能なサービスの組み合わせ(suite)として設計する特定の方法を指すものとして、ここ数年で急速に認知されています。このアーキテクチャスタイルに対する正確な定義はありませんが、ビジネス遂

    James Lewis/Martin Fowlerの"Microservices"日本語訳 - 自由課題
  • 1