タグ

アーキテクチャに関するd_animal141のブックマーク (55)

  • React で作る中規模 SPA のレイヤードアーキテクチャ - GiXo Ltd.

    TAG : Advent Calendar | Firebase | Firestore | React | Refeed | TypeScript | トチカチ | フロントエンド AUTHOR :   ギックス POSTED :  2020.12.23 08:25 この記事は GiXo アドベントカレンダー の 23 日目の記事です。 昨日は、少人数の開発で Kubernetes を活用するための設計戦略 でした。 MLOps Div. の堀越です。記事では、ReactTypeScript で SPA の実装を行う際に採用しているレイヤードアーキテクチャについてご紹介します。 レイヤードアーキテクチャというとクリーンアーキテクチャや DDD が有名ですが、弊チームフロントエンド の場合はクリーンアーキテクチャから SPA にマッチする箇所を部分的に取り入れた簡易版のレイヤードア

    React で作る中規模 SPA のレイヤードアーキテクチャ - GiXo Ltd.
  • Design Patterns 15 Years Later: An Interview with Erich Gamma, Richard Helm, and Ralph Johnson | Design Patterns 15 Years Later: An Interview with Erich Gamma, Richard Helm, and Ralph Johnson | InformIT

    Erich Gamma, Richard Helm, and Ralph Johnson talk to Larry O'Brien about Design Patterns, 15 years later. Larry O'Brien: 85,000 apps for the iPhone have been developed and deployed in the past year-and-change. One can write a globally-accessible "Hello, World! The time is X" Web page in just one line of PHP, for instance. "Designing object-oriented software is hard," are the first words of Design

  • なぜマイクロサービスは失敗するのか? - kawasima

    Eberhard Wolffさんのこのプレゼンの要約です https://www.youtube.com/watch?v=B3O-qYM-Kkw 共通のデータモデル 共通のデータモデルを通信に使う 各サービスで必要となるデータの内部モデルは異なるかもしれない データモデルが、共通ライブラリと同じ意味合いになる すべてのサービスが、最新のライブラリを使わなくてはならない 共通データモデルの変更は、す

    なぜマイクロサービスは失敗するのか? - kawasima
  • ソフトウェアエンジニアに大切な1つのこと|erukiti

    ソフトウェアエンジニアにはいくつもの必要なスキルがあります。プログラミング言語やライブラリ、フレームワークの習熟だったり、設計、要件のヒアリングから定義まで、様々なものがあります。今回はその中で僕が一番大切にしている事について書きます。 それは答えが出ないことについて考え、トライをし続けることです。 ・ 良い名前付けとは? ・ 良い構造とは? ・ 良いアーキテクチャとは? ・ 利用者が当に望んでることは? ・ 何が必要で何が不要? 中身をうまく説明出来ていないネーミングや悪い設計をするな!ということではなくて、どうすればもっと良くなるか?を考えてトライすることそのものが大切です。 少なくとも中級者以上の方は、こういった事を考えないとどこかで行き詰まります。ソフトウェア開発に携わるのであれば、避けて通ることはできません。 成長とは、やり方とあり方のサイクルである6/22〜6/23に開催され

    ソフトウェアエンジニアに大切な1つのこと|erukiti
  • クリーンアーキテクチャ本を読むためのポイント|erukiti

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

    クリーンアーキテクチャ本を読むためのポイント|erukiti
  • Clean Architectureは全てのプログラマにお奨めしたい良著|erukiti

    Clean Architecture 達人に学ぶソフトウェアの構造と設計を読んだので、まとめてみます。コメントやツッコミなどのフィードバックがあればうれしいです。 続編としてクリーンアーキテクチャを読むためのポイントという記事を書きました。併せてご覧ください。 なぜ良著?著者のロバート・C・マーチン(著書読んだことあるかも?)は、50年前から現代に至るまで、様々なアーキテクチャを見て、第一線級として開発し続けてきた経験を元に、どのアーキテクチャでもクリーンにしようとするなら、基部分は変わらないと言ってて、それらが美味くまとまっただからです。 いってみればコンピュータ工学について抑えるべきポイントを解説したであり、The Clean Architectureそのものについてはほとんど割かれていません。それくらい、基として知るべき事が書かれたなのです。 最近のアーキテクチャを追いか

    Clean Architectureは全てのプログラマにお奨めしたい良著|erukiti
  • クリーンアーキテクチャ完全に理解した

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

    クリーンアーキテクチャ完全に理解した
  • GraphQL を利用したアーキテクチャの勘所 / Architecture practices with GraphQL

    iCARE Dev Meetup 20 で発表した資料です #icare_meetup p.7,8,61 https://graphql.org/ p.18 https://twitter.com/a_suenami/status/1379270185207484417 p.33 [SQLQL - Qiita](https://qiita.com/yancya/items/4b7979d83cbf6af9b819) p.33 https://twitter.com/onk/status/912491093127598080 p.35 [【エンジニアブログ】ダイニーのエンジニアリング3カ条|dinii(ダイニー)公式|note](https://note.com/dinii/n/n9be778bd7da3) p.36 [Smart UI パターンが再評価される世界 - id:onk のはてな

    GraphQL を利用したアーキテクチャの勘所 / Architecture practices with GraphQL
  • 『Microservice Patterns』 まとめ - Qiita

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

    『Microservice Patterns』 まとめ - Qiita
  • アーキテクトを目指すエンジニアの最短ルート - エス・エム・エス エンジニア テックブログ

    介護や医療、ヘルスケア、シニアライフなどの4つの領域で高齢社会の情報インフラを構築している株式会社エス・エム・エスで、技術責任者をしている @sunaot です。2015年2月に入社して以来、技術責任者として開発組織の構築や開発基盤の整備をリードしてきました。 今まで私がソフトウェアエンジニア(以下、エンジニア)の採用面談を延べ800件ほど担当してきた経験を振り返ると、ソフトウェアアーキテクト(以下、アーキテクト)をキャリアのゴールに据えているエンジニアも多いようです。ただ、アーキテクトを目指している一方で、実際にアーキテクトになるためには、どういった会社組織でどのような経験をしたらいいのか分からないというケースも見受けられました。 今回は、アーキテクトを目指したいエンジニアの方向けに、アーキテクトになるために必要な4つの経験や、それが経験できる会社組織について紹介します。 アーキテクトと

    アーキテクトを目指すエンジニアの最短ルート - エス・エム・エス エンジニア テックブログ
  • マルチテナントとは? メリット・デメリットやシングルテナントとの違いを解説

    ASPやSaaSなど、クラウド型のサービスを検討している際に「マルチテナント」という言葉を見聞きしたことはありませんか? マルチテナントとはどのようなもので、具体的にどういった特徴があるのかご存知ない方もいらっしゃるでしょう。 ここでは、マルチテナントの概要やメリット・デメリット、シングルテナントとの違いなどを解説します。 マルチテナントとは マルチテナントとは、複数のユーザーが同じサーバーやアプリケーション、データベースといったシステムやサービスを共有して利用する方式です。同一のサーバーやデータベースを仮想的に分割し、各ユーザーはそれぞれ与えられた領域を利用できるようになっています。 現実世界でいうと、雑居ビルやショッピングモールの中にさまざまな企業やショップが立ち並んでいるイメージです。 複数のサーバーやデータベース、アプリケーションを統合することによってリソースを有効活用し、運用管理

    マルチテナントとは? メリット・デメリットやシングルテナントとの違いを解説
  • Pub/Subメッセージングモデル

    Pub/Subメッセージングモデルは,パブリッシュ・サブスクライブ(Publish-Subscribe)方式でメッセージを送受信するためのモデルです。 <この項の構成> (1) Pub/Subメッセージングモデルによるメッセージの送受信 (2) Pub/Subメッセージングモデルの特徴 (3) 永続化サブスクライバーの利用 Pub/Subメッセージングモデルでは,メッセージを作成して送信する送信側のクライアント(プロデューサー)をパブリッシャーといいます。また,メッセージを受信する側のクライアント(コンシューマー)をサブスクライバーといいます。 パブリッシャーから送信されたメッセージは,トピックという送信先に登録されます。トピックに登録されたメッセージは,そのトピックに対して配信を申し込んでいた一つまたは複数のサブスクライバーに配信されます。 Pub/Subメッセージングモデルでのメッセー

    Pub/Subメッセージングモデル
  • クラシル、不屈のキャッシュ戦略 - dely Tech Blog

    こんにちは! プロダクトマネージャーをしている奥原 (@okutaku0507) です。前までサーバーサイドのリードエンジニアをしていました。 delyの開発ブログが長らく更新されておらず、不甲斐ないです。これからは活発にdelyが取り入れている最新技術や実際にあった事例、取り入れているアーキテクチャなどを中心に発信していきたいと思っています。 久しぶりの今回は、delyが運営/開発しているレシピ動画サービスであるkurashiruの涙あり、笑いありのキャッシュ戦略について歴史と実際の事例を元に書いていきたいと考えています。最後には、僕が作成したクラシルに用いられているキャッシュ戦略をgemにしたライブラリを紹介いたします。 はじめに サーバーサイドチームはクラシルの開発から1年半程度まで、主に僕一人しかいませんでした。TVCMによる急激なユーザー数増加や新機能開発、社員100人を支える管

    クラシル、不屈のキャッシュ戦略 - dely Tech Blog
  • Clubhouseを支えている技術とアーキテクチャ、セキュリティについて - LayerX Research

    #LayerX_Newsletter 2021-02-19 TL;DR Clubhouseは極めてシンプルなアーキテクチャ 音声データはAgoraを、リアルタイム性の高い情報の扱い(ルームの中など)はPubNubを利用 音声データが暗号化されていないなどセキュリティ面での課題も多い Clubhouseは招待制の音声配信SNSで、2020年Aplha Exploration社が開発したこのサービスは、つながりがある人同士でラジオ放送のように自由に会話を楽しんだり、興味ある人はその会話を傍聴、さらには会話に飛び入り参加もできる特徴がある。2021年に入り世代・国籍・性別を問わず爆発的人気となっており、日では2021年1月からスタートアップ界隈を中心に一気に話題が広がっている。また、テスラの創業者や有名人・著名人などが利用しはじめたことで大きな注目を浴びた。今回はClubhouseはどのような

    Clubhouseを支えている技術とアーキテクチャ、セキュリティについて - LayerX Research
  • 僕が考えるサラリーマンエンジニアに必要な「設計力」 - フォトシンス エンジニアブログ

    はじめに こんばんは。Akerunエンジニア @ishturk です 今回はポエムです。 スタートアップで働くサラリーマンエンジニアがソフトウェア開発を実現するために大事だと思う技術について書いてみます。 うそっ 私の技術力、低すぎっ (数年前に新卒で入社した頃の僕の話です) 新卒入社したてほやほやの僕は当然、技術ゼロでした。当然自信もへったくれもない。 技術力にあふれるエンジニアがいっぱい。 目をキラキラ(どちらかというとギラギラ)させていた僕は思いました。 「この人達はめちゃめちゃいろんなことを知っているんだろうな。たくさん勉強せねば」 ところがどっこい。入社して数ヶ月の僕は気づきました。 「あれ、(プログラム言語のことなら)知識そんなに変わんなくね?」 しかし、彼らには間違いなくプロダクトを完成させる力があります。僕には無理です。何が違うのでしょう。 製品を完成させるために必要なもの

    僕が考えるサラリーマンエンジニアに必要な「設計力」 - フォトシンス エンジニアブログ