記事一覧
技術記事・日々の学びをまとめています。
継承より委譲について
継承より委譲が推奨される理由を解説。ダックタイピング・リスコフの置換原則(LSP)・Goのインターフェースを通じて、四角形と正方形の例から設計の落とし穴と委譲の利点を示します。
最新記事
なぜインターフェースの方が実装より変更頻度が低いのか
インターフェース(契約)と実装(手段)の役割を区別し、外部公開される契約は安定的に保ち実装は自由に変える設計原則を解説。
Singletonパターンはなぜアンチパターンなのか
Singletonパターンはなぜアンチパターンなのかについて、設計原則とトレードオフ、実践的な適用方法を詳しく解説します。
TUI開発で役立つターミナル仕様の理解
TUI開発の基盤となるターミナル仕様、Line Discipline・termios・ANSIエスケープシーケンスの動作原理とGo実装
テストダブル解説:モック・スタブ・フェイク・スパイの違い
テストダブルを解説。モック・スタブ・フェイク・スパイ・ダミーそれぞれの違いと、ユニットテストでの適切な使い分けを学べます。
システム設計面接の傾向と対策
システム設計面接の傾向と対策
ストリートコーダー
ストリートコーダー
セッションベースとトークンベースの認証方式について
比較する認証方式の選択。セッションベースとトークンベースの技術詳細、スケーラビリティ・セキュリティ・保守性の考慮事項。
なっとく!関数型プログラミング
なっとく!関数型プログラミング
アーキテクチャアドバイスプロセス(AAP)とは何か?
アーキテクチャアドバイスプロセス(AAP)とは何か?について、設計原則とトレードオフ、実践的な適用方法を詳しく解説します。
specリポジトリを作った
bmf Frameworkやクネビンに基づくストーリーポイント見積もりなど、コミュニティ向けの仕様をまとめたspecリポジトリを作った話を紹介します。
データモデリングでドメインを駆動する──分散/疎結合な基幹系システムに向けて
データモデリングでドメインを駆動する──分散/疎結合な基幹系システムに向けて
Goでプロセス・goroutine・メモリを覗いてみた
Goのプロセス・goroutine・メモリを解析し、仮想アドレス空間・ヒープ・スタック領域の独立性を確認する手法を実装例を通して解説。
Prologへの入門
Prologへの入門
カモメになったペンギン|組織変革の寓話を読んだ感想
カモメになったペンギン
技術的な意思決定において制約やトレードオフを明示することの重要性
技術的な意思決定で制約やトレードオフを明示することの重要性を解説。将来の再評価や組織の成長につながる記録の残し方を紹介します。
キャッシュ戦略の基本的なパターンについて
「キャッシュ戦略の基本的なパターンについて」のまとめと読書メモ。重要なポイントと実践的な知見を整理します。
ACID vs BASE:データベースの一貫性モデルを徹底解説
ACID と BASE という2つのデータベース一貫性モデルの違いを比較し、CAP 定理との関係やどちらを選ぶべき場面かをわかりやすく解説します。
CAP定理とは?分散データベースのトレードオフを解説
CAP 定理と PACELC 定理をわかりやすく解説。分散データベースにおける一貫性・可用性・分断耐性のトレードオフを具体例で学べます。
Webアプリケーションの処理モデルについて
Webアプリケーション処理モデル対比、イベントループ・マルチスレッド・マルチプロセスのメリット・デメリットと選定基準