#設計
15件のフレームワーク
STRIDE脅威モデリング / Threat Modeling (STRIDE)
6分類で脅威を体系的に洗い出すセキュリティ
新システムのセキュリティ設計
脅威の網羅的洗い出し
セキュリティレビューの体系化
オッカムの剃刀(デザイン) / Occam's Razor in Design
同じ目的を達成できるなら最もシンプルな解決策を選ぶオッカムの剃刀をUI設計に応用するフレームワーク。認知負荷を減らし、ヒックの法則やKISS原則と組み合わせたUI簡素化の手順を解説。
UI簡素化
機能の取捨選択
新規画面の設計方針
コマンドクエリ分離原則(CQS) / Command Query Separation
副作用のある操作と問い合わせを分離する
API設計
ドメインモデル設計
スケーラビリティ改善
シュナイダーマンの8原則 / Shneiderman's Eight Golden Rules
インターフェース設計の8つの黄金ルールで、使いやすいUIの基盤を作る
UI設計のチェックリスト
デザインレビュー
ジュニアデザイナーの教育
ポカヨケ設計(詳細) / Poka-Yoke Design
ヒューマンエラーを物理的・構造的に防止する仕組み設計
製品・UIのエラー防止設計
製造工程のミス削減
業務プロセスの品質向上
API設計原則 / API Design Principles
使いやすく、一貫性があり、拡張可能なAPIを設計するための原則とベストプラクティス
REST API の設計
マイクロサービス間のインターフェース設計
外部公開APIの設計
DRY原則 / DRY Principle
Don't Repeat Yourself — 同じ知識やロジックを2箇所以上に書かず、一元管理するための原則
コードの重複排除
保守性の向上
バグの予防
KISS原則 / KISS Principle
Keep It Simple, Stupid — 不必要な複雑さを排除し、できるだけシンプルな設計を目指す原則
設計のシンプル化
コードの可読性向上
過剰設計の防止
SOLID原則 / SOLID Principles
オブジェクト指向設計の5つの基本原則で、変更に強く拡張しやすいコードを書くためのガイドライン
クラス設計の改善
コードの保守性向上
リファクタリングの指針
データベース設計 / Database Design
データの整合性、パフォーマンス、拡張性を兼ね備えたデータベースを設計するための原則と手法
新規システムのDB設計
既存DBの正規化・非正規化
パフォーマンスチューニング
クリーンアーキテクチャ / Clean Architecture
依存関係を内側に向けることで、変更に強く保守しやすいシステムを設計するアーキテクチャパターン
中〜大規模アプリケーションの設計
テスタビリティの向上
フレームワーク依存の排除
セキュリティバイデザイン / Security by Design
開発の最初からセキュリティを組み込み、後付けではなく設計段階で脆弱性を防ぐアプローチ
安全なシステム設計
脆弱性の予防的対策
ソフトウェアアーキテクチャパターン / Software Architecture Patterns
システム全体の構造を決定する代表的なアーキテクチャパターンの概要と選定指針
新規システムのアーキテクチャ選定
既存システムのリアーキテクト判断
ドメイン駆動設計(DDD) / Domain-Driven Design
ビジネスドメインの知識を中心にソフトウェアを設計し、ビジネスとコードの距離を縮める手法
複雑なビジネスロジックのモデリング
チーム間の共通言語の構築
マイクロサービスの境界設計
ヘキサゴナルアーキテクチャ / Hexagonal Architecture
ポートとアダプターで外部依存を切り離し、ビジネスロジックを中心に据えるアーキテクチャ
テスタブルな設計
外部依存の切り離し