記事一覧
技術記事・日々の学びをまとめています。
要件最適アーキテクチャ戦略
『要件最適アーキテクチャ戦略』の書評。ビジネス戦略を理解したうえで、ドメイン駆動設計によってアーキテクチャを実装していく考え方を扱う一冊。最初からマイクロサービスを目指すことの難しさなど、DDDの実践とアーキテクチャの実装パターンに多くのページが割かれている。
最新記事
実務で役立つ バックアップの教科書 基本の考え方からツール活用・差分管理・世代管理・データ保全・リストア・リカバリー・可用性の確保まで
『実務で役立つ バックアップの教科書』の書評。バックアップの基本的な考え方から、ツールの活用、差分管理・世代管理、データ保全、リストア・リカバリー、可用性の確保まで幅広く扱う一冊。基本を体系立てて振り返るのにちょうど良く、実務の土台づくりに役立つ。
PostgreSQL インストール時の 'configure' エラーに関するトラブルシューティング
PostgreSQL インストール時の 'configure' エラーに関するトラブルシューティングの原因と解決方法について解説します。
PostgreSQLにおけるCOLLATE(照合順序)について
PostgreSQLのCOLLATE(照合順序)の仕組みを解説。LC_COLLATEの設定・列単位の指定・pg_databaseで照合順序を確認するクエリ・日本語ロケール環境での注意点を詳しく紹介します。
PostgreSQLのCOLLATEとglibcのバージョン差によるソート順の違い
同じCOLLATE設定でもソート順が変わる問題に遭遇。原因となるglibcのバージョン差とPostgreSQLの照合順序の挙動を調査した記録です。
FuelPHPの2025年2月現在の現況 by 生成AI
2025年2月時点でのFuelPHPの現況を整理した記事です。1.x系のEOLや1.9-devにおけるPHP8対応の状況、開発の停滞やコミュニティの移行動向などを、過去のまとめと比較しながら振り返ります。
Nontemporarl・Unitemporal・Bitemporalの特徴と設計
Nontemporarl・Unitemporal・Bitemporalの特徴と設計について、設計原則とトレードオフ、実践的な適用方法を詳しく解説します。
オープンアドレスハッシュテーブルとスイステーブル
Goのブログ記事「Faster Go maps with Swiss Tables」を読んだことをきっかけに、オープンアドレス法とスイステーブル(Swiss Table)について整理した記事です。ハッシュの衝突を解決する手法や、キャッシュ効率の高いハッシュテーブルを設計するためのポイントを紹介します。
クネビンフレームワークを活用したストーリーポイントの考え方
アジャイル開発における見積もりで使うストーリーポイントの基準を、どう考えればよいかについて浮かんだアイデアを書き残した記事です。クネビンフレームワーク(Cynefin Framework)を活用して、タスクの複雑さの度合いからストーリーポイントを見積もる考え方を紹介します。
大規模モノリスをどう分割するか? - ソフトウェアアーキテクチャ・ハードパーツに学ぶ
大規模モノリスをどう分割するか? - ソフトウェアアーキテクチャ・ハードパーツに学ぶについて、設計原則とトレードオフ、実践的な適用方法を詳しく解説します。
アーキテクチャ戦略について考える
アーキテクチャ戦略について考えた記事。CTOやアーキテクトといった明確なポジションでなくても戦略の必要性を感じる場面を起点に、システムを構築・進化させるための方針として、ビジョンや原則、拡張性の計画といった観点を整理する。
本を読む本
『本を読む本』の書評。本の読み方そのものと、読み手としてあるべき姿勢を教えてくれる一冊。特に、読む前に各章のまとめや本全体の主張をつかむ「点検読書」が印象的で、意識すると本の読みやすさや理解度が変わってくる。読書というプロセスを学ぶ大切さに気づかされる。
実践Redis入門 技術の仕組みから現場の活用まで
『実践Redis入門 技術の仕組みから現場の活用まで』の書評。Redisの仕組みから現場での活用、運用管理までを幅広く扱う一冊。日本語のRedis書籍が少ないなかで貴重な存在で、内部実装にも踏み込む。Redisで困ったときにいつでも参照できるよう手元に置いておきたい。
脳に収まるコードの書き方 ―複雑さを避け持続可能にするための経験則とテクニック
『脳に収まるコードの書き方』の書評。人の脳内メモリに収まるコードを書くための、実践的なプラクティスを語る一冊。認知科学の理論というより現場で培われた経験則が中心で、複雑さを避け、コードを持続可能に保つための具体的なテクニックが得られる。
生成AIとソフトウェアエンジニアのキャリア
生成AIの急速な進化が社会にもたらしつつある変化をふまえ、ソフトウェアエンジニアとしてこの技術変化をどう先読みし、キャリアを考えていくべきかを考察します。生成AIを利用する側の立場から感じたことを、個人的な視点で整理した記事です。
GraphQL Federationとは?マイクロサービス統合の仕組みを解説
GraphQL Federationでマイクロサービスを統合し、Subgraph・Gateway・スキーマ合成の概念からマイクロサービスとの相違点を体系的に解説。
絵で見てわかるLinuxカーネルの仕組み
『絵で見てわかるLinuxカーネルの仕組み』の書評。Linuxカーネルの仕組みを、図を交えて初心者にもわかりやすく解説する一冊。プロセス管理やメモリ管理、ファイルシステムといった基礎を、カーネルを学ぶ入口として押さえられる。
Rubyのインスタンス変数とクラス変数とクラスインスタンス変数の違い
Rubyのインスタンス変数・クラス変数・クラスインスタンス変数の違いについて整理して解説する記事です。@で始まりインスタンスごとに状態を保持するインスタンス変数を中心に、それぞれの変数がどのスコープでどんな値を保持するのか、混同しやすい3つの違いを具体例とともに紹介します。
Rubyにおけるシングルトンパターンの実装方法
Rubyにおけるシングルトンパターンの実装方法についてまとめた記事です。インスタンスが1つしか存在しないことを保証するこのデザインパターンを、標準ライブラリのSingletonモジュールやクラスメソッドの活用、定数化といった手法で、スレッドセーフに唯一のインスタンスを管理する形で実装する方法を紹介します。
ソフトウェアアーキテクチャメトリクス ―アーキテクチャ品質を改善する10のアドバイス
『ソフトウェアアーキテクチャメトリクス ―アーキテクチャ品質を改善する10のアドバイス』の書評。複数の著者が、アーキテクチャの品質を測るメトリクスの観点を語る一冊。各章のアドバイス形式で深入りはしないが、GQMアプローチや適応度関数など、メトリクスを考える取っ掛かりとして役立つ。