Java

【Java】Mavenプロジェクトでログ出力機能としてSLF4J・Logbackを使用する方法

はじめにJava 開発では、ログは障害調査や運用保守の重要機能です。Javaで提供されているログフレームワークは種類が多く、どれを選択するか悩みがちでプロジェクトによっても混在しがちです。そこておすすめがするのが「SLF4J(ログの統一AP...
Java

【Java】例外メッセージの書き方(エラー原因がすぐ分かるメッセージ術)

はじめにJava の例外処理で軽視されがちなのが、例外メッセージの書き方です。Javaで例外処理を書いていると、つい「エラーが発生しました」のように、ざっくりした例外メッセージを書いてしまいがちです。しかし、いざ本番環境で障害が起きたとき、...
Java

【Java】例外チェーン(cause)の使い方(エラーの原因特定)

はじめにJavaで開発していると、例外をキャッチして処理する場面はたくさん出てきます。しかし、ただ例外を捕まえて「新しい例外として投げ直す」だけでは、元々どんなエラーが発生したのか分からなくなってしまうことがよくあります。そんなときに重要に...
Java

【Java】try-with-resourcesの使い方とリソース管理

はじめにJavaでファイル操作やデータベース接続を行う際、リソースの解放(close処理) を忘れてしまうと、システムのパフォーマンス低下やメモリリークを引き起こすことがあります。FileReader や Connection のようなリソ...
Java

【Java】JSONを扱う方法(JacksonとGsonライブラリについて)

はじめにシステム開発でAPI連携や設定ファイルを扱う際、JSON(JavaScript Object Notation) は今や欠かせないデータ形式です。JSONは軽量で人間にも読みやすく、Webアプリケーション・サーバ通信・設定ファイルな...
Java

【Java】シリアライズとデシリアライズについて(バイト列変換・復元)

はじめにJava でネットワーク通信にてオブジェクトを送信したい場合に、インスタンス(オブジェクト)をバイト列に変換する必要がある場合があります。その際に使用する機能がシリアライズ(Serialization) と デシリアライズ(Dese...
Java

【Java】equalsとhashCodeの使い方(オーバーライド)

はじめにJavaの開発をしていると、HashMap や HashSet を使ったときに「要素が見つからない」「同じものが重複して入ってしまう」といったトラブルに遭遇することがあります。equalsとhashCodeの実装が正しくない可能性が...
Java

【Java】コレクションフレームワーク徹底解説(List・Set・Mapの使い分け)

はじめにJavaを使って開発をしていると、必ずと言っていいほど登場するのが「コレクションフレームワーク」です。配列と似ているようで、もっと柔軟にデータを扱える仕組み。それが List や Set、そして Map です。しかし、実務ではどのコ...
Java

【Java】Optionalの使い方とNullPointerException対策

はじめにJava開発に携わっていると、避けて通れないのが NullPointerException(NPE) です。「値がnullのままメソッドを呼んでしまった…」「if文でnullチェックばかり書いてコードが読みにくい…」といった経験は、...
JavaScript

【JavaScript】JSONの取り扱い方法について(基礎的な使い方)

はじめにSEの開発現場では、データのやり取りが欠かせません。その中でも特に登場頻度が高いのが JSON(JavaScript Object Notation) です。Web APIとの通信、バックエンドとの連携など、あらゆる場面で利用される...