アーキテクチャ戦略について考える
2025年2月16日アーキテクチャ戦略について考える ソフトウェア開発において、必ずしもCTOやアーキテクトといった明確なポジションにいなくても、「アーキテクチャ戦略の必要性」を感じ、考える機会がある。 「現場で技術的な方針をまとめたいが、どこから手をつけたらよいかわからない」 「将来の拡張性や組織の成長を踏まえたアーキテクチャにしたい」 「既に蓄積した技術的負債にどう向き合えばよいか知りたい」 本記事では、こう...
アーキテクチャ戦略について考える ソフトウェア開発において、必ずしもCTOやアーキテクトといった明確なポジションにいなくても、「アーキテクチャ戦略の必要性」を感じ、考える機会がある。 「現場で技術的な方針をまとめたいが、どこから手をつけたらよいかわからない」 「将来の拡張性や組織の成長を踏まえたアーキテクチャにしたい」 「既に蓄積した技術的負債にどう向き合えばよいか知りたい」 本記事では、こう...
脳に収まるコードの書き方 ―複雑さを避け持続可能にするための経験則とテクニックを読んだ。 タイトルからプログラマ脳を彷彿して認知科学的な話が交えられているかなと思ったが、そうではなかった。 この本は脳内メモリに収まるコードを書くための実践的なプラクティスが語られている。 全体的に自分の経験則から共感を得る部分が多かった。著者はコンピューターサイエンスの学部ではない出身でソフトウェアエンジニアのキャ...
GraphQL federationについて調べたことをまとめる。 GraphQL Federationとは GraphQL Federationは、複数のGraphQLサービスを統合するための方法である。 GraphQLのマイクロサービスのようなもので、単一のGraphQLエンドポイントとして複数のGraphQLサービスを利用することができるようにするアーキテクチャパターンである。 GraphQ...
Rubyにおけるシングルトンパターンの実装方法についてまとめる。 シングルトンパターンとは シングルトンパターンは、インスタンスが1つしか存在しないことを保証するデザインパターンである。 Singletonモジュールを作成する方法 RubyにはSingletonモジュールが用意されており、これを使うことでシングルトンパターンを実装することができる。 require 'singleton&...
Rubyのインスタンス変数とクラス変数とクラスインスタンス変数の違いについてまとめる。 インスタンス変数 インスタンスごとに異なる値を保持する変数で、@で始まる変数名を使う。 主にクラス内部で宣言されたオブジェクトごとの状態を管理するために使われる。 class Person def initialize(name) @name = name # インスタンス変数 end d...
絵で見てわかるLinuxカーネルの仕組みを読んだ。 Linuxカーネルの仕組みについて初心者にも分かりやすいように書かれている。理解が及ばないものもあったが・・。 Linixカーネルについて知らないことばかりなので、これを入口にもう少し勉強しておきたい。 ...
ソフトウェアアーキテクチャメトリクス ―アーキテクチャ品質を改善する10のアドバイスを読んだ。 ソフトウェアに関するメトリクスの観点について複数の著者が語っている。副題の通り各著者ごとのアドバイスであり、それぞれの章ごとで詳細までには深入りされてはいないが、アーキテクチャのメトリクスについて観点を知る取っ掛かりとして良い。 メトリクスの定義をするためのアプローチとしてGQMアプローチを紹介している...
スタッフエンジニアの道 ―優れた技術専門職になるためのガイドを読んだ。 チームやプロジェクト、組織をリードするような能力を発揮する機会にあるソフトウェアエンジニアにとって羅針盤になるような内容であった。 ビジョンや戦略の描き方といった部分にも触れており、アーキテクトやCTOといった立場を目指していく意向のある人にとっても充実した本。 思考の仕方やコミュニケーション、振る舞いなど組織をリードしていく...