トラブルシューティング

アニメーションキューが詰まると何が起きるのか

「操作していないのに後から動く」の正体 どうしてキューが溜まるのか 実際に起きる挙動 さらに深刻なケース パフォーマンスへの影響 `stop()`だけでは足りない理由 `finish()`との違い キューが詰まりやすいUI 根本対策 CSSアニメーションとの違い 最後に …

新人が必ず遭遇するMySQLエラーランキング

新人がハマるMySQLエラーランキング 第7位:Unknown column 第6位:Table doesn't exist 第5位:Duplicate entry 第4位:Lock wait timeout exceeded 第3位:Data too long for column 第2位:Incorrect datetime value 第1位:Cannot add or update a child…

ORMが突然MySQLエラーを出す本当の原因

ORMのエラーはアプリのバグとは限らない なぜ突然起きるのか よく出るエラー1:GROUP BY よく出るエラー2:日付 よく出るエラー3:文字列長 なぜORMで特に起きるのか 実際に起きる誤診 応急処置として行われがちなこと 確認すべき項目 なぜ「突然」起きるの…

MySQLで本番だけSQLが落ちる理由とは

開発では動くのに本番だけ落ちる ― SQLの問題に見えて環境の問題 sql_modeとは何か 典型例:日付カラム 典型例:文字列長 典型例:GROUP BY なぜ本番だけ違うのか もう一つの原因:文字コード なぜ再現しないのか 危険な対応 正しい対処手順 本質的な問題 ま…

MySQL8.0でログインできない原因は認証方式

MySQL8.0にしたらログインできない ― それはパスワードが間違っているわけではない 何が変わったのか ― caching_sha2_password mysql_native_password caching_sha2_password 実際に起きるエラー なぜこんな変更が入ったのか なぜDockerやローカルでは起きな…

SQLが同じでも動かない ― MySQLのバージョン差異

「同じSQLなのに結果が違う」は珍しくない GROUP BYの代表値問題 ORDER BYの並び順が変わる 比較演算の変化(暗黙型変換) 日付の扱い NULLの扱い インデックスの効き方が変わる 文字列長とインデックス なぜこんなことが起きるのか 対策の方向性 まとめ 「…

composer.jsonを雑に書いた結果どうなるか

小さな設定ファイルに見えて、実はプロジェクトの前提条件 よくある最初の書き方 ワイルドカード指定の危険 ^ と ~ の意味を知らない問題 PHPバージョンを書いていない autoloadを設定していない scriptsの誤用 なぜ修正が難しいのか 注意点:lockファイルを…

require-devを本番に入れて事故った話

原因は「余計なライブラリ」だった require と require-dev の違い なぜ本番に入ってしまうのか 実際に起きた症状 セキュリティ上のリスク よくある誤解:require-devは読み込まれない 防止策 デプロイ時のコマンドを固定する composer.lockを必ず使う CIで…

PHPバージョンとComposerのズレで詰んだ話

原因はコードではなく「PHPのバージョン」だった きっかけ:環境移行 実際に起きていたこと なぜinstallで壊れるのか composer.jsonの見落としがちな項目 よくある誤解:Composerが勝手に入れた 解決方法 1. PHPバージョンを確認 2. platform設定を使う 3. …

依存地獄に落ちたComposer体験談

最初は「1つのライブラリを入れるだけ」のはずだった 最初の異変:フレームワークが起動しない 起きていたこと:依存の“連鎖更新” なぜrequireだけで壊れるのか 典型的なエラーメッセージ 解決までにやったこと 依存地獄とは何か 有効だった対処法 注意点:…

「動いてたのに動かなくなった」はComposerのせい?

まず結論:Composerが壊したのではなく「状態が変わった」 「コードを触っていない」は本当に安全か 何が実際に変わっているのか composer.lockが一致していない 本番だけ壊れる理由 環境差異 よくある犯人:間接依存 Composerが疑われる理由 確認すべきポイ…

Composer updateでプロジェクトが壊れた話

何も変更していないのに動かなくなることは本当に起きる その日何が起きたのか 軽い気持ちで実行したコマンド 実際に起きていたこと 間接依存が最も危険 なぜinstallでは起きないのか よくある誤解:updateは安全なメンテナンスではない 実際の復旧手順 なぜ…

Composerキャッシュが原因でハマる典型パターン

Composerキャッシュとは何か よくあるハマり方その1:バージョンを上げたはずなのに変わらない よくあるハマり方その2:CIだけ落ちる よくあるハマり方その3:privateリポジトリの更新が反映されない 実際にやるとこうなる:キャッシュクリアで一発解決 キャ…