アーカイブ 2024
121 件の記事
ソフトウェアアーキテクトのための意思決定術 リーダーシップ/技術/プロダクトマネジメントの活用
『ソフトウェアアーキテクトのための意思決定術』の書評。アーキテクトの意思決定にフォーカスした画期的な一冊。アーキテクチャの不確実性に立ち向かうための5つの質問と7つの原則を紹介し、設計に向かう人に確かな学びを与えてくれる。
思考の整理学
『思考の整理学』の書評。初版はインターネット普及前だが、自分の頭で考え、知識に頼りすぎない姿勢の大切さは現代にも通じる一冊。エッセイ調の語り口で、思考を整理するための思想が綴られている。
チームトポロジー 価値あるソフトウェアをすばやく届ける適応型組織設計
『チームトポロジー 価値あるソフトウェアをすばやく届ける適応型組織設計』の書評。組織設計とアーキテクチャを、チームファーストの視点から捉える一冊。4つのチームタイプとインタラクションのパターンを示し、チーム間のコミュニケーションをどう設計するかを、適応型組織づくりの観点から考えさせてくれる。
Cloud SQLとAlloyDBの比較|違いと使い分け
Cloud SQLと比較したAlloyDBの優位性を知りたくて調査した記事。Cloud SQL Enterprise editionを対象に、AlloyDBが優位となるユースケースや、性能・互換性のポイントを単純比較しながら整理する。
エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリファクタリング
『エンジニアリング組織論への招待』の書評。タイトルは組織論だが、主題は「不確実性」。エンジニアリングにまつわる様々な不確実性を言語化し、それとどう向き合うかを説く一冊。メンバーからアーキテクトまで、ソフトウェアに関わる人なら対象読者を選ばず学びがある。
イシューからはじめよ[改訂版]――知的生産の「シンプルな本質」
『イシューからはじめよ[改訂版]――知的生産の「シンプルな本質」』の書評。与えられた問いを解くのではなく、本当に取り組むべき「イシュー」を見極めることの大切さを説く一冊。問題の質を深く考え、価値ある問いから始めることが、知的生産の質を左右すると教えてくれる。
freee 技術の本 freeeにおけるマルチプロダクト開発
『freee 技術の本 freeeにおけるマルチプロダクト開発』の書評。業務系SaaSにおけるマルチプロダクト開発の実践をまとめた一冊。申請・承認といった共通業務をどうドメインとして切り出すか、基盤と各アプリケーションの関係やそこで生じるトレードオフなど、現場の設計判断が具体的に語られる。
いかにして問題をとくか
『いかにして問題をとくか』の書評。数学を題材に、応用の効く問題解決の思考法を説く古典的な一冊。まず問題をよく理解し、様々な角度から捉えて試行錯誤することの大切さを、繰り返し思い知らされる。
マスタリングAPIアーキテクチャ ―モノリシックからマイクロサービスへとアーキテクチャを進化させるための実践的手法
『マスタリングAPIアーキテクチャ』の書評。C4ダイアグラムやADRを使いながら、APIアーキテクチャのパターンやテスト、運用、セキュリティを解説する一冊。詳説というより概論に近く、モノリシックからマイクロサービスへとアーキテクチャを進化させる全体像をつかむのに向いている。
信頼性のパターンについて
信頼性(Reliability)を高めるための設計パターンを、Azure・AWS・GCPが提唱するパターンに基づいてまとめた記事です。ユーザーが期待する機能を提供し続けるために、サーキットブレーカーや補正トランザクション、イベントソーシング、Pub/Subといったパターンを使って耐障害性・回復性を実現する方法を整理します。
研鑽Rubyプログラミング 実践的なコードのための原則とトレードオフ
『研鑽Rubyプログラミング 実践的なコードのための原則とトレードオフ』の書評。入門書を一通り終えた段階で、より実践的な知識を得たい人に向く一冊。原則とトレードオフという観点からRubyらしいコードのあり方をたどりつつRubyの魅力を伝え、言語に依らない設計の考え方も学べる。
分散SQLクエリエンジンTrino徹底ガイド
『分散SQLクエリエンジンTrino徹底ガイド』の書評。分散SQLクエリエンジンTrinoを解説する一冊。ANSI SQL対応やフェデレーテッドクエリにより異なるシステムのデータを横断的に扱い、OLAP向けに分散してリソースを拡縮する仕組みなど、従来のデータウェアハウスとは異なるアプローチを学べる。
punditのコードリーディング
Rubyの認可フレームワークであるPunditのソースコードを読み解いた記録です。リポジトリをクローンして、権限ポリシー(Policy)の仕組みや、認可を適用する際に使われるメソッドの内部の動きを、コードリーディングを通して権限管理の観点から追っていきます。
irbのコードリーディング
Rubyの対話型シェルであるirbの内部構造を、コードリーディングを通して読み解いた記事です。ソースコードをクローンしてエントリポイントを起点に、irbの起動処理や履歴の読み込み、入力されたコマンドの実行といった観点から、その仕組みを追っていきます。
relineのコードリーディング
Rubyのreline(Readlineの純Ruby実装)というライブラリのソースコードを読み解いた記録です。ライブラリをクローンしてサンプルコードを動かしながら、Readlineの呼び出しや行編集、入力のバッファリングといった内部構造を、コードリーディングを通して追っていきます。
RSpecのコードリーディング
RubyのテストフレームワークRSpecの内部を、runnerの起動・テスト実行フロー・結果レポートの観点からコードリーディングで読み解きます。
Ruby コードレシピ集
『Ruby コードレシピ集』の書評。Rubyでできることやよくあるパターンを、レシピ集としてまとめた一冊。分かりやすく簡潔に書かれており、これからRubyを学ぶ初心者が引き出しを増やすのにちょうど良い。
カーソルページネーション vs オフセットページネーション:どちらを選ぶべきか
カーソルページネーションとオフセットページネーションを比較。パフォーマンス特性・使い分けの基準・SQL でのカーソルページネーション実装方法を解説します。
Sidekiqのコードリーディング
Sidekiqのアーキテクチャを、RedisベースのジョブキューやRubyアプリでのジョブ登録・実行フローの観点からコードリーディングで読み解きます。
PostgreSQLとPgCatをローカルで素振りできる環境を作った
PostgreSQLとコネクションプーラーPgCatをローカルで素振りできる環境を構築。Prometheus/Grafana監視やLocust負荷試験で、プーリングの性能影響を観察します。