タグ

architectureに関するefclのブックマーク (122)

  • QCon London: Meta Used Monolithic Architecture to Ship Threads in Only Five Months

    InfoQ Software Architects' Newsletter A monthly overview of things you need to know as an architect or aspiring architects. View an example

    QCon London: Meta Used Monolithic Architecture to Ship Threads in Only Five Months
    efcl
    efcl 2024/04/14
    Threadsでも Server-Driven UI (SDUI) をやっていたという話
  • Acing the System Design Interview

    efcl
    efcl 2024/03/14
    システムデザイン面接についての書籍
  • フロントエンドのディレクトリ設計思想


       App DirectoryNext.js       2 ( https://www.amazon.co.jp/dp/4873119820) 
    フロントエンドのディレクトリ設計思想
    efcl
    efcl 2024/03/11
    共通のLayerと機能ごとのFeatureのディレクトリ構造の組み合わせ
  • How Netflix Scales its API with GraphQL Federation (Part 1)

    Netflix is known for its loosely coupled and highly scalable microservice architecture. Independent services allow for evolving at different paces and scaling independently. Yet they add complexity for use cases that span multiple services. Rather than exposing 100s of microservices to UI developers, Netflix offers a unified API aggregation layer at the edge. UI developers love the simplicity of w

    How Netflix Scales its API with GraphQL Federation (Part 1)
    efcl
    efcl 2024/03/07
    GraphQL Federartionのアーキテクチャについて
  • キャッシュを活用するために必要な知識と勘所 - そーだいなるらくがき帳

    どうもキャッシュバスターズ、 id:Soudai です。 Cache(以下、キャッシュ)は特定の場面に置いて劇的な効果を発揮し、様々な問題を解決する反面、新たなコンポートやミドルウェアが追加され、複雑性が上がり、運用のレベルが上がるため、扱いに注意する必要があります。 キャッシュを活用することで、パフォーマンスの改善や負荷軽減が行われ、コンピュータリソースの最適化によるサーバコストの削減や、レスポンスの改善によるユーザエクスペリエンスの改善がされます。 反面、その劇的な効果に毒され安易に多用すると、サービスが強くキャッシュに依存してしまい、非常に壊れやすくなり、運用が難しくなってしまいます。これをWeb界隈では「キャッシュは麻薬」と比喩されて、戒められてきました。 そのためキャッシュを使わずにサービスが運用できるのであれば使わないに越したことはないのですが、ある一定以上の規模になった際にコ

    キャッシュを活用するために必要な知識と勘所 - そーだいなるらくがき帳
    efcl
    efcl 2023/12/31
    キャッシュの更新パターン
  • メルペイのProgram型組織への移行 | メルカリエンジニアリング


     VPoE@keigow Merpay Advent Calendar 2023 2 3Head of Engineering42ProductProgram Project Matrix 20229MicroservicesFunctionGrowthPlatform3ProjectProduct OKR沿ProductProjec
    メルペイのProgram型組織への移行 | メルカリエンジニアリング
    efcl
    efcl 2023/12/08
    職種別のレポートライン上にProgramを載せたという話
  • 5-Minute DevOps: Feature Team Strawman Fallacy

    StrawmanRecently, I’ve had conversations about team structure, specifically whether development teams should be organized around features or product capabilities. During those conversations, it became clear that Large Scale Scrum (LeSS) agile coaches are adamant that teams should be organized around features. This article from LeSS hits all of their talking points. Now, I’m no agile coach, and it

    5-Minute DevOps: Feature Team Strawman Fallacy
    efcl
    efcl 2023/11/12
    ここでのFeature Teamは、チーム自体は長命で色々な機能に関わるようなチームのことなんだ。 そのチームは機能ごとのドメインを再学習しないといけないのと、そのようなTeamが複数ある場合は大規模なチームとあまり変わら
  • Version Skew

    There is a phrase that is very frequently used at Google and other big tech companies. It’s a nice and short phrase. And the problem it describes is broadly applicable to modern software engineering. Yet it doesn’t seem to be used much outside of the Google diaspora, and there doesn’t seem to be an alternative naming for the concept either. The phrase is version skew or for short: skew. Version sk

    Version Skew
    efcl
    efcl 2023/10/28
    デプロイ時に、クライアントとサーバのバージョンがずれてエラーが起きる"Version Skew"の問題について。 バージョンロック、下位互換性、上位互換性、バージョン管理などの対応方法について。
  • GitHub - ByteByteGoHq/system-design-101: Explain complex systems using visuals and simple terms. Help you prepare for system design interviews.

    Architecture styles define how different components of an application programming interface (API) interact with one another. As a result, they ensure efficiency, reliability, and ease of integration with other systems by providing a standard approach to designing and building APIs. Here are the most used styles: SOAP: Mature, comprehensive, XML-based Best for enterprise applications RESTful: Popul

    GitHub - ByteByteGoHq/system-design-101: Explain complex systems using visuals and simple terms. Help you prepare for system design interviews.
    efcl
    efcl 2023/10/28
    システムデザインのビジュアライズ集
  • 参照の局所性 - Wikipedia


    Google G-3  Wikipedia:# {{|en|Locality of reference|}} Wikipedia:
    参照の局所性 - Wikipedia
    efcl
    efcl 2023/10/07
    時間的局所性、空間的局所性、逐次的局所性について
  • MySQL UUIDs - Bad For Performance

    All of Percona’s open-source software products, in one place, to download as much or as little as you need.

    MySQL UUIDs - Bad For Performance
    efcl
    efcl 2023/10/07
    UUIDをprimary keyとして利用した時の局所性の問題について
  • Blitz(後編):リアルタイムユーザー解析エンジンを実現する技術(強整合な解析) - PLAID engineer blog

    PLAIDではPersonalizationに特化したリアルタイムユーザー解析エンジン(Blitz)を自分達で開発し、KARTEの基盤として使ってきました。今回新たに刷新した解析エンジンのコア要素である「強整合な解析」を実現する具体的なアーキテクチャ、技術選定の内容を紹介します。

    Blitz(後編):リアルタイムユーザー解析エンジンを実現する技術(強整合な解析) - PLAID engineer blog
    efcl
    efcl 2023/10/07
    Bigtableを分散キューの代わりに利用する。 Bigtableはキーが偏るとhot spotになるので、hash + user + timestampをキーにして、timestamp部分をレンジでスキャン + TTLで消すことで特定の期間のデータを取得する分散DBとして利用
  • クラウドアプリケーション 10の設計原則 「Azureアプリケーションアーキテクチャガイド」から学ぶ普遍的な原理原則 - インプレスブックス


          ITOpenStack  Kubernetes Azure Microsoft Azure Azure  
    クラウドアプリケーション 10の設計原則 「Azureアプリケーションアーキテクチャガイド」から学ぶ普遍的な原理原則 - インプレスブックス
    efcl
    efcl 2023/10/05
    https://learn.microsoft.com/ja-jp/azure/architecture/guide/design-principles/ をベースにしたクラウドのアプリケーションアーキテクチャの本
  • ソシャゲサーバー開発するとき始めに考慮しておかないと死ぬポイント備忘録


       JOGA       GitHubPullRequestGitGitHubCI CircleCI
    ソシャゲサーバー開発するとき始めに考慮しておかないと死ぬポイント備忘録
    efcl
    efcl 2023/09/17
    ソシャゲ開発
  • Skip the API, Ship Your Database

    Skip the API, Ship Your Database Author Name Ben Johnson @benbjohnson @benbjohnson Image by Annie Ruygt With Fly.io, you can get your app running globally in a matter of minutes, and with LiteFS, you can run SQLite alongside your app! Now we’re introducing LiteFS Cloud: managed backups and point-in-time restores for LiteFS. Try it out for yourself! My favorite part about building tools is discover

    Skip the API, Ship Your Database
    efcl
    efcl 2023/09/14
    SQLiteのレプリケーションを使って、read-onlyなレプリカを渡すことでAPIじゃなくてDBを使ったデータのやりとりをするというパターン
  • Design Trade-offs in Bundler: The Rationale Behind Creating Rspack · web-infra-dev · Discussion #1

    chinese version Before embarking on the development of Rspack, we explored various build tools and frameworks, including extensive use of Webpack, Vite, esbuild, and Rollup in real-world production environments. To provide some context, our team, known as the WebInfra Team, is responsible for overseeing the company's suite of front-end build tools and frameworks. Some of these are open-source, whi

    Design Trade-offs in Bundler: The Rationale Behind Creating Rspack · web-infra-dev · Discussion #1
    efcl
    efcl 2023/09/02
    Rspackの開発の目的やwebpack/parcel/esbuild/rollupなどのbundlerのアーキテクチャについて。 webpackにはデバッグやパフォーマンスの問題があり、Vite/Rollupも大規模プロジェクトではパフォーマンスにビルド環境の差異の問題があり、es
  • ソフトウェアはなぜバージョンアップしなければならないのか - Qiita

    はじめに 社内インフラの運用担当者にとってソフトウェアのバージョンアップは地味な割に大変な業務です。 特に社内のオンプレサーバで動いているようなソフトウェアの場合、バージョンアップに伴う諸々の調整をそのソフトウェアを利用している各部署と行う必要があります。 そんなときに「今は忙しいからバージョンアップを先送りしてほしい」「このバージョンはスキップしてもよいのでは?」なんて声が各部署から聞こえてきます。バージョンアップの価値を各部署に理解してもらうのは大変です。 この文章はそんな時になぜバージョンアップしなければならないのかを上司や各部署のマネージャに伝えるために書きます。 ソフトウェアの有効期限は2-5年 まず、第一に、ソフトウェアというものは無限に使えるわけではなく、一定の有効期限があり、それを過ぎると徐々に動かなくなってきます。俗にいう「何もしてないのに動かなくなった問題」です。 なぜ

    ソフトウェアはなぜバージョンアップしなければならないのか - Qiita
    efcl
    efcl 2023/07/29
    パージョンアップ頻度と難易度について。 頻度が低いほど難易度が高くなるため、スパイクが発生する。EOLとなりサポートが切れた場合は、より難易度が高くなる
  • メルコイン決済基盤における分散トランザクション管理 | メルカリエンジニアリング


    MerpayTech Openness Month 2023 7   Payment Platform  @sapuri    Payment Platform 簿 Payment Service  API  
    メルコイン決済基盤における分散トランザクション管理 | メルカリエンジニアリング
    efcl
    efcl 2023/06/15
    Sagaパターンによるrecoveryトランザクション
  • ソフトウェア設計のトレードオフと誤り

    「プログラムを設計するときに行った技術的な判断や選択が、後日大きな制約となる」これはプログラマなら誰しも経験したことのあることでしょう。書は、そんなプログラミングにおける各種の設計上の選択について、トレードオフの内容やそれがどのような誤りを招きうるのかという点を踏まえて紹介する書籍です。 コードの重複、エラーや例外処理、柔軟性と複雑性のバランスのようなコードレベルの選択から、APIの設計、時刻の扱い、データローカリティのようなシステム寄りの話題、またライブラリの選択、分散システムの一貫性と原子性、バージョニングのようなより抽象度の高い内容まで、さまざまなシチュエーションにおけるトレードオフの実態と、その失敗例をとり上げます。 書は日々のプログラミングにおける解決策のヒントを得るだけでなく、より幅広い設計上の知見を広める上でも役に立つでしょう。 正誤表 ここで紹介する正誤表には、書籍発行

    ソフトウェア設計のトレードオフと誤り
    efcl
    efcl 2023/05/16
    アーキテクチャのトレードオフについての書籍
  • Flutterアプリにおける、過不足ない設計の考察🎅

    Photo by Hush Naidoo Jade Photography on Unsplash「一般的なモバイルアプリ」の設計全般において、特に何に気を付ける必要があるか、あるいは逆にあまり気にしてなくても良いのではと思うことなどを述べていきます。 (…のつもりでしたが、後者含めると1記事に収めるの困難で、最後にさらっと触れつつ別記事で手厚く書きたいところです🤔) ここでの「一般的なモバイルアプリ」は規模観点では以下程度のイメージですが、それを超えるような規模でも通ずる内容も多いと思っています。 コード量: 数万〜十数万行実装者: 一桁人種類としては(スマホ向けの)クライアントアプリコードであり、以下などではないです。 パッケージ・ライブラリではないサーバーサイドではないこの種類によって適切な組み方はけっこう変わり、アプリコードは依存関係の末端側(基的に依存される側にはならない)な

    Flutterアプリにおける、過不足ない設計の考察🎅
    efcl
    efcl 2023/01/01
    Flutterの設計