仕組み解説

技術の「なぜ?」を深掘りする解説記事

プログラミングの基礎理論、アーキテクチャパターン、セキュリティの仕組みなど、エンジニアとして知っておくべき知識を体系的にまとめています。

難易度
詳細タグで絞り込み (23)

localhost・0.0.0.0・待受アドレスの違い

開発サーバーでよく見る localhost、127.0.0.1、0.0.0.0、待受アドレスの違いを初心者向けに整理します。

入門10分2026.06.16 Network

301リダイレクトとcanonicalの違い

URL統一で使う301リダイレクトとcanonicalタグの違い、wwwあり・なし、HTTP/HTTPS、重複URL対策での使い分けを整理します。

入門10分2026.06.16 HTTP

connection refused・timeout・404の違い

ネットワークやWeb開発でよく見る connection refused、timeout、404 の違いを、どの段階で失敗しているかで整理します。

入門10分2026.06.16 NetworkHTTP

NEW CI/CDとは何か - コード品質とデプロイを自動化する基本

CI/CDの意味、CIとCDの違い、Linter、テスト、ビルド、デプロイがどこで動くのかを、未経験者や転職準備中のエンジニア向けに整理します。

入門11分2026.06.27 CI/CD

NEW CI/CDの処理時間を意識する理由

CI/CDを組めるだけでなく、lint、test、buildの待ち時間を短くすることがなぜ実務で評価されるのかを整理します。

入門10分2026.06.27 CI/CD

NEW ポートフォリオでCI/CD改善を見せる方法

未経験・転職準備中のエンジニア向けに、CI/CD導入だけでなく、HuskyからLefthook移行やGitHub Actions高速化を成果として見せる方法を整理します。

入門11分2026.06.27 CI/CD

.gitignoreの考え方:秘密情報を載せないために

.gitignoreの役割、無視すべきファイル、すでにcommitしたファイルへの注意を初心者向けに整理します。

入門9分2026.06.18 GitSecurity

AHA原則:急いで抽象化しない考え方

AHA(Avoid Hasty Abstractions)原則を、DRYとの関係、早すぎる共通化、実務での判断基準から初学者向けに解説します。

入門8分2026.06.18

Composition over Inheritance:継承より合成を優先する

継承と合成の違い、継承が深くなる問題、部品を組み合わせる設計の考え方を初学者向けに解説します。

入門9分2026.06.18

DRY原則とは:重複コードではなく重複知識を減らす

DRY原則を、単なるコード共通化ではなく、同じ知識や同じ変更理由を重複させない考え方として初学者向けに解説します。

入門9分2026.06.18

Fail Fast:失敗は早く分かるようにする

Fail Fastの考え方を、入力チェック、例外、早期検知、エラーを握りつぶさない実装の観点から初学者向けに解説します。

入門8分2026.06.18

fetch / pull / pushの違い

Git初心者向けに、git fetch、git pull、git pushの違いと安全な使い分けを整理します。

入門9分2026.06.18 GitGitHub

git restore / reset / revertの違い

Git初心者が混乱しやすいrestore、reset、revertの違いを、安全性と使いどころから整理します。

入門10分2026.06.18 Git

Gitの3つの場所:作業ツリー・ステージ・リポジトリ

Git初心者が最初につまずく、作業ツリー、ステージングエリア、リポジトリの違いを整理します。

入門9分2026.06.18 Git

KISS原則:シンプルなコードが強い理由

KISS原則を、読みやすさ、分岐、関数分割、過剰設計との関係から初学者向けに解説します。

入門8分2026.06.18

Premature Optimization:早すぎる最適化が危ない理由

早すぎる最適化の問題を、可読性、計測、ボトルネック、学習用コードでの判断基準から初学者向けに解説します。

入門8分2026.06.18

Tell, Don’t Ask:データを聞き出しすぎない

Tell, Don’t Ask原則を、オブジェクトから値を取り出して外側で判断するコードの問題と、責務を寄せる設計から解説します。

入門8分2026.06.18

YAGNI原則:今いらない機能を作らない

YAGNI原則を、先回り実装、未使用オプション、拡張ポイント、学習用コードでの判断基準から初学者向けに解説します。

入門8分2026.06.18

イミュータブルとは:値を変えない設計の基本

イミュータブルの考え方を、再代入、配列・オブジェクトの変更、状態管理、バグを減らす効果から初学者向けに解説します。

入門8分2026.06.18

マジックナンバーとマジック文字列を避ける

コード内に突然現れる数値や文字列を、意味のある定数や設定として扱う考え方を初学者向けに解説します。

入門7分2026.06.18

関数は何行まで?長い関数を分ける判断基準

関数の行数だけでなく、抽象度、変更理由、ネスト、テストしやすさから長い関数を分ける判断基準を解説します。

入門8分2026.06.18

共通化しすぎると読みにくくなる理由

コード共通化の失敗例を通して、早すぎる抽象化、引数だらけの共通関数、変更理由の違いを初学者向けに解説します。

入門8分2026.06.18

早期returnとガード節:ネストを浅くする考え方

if文のネストを浅くするための早期returnとガード節を、悪い例、よい例、使いすぎの注意点から解説します。

入門8分2026.06.18

単一責任の原則を関数で考える

SOLIDの単一責任の原則を、クラスではなく関数単位で理解するために、変更理由、入力、出力、分割判断を解説します。

入門9分2026.06.18

副作用とは何か:予測しやすい関数を書く

副作用の意味、純粋関数との違い、DB・API・ログ・状態変更を分ける理由を初学者向けに解説します。

入門8分2026.06.18

命名は設計:よい名前がコードを短くする

変数名、関数名、クラス名の付け方を、責務、型、スコープ、避けたい曖昧語の観点から初学者向けに解説します。

入門9分2026.06.18

良いコミットとは何か

Git初心者向けに、良いコミットの考え方、粒度、メッセージ、レビューしやすさを整理します。

入門9分2026.06.18 Git

.claudeディレクトリの役割

Claude Codeの.claudeディレクトリについて、settings、rules、skills、agentsなどの役割と置き場所を初心者向けに整理します。

入門9分2026.06.17

AIエージェント型コーディングとは何か

Claude CodeのようなAIエージェント型コーディング支援について、コード補完との違い、できること、任せてよい範囲を整理します。

入門9分2026.06.17

AIコーディングで危ない権限設計

Claude CodeのようなAIエージェントにファイル編集やコマンド実行を許可するとき、最小権限、秘密情報、本番操作をどう考えるかを整理します。

入門10分2026.06.17 Security

charCodeAtとcodePointAtの違い

JavaScriptのcharCodeAtとcodePointAtの違いを、UTF-16コード単位、Unicodeコードポイント、絵文字の例で初心者向けに整理します。

入門10分2026.06.17 JS

Claude Codeがコードベースを読む仕組み

Claude Codeがプロジェクトを理解するときの、ファイル探索、コンテキスト、指示ファイル、実行ログの関係を初心者向けに解説します。

入門9分2026.06.17

Claude Codeから見たMCP:AIと外部ツールをつなぐ仕組み

Claude CodeでMCPを使う意味、外部ツール連携の考え方、権限設計の注意点を初心者向けに整理します。

入門10分2026.06.17

CLAUDE.mdとは何か:AIへの永続指示ファイル

Claude Codeで使うCLAUDE.mdについて、役割、書くべき内容、AGENTS.mdとの関係、長くしすぎる問題を整理します。

入門11分2026.06.17

GROUP BYとHAVINGの考え方:SQLで集計する基本

COUNT、SUM、AVG、GROUP BY、HAVINGを初心者向けに整理し、WHEREとの違いと集計SQLの読み方を解説します。

入門10分2026.06.17 SQL

Hooksとは何か:AI任せにしない自動実行ルール

Claude CodeのHooksについて、AIへのお願いとの違い、ファイル編集後のフォーマット、危険操作ブロックなどの使いどころを解説します。

入門10分2026.06.17

INNER JOINとLEFT JOINの違い:複数テーブルをつなぐ基本

SQLのJOINを初心者向けに、INNER JOINとLEFT JOINの違い、ON条件、結果に残る行の考え方から解説します。

入門10分2026.06.17 SQLDB

INSERT / UPDATE / DELETEと安全確認:変更系SQLの基本

SQLでデータを追加・更新・削除するときの基本構文と、WHERE確認、トランザクション、バックアップ確認などの安全な考え方を整理します。

入門10分2026.06.17 SQL

JavaScriptの文字列はどう扱われているのか

JavaScriptの文字列がUTF-16コード単位として扱われること、length、インデックス、絵文字で起きるズレを初心者向けに整理します。

入門10分2026.06.17 JS

SELECT / FROM / WHERE / ORDER BY / LIMITの読み方

SQLの基本であるSELECT文を、実行イメージ、句ごとの役割、初心者がつまずきやすい読み順に分けて解説します。

入門8分2026.06.17 SQL

Skillsとは何か:必要な時だけ読み込む手順書

Claude CodeのSkillsについて、CLAUDE.mdとの違い、使いどころ、SKILL.mdの基本構造を初心者向けに解説します。

入門10分2026.06.17

SQLインジェクションとは:プレースホルダーで防ぐ基本

SQLインジェクションの仕組み、文字列連結の危険性、プレースホルダーやパラメータ化クエリで防ぐ考え方を初心者向けに解説します。

入門11分2026.06.17 SQLSecurity

SQLのNULLとは何か:空文字や0との違い

SQLで初心者がつまずきやすいNULLについて、空文字、0、falseとの違い、IS NULL、三値論理を整理します。

入門10分2026.06.17 SQLDB

SQL学習の全体地図:初心者が最初に覚える順番

SQLを初めて学ぶ人向けに、SELECT、WHERE、JOIN、集計、更新、設計、インデックス、安全対策までの学習順を整理します。

入門9分2026.06.17 SQLDB

Unicodeとは何か:文字コードを初心者向けに整理

Unicode、コードポイント、文字コード、エンコーディングの違いを、JavaScriptの文字列処理につながる形で初心者向けに整理します。

入門10分2026.06.17

UTF-8とUTF-16の違い

UTF-8とUTF-16の違い、WebでUTF-8がよく使われる理由、JavaScript文字列でUTF-16を意識する場面を初心者向けに整理します。

入門10分2026.06.17

インデックスはなぜ検索を速くするのか:SQL初心者向け

SQLのインデックスについて、全件スキャン、索引、WHERE、ORDER BY、貼りすぎの注意を初心者向けに解説します。

入門10分2026.06.17 SQLDB

コンテキストウィンドウとcompactの考え方

Claude Codeで重要なコンテキストウィンドウ、長い会話で起きる問題、compactやclearを使う判断基準を初心者向けに整理します。

入門10分2026.06.17

サブエージェントと並列作業の考え方

Claude Codeのサブエージェントや並列作業について、調査の分離、役割分担、結果統合、人間レビューの重要性を解説します。

入門10分2026.06.17

テーブル・行・列・主キーとは:リレーショナルデータベースの見方

SQLを学ぶ前提として、テーブル、行、列、主キー、外部キー、リレーションの基本を初心者向けに整理します。

入門9分2026.06.17 SQLDB

ビット演算とは何か:&・|・<<・>> の基本

JavaScriptで使うビット演算の基本、AND、OR、XOR、NOT、シフト、マスクの考え方を初心者向けに整理します。

入門11分2026.06.17 JS

高速化より可読性を優先すべき場面

正規表現、数値比較、ビット演算のような実装選択で、速度、可読性、保守性、実測をどう判断するかを初心者向けに整理します。

入門10分2026.06.17 JS

主キー・外部キー・UNIQUE・NOT NULL:制約でデータを守る

データベース制約の基本として、PRIMARY KEY、FOREIGN KEY、UNIQUE、NOT NULL、CHECKの役割を初心者向けに解説します。

入門10分2026.06.17 SQL

正規化の基本:重複を減らして壊れにくいテーブルにする

データベース設計で重要な正規化について、重複、更新漏れ、ユーザーと注文の例を使って初心者向けに解説します。

入門10分2026.06.17 SQL

全角・半角とは何か:見た目と文字コードの違い

全角・半角という言葉の意味、ASCII、全角英数字、半角カタカナ、Unicode上の範囲の違いを初心者向けに整理します。

入門10分2026.06.17

半角カタカナが\xA1-\xDFで判定できない理由

JavaScript正規表現で半角カタカナを判定する時に、\xA1-\xDFではなく\uFF61-\uFF9Fを使う理由を初心者向けに整理します。

入門9分2026.06.17 JS

apexドメインとwwwサブドメインの違い

example.com と www.example.com の違い、どちらを正規URLにするか、DNS設定とリダイレクトの考え方を初心者向けに整理します。

入門9分2026.06.16 DNS

Aレコード・CNAME・ALIAS・ANAMEの使い分け

Webサイト公開でよく使うAレコード、AAAA、CNAME、ALIAS、ANAMEの違いと、apexドメインでの注意点を整理します。

入門11分2026.06.16 DNS

CDNを使うとドメイン表示の流れはどう変わるか

CDNを使ったWebサイト表示で、DNS、エッジ、オリジン、キャッシュ、HTTPSがどのように関係するかを整理します。

入門10分2026.06.16 DNS

DHCPとは?PCがIPアドレスをもらう仕組み

PCやスマホがネットワークに接続した時に、IPアドレス、ゲートウェイ、DNS設定を自動取得するDHCPの仕組みを整理します。

入門9分2026.06.16 Network

DNS反映待ちとは何か:TTLとキャッシュの仕組み

DNS設定を変更してもすぐ反映されない理由、TTL、キャッシュ、リゾルバ、確認時の注意点を初心者向けに整理します。

入門10分2026.06.16 DNS

LANとWANの違い

LAN、WAN、インターネット、家庭内ネットワーク、会社ネットワークの違いを初心者向けに整理します。

入門8分2026.06.16 Network

pingとtracerouteは何を確認しているのか

ping、traceroute、tracertが確認していること、わかること、わからないことを初心者向けに整理します。

入門9分2026.06.16 Network

TCPとUDPの違い

TCPとUDPの違いを、信頼性、速度、順序保証、用途の観点から初心者向けに整理します。

入門9分2026.06.16 Network

VPNとプロキシの違い

VPNとプロキシの役割、保護する範囲、よくある用途、誤解しやすいポイントを初心者向けに整理します。

入門9分2026.06.16 Network

Webサイトがドメインで表示されるまでの全体像

ドメイン取得、ネームサーバー、DNSレコード、ホスティング、HTTPS証明書、ブラウザ表示までの流れを初心者向けに整理します。

入門11分2026.06.16 DNS

Webサイト公開時のHTTPS証明書発行の流れ

独自ドメインをホスティングサービスへ接続した時に、HTTPS証明書がどのように発行されるかを初心者向けに整理します。

入門10分2026.06.16

Wi-Fiルーター・ONU・モデムの違い

家庭や小規模オフィスで出てくるWi-Fiルーター、ONU、モデム、ルーター、アクセスポイントの違いを初心者向けに整理します。

入門9分2026.06.16 Network

グローバルIP・プライベートIP・localhost・127.0.0.1の違い

IPアドレスの種類、グローバルIP、プライベートIP、localhost、127.0.0.1、::1の違いを初心者向けに整理します。

入門10分2026.06.16 Network

サブネットマスクとCIDRを初心者向けに整理する

192.168.1.0/24 のような表記、ネットワーク部とホスト部、サブネットマスクの意味を初心者向けに説明します。

入門11分2026.06.16 Network

デフォルトゲートウェイとルーティングの基本

同じLAN内の通信と外部ネットワークへの通信の違い、デフォルトゲートウェイ、ルーティングテーブルの見方を初心者向けに整理します。

入門10分2026.06.16 Network

ドメイン・サーバー・DNS・ホスティングの違い

Webサイト公開で混同しやすいドメイン、サーバー、DNS、ホスティング、CDNの役割の違いを初心者向けに整理します。

入門10分2026.06.16 DNS

ドメインを取得すると何が使えるようになるのか

独自ドメインを取得するとできること、Webサイト、メール、サブドメイン、ブランド管理、DNS設定の関係を初心者向けに整理します。

入門9分2026.06.16 DNS

ネットワーク学習の全体地図

初心者がネットワークを学ぶ時に、HTTP、DNS、IP、ポート、ルーティング、セキュリティをどの順番で理解すればよいかを整理します。

入門10分2026.06.16 Network

ファイアウォールとSecurity Groupの違い

OSファイアウォール、ネットワークファイアウォール、クラウドのSecurity Groupの違いと、初心者が守るべき設定の考え方を整理します。

入門10分2026.06.16 NetworkSecurity

ブラウザでURLを開いてから画面が表示されるまで

URL入力、DNS、TCP、TLS、HTTPリクエスト、サーバー処理、HTML描画までの流れを初心者向けに整理します。

入門11分2026.06.16 NetworkHTTP

レジストラ・ネームサーバー・DNSゾーンの違い

ドメイン管理で混乱しやすいレジストラ、ネームサーバー、DNSゾーン、DNSレコードの役割の違いを整理します。

入門10分2026.06.16 DNS

AIツールを使って学ぶ時の注意点

プログラミング初心者がAIツールを学習に使う時の、質問の仕方、回答の検証、丸写しを避ける考え方、秘密情報の扱いを整理します。

入門10分2026.06.14 AI

APIキー・パスワード・個人情報を漏らさない基本

プログラミング初心者向けに、APIキー、秘密鍵、パスワード、個人情報をコードやGitHubに載せないための基本を整理します。

入門10分2026.06.14 Security

Authorization ヘッダーとは何か - API に認証情報を送る方法

Authorization ヘッダーの役割、Bearer Token の送り方、Cookie 認証との違いを、API 認証の基本として初心者向けに整理します。

入門8分2026.06.14 HTTPAPIAuth

Bearer Token とは何か - 持っている人を本人とみなす認証

Bearer Token の意味、Authorization: Bearer の使い方、盗まれたときに危険な理由を、JWT や API 認証と関連づけて解説します。

入門8分2026.06.14 JWTOAuthAPI

Cookie はなぜ自動で送られるのか - Set-Cookie と HttpOnly

Cookie がサーバから Set-Cookie で保存され、次回以降の通信に自動で付く仕組みを、HttpOnly の意味とあわせて解説します。

入門9分2026.06.14 HTTPAuth

GitとGitHubの違い

プログラミング初心者向けに、Git、GitHub、リポジトリ、commit、push、pullの役割と違いを整理します。

入門10分2026.06.14 GitGitHub

HttpOnly Cookie とは何か - JavaScript から読めない Cookie

HttpOnly Cookie が何を守り、何を守らないのかを整理します。XSS、トークン窃取、session riding の違いを初心者向けに解説します。

入門8分2026.06.14 Security

IT学習を始める前に知る全体地図

プログラミング初心者が最初に迷いやすい、Web、言語、エディタ、ターミナル、Git、デプロイの位置づけを全体像として整理します。

入門10分2026.06.14

JWT とは何か - 署名付きトークンの仕組み

JWT の Header、Payload、Signature の構造と、署名検証によって改ざんを検出する仕組みを初心者向けに整理します。

入門10分2026.06.14 JWTAuthSecurity

localStorage と Cookie の違い - ブラウザに残るデータの基本

localStorage、sessionStorage、Cookie、JavaScript変数の違いを、リロード・タブ終了・ブラウザ終了で何が残るかから整理します。

入門9分2026.06.14 Security

PATHと環境変数の基本

初心者がつまずきやすいPATH、環境変数、コマンドが見つからない理由、APIキーを環境変数で扱う考え方を整理します。

入門10分2026.06.14

sessionStorage / localStorage / Cookie / メモリ保存の違い

ブラウザ側の保存場所を、リロード・タブ終了・ブラウザ終了・XSS時のリスクから比較します。認証トークンをどこに置くべきかの前提知識です。

入門8分2026.06.14

エディタとIDEの違い

プログラミング初心者向けに、テキストエディタ、コードエディタ、IDEの違い、VS CodeやIntelliJ IDEAを使い分ける考え方を整理します。

入門9分2026.06.14

セッションIDとは何か - ログイン状態をサーバ側で管理する仕組み

セッションID、サーバ側セッション、Cookie セッションの関係を初心者向けに整理します。ログイン状態がどこに保存されるのかを理解しましょう。

入門9分2026.06.14 AuthHTTP

ターミナルとは何か

プログラミング初心者向けに、ターミナル、シェル、コマンド、カレントディレクトリ、GUIとの違いを整理します。

入門9分2026.06.14 CLI

パソコン・OS・ブラウザの選び方

プログラミング学習を始める初心者向けに、パソコン、OS、ブラウザ、メモリ、ストレージ、学習環境の考え方を整理します。

入門9分2026.06.14

ファイル・フォルダ・拡張子・パスの基本

プログラミング初心者が最初につまずきやすい、ファイル、フォルダ、拡張子、相対パス、絶対パスの考え方を整理します。

入門10分2026.06.14

プログラムが動く仕組み:ブラウザ・Node.js・Java・Python

初心者向けに、プログラムを書く場所と動く場所の違い、ブラウザ、Node.js、JVM、Python実行環境の基本を整理します。

入門10分2026.06.14

Authorization ヘッダー - Basic / Bearer / API Key

HTTP認証の仕組みと、Basic認証、Bearer Token(OAuth/JWT)、API Keyの使い分けを詳しく解説。セキュアなAPI設計の基本を理解しよう。

入門10分2026.05.02 HTTPSecurityAuth

Cache-Control - ブラウザ・CDNキャッシュの制御

HTTPキャッシュの仕組みと、Cache-Controlディレクティブの使い分けを詳しく解説。パフォーマンス最適化の鍵を握るヘッダーを理解しよう。

入門12分2026.05.02 HTTP

Content-Encoding - HTTP圧縮(gzip / br / deflate)

HTTPレスポンスの圧縮方式を詳しく解説。Brotli、gzip、deflateの特徴と、ブラウザ・サーバー間のネゴシエーションを理解しよう。

入門10分2026.05.02 HTTP

Content-Type ヘッダー - MIMEタイプの基本

Content-Typeヘッダーの役割、主要なMIMEタイプ、charset、multipart/form-dataを解説。

入門10分2026.05.02 HTTPNetwork

Cookie の仕組み - Set-Cookie / SameSite / Secure / HttpOnly

HTTPにおけるCookieの送受信、セキュリティ属性、SameSiteの使い分けを詳しく解説。セッション管理の基本を理解しよう。

入門11分2026.05.02 HTTPSecurityAuth

ETag と条件付きリクエスト(304 Not Modified)

ETags、If-None-Match、304レスポンスの仕組みを詳しく解説。効率的なキャッシュ検証とCDN連携を理解しよう。

入門11分2026.05.02 HTTP

HTTPステータスコード - 1xx〜5xxの意味と使い分け

HTTPステータスコードの体系と、実務でよく使う具体的なコードの使い分けを解説。

入門12分2026.05.02 HTTPAPI

HTTPの基本 - リクエストとレスポンスの構造

HTTPプロトコルの位置付け、リクエスト/レスポンスの構造、ステートレス性を理解しよう。

入門10分2026.05.02 HTTPNetwork

HTTPヘッダー入門 - リクエスト/レスポンスヘッダーの全体像

HTTPヘッダーの分類、主要ヘッダーの役割、実務での使い方を体系的に解説。

入門11分2026.05.02 HTTPNetwork

HTTPメソッド - GET / POST / PUT / DELETE / PATCH の使い分け

各HTTPメソッドの意味、冪等性、安全性、実務での使い分けを詳しく解説。

入門10分2026.05.02 HTTPAPI

HTTPリダイレクト - 301 / 302 / 307 / 308 の違い

Permanent vs Temporary、メソッド維持 vs 変更、SEOへの影響を理解してリダイレクトを正しく使い分けよう。

入門10分2026.05.02 NetworkHTTP

IPv4 と IPv6 の違い

アドレス長、表記、枯渇問題、デュアルスタック、IPv6の主な特徴を理解し、次世代インターネットプロトコルを学ぼう。

入門10分2026.05.02 Network

MAC アドレスと ARP - LAN 内通信の仕組み

MAC アドレスの構造と ARP プロトコルの動作を図解。IP から MAC への変換プロセスを理解しよう。

入門10分2026.05.02 Network

NAT(ネットワークアドレス変換)の仕組み

プライベートIPとグローバルIP、NAT/NAPTの違い、家庭ルーターの動作、NAT越え(STUN/TURN/ICE)を理解しよう。

入門10分2026.05.02 Network

TLS ハンドシェイクの流れ

TLS 1.2 と TLS 1.3 のハンドシェイク手順を図解。鍵交換・証明書検証・暗号化開始の流れを理解しよう。

入門10分2026.05.02 SecurityNetwork

URL の構造 - スキーム・ホスト・ポート・パス・クエリ・フラグメント

URLの各要素(scheme、host、port、path、query、fragment)を理解し、相対URLとパーセントエンコーディングもマスターしよう。

入門10分2026.05.02 NetworkHTTP

WAF(Web Application Firewall)入門

WAF が防ぐ攻撃とネットワークファイアウォールとの違いを図解。Cloudflare・AWS WAF の仕組みを理解しよう。

入門10分2026.05.02 SecurityNetwork

ファイアウォール入門 - パケットフィルタとステートフル検査

ファイアウォールの種類と仕組みを図解。パケットフィルタ・ステートフル・プロキシ型の違いを理解しよう。

入門10分2026.05.02 SecurityNetwork

プロキシとリバースプロキシ - 役割の違い

フォワードプロキシとリバースプロキシの違いを図解。nginx・Cloudflareの位置付けも理解しよう。

入門10分2026.05.02 Network

ポート番号入門 - ウェルノウンポートと動的ポート

0-1023のウェルノウンポート、1024-49151の登録済みポート、49152-65535の動的ポートを理解し、主要ポート番号を覚えよう。

入門10分2026.05.02 Network

BFF とは何か - ブラウザには Cookie、サーバ間では JWT

BFF はフロントエンド専用のバックエンドです。ブラウザにJWTを渡さず、HttpOnly CookieでBFFへアクセスする認証構成を解説します。

初級11分2026.06.14 JWTAuth

CSRF とは何か - Cookie が自動送信されることの副作用

CSRF は、Cookie がブラウザから自動送信される性質を利用した攻撃です。SameSite、CSRFトークン、Origin検証の基本を解説します。

初級10分2026.06.14 Security

JWT を localStorage に置くなと言われる理由

JWT を localStorage に保存すると、XSS時にBearer Tokenとして盗まれ、攻撃者がAPIを使える可能性があります。Cookieとの違いも整理します。

初級11分2026.06.14 JWTAuth

OAuth と OIDC の違い - ログインと権限委譲を分けて理解する

OAuth は権限委譲、OIDC はログイン認証のための仕組みです。Googleログインや外部API連携で混乱しやすい違いを解説します。

初級9分2026.06.14 OAuthAuth

SameSite Cookie とは何か - Lax / Strict / None の違い

SameSite Cookie の Lax、Strict、None の違いを、CSRF対策とサードパーティCookie規制の文脈で初心者向けに解説します。

初級9分2026.06.14 HTTP

XSS とは何か - localStorage のトークンが盗まれる理由

XSS の基本と、localStorage に保存したアクセストークンや JWT が盗まれる流れを解説します。HttpOnly Cookie との違いも整理します。

初級10分2026.06.14 JWTSecurity

リポジトリパターン - 保存と取得の詳細を隠す設計

リポジトリパターンの目的、ドメインとの関係、ORMとの違い、テスト容易性、アンチパターンを初学者向けに解説。

基礎2026.06.14

レイヤードアーキテクチャ - 役割ごとにコードを分ける基本設計

プレゼンテーション層、アプリケーション層、ドメイン層、インフラ層の役割と、レイヤードアーキテクチャで注意すべき依存方向を解説。

基礎2026.06.14

関心の分離 - 変更理由が違うコードを混ぜない

関心の分離(Separation of Concerns)の考え方、責務分割、凝集度、結合度、実装での判断基準を初学者向けに解説。

基礎2026.06.14

コンウェイの法則入門 - 組織構造とシステムアーキテクチャの相関

コンウェイの法則の原則、Inverse Conway Maneuver、Team Topologies、マイクロサービスと組織設計の関係を体系的に解説。ソフトウェア設計における組織論の基礎を紹介。

基礎2026.04.10

依存性注入(DI)入門 - 疎結合な設計を実現する基礎技法

依存性注入(Dependency Injection)の原則、Inversion of Controlとの関係、コンストラクタ注入/セッター注入/メソッド注入、DIコンテナの仕組みを実装例とともに体系的に解説。

基礎2026.04.10

NEW OAuth/OIDCログイン後に自サービスのsessionを作る流れ

Googleログインなどの外部認証後に、自サービス側のsessionを発行する理由、state、nonce、callback、Cookie発行、SameSiteで詰まる点を整理します。

中級13分2026.06.27 OAuthAuth

NEW Redisセッションストアの設計 - TTLと複数台構成を理解する

Redisでセッションを管理する場合のkey設計、TTL、sliding expiration、eviction、再起動、複数台アプリサーバー構成の注意点を整理します。

中級13分2026.06.27 RedisAuthInfra

NEW Remember me 機能の設計 - 長期ログインを安全に扱う

ログイン状態を保持するRemember me機能について、通常セッションとの違い、長期トークン、ローテーション、端末別失効、盗難時の対策を整理します。

中級13分2026.06.27 AuthSecurity

NEW SQLクエリを書く速度と品質を上げる

SQLの基本クエリを、正確に、速く、安全に書けるようになるための考え方を、SELECT、JOIN、集計、更新、検証の観点で整理します。

中級11分2026.06.27 SQLDB

NEW セッションテーブル設計 - RDBでログイン状態を管理する

RDBでセッションを管理する場合のsessionsテーブル、expires_at、revoked_at、last_seen_at、端末管理、全端末ログアウト、監査ログを整理します。

中級12分2026.06.27 SQLAuth

NEW セッションとCSRF対策の実装判断

CookieセッションでCSRF対策をどう組み合わせるかを、SameSite、CSRF token、Origin検証、POST logout、API設計の観点で整理します。

中級12分2026.06.27 Security

NEW セッションハイジャック検知 - 怪しいログイン状態をどう見つけるか

セッションID盗難や不正利用を疑うためのIP、User-Agent、地域、端末、再認証、ログ設計、誤検知リスクを整理します。

中級12分2026.06.27 SecurityAuth

NEW セッション固定攻撃とは何か - ログイン時にIDを再発行する理由

Session Fixationの流れ、セッションハイジャックとの違い、ログイン時のセッションID再発行、Cookieスコープ、__Host- Prefixによる対策を整理します。

中級13分2026.06.27 SecurityAuth

NEW テーブル設計とリレーションの実務判断

正規化、主キー、外部キー、多対多、履歴テーブル、制約、インデックスを、壊れにくいテーブル設計の観点で整理します。

中級13分2026.06.27 SQL

NEW ローカルhook・PR CI・main CIの役割分担

pre-commit、pre-push、Pull Request CI、main CIで何を実行すべきかを、速度と品質のバランスから整理します。

中級12分2026.06.27 CI/CD

NEW ログアウト時に何が起きるか - セッション失効の実務

ログアウト時のサーバー側セッション削除、Cookie削除、複数タブ、全端末ログアウト、キャッシュ対策、JWTとの違いを整理します。

中級12分2026.06.27 Auth

NEW ログイン状態が保持される流れ - Cookieセッションの深掘り

ログイン成功後にSet-Cookie、Cookie自動送信、セッションストア照合、期限更新がどう連動するのかを、実務で必要な粒度で整理します。

中級13分2026.06.27 AuthHTTP

NEW 既存データを失わないデータ移行の考え方

スキーマ変更やデータ移行で既存データを失わないために、expand/contract、バックフィル、二重書き込み、検証、ロールバックを整理します。

中級13分2026.06.27 DBSQL

NEW 全エンジニアが身につけたいデータベース力

専門領域を問わず必要になるDB力を、SQL、テーブル設計、データ移行、チューニングの4分野に分けて整理します。

中級12分2026.06.27 DBSQL

Cookie 回帰とは何か - SPA から BFF への認証設計の変化

Cookie 回帰は2005年に戻る話ではありません。ブラウザ境界ではCookie、サーバ間ではJWTという役割分担への整理を解説します。

中級12分2026.06.14 JWTAuth

CORS と Cookie - オリジン・サイト・サードパーティ Cookie の違い

CORS、origin、site、third-party cookie の違いを整理します。SPA、APIサーバ、外部IdPでCookieの扱いが変わる理由を解説します。

中級11分2026.06.14 HTTPAuth

CQRS - 更新と参照を分けて考える設計

CQRS(Command Query Responsibility Segregation)の基本、Command、Query、Read Model、Event Sourcingとの違い、導入判断を解説。

中級2026.06.14

JWT のステートレス性と即時ログアウト問題

JWT は署名検証だけで認証できる一方、ログアウトや強制失効が難しくなります。ブラックリスト、tokenVersion、DBセッションとの違いを解説します。

中級10分2026.06.14 JWTRedis

mTLS と Service Mesh とは何か - サーバ同士の本人確認

mTLS はサーバ同士が証明書で互いを確認する仕組みです。Service Mesh と組み合わせたマイクロサービス間認証の考え方を解説します。

中級9分2026.06.14 Security

Next.js はなぜ BFF と相性がいいのか

Next.js App Router、Route Handlers、Server Actions、Server Components を使うと、ブラウザにトークンを渡さないBFF構成を作りやすくなります。

中級10分2026.06.14 Next.jsAuth

NextAuth / Auth.js で accessToken を session に載せてはいけない理由

Auth.js / NextAuth の jwt callback と session callback の違いを整理し、accessToken を useSession や /api/auth/session に露出させる危険を解説します。

中級11分2026.06.14 JWTAuth

refresh token rotation とは何か

refresh token rotation は、リフレッシュトークンを使うたびに新しいものへ入れ替える仕組みです。漏洩検知と被害抑制の考え方を解説します。

中級9分2026.06.14 OAuthJWTAuth

Server Actions と Cookie 認証 - フォーム送信時に何が起きるか

Next.js の Server Actions で、ブラウザからCookie付きPOSTが送られ、サーバ側でsessionを確認して更新処理を行う流れを解説します。

中級9分2026.06.14 Next.jsAuth

Server Components と認証 - なぜサーバ側で session を読むのか

React Server Components と Next.js App Router で、認証チェックやデータ取得をサーバ側に置く理由を解説します。トークン露出を避ける考え方です。

中級9分2026.06.14 Next.jsAuth

Unit of Workパターン - 変更をまとめて一貫して保存する

Unit of Workパターンの目的、トランザクション、Repositoryとの関係、変更追跡、コミット/ロールバックの考え方を解説。

中級2026.06.14 DB

オニオンアーキテクチャ - ドメインを中心に置く設計

オニオンアーキテクチャの層構造、ドメインモデル、アプリケーションサービス、インフラ実装、依存方向をわかりやすく解説。

中級2026.06.14

クリーンアーキテクチャ - 変更に強い境界設計

クリーンアーキテクチャの依存方向、エンティティ、ユースケース、インターフェースアダプター、フレームワーク層の役割を初学者向けに整理。

中級2026.06.14

ドメイン駆動設計(DDD) - 業務の言葉でソフトウェアを設計する

ドメイン駆動設計(DDD)の基本、ユビキタス言語、エンティティ、値オブジェクト、集約、リポジトリ、境界づけられたコンテキストを解説。

中級2026.06.14

ヘキサゴナルアーキテクチャ - ポートとアダプターで外部依存を分離する

ヘキサゴナルアーキテクチャ(Ports and Adapters)の考え方、入力ポート、出力ポート、アダプター、テストしやすい設計への使い方を解説。

中級2026.06.14

マイクロサービスで JWT が使われる理由

マイクロサービスでは、各サービスが署名検証だけで認証できるJWTが便利です。ただしブラウザにJWTを持たせる必然性とは別問題です。

中級9分2026.06.14 JWTAuthAPI

境界づけられたコンテキスト - 言葉の意味が変わる場所に境界を引く

DDDの境界づけられたコンテキストを、ユビキタス言語、コンテキストマップ、チーム分割、マイクロサービス境界との関係から解説。

中級2026.06.14

MVCC - 多版同時実行制御とスナップショット分離

MVCC(Multi-Version Concurrency Control)の原理、スナップショット分離、PostgreSQL・MySQL・Oracle等での実装例、ロック競合の回避手法を解説。

中級10分2026.04.24 DB

Write-Ahead Log - WAL による耐障害性とクラッシュリカバリ

Write-Ahead Log(WAL)の原理、REDO/UNDOログ、チェックポイント、PostgreSQL・SQLite・Kafka等での実装例を解説。データベースの耐障害性を支える基盤技術を体系的に紹介。

中級10分2026.04.24 DBInfra

コンシステントハッシュ法 - 分散キャッシュ・データベースの負荷分散

コンシステントハッシュ法の原理、仮想ノード、リバランスの最小化、DynamoDB・Cassandra・memcached等での実装例を解説。分散システムにおける効率的なデータ分配の基礎を体系的に紹介。

中級10分2026.04.24 DBInfra

バックプレッシャー - 過負荷制御とフロー制御のパターン

バックプレッシャー(Backpressure)の原理、Reactive Streams・TCP・HTTP/2等での実装、キュー飽和対策、RxJS・Akka Streams等での実装例を解説。

中級10分2026.04.24 Infra

ブルームフィルタ - 確率的データ構造による高速存在判定

ブルームフィルタの原理、偽陽性率の計算、ハッシュ関数の選択、Cassandra・HBase・Chrome等での実装例を解説。メモリ効率の高い集合判定の基礎を体系的に紹介。

中級10分2026.04.24 Infra

結果整合性 - Eventual Consistency と BASE 特性

結果整合性(Eventual Consistency)の原理、ACID vs BASE、Read-Your-Writes・Monotonic Reads等の一貫性レベル、DynamoDB・Cassandra での実装例を解説。

中級10分2026.04.24 DB

CAP定理入門 - 分散システムの一貫性・可用性・分断耐性

CAP定理の原則、Consistency/Availability/Partition Toleranceのトレードオフ、PACELC拡張、CP型/AP型データベースの選定基準を解説。分散システム設計の基礎を体系的に紹介。

中級2026.04.10 DB

オブザーバビリティの3本柱入門 - メトリクス・ログ・トレースで本番を見通す

オブザーバビリティの3本柱(メトリクス・ログ・トレース)の基本概念・違い・実装方法を解説。OpenTelemetryを使った計装、相関、SLO設計まで詳しく紹介。

中級2026.04.10

サーキットブレーカーパターン入門 - 障害伝播を防ぐ分散システムの守護者

サーキットブレーカーパターンの動作原理・状態遷移・実装方法を解説。マイクロサービスにおける連鎖障害を防ぎ、システムのレジリエンスを高める設計手法を詳しく紹介。

中級2026.04.10

ストラングラーフィグパターン入門 - レガシーを段階的に置き換える戦略

ストラングラーフィグパターンの基本概念・段階的移行戦略・実装方法を解説。リスクを最小化しながらレガシーシステムを安全に近代化する設計手法を詳しく紹介。

中級2026.04.10

バルクヘッドパターン入門 - 障害の隔離によるシステム耐障害性

バルクヘッドパターンの原則、リソース分離の実装方法、スレッドプール/接続プール/セルベース分離の設計を解説。マイクロサービス時代の耐障害性パターンを体系的に紹介。

中級2026.04.10

REST API設計原則 - スケーラブルで保守性の高いAPI設計

REST API設計のベストプラクティスを解説。リソース設計、HTTPメソッド、ステータスコード、ページネーション、バージョニング、エラーハンドリングまで体系的に紹介。

中級2025.12.02 HTTP

モダン開発で使えるデザインパターン実践ガイド - GoF to 2025

GoFデザインパターンから最新のアーキテクチャパターンまで、TypeScript/Pythonでの実装例とともに解説。SOLID原則、依存性注入、リポジトリパターンなど現代的な適用方法を紹介。

中級2025.12.02 TSPython

Edge Functions - エッジコンピューティングの実践

Edge Functionsの仕組み、主要プラットフォーム、ユースケース、制約と最適化手法を解説。低レイテンシーなサーバーレス実行を理解する。

中級15分2025.01.21 Infra

APIセキュリティ - 安全なAPI設計と実装

認証・認可、入力検証、レート制限、CORS設定など、APIセキュリティの重要な要素と実装パターンを解説。OWASP API Top 10対策も紹介。

中級18分2025.01.10 SecurityAPIAuth

CI/CDパイプライン設計 - 継続的インテグレーションとデリバリー

CI/CDパイプラインの設計原則、ステージ構成、ツール選定、ベストプラクティスを解説。GitHub Actions、GitLab CI、Jenkins等の実装パターンを紹介。

中級18分2025.01.10 CI/CDInfra

エラーハンドリングパターン - 堅牢なアプリケーション設計

例外処理、Result型、エラー境界、グレースフルデグラデーションなど、効果的なエラーハンドリングパターンを解説。

中級15分2025.01.10 TS

データベースマイグレーション戦略 - 安全なスキーマ変更

ダウンタイムゼロのマイグレーション、ロールバック戦略、大規模データ移行のベストプラクティスを解説。

中級15分2025.01.10 DB

データモデリング - 効率的なデータベース設計

正規化、非正規化、ER図設計、ドメインモデリングなど、データベース設計の基礎から実践までを解説。

中級17分2025.01.10 DB

パフォーマンス最適化 - Webアプリケーション高速化

フロントエンド・バックエンド・データベースの最適化手法を解説。Core Web Vitals改善、キャッシュ戦略、クエリ最適化の実践的なガイド。

中級20分2025.01.10

フィーチャーフラグ設計 - 安全なリリース戦略

フィーチャーフラグの設計パターン、実装方法、運用ベストプラクティスを解説。LaunchDarkly、Unleash等のツール比較も紹介。

中級15分2025.01.10

ブルーグリーンデプロイメント - ダウンタイムゼロのリリース

ブルーグリーンデプロイメントの仕組み、カナリアリリースとの違い、実装パターン、ロールバック戦略を解説。

中級14分2025.01.10 Infra

ロギングベストプラクティス - 効果的なログ設計と運用

構造化ログ、ログレベル設計、分散トレーシング連携、ログ集約パターンを解説。本番環境でのデバッグを効率化する実践的なガイド。

中級16分2025.01.10

データベースシャーディング - 水平分割でスケールアウト

シャーディングの基本概念、シャードキーの選び方、リバランシング、課題と対策を詳しく解説。

14分2025.12.31 DBInfra

APIゲートウェイ - マイクロサービスの入口を設計

APIゲートウェイの役割、主要機能、BFF、Kong/Envoyの比較を詳しく解説。

13分2025.12.30 APIInfra

サービスメッシュ入門 - Istio/Linkerdで実現する通信制御

サービスメッシュの概念、サイドカーパターン、トラフィック管理、mTLS、主要ツール比較。

15分2025.12.29 Infra

冪等性の設計 - 安全なAPI・処理を実現する

冪等性の概念、実装パターン、冪等性キー、リトライ戦略を詳しく解説。

12分2025.12.28 API

キャッシング戦略 - パフォーマンス最適化の基礎

キャッシュの種類、Cache-Aside、Write-Through、TTL設計、キャッシュ無効化を詳しく解説。

14分2025.12.26

分散トランザクション - 整合性を保つ設計パターン

2相コミット、Sagaパターン、補償トランザクション、結果整合性の実現方法を詳しく解説。

15分2025.12.25 DB

SOLID原則 - オブジェクト指向設計の基礎

単一責任、開放閉鎖、リスコフ置換、インターフェース分離、依存性逆転の5原則を詳しく解説。

16分2025.12.24

非同期プログラミング - コールバック、Promise、async/await

JavaScriptの非同期処理パターン、イベントループ、並行処理と並列処理の違いを詳しく解説。

15分2025.12.23 JS

TCP/IPの仕組み - インターネット通信の基盤を理解しよう

TCP/IPプロトコルスタックの4層モデル、3ウェイハンドシェイク、データの分割と再構築の仕組みを図解で解説。

15分2025.12.18 Network

ロードバランシングの仕組み - 負荷分散でサービスを安定化

ロードバランサーの役割、主要なアルゴリズム、L4/L7の違い、ヘルスチェックの仕組みを詳しく解説。

14分2025.12.18 InfraNetwork

CDNの仕組み - コンテンツ配信を高速化する技術

CDNの基本概念、エッジロケーション、キャッシュ戦略、主要プロバイダーの特徴を詳しく解説。

13分2025.12.16 Network

HTTPSの仕組み - なぜ通信が安全なのか

SSL/TLSの暗号化プロセスを図解で解説。公開鍵暗号と共通鍵暗号の使い分けを理解しよう。

10分2025.12.15 SecurityNetwork

データベースレプリケーション - 可用性とスケーラビリティの実現

マスター・スレーブ構成、同期・非同期レプリケーション、フェイルオーバーの仕組みを詳しく解説。

15分2025.12.15 DBInfra

APIバージョニング戦略 - 後方互換性を保つ設計

URLパス、ヘッダー、クエリパラメータによるバージョニング手法と、互換性を保つためのベストプラクティス。

12分2025.12.14 API

JWTの仕組み - トークンベース認証を理解しよう

JSON Web Tokenの構造、署名の仕組み、アクセストークンとリフレッシュトークンの使い分けを詳しく解説。

12分2025.12.14 SecurityAuth

WebSocketの仕組み - リアルタイム双方向通信を理解しよう

WebSocketのハンドシェイク、フレーム構造、HTTPとの違い、Socket.IOの仕組みを図解で解説。

10分2025.12.13 Network

レート制限の仕組み - APIを保護するアクセス制御

トークンバケット、スライディングウィンドウ等のアルゴリズムと、レート制限の実装パターンを詳しく解説。

14分2025.12.13 APISecurity

DNSの仕組み - ドメイン名がIPアドレスになるまで

名前解決の流れをステップバイステップで解説。キャッシュやTTLの役割も理解しよう。

8分2025.12.12 Network

イベント駆動アーキテクチャ - 疎結合なシステム設計

イベント駆動設計の基本概念、イベントソーシング、CQRS、実装パターンを詳しく解説。

16分2025.12.12 Infra

Twelve-Factor App - クラウドネイティブな設計原則

12の設計原則でスケーラブルで保守しやすいアプリケーションを構築する方法を詳しく解説。

15分2025.12.11

CORSの仕組み - クロスオリジンリクエストを理解する

CORSの基本概念、プリフライトリクエスト、設定方法、よくあるエラーの解決策を詳しく解説。

13分2025.12.10 SecurityNetwork

Dockerコンテナの仕組み - 仮想マシンとの違い

コンテナ技術の基盤となるLinuxの名前空間とcgroupsを解説。なぜ軽量なのかを理解しよう。

12分2025.12.10 Infra

コンテナオーケストレーション - Kubernetes入門

コンテナ管理の自動化、Kubernetesの基本概念、Pod・Service・Deploymentの仕組みを解説。

17分2025.12.09 Infra

Gitの仕組み - バージョン管理の内部構造

コミット、ブランチ、マージの内部動作を解説。オブジェクトデータベースの構造を理解しよう。

15分2025.12.08

SQLとNoSQLの違い - データベース選択の指針

リレーショナルDBとNoSQLの特徴、CAP定理、ユースケース別の選び方を詳しく解説。

15分2025.12.07 DB

暗号化の基礎 - データを守る暗号技術

共通鍵暗号、公開鍵暗号、ハッシュ関数の仕組みと使い分けを詳しく解説。

14分2025.12.06 Security

HTTP/2とHTTP/3 - Webプロトコルの進化

HTTP/1.1からHTTP/2、HTTP/3への進化。多重化、ヘッダー圧縮、QUICの仕組みを解説。

14分2025.12.05 Network

GraphQL vs REST API - 設計思想と選択基準

GraphQLとREST APIの設計思想、メリット・デメリット、パフォーマンス特性を徹底比較。プロジェクトに最適なAPI設計を選ぶための判断基準を解説。

16分2025.12.02 APIGraphQL

OAuth 2.0とOpenID Connectの仕組み - 認証・認可の設計原則

OAuth 2.0の4つのグラントタイプとOpenID Connect(OIDC)の仕組みを徹底解説。PKCEやトークン管理、セキュリティベストプラクティスも網羅。

18分2025.12.02 AuthSecurityAPI

Webセキュリティベストプラクティス - OWASP Top 10対策

OWASP Top 10の脆弱性とその対策を徹底解説。XSS、SQLインジェクション、CSRF、認証・認可の実装パターンまで、開発者が知るべきセキュリティ対策を網羅。

20分2025.12.02 SecurityAuthAPI

データベースインデックスの仕組みと最適化 - クエリ高速化の原則

B-Tree、Hash、GINインデックスの仕組みから、複合インデックスの設計、実行計画の読み方、アンチパターンまで。PostgreSQLを例にインデックス最適化を徹底解説。

22分2025.12.02 DBPostgreSQL

マイクロサービスアーキテクチャ入門 - 設計原則と実装パターン

マイクロサービスの設計原則、通信パターン、データ管理、障害対策を徹底解説。モノリスとの比較やサービス分割の判断基準、実践的なベストプラクティスを紹介。

20分2025.12.02 Infra

監視とオブザーバビリティ - システムの健全性を可視化

メトリクス、ログ、トレースの3本柱。Prometheus、Grafana、分散トレーシングを解説。

15分2025.12.02 Infra
PR
PR
PR
PR