記事

大規模モノリスをどう分割するか? - ソフトウェアアーキテクチャ・ハードパーツに学ぶ

システムアーキテクチャ

本記事ではソフトウェアアーキテクチャ・ハードパーツ ―分散アーキテクチャのためのトレードオフ分析の第1章~第4章をベースに、モノリスからのサービス分割を検討するときに役立つポイントを整理する。 すべての組織に当てはまる“銀の弾は存在しないが、「どんなトレードオフを見極めるべきか」を理解することで、より納得感のあるアーキテクチャを設計できるかもしれない。 1. 「ベストプラクティス」は存在しない —...

アーキテクチャ戦略 モノリス マイクロサービス

アーキテクチャ戦略について考える

システムアーキテクチャ

アーキテクチャ戦略について考える ソフトウェア開発において、必ずしもCTOやアーキテクトといった明確なポジションにいなくても、「アーキテクチャ戦略の必要性」を感じ、考える機会がある。 「現場で技術的な方針をまとめたいが、どこから手をつけたらよいかわからない」 「将来の拡張性や組織の成長を踏まえたアーキテクチャにしたい」 「既に蓄積した技術的負債にどう向き合えばよいか知りたい」 本記事では、こう...

アーキテクチャ 組織設計 設計 システム設計 アーキテクチャ戦略

脳に収まるコードの書き方 ―複雑さを避け持続可能にするための経験則とテクニック

アプリケーション

脳に収まるコードの書き方 ―複雑さを避け持続可能にするための経験則とテクニックを読んだ。 タイトルからプログラマ脳を彷彿して認知科学的な話が交えられているかなと思ったが、そうではなかった。 この本は脳内メモリに収まるコードを書くための実践的なプラクティスが語られている。 全体的に自分の経験則から共感を得る部分が多かった。著者はコンピューターサイエンスの学部ではない出身でソフトウェアエンジニアのキャ...

コーディング

実践Redis入門 技術の仕組みから現場の活用まで

データベース

実践Redis入門 技術の仕組みから現場の活用までを読んだ。 タイトル通り実践的な内容ではあるが、タイトルに詳解もつけたくなるくらいRedisについてのあれこれが書かれている。 Redisについて日本語で書かれている本は意外と少なく、本書は貴重な一冊だと思う。 特に運用管理についてしっかり書かれている点が良かった。自分の理解は浅いが内部実装について書かれている点も良い。 Redisについて困ったら...

Redis キャッシュ DB

本を読む本

ビジネス

本を読む本を読んだ。 本の読み方というのを今一度勉強してみようと思って手にとって見た。 本の読み方も学べるが、読み手としてあるべき姿勢について教えてもらえる本。 この本で語られている点検読書という本の読み方が印象に残っている。 私は本を読むときはタイトルと概要や目次を眺めて、あとはパラパラを順番に捲って、必要そうなところは入念に、そうではなそうなところはテクニカルに(速読のような手法)読むことが多...

GraphQL federationについて

システムアーキテクチャ

GraphQL federationについて調べたことをまとめる。 GraphQL Federationとは GraphQL Federationは、複数のGraphQLサービスを統合するための方法である。 GraphQLのマイクロサービスのようなもので、単一のGraphQLエンドポイントとして複数のGraphQLサービスを利用することができるようにするアーキテクチャパターンである。 GraphQ...

GraphQL GraphQL federation

Rubyにおけるシングルトンパターンの実装方法

アプリケーション

Rubyにおけるシングルトンパターンの実装方法についてまとめる。 シングルトンパターンとは シングルトンパターンは、インスタンスが1つしか存在しないことを保証するデザインパターンである。 Singletonモジュールを作成する方法 RubyにはSingletonモジュールが用意されており、これを使うことでシングルトンパターンを実装することができる。 require 'singleton&...

Ruby

Rubyのインスタンス変数とクラス変数とクラスインスタンス変数の違い

アプリケーション

Rubyのインスタンス変数とクラス変数とクラスインスタンス変数の違いについてまとめる。 インスタンス変数 インスタンスごとに異なる値を保持する変数で、@で始まる変数名を使う。 主にクラス内部で宣言されたオブジェクトごとの状態を管理するために使われる。 class Person def initialize(name) @name = name # インスタンス変数 end d...

Ruby

絵で見てわかるLinuxカーネルの仕組み

OS

絵で見てわかるLinuxカーネルの仕組みを読んだ。 Linuxカーネルの仕組みについて初心者にも分かりやすいように書かれている。理解が及ばないものもあったが・・。 Linixカーネルについて知らないことばかりなので、これを入口にもう少し勉強しておきたい。 ...

Linux カーネル

ソフトウェアアーキテクチャメトリクス ―アーキテクチャ品質を改善する10のアドバイス

システムアーキテクチャ

ソフトウェアアーキテクチャメトリクス ―アーキテクチャ品質を改善する10のアドバイスを読んだ。 ソフトウェアに関するメトリクスの観点について複数の著者が語っている。副題の通り各著者ごとのアドバイスであり、それぞれの章ごとで詳細までには深入りされてはいないが、アーキテクチャのメトリクスについて観点を知る取っ掛かりとして良い。 メトリクスの定義をするためのアプローチとしてGQMアプローチを紹介している...

アーキテクチャ メトリクス