エラー解決

Java

【Java】ログ出力の基本(java.util.logging・SLF4J)を中級者向けに解説

こんにちは、かつコーチです。「本番環境で不具合が起きたのに、System.out.println()をどこにも仕込んでいなくて原因が追えない」という経験はありませんか。今回は、Javaの標準ログ機能java.util.loggingと、実務...
Java

【Java】IDEのブレークポイントを使ったJavaデバッグの基本

こんにちは、かつコーチです。バグの原因を探すときに、System.out.println()を大量に埋め込んでは消す、を繰り返していませんか。今回は、IntelliJ IDEAを例に、デバッガ(プログラムを一時停止させながら内部状態を確認で...
Java

【Java】StackOverflowErrorとOutOfMemoryErrorの原因と対処法

こんにちは、かつコーチです。「例外(Exception)は分かるけど、Errorが出るとどう対処していいか分からない」という声をよく聞きます。今回は代表的な2つのError、StackOverflowErrorとOutOfMemoryErr...
Java

【Java】ClassCastExceptionの原因と対処法を中級者向けに解説

こんにちは、かつコーチです。「コンパイルは通ったのに、実行するといきなりClassCastExceptionで落ちた」という経験はありませんか。今回は、キャスト(型変換)にまつわる実行時エラーの原因と、安全に防ぐ方法を整理します。Class...
JavaScript

【jQuery】よくあるエラーと解決法まとめ($ is not defined等)

こんにちは、かつコーチです。「jQueryのコードを書いたのに、コンソールに赤いエラーが出て動かない…」という経験は、jQueryを触り始めた人の多くが通る道です。コンソールとは、ブラウザの開発者ツールでエラーやログを確認できる画面のことで...
Java

【Spring Boot】Spring BootでSLF4Jのログ出力を整える方法を中級者向けに解説

こんにちは、かつコーチです。Spring Bootは標準でSLF4J(Simple Logging Facade for Java、複数のログ実装を統一的なAPIで扱えるファサード)とLogbackの組み合わせを内蔵しています。そのためbu...
Java

【Spring Boot】Lombokで冗長なコードを減らす使い方を初心者向けに解説

こんにちは、かつコーチです。EntityやDTOを作るたびに、getter・setter・コンストラクタを手打ちしていて「これ絶対もっと楽にできるはず」と感じたことはありませんか。Lombokとは、アノテーションを付けるだけでgetter・...
Java

【Spring Boot】Spring Bootの循環参照エラーの原因と解決法を中級者向けに解説

こんにちは、かつコーチです。サービスクラスを増やしていくと、ある日突然アプリが起動しなくなり、BeanCurrentlyInCreationExceptionという見慣れないエラーに出会うことがあります。これは循環参照(AがBに依存し、Bが...
Java

【Spring Boot】よくあるSpring Bootのエラーまとめ(BeanCreationException等)を初心者向けに解説

こんにちは、かつコーチです。Spring Bootを始めたばかりの頃は、mvn spring-boot:runや./gradlew bootRunを叩いた瞬間に真っ赤なスタックトレースが流れてきて、心が折れそうになった経験がある人も多いと思...
Java

【Java】NullPointerExceptionの原因と防ぎ方を初心者向けに解説

こんにちは、かつコーチです。Javaを書いていて一度は必ず遭遇するのがNullPointerExceptionではないでしょうか。通称「ぬるぽ」とも呼ばれるこのエラーは初心者だけでなく実務でも頻発します。今回は発生の仕組みと防ぎ方を整理しま...
Java

【Java】よくあるコンパイルエラーの読み方を初心者向けに解説

こんにちは、かつコーチです。Javaを書き始めたばかりの頃、真っ赤なエラーメッセージを見て「何を言っているのか分からない」と手が止まった経験はありませんか。今回は、初心者がつまずきやすいコンパイルエラー(ソースコードを.classファイルに...
JavaScript

【React】Reactアプリのパフォーマンスチューニング入門

こんにちは、かつコーチです。前回は「React DevToolsでコンポーネントの状態を確認する方法」を解説しました。今回は、DevToolsのProfilerタブで見つけた「重い箇所」を実際にどう改善していくか、パフォーマンスチューニング...
JavaScript

【React】React DevToolsでコンポーネントの状態を確認する方法

こんにちは、かつコーチです。前回は「無限re-renderが起きる原因と対処法」を解説しました。console.logを無限ループの中に埋め込んで原因を追う方法もありますが、正直かなり効率が悪いです。今回は、そういったバグ調査を格段に楽にし...
JavaScript

【React】無限re-renderが起きる原因と対処法

こんにちは、かつコーチです。前回は「keyがありません」警告を取り上げました。今回は、React学習者の多くが一度は通る「画面がフリーズする」「コンソールが真っ赤になる」という無限re-renderを扱います。Maximum update ...
JavaScript

【React】「keyがありません」警告の意味と対処法

こんにちは、かつコーチです。前回は「Reactでよく出るエラーと解決法まとめ」で、代表的なエラーを一通り見てきました。今回からは、個別のつまずきポイントをひとつずつ深掘りしていきます。1本目のテーマは、リストを表示するコードを書くとほぼ必ず...
Django

【Django】shell_plusを使いこなすデバッグ術

こんにちは、かつコーチです。Djangoには標準でpython manage.py shellというコマンドがありますが、実際に使ってみると「モデルを毎回importするのが面倒」と感じたことはないでしょうか。筆者もこの手間が地味にストレス...
Django

【Django】DoesNotExist例外で落ちる画面を防ぐ方法

こんにちは、かつコーチです。「開発中は普通に動いていたのに、本番で存在しないIDにアクセスされたら500エラー画面になった」という経験はありませんか。筆者も実際に、URLの数字を適当に書き換えてアクセスされただけでサーバーエラーになるサイト...
Django

【Django】makemigrationsが競合して困った話と対処法

こんにちは、かつコーチです。チーム開発でDjangoを使っていると、ある日突然マイグレーションが動かなくなることがあります。筆者はチームで開発していたとき、自分のブランチでgit pullした直後にmigrateを実行したら、見たことのない...
Django

【Django】Djangoでよく出るエラーと解決法まとめ

こんにちは、かつコーチです。Djangoを学び始めると、赤い画面いっぱいに英語のエラーメッセージが表示されて、何をどう直せばいいのか分からなくなることがよくあります。筆者自身、最初の1ヶ月は「エラー画面が出るたびにコピペで検索する」を繰り返...
Laravel

【Laravel】Laravelのパフォーマンスチューニング入門

こんにちは、かつコーチです。前回は外部APIとの連携方法を解説しました。今回は、実装したアプリケーションが「遅い」と感じ始めたときに見直すべき、Laravelのパフォーマンスチューニングの基本を扱います。やみくもにキャッシュを増やすのではな...