ブログ

Criticalが4件並んだ日にやったこと
朝、通知を見たらCriticalが4件並んでいました。どれも同じ相手、Next.js本体です。 この日にやったことを順に書きます。結論から言うと、上げました。ただ、上げる前にやったことのほうが本題です。 この記事で扱うこ […]

生成した画像に、undefinedと書いてあった
記事のアイキャッチは、自分で書いたスクリプトで作っています。タイトルと一言、それに題材に合わせた線画を1枚に組んで、画像として書き出す仕組みです。 連載を続けるために作った5枚を見返したとき、そのうち1枚に「undefi […]

勉強法(3) 調べる場所が決まらない時間
「読めない」「分からない」を、調べられる形まで分解する話です。詰まる場所は毎回ほぼ同じ構造をしていました。

再試行は入れていた。それでもデプロイが落ちた
再試行の処理は、半年前から入れていました。CMSが500を返したら、少し待ってもう一度投げる。3回まで。 それでも、デプロイが落ちました。 この記事で扱うこと 再試行を入れてあったのに効かなかった話です。何が返ってきてい […]

勉強法(2) 測らないと、分かったことにならない
このサイトで実際にやった「確かめ方」を3つ。どれも、確かめていなかったら間違ったまま進んでいたものです。

ソース解説(5) 文字列を自分で組み立てる場所
このサイトで、HTMLを文字列として自分で組み立てている場所は2つあります。RSSフィードとサイトマップです。 画面に出るページは、部品を組み合わせれば勝手に出来上がります。この2つは違います。1行ずつ並べて、最後に文字 […]

細かく刻んでも直らなかった、経路を変えたら一度で通った
記事のアイキャッチ画像を、CMSへ入れる作業をしていました。画像を文字列に変換して、少しずつ送り込む方法です。 ところが、ときどき壊れます。送った文字列と、届いた文字列が違う。 対処として分割をどんどん細かくしていきまし […]

ページを消すとき、一緒に消えるもの
実績とスキルの個別ページをトップページへ統合した。作業はidを付けて2枚消すだけだが、決めることは消すほうに集まっていた。転送・sitemap・アンカーが動かない問題の記録。

ゆっくり読む人ほど、読了にならなかった
読了判定の分母に、フッターや前後記事リンクまで入っていた。本文を読み終えても89.9%。丁寧に読む人ほど読了にならない逆転が起きていた原因と、測ってから直した記録。

長さが合っているのに、中身が壊れていた
画像を分割して送ったら、長さは1文字も違わないのに真っ黒な画像が上がりました。どこで壊れたかを見つけるまでの遠回りと、検証をどこに置くべきかの話です。

測れるもので代用すると、測りたいものから離れる
記事を最後まで読んだ人を数えたいだけでしたが、判定を4回作り直しました。そのたびに別の壊れ方をした経緯と、そもそも何を測ろうとしていたのかを整理します。

順番で決まる名前は、いつか壊れる
用語集の102語に記事からリンクを張ろうとしたら、そのIDが「何番目に出てきたか」で決まっていた。1語足すたびに以降が全部ずれる仕組みを、手書きの対応表に置き換えた話。

よく使うGitコマンドと、それが何をしているか
Gitのコマンドは、覚えるより「いま何がどこにあるか」を掴むほうが早い。作業ツリー・ステージ・履歴という3つの場所を軸に、毎日使うコマンドを何をしているかの説明つきで整理した。resetで作業を消した話と、index.lockで止まった話も含む。

通ったビルドが、何も直していなかった
codegenもビルドもコミットもpushもデプロイも、すべて成功した。それでも直したかったものは1つも直っていなかった。変更が丸ごと消えたことで辻褄が合ってしまい、検査をすり抜けた話と、それを見つけるための確認について。
自分のブログに記事が投稿できない — WAFの誤検知と、渡し方を変える解決
自分のブログに、自分で書いた記事が投稿できなくなりました。 原因はサーバーのWAF(Webアプリケーションファイアウォール)でした。記事の本文に含まれるコードが、攻撃と誤検知されて遮断されていたのです。回避を4種類試して […]
本番公開でつまずいた11のこと — 仕組みから解説
前回、ローカルで作ったサイトを本番公開するまでの記録を書きました。今回はその中で出てきた仕組みを、初めて触る人向けに整理して解説します。 作業記録だけだと「こう直した」で終わってしまい、次に似た場面で応用が効きません。な […]

日本語スラッグの投稿がNext.jsで404になった話
WordPressの投稿スラッグを日本語のままにしていたら、Next.jsの動的ルートで404になった原因と対処法