CATEGORIES · 01 / 05

Engineering

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

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

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

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

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

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

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

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

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

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

2026年5月9日 20:03
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日 20:03
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日 19:36
Rails 6.1 から 8.1 への移行メモ
Engineering

Rails 6.1 から 8.1 への移行メモ

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

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

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

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

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

ActiveModelSerializers の代替を探した記録

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

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

RSpec の shared_examples を最小に保つ理由

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

2025年7月22日 20:00
Ridgepole 運用のチーム共有チェックリスト
Engineering

Ridgepole 運用のチーム共有チェックリスト

Rails migrations を捨てて Ridgepole で運用する選択は強力だが、チームで使うとハマる場所が決まっている。事前に共有すべき 6 項目。

2025年7月8日 14:30