CATEGORIES · 01 / 05

Engineering

コード、アーキテクチャ、言語と型。手を動かして得た感触を、docs のリズムで残す場所。(16 本)

個人開発の docker-compose.yml をテンプレ化する
Engineering

個人開発の docker-compose.yml をテンプレ化する

半年に 1 度作る Rails + Next.js + MySQL + Redis 構成を、テンプレ化してコピーで動く形に。本番 / 開発の差分は override で。

2026年5月9日
CarrierWave + MiniMagick で OGP / サムネを自動派生する
Engineering

CarrierWave + MiniMagick で OGP / サムネを自動派生する

アップロード 1 枚から OGP / カード / サムネを自動生成する Uploader 設計。WebP 出力、CLS を抑える dimensions、CDN キャッシュ。

2026年5月9日
MySQL FULLTEXT ngram で日本語 AND 検索を実装する
Engineering

MySQL FULLTEXT ngram で日本語 AND 検索を実装する

ngram_token_size / IN BOOLEAN MODE / +演算子。Elasticsearch を使わずに日本語 AND 検索を MySQL だけで完結させる。

2026年5月9日
ISR + Webhook で「公開した瞬間に反映」を作る
Engineering

ISR + Webhook で「公開した瞬間に反映」を作る

Rails 側の publish イベントから Next.js の /api/revalidate に Webhook を投げる。即時反映と CDN 効率を両立する設計。

2026年5月9日
Rails 6.1 → 8.1 のメジャー移行で踏んだ 7 つの罠
Engineering

Rails 6.1 → 8.1 のメジャー移行で踏んだ 7 つの罠

load_defaults / Spring / show_exceptions / unprocessable_content。AetherEchoes バックエンドを 6.1 から 8.1 に上げた実録。

2026年5月9日
Next.js 16 + Tailwind v4 を本番で動かして気付いた N 個のこと
Engineering

Next.js 16 + Tailwind v4 を本番で動かして気付いた N 個のこと

Pages Router + @theme + next/font 7 種で個人雑誌を組んだ実装メモ。CSS 変数の名前空間、フォントの preload 戦略、ISR の落とし穴。

2026年5月9日
Rails 6.1 から 8.1 への移行メモ
Engineering

Rails 6.1 から 8.1 への移行メモ

Rails 6.1 の API-only 構成を 8.1 に引き上げる際に気をつけたポイントを、load_defaults や Spring 廃止など実例で整理します。

2026年4月21日
JSON-LD を Rails で型安全に組み立てる
Engineering

JSON-LD を Rails で型安全に組み立てる

schema.org の JSON-LD を埋めるとき、Hash を直書きすると型がない。dry-struct で構造を持たせる小さな工夫。

2025年9月2日
ActiveModelSerializers の代替を探した記録
Engineering

ActiveModelSerializers の代替を探した記録

AMS のメンテナンス停滞を受けて、Blueprinter / Alba / Panko を比較。AetherEchoes が最終的に AMS を残した理由。

2025年8月12日
RSpec の shared_examples を最小に保つ理由
Engineering

RSpec の shared_examples を最小に保つ理由

shared_examples は便利。だから乱用される。「一度書いたら 5 箇所で使える」は、実は「5 箇所で読めなくなる」の言い換え。

2025年7月22日