ピックアップ記事
46 件の記事
AI時代のエンジニアリングについて考える
AI時代のエンジニアリングについて考える
GitHub Agentic Workflowを使ったLLMプロンプト管理・評価基盤
GitHub Agentic Workflowを使ったLLMプロンプト管理・評価基盤
プラットフォームエンジニアリングとは?内部開発者プラットフォームの構築
プラットフォームエンジニアリングとは何か、内部開発者プラットフォーム(IDP)の構築方法と、DevOps・SRE との関係を解説します。
アーキテクチャ戦略について考える
アーキテクチャ戦略について考えるについて、設計原則とトレードオフ、実践的な適用方法を詳しく解説します。
良いアーキテクチャ戦略・悪いアーキテクチャ戦略
良いアーキテクチャ戦略・悪いアーキテクチャ戦略について、設計原則とトレードオフ、実践的な適用方法を詳しく解説します。
なぜ・いつアーキテクチャ戦略を書くべきか
なぜ・いつアーキテクチャ戦略を書くべきかについて、設計原則とトレードオフ、実践的な適用方法を詳しく解説します。
アーキテクチャ戦略・戦術・設計の書き分け
アーキテクチャ戦略・戦術・設計の書き分けについて、設計原則とトレードオフ、実践的な適用方法を詳しく解説します。
要件と制約の違い
要件と制約の違い
技術的な意思決定において制約やトレードオフを明示することの重要性
技術的な意思決定において制約やトレードオフを明示することの重要性
ADRを書くときに抑えておくべきポイント
ADRを書くときに抑えておくべきポイント
アーキテクチャアドバイスプロセス(AAP)とは何か?
アーキテクチャアドバイスプロセス(AAP)とは何か?について、設計原則とトレードオフ、実践的な適用方法を詳しく解説します。
自分的システムの仕様書の構成
システム仕様書の9階層構成、概要・アーキテクチャ・データモデル・API・技術詳細をmermaidコード化して運用する方法
アーキテクチャドキュメントを書くときに気をつけること
アーキテクチャドキュメントを書くときに気をつけることについて、設計原則とトレードオフ、実践的な適用方法を詳しく解説します。
境界付けられたコンテキストとは
境界付けられたコンテキストとは
凝集度と結合度
凝集度と結合度
アーキテクチャ設計における共通化の罠
アーキテクチャ設計における共通化の罠 — 技術的関心事とドメインロジックの違い
設計の賞味期限を考える
設計の賞味期限を考えるについて、設計原則とトレードオフ、実践的な適用方法を詳しく解説します。
OPAを利用したアクセス制御のパターン
OPAを利用したアクセス制御のパターンについて、設計原則とトレードオフ、実践的な適用方法を詳しく解説します。
OPAを使用したマイクロサービスのアクセス制御システムの実装
設計するOPAによるアクセス制御。マイクロサービス権限管理、Rego言語、ポリシーエンジン、リソースレベルの細粒度制御実装パターン
キャッシュ戦略の基本的なパターンについて
「キャッシュ戦略の基本的なパターンについて」のまとめと読書メモ。重要なポイントと実践的な知見を整理します。
Webアプリケーションの処理モデルについて
Webアプリケーション処理モデル対比、イベントループ・マルチスレッド・マルチプロセスのメリット・デメリットと選定基準
スケーラビリティを計測する
スケーラビリティを計測する
負荷試験を始めるためのスターティングガイド
「負荷試験を始めるためのスターティングガイド」のまとめと読書メモ。重要なポイントと実践的な知見を整理します。
システム設計関連の資料を読み漁った
システム設計関連の資料を読み漁ったについて、設計原則とトレードオフ、実践的な適用方法を詳しく解説します。
ACID vs BASE:データベースの一貫性モデルを徹底解説
ACID と BASE という2つのデータベース一貫性モデルの違いを比較し、CAP 定理との関係やどちらを選ぶべき場面かをわかりやすく解説します。
CAP定理とは?分散データベースのトレードオフを解説
CAP 定理と PACELC 定理をわかりやすく解説。分散データベースにおける一貫性・可用性・分断耐性のトレードオフを具体例で学べます。
bmf-techを支える技術
bmf-techを支える技術
トランザクション概観
トランザクション概観
MySQLのトランザクション分離レベル:ダーティリード・ファントムリードを防ぐ
MySQL のトランザクション分離レベルを解説。ダーティリード・ノンリピータブルリード・ファントムリードと、それぞれを防ぐ設定方法を学べます。
MySQLのロック解説:デッドロックの防ぎ方とパフォーマンス改善
MySQL のロック(行ロック・テーブルロック・GAP ロック)を解説。デッドロックの防ぎ方とトランザクション設計のベストプラクティスを紹介します。
データベースインデックスとは?仕組みと必要なタイミング
データベースインデックスとは何か、B-Tree・ハッシュインデックスの仕組み・効果的に使う場面・作り過ぎのデメリットを解説します。
TUI開発で役立つターミナル仕様の理解
TUI開発の基盤となるターミナル仕様、Line Discipline・termios・ANSIエスケープシーケンスの動作原理とGo実装
net/httpでつくるHTTPルーター自作入門
Golangのnet/httpでHTTPルーター自作を解説。ルートマップ、URLパス解析、メソッド別ルーティング、パスパラメータの仕組みをステップバイステップで実装ガイドします。
自作HTTPルーターから新しいServeMuxへ
自作HTTPルーターから新しいServeMuxへ
RubyとRailsのIO・CPU特性について
理解するRuby・RailsのI/O特性。GVL制約、Pumaスレッド・プロセス設計、見かけのI/O待ちの実態、計測による最適化指針。
OPAにおけるページネーションへの影響と解決策に関する検討
OPAにおけるページネーションへの影響と解決策に関する検討の原因と解決方法について解説します。
プロダクト開発とプラットフォーム開発は何が違うのか
「なぜ小さくリリースして検証しないのか」——プラットフォーム開発の意思決定に向き合うとき、この問いと頻繁に対峙する。判断基準・設計思想・投資観点の3つの観点から両者の違いを整理する。
プラットフォームの成立条件
社内でプラットフォームを作るべきかどうかをどう判断するか。コア/支援/汎用サブドメインの区別、外部サービスとの比較、レバレッジ、体制などの観点から整理し、ドメイン分析でどこまで判定できるかを考える。
チームトポロジーとは?エンジニアリング組織の構成方法
チームトポロジーの4チームタイプ(ストリームアラインド・プラットフォーム・イネイブリング・コンプリケイテッドサブシステム)と3つのインタラクションモード、コンウェイの法則・認知負荷を軸にした組織設計を解説します。
ソフトウェア開発チームがMVVを定めるべき理由
ソフトウェア開発チームがMVVを定めるべき理由
ソフトウェア開発のプロジェクトにおける不確実性への向き合い方
ソフトウェア開発のプロジェクトにおける不確実性への向き合い方
クネビンフレームワークを活用したストーリーポイントの考え方
クネビンフレームワークを活用したストーリーポイントの考え方
選択と集中を促す振り返りフレームワーク「bmf」
選択と集中を促す振り返りフレームワーク「bmf」。個人的な振り返りとハイライトをまとめます。
キャリアポートフォリオ作成ガイド
「キャリアポートフォリオ作成ガイド」のまとめと読書メモ。重要なポイントと実践的な知見を整理します。
Goで始めるコードのパフォーマンス改善
Goで始めるコードのパフォーマンス改善
集合について
理解する集合論の基礎。要素・部分集合・和集合・積集合、データ構造・RDB理論、論理表現への応用と問題解決力養成。