UGA Boxxx

つぶやきの延長のつもりで、知ったこと思ったこと書いてます

Architecture

【Architecture】Reactになるべく依存しないようにフロントエンドを設計する話

JSConf2024での、一休の@takashi_ondaさんの発表「React への依存を最小にするフロントエンド設計」を聞いた speakerdeck.com Reactに依存しないライブラリ選定、依存性逆転の原則や腐敗防止層といった設計思想、そして一休レストランでのRemixへの移行と具…

【Architecture】古典ドメインモデリングパターンから解脱する話

吉祥寺pmで発表された@kawasimaさんのスライドを見た scrapbox.io 「古典」ドメインモデリングパターンとは以下の2冊で書かれているドメインモデルパターンのことを指している Patterns of Enterprise Application Architecture Domain-Driven Design - Tack…

【Architecture】Clean Architectureの話

クリーンアーキテクチャについての説明で「世界一わかりやすい」とあったので読んだら確かにわかりやすかったのでメモ www.nuits.jp クリーンアーキテクチャへの見解は以前書いた気がするが、お気持ち程度のことしか書けなかったので、今回の記事を読んでか…

【Architecture】Composed Method パターン

Kent Beck氏によって提唱されたComposed Method パターンというデザインパターンを知った Composed Method パターンは Kent Beck氏が著書『Smalltalk ベスト プラクティス パターン P.21』の中で以下のガイドラインを考案 Divide your program into methods …

【用語】SoE、SoR、SoIの違い

こちらのスライドの、フロントエンドはクリーンアーキテクチャー本にあるような単純化された同心円では説明できないという話が面白かった speakerdeck.com フロントエンドの場合、中心は複数あるし、あるレイヤーにさらに円があっても構わないフラクタル構造…

【Architecture】Androidのアーキテクチャ

Androidアプリの開発をやったことがないが、Androidのアーキテクチャについて調べてみた developer.android.com Android アプリも例に漏れずサイズが大きくなるにつれきちんと関心が分離されたアーキテクチャを定義することが重要になる ドキュメントによる…

【Architecture】iOS の VIPERアーキテクチャ

iOSアプリをつくったことがないのだが、iOSアプリのアーキテクチャでVIPERというアーキテクチャがあることを知ったので調べてみた こちらの2つの記事が参考になった qiita.com cheesecakelabs.com iOSの開発現場で生まれたアーキテクチャで、View , Interac…

【CQRS】サーバーとクライアントがDTOのやりとりをしている時点でドメイン知識は失われているという話

こちらの記事で、サーバーとクライアントがDTOのやりとりをしている時点でドメイン知識は失われているという話をみた panda-program.com 元の話はCQRS を考案した Greg Young 氏の以下のドキュメントによるもの https://cqrs.files.wordpress.com/2010/11/cq…

【Architecture】Naked Object Pattern とは?

Naked Object Pattern というアーキテクチャパターンを聞いたので調べてみた wikipediaより en.wikipedia.org 次の3つの原則によって定義される すべてのビジネスロジックは、ドメインオブジェクトにカプセル化する ユーザーインターフェイスは、ドメインオ…

【Architecture】コマンドとクエリの違い

あるソースコードを読んでいて、機能をcommandとqueryというディレクトリに分けているのを見つけた どういうわけ方なのかピンとこなかったので調べてみた ちょっと調べただけで「あーそっちか」となったのだが、いわゆるコマンドクエリ分離原則(CQS)の話だ…

データを抽出して格納するだけの機能のメソッド名を考える

ElasticsearchからデータをぶっこぬいてBigQueryに格納する機能のメソッド名を何にしようか悩んでいたところ 「ETL」というワードを教えてもらったので、ETLについて調べた ETLとはExtract(抽出)、Transform(加工)、Load(格納)の略で、データを抽出し…

【Architecture】ドメインモデルの完全性と純粋性

サーバーサイドの実装でドメインモデル貧血ぎみなのもそうだけど、そもそもドメインモデルのあるべき状態がわからなくなっていた そのとき次の記事で、あるべき姿と、あるべき姿にトレードオフがあるということがわかった scrapbox.io ドメインモデルのある…

【Architecture】ページネーション

ページネーションについてZalando社のRESTful APIガイドラインを参考に考えてみる restful-api-guidelines-ja.netlify.app ページネーションとはリストデータへのアクセスの際に、総件数を上限件数で分割して、分割単位(ページ)毎に取り出せるようにするこ…

【Architecture】リポジトリクラスの設計

丁度2年くらいたつサービスで、APIのリポジトリクラスの設計がいけていないと思い、改めて設計するならどんな設計にするのがよいのか悩んでいたところ この記事が参考になったのでまとめてみる scrapbox.io 記事では投稿日順にならんだ10件のカルーセルを例…

【Architecture】マルチテナンシーとは

どの文脈かは忘れたが、multi-tenancyというワードを聞いたので調べた こちらの記事がわかりやすかった whatis.techtarget.com マルチテナンシーとは マルチテナンシーは、ソフトウェアアプリケーションの単一インスタンスが複数の顧客にサービスを提供する…

【Architecture】ヘキサゴナルアーキテクチャとは

あるJavaのソースコードをみていて、portというディレクトリがあった これはヘキサゴナルアーキテクチャからきていると知ったのだが、ヘキサゴナルアーキテクチャがわからなかったので調べた こちらの翻訳記事を参考にさせてもらった blog.tai2.net ヘキサゴ…