Blog
記事一覧
開発で試したことや、手順を整理した記事をまとめています。
条件に合う記事はありません。
-
FlutterのTabBarとBottomNavigationBarで複数画面を切り替える
Flutter の BottomNavigationBar と TabBar を最小例で整理し、Navigator と役割で切り分けながら複数画面を設計できるようにする。
-
Flutterのダイアログ・スナックバー・ボトムシートを使う(確認・通知UIの基本)
Flutter の Dialog・SnackBar・BottomSheet を最小例で整理し、確認 UI と通知 UI を場面に応じて選べるようにする。
-
FlutterのListViewとGridViewで一覧画面を作る(基本パターン)
Flutter の ListView・ListView.builder・GridView.count を最小例で整理し、一覧画面を縦リストかグリッドで組み始める判断基準を持てるようにする。
-
FlutterのContainerとSizedBoxを使いこなす(余白・サイズ・装飾の基本)
Flutter の SizedBox・Padding・Container を最小例で整理し、余白・サイズ・装飾をどこへ書くか判断できるようにする。
-
FlutterでMediaQueryとLayoutBuilderを使って画面サイズに対応する(スマホ・タブレット両対応)
Flutter の MediaQuery と LayoutBuilder を最小例で整理し、スマホでは 1 カラム、幅が広い端末では 2 カラムや 2 ペインへ切り替える判断基準を持てるようにする。
-
Flutterのテーマ設計入門(ThemeData + Theme Extension)
Flutter の ThemeData と ThemeExtension を最小例で整理し、標準テーマと業務固有トークンの置き場を判断できるようにする。
-
Flutterのレイアウト入門(Column / Row / Stack の使い分け)
Flutter の Column / Row / Stack を最小例で整理し、RenderFlex overflow の原因と Expanded / Flexible の使い分けまで判断できるようにする。
-
FlutterでBuildContextとKeyを理解する
Flutter の BuildContext と Key を最小例で整理し、Widget ツリー上の位置と並び替え時の state 対応付けを判断できるようにする。
-
FlutterのWidgetライフサイクル入門(initState / dispose で詰まらないために)
Flutter の StatefulWidget で initState / build / dispose の役割を最小例で整理し、初回読込の置き場と Controller の後始末で迷わないようにする。
-
DartのStream入門(非同期データの流れをつかむ)
Dart の Stream を Flutter の文脈で整理し、StreamController・listen・await for・StreamBuilder の最小例を通して非同期データの流れを読めるようにする。
-
Flutterで最初に詰まりやすいDartの書き方:final・const・null safety・async/await を最初に整理する
Flutter のサンプルコードで止まりやすい final / const・null safety・named parameters・async/await・build 内の collection if / for の読み方を、最初の1本向けに整理する。
-
Flutterで画像・SVG・アイコンを管理する(flutter_gen最小構成)
Flutterで flutter_gen を最小導入し、PNG 画像、SVG イラスト、SVG アイコンを型安全に参照する流れを 1 本で確認できるようにする。
-
Flutter + FVM で開発環境のバージョンを固定する
Windows 11 の Flutter 環境に FVM を追加し、プロジェクトごとに Flutter SDK を固定して `fvm flutter run` まで確認できるようにする。
-
Windows 11で始めるFlutter開発環境:Android Emulatorで動かすまで
Windows 11でFlutter SDKとAndroid StudioとVS Codeをそろえ、Android Emulatorで最初のFlutterアプリを動かす。
-
モダンPHP再入門
PHP 5 / 7 時代のつらさが、型宣言や enum、PHPStan でどう変わったかを再入門向けに整理する。
-
GitHub Actionsで docker compose を使うPHP CI(PostgreSQL付き)
ローカルの Docker Compose 構成をそのまま GitHub Actions に載せ、PostgreSQL 付き PHPUnit を CI で再現できるようにする。
-
PHP + Docker で非同期ジョブを動かす最小構成(PostgreSQL キュー)
PHP と Docker で PostgreSQL キュー用の常駐ワーカーを作り、起動、停止、並列実行、取り残し確認の入口までを最小構成で整理する。
-
Docker初心者向け: Dockerfile の中身を上から読む――FROM / WORKDIR / COPY / RUN / CMD
Dockerfile の FROM / WORKDIR / COPY / RUN / CMD を最小 PHP サンプルで読み解き、既存 Dockerfile の確認順と修正判断を安定させる。
-
Docker初心者向け: compose.yml の中身を1項目ずつ読む入門――services / ports / volumes / environment
compose.yml の services / ports / volumes / environment / command を最小 PHP サンプルで読み解き、既存の Docker 構成を上から確認できるようにする。
-
Docker初心者向け: compose.yml と Dockerfile の違いを最小構成で理解する
compose.yml と Dockerfile の責務分担を最小 PHP サンプルで整理し、ポート・環境変数・マウント・PHP拡張をどちらへ書くか判断できるようにする。
-
PHPStan レベルを上げる実践ガイド(レベル5→8 の壁を越える)
level 5 が通る PHPStan 設定を、missing typehints・union type・nullable access を順に直しながら level 8 まで引き上げる。
-
PHPUnitでテストダブル入門(モック / スタブ最小構成)
外部APIとメール送信を PHPUnit のスタブ / モックで置き換え、何を本物のまま残すべきかを最小例で判断できるようにする。
-
PostgreSQLのstuck job回収設計(timeout / reclaim / 再実行の安全な流れ)
PostgreSQL のジョブキューで processing のまま残った job を、timeout 判定・reclaim 条件・再実行の安全策まで含めて整理する。
-
PostgreSQLのマイグレーション設計(列追加・データ移行・切り替えの安全な流れ)
既存テーブルに新しい列を追加し、backfill と整合性確認を経て安全に read/write を切り替える PostgreSQL migration の順番を整理する。
-
PHP + PostgreSQLでジョブキューを作る(FOR UPDATE SKIP LOCKED 最小構成)
PHP(PDO)から PostgreSQL のテーブルをジョブキューとして使い、`FOR UPDATE SKIP LOCKED` で複数ワーカーから安全に 1 件ずつ取る流れと最小リトライを再現する。
-
PHP + PostgreSQLで在庫引当を安全に実装する(SELECT ... FOR UPDATE 最小構成)
PHP(PDO)から在庫引当の二重処理を再現し、`SELECT ... FOR UPDATE` で防ぐ流れと PostgreSQL の待ち方を最小構成で確認する。
-
EXPLAIN ANALYZEの結果から改善策を選ぶ(Sort / Join / Aggregate ごとの打ち手)
EXPLAIN ANALYZE の Sort / Join / Aggregate を見て、まずどこを疑い、どの改善策から当たるかを SQL と実行計画の例で整理する。
-
遅いSQLをどう見るか(EXPLAIN ANALYZEでボトルネックを読む)
PostgreSQL の遅い SQL を EXPLAIN ANALYZE で観察し、rows / actual time / loops を手掛かりに sort / join / aggregate のどこが詰まっているかを読む順番まで整理する。
-
PostgreSQLのインデックス入門(B-tree と EXPLAIN ANALYZE の最小例)
PostgreSQL で B-tree インデックスを作る最小例を通して、Seq Scan と Index Scan の違いを EXPLAIN ANALYZE で確認し、効く条件と効かない条件の入口まで整理する。
-
PostgreSQLのトランザクション入門(BEGIN / COMMIT / ROLLBACK と同時更新)
PostgreSQL の `BEGIN` / `COMMIT` / `ROLLBACK` を送金デモで確認し、同時更新で `BEGIN` だけでは足りない場面まで `psql` で再現する。
-
PostgreSQLの外部キーと削除ルールを整理する(CASCADE / RESTRICT / SET NULL)
PostgreSQL の外部キーで `CASCADE` / `RESTRICT` / `SET NULL` をどう使い分けるかを、3 つの削除例と Mermaid 図で整理する。
-
PostgreSQLの制約入門(PRIMARY KEY / UNIQUE / CHECK / FOREIGN KEY)
PostgreSQL の `PRIMARY KEY` / `UNIQUE` / `CHECK` / `FOREIGN KEY` が何を守る制約かを、小さな受注スキーマの失敗例で整理する。
-
PostgreSQLでER図からテーブル設計する(Mermaid + CREATE TABLE最小構成)
Mermaid の ER 図から PostgreSQL の最小 `CREATE TABLE` を組み立て、4 表の関係を `psql` で確認する手順を整理する。
-
PHP + PhpSpreadsheet でExcel帳票を出力する(テンプレート方式)
既存のExcelテンプレートを読み込み、固定セルと準備済み明細行へ値を埋めて `.xlsx` をダウンロードする最小構成を理解できる。
-
PHPでMCPサーバー実践編(複数Tool + 入力スキーマ + ログ出力)
公式PHP SDKで複数 Tool を持つ MCP サーバーを作り、入力スキーマ・失敗レスポンス・STDERR ログを実装する流れを理解できる。
-
PHPでMCPサーバー入門(公式PHP SDK + STDIO)
公式PHP SDKを使って最小のMCPサーバーを作り、STDIOとInspectorで動作確認する。
-
PHPからローカルLLMを呼ぶ最小構成(Ollama + HTTP + JSONレスポンス処理)
Ollama のローカル API を PHP から呼び、Qwen3.5 の軽量 4B モデルに対する最小リクエスト、JSONレスポンスの取り出し、タイムアウトと失敗時処理を理解できる。
-
AI生成コードのレビュー観点チェックリスト
品質ゲート通過後のAI生成コードに対して、人間レビューで確認したい観点を整理する。
-
AI生成コードを受け入れる最小品質ゲート(PHPStan + PHPUnit + CS Fixer)
AI生成コードを人間レビュー前にふるいにかける最小品質ゲートを、PHPStanとPHPUnitとPHP CS Fixerで構成する。
-
AI 生成コードとの付き合い方 — 受け入れる基準と捨てる基準
AI生成コードを受け入れる・書き直す・捨てるの3段階で判断する基準を整理する。
-
「動いた」で終わるコードと、「また触れる」コードの違い
「動いた」で終わるコードと「また触れる」コードの差を、命名・副作用・失敗時の見え方から整理する。
-
PHPをいまから始めるのは遅いのか?
PHPをいま学ぶ意味がある目的と、先に別言語が向きやすい目的を整理する。
-
Slim 4 + PostgreSQLで認証付きREST APIを作る(JWT最小構成)
Slim 4 と PostgreSQL を使い、JWT 認証付き REST API の最小構成を register / login / me の 3 本で再現できる。
-
Slim 4で最小JSON APIを作る(routing + DI + error handling)
WSL2とDocker環境でSlim 4の最小JSON APIを作り、正常系と失敗時のJSON応答まで確認する。
-
LaravelでInertia + React を始める
Laravel 13 の fresh app に Inertia.js と React を導入し、middleware、root template、React 側の入口、Book 一覧ページまで独立構成で確認する。
-
LaravelでInertia + Vue.js を始める
Laravel 13 の fresh app に Inertia.js と Vue 3 を導入し、middleware、root template、Book 一覧ページまで独立構成で確認する。
-
LaravelでBlade / Livewire / Inertia をどう使い分けるか
Laravel 13 の共通ベース app に同じ Book 一覧の Blade / Livewire / Inertia ページを足し、責務の違いと選び分けを整理する。
-
LaravelでSanctum認証APIを作る
Laravel 13 の fresh app に Sanctum を導入し、login で token を発行して認証付き Book API を作る手順をまとめる。
-
LaravelでLivewire一覧画面を作る(検索・並び替え・ページネーション)
Laravel 13 の fresh app に Livewire 4 を追加し、検索・並び替え・ページネーション付き一覧画面を独立構成で作る。
-
LaravelでLivewireを始める
Laravel 13 の fresh app に Livewire を追加し、Blade へ component を差し込んで wire:model、wire:click、wire:submit を確認する。
-
Laravelで検索・並び替え・ページネーション付き一覧を作る
Laravel 13 の fresh app から Book 一覧を作り、title 検索、sort 切り替え、ページネーションを Blade と withQueryString() で確認する。
-
Laravelでリレーションを扱う(User / Book / Category の基本)
Laravel 13 の fresh app で User / Book / Category の hasMany と belongsTo を作り、外部キー migration、一覧表示、N+1 を避ける with() の基本まで確認する。
-
Laravelでファイルアップロードを扱う(Storage + validation)
Laravel 13 で画像と PDF のファイルアップロードを作り、Storage の public disk、validation、一覧表示までを最小構成でつなげる。
-
Laravelでスケジューラを動かす(Command + Scheduler 最小構成)
Laravel 13 の fresh app で Artisan Command と Scheduler を最小構成でつなぎ、routes/console.php、schedule:list、schedule:run、ログ確認まで手元で再現する。
-
LaravelでQueueを始める(database queue + worker 最小構成)
Laravel 13 の新規プロジェクトで database queue を最小構成で試し、dispatch()、jobs テーブル、queue:work、queue_runs 履歴の流れを welcome 画面だけで確認する。
-
Laravelで認可を入れる(Policyで自分の本だけ編集できるようにする)
Laravel 13 の Book CRUD に Policy と user_id を追加し、自分の本だけ編集 / 削除できる認可の最小形を作る。
-
Laravelで認証を足す(Breeze 最小導入)
Laravel 13 の既存 Book CRUD に Breeze を追加し、register / login / logout と auth middleware でログイン必須アプリへ進める。
-
Laravelで品質ゲートを敷く(PHPUnit / Larastan / Pint / GitHub Actions)
Laravel 13 の最小 CRUD に Feature Test、Larastan、Pint、GitHub Actions を足し、ローカルと CI で回る最小品質ゲートを作る。
-
Laravelで最小CRUDを作る(一覧 / 作成 / 編集 / 削除)
Laravel 13 で本管理の最小CRUDを作り、一覧 / 作成 / 編集 / 削除と validation の戻り方を SQLite 付きで一通りつなげる。
-
Laravel入門(Route / Controller / View / Model 最小構成)
Laravel 13 の最初のプロジェクトを Docker だけで作り、Route / Controller / View / Model を SQLite 付きで一通りつなげる。
-
Laravel 13のStarter Kitsで認証付きアプリを始める
Laravel 13 の Starter Kits を公式 docs ベースで整理し、空ディレクトリから Livewire Starter Kit を使って認証付きアプリを始める手順をまとめる。
-
WSL2 + Docker + PHP + PostgreSQLで最小CRUDを作る
WSL2とDocker上で生PHPとPostgreSQLを使った最小CRUDを作り、DB付きアプリの流れを確認する。
-
Windows 11でPHP 8.3/8.4/8.5を使い分ける環境構築(WSL2 + mise + Docker Compose)
Windows 11のWSL2環境でPHP 8.3と8.4と8.5を安全に切り替えるためのローカル運用手順をまとめる。
-
PHPUnitでDBテストを始める(PostgreSQL + Docker)
PostgreSQLを使ったPHPのDBテストを最小構成で作り、失敗から安定化までの流れを確認する。
-
GitHub ActionsでPHPUnit / PHP CS Fixer / PHPStanを回す最小CI
ローカルで通しているPHPの品質チェックをGitHub Actionsに載せる最小CIを構築する。
-
VS Code + Xdebugでステップ実行入門(WSL2 + Docker)
WSL2とDockerのPHP環境でXdebugを使ったステップ実行を最短で再現する。
-
PHPStan入門(最初のエラー1件を直す)
WSL2とDocker環境でPHPStanを最小導入し、最初のエラー1件を直して解析0件まで進める。
-
VS CodeでPHPコード整形をそろえる(EditorConfig + PHP CS Fixer最小導入)
VS CodeでPHPのコード整形ルールをそろえるために、EditorConfigとPHP CS Fixerの最小構成を作る。
-
AI時代でもPHPを選ぶ理由。向いている領域と向かない領域を整理する
AI時代にPHPを選ぶ判断軸と、向いている領域・向かない領域を実務目線で整理する。
-
Windows 11で始めるPHPローカル開発環境(WSL2 + Docker + PostgreSQL)
Windows 11のWSL2とDockerとPostgreSQLを使って、PHPのローカル開発環境を最小構成で作る。
-
VS Codeで始めるPHP開発環境(推奨拡張 + settings.json最小構成)
WSL2とDockerを前提に、VS CodeでPHP開発を始めるための最小拡張とsettings.jsonをそろえる。
-
PHPUnit入門(最初のテスト1本)
WSL2とDocker環境でPHPUnitを最小導入し、最初のテスト1本を失敗から成功まで通す。
-
Slim Framework 4 を使った業務Webアプリ導入ガイド(PHP 8.2+)
Laravel経験者向けに、Slim Framework 4で業務Webアプリのバックエンド構成を組み立てる入口を整理する。