テーマから探す
新着記事
-
AIで作ったアプリを公開する手順|Cloudflareなら費用はドメイン代だけ
Claude Code や ChatGPT などの AI を使えば、アプリを「作る」ハードルは劇的に下がりました。でも作ったアプリをローカルに置いたままにしていませんか? 実は公開のハードルも同じくらい下がっていて、かかる費用はドメイン代(年1,000〜2,000円ほど)... -
ダークモードは色の反転ではない|自分のパレットで試したら2色とも落ちた
このブログの色をそのままダーク面に置いて実測したら、リンクも補助テキストも基準を割りました。影・罫線・白背景の画像など、暗さで作っていた表現が使えなくなる問題と対処をまとめます。 -
JWTはログアウトできない|実際に発行して中身を見た
JWTを実際に発行してペイロードを覗き、改ざんを検証しました。セッションとの違いは「状態をどこに置くか」だけで、そこから失効できるかが決まります。選び方と保存先まで整理します。 -
画像をWebP化したら75MBが6.6MBになった|移行手順と落とし穴
ブログの画像289ファイル75.69MBをWebPに移行して6.61MB(91.3%減)にした記録。同じ画像をPNG/JPEG/WebP/AVIFで実測した比較と、1枚だけJPEGが残ったせいでXのリンクカードが壊れた事故の顛末をまとめます。 -
管理画面のテーブルとダイアログを作り直す|毎日触る人のためのUI
同じデータのテーブルと削除確認ダイアログを、Before/Afterで作り比べました。数値の揃え方、列の並び、確認ダイアログに書くべき4つ、フォームの検証タイミングまでまとめます。 -
241行のログのうち239行が同じ警告だった|構造化とリクエストID
自分の環境のPHPエラーログを開いたら、5か月分241行のうち239行が同じ警告でした。ノイズの問題から始めて、構造化ログとリクエストIDで「後から取り出せるログ」にする方法をまとめます。 -
ErrorBoundaryが捕まえたのは5つ中2つだった|実際に壊して確かめた
ReactのErrorBoundaryが実際にどこまで捕捉するか、5通りの壊し方で検証しました。捕まえたのは2つだけで、実務でよく起きる3つは素通りします。取りこぼしを拾う設計までまとめます。 -
日本語Webフォントは「必要な分だけ」読まれない|4ページ測った結果
Google Fontsのunicode-range分割は日本語で本当に効くのか、自分のブログの4ページで測りました。文字種は2.8倍違うのに、読み込まれたフォントは1バイトも変わりませんでした。 -
ジョブキューは同じ処理が2回走る前提で書く|冪等性を実際に試した
キューは「少なくとも1回」配信します。冪等キーなしで同じメッセージが2回届くと何が起きるかを実際に動かし、バックオフのジッタ、デッドレターキューの運用までまとめます。 -
React.memoを貼っても再レンダリングは減らなかった|500個で実測
React 18で子コンポーネント500個を並べて再レンダリング回数を実測しました。memoを貼っただけでは5,000回のまま変わらず、useCallbackで参照を固定して初めて0回になりました。 -
自分のサイトの配色を全部測ったら3組落ちた|直すもの・直さないもの
ブログで使っている色の組み合わせ12通りをWCAGの式で実測しました。3組が基準を下回りましたが、そのうち直したのは1つだけです。何を基準に判断したかをまとめます。 -
複合インデックスは列順で4倍変わる|50万行で実測したEXPLAINの読み方
MySQLに50万行のテーブルを作り、クエリを変えずにインデックスだけを差し替えて実測しました。列順を間違えると付けていても4倍遅く、列を関数で包むと560倍遅くなります。