若手SEを救いたい社畜

プロフィール画像

独立系のSIerに務めるSE,PM。 仕事の上で得たIT関連やプロジェクト運営関連の知識を書きます。 使用技術:Java,ウェブ関連全般,データベース全般 (どれも広く浅く)

JavaのSetで重複削除できない原因をequalsとhashCodeから解説する記事のアイキャッチ。Java道場風の学習空間で若手エンジニアがHashSetを学ぶイラスト。

Java

2026/7/7

Setで重複削除できない原因をJavaで解説

AIによる要約JavaのSetは重複を持たないコレクションですが、自作クラスを入れたときに期待通り重複削除されないことがあります。原因の多くは、equalsとhashCodeの実装、または何を重複とみなすかの設計です。 Setは重複を許さないコレクションです。文字列や数値なら、直感通りに重複が消えることが多いです。 しかし、自分で作ったクラスをHashSetに入れると、同じ内容に見えるのに重複が残ることがあります。 この記事のポイント Setの重複判定はequalsとhashCodeに依存する 自作クラス ...

HashMapで値が取れない原因をequalsとhashCodeから解説する記事のアイキャッチ。Java道場風の学習空間で若手エンジニアがMapのキーを学ぶイラスト。

Java

2026/7/7

HashMapで値が取れない原因はequalsかも

AIによる要約HashMapに値を入れたのにgetで取れない場合、キーに使っているクラスのequalsとhashCodeが原因かもしれません。この記事では、初学者向けにMapの仕組みと現場で起きる失敗を整理します。 業務システムでは、ユーザーID、商品コード、注文番号などをキーにしてHashMapへ値を入れることがあります。 ところが、自分で作ったクラスをキーにした瞬間に、putした値がgetできない問題が起きることがあります。 HashMapはキーをhashCodeとequalsで探す 同じ値に見えても ...

JavaのequalsとhashCode入門を解説する記事のアイキャッチ。若手エンジニアがJava道場風の学習空間でオブジェクト比較を学ぶイラスト。

Java

2026/7/2

JavaのequalsとhashCode入門

AIによる要約equalsはオブジェクトの同一性を判断する重要なメソッドですが、hashCodeとセットで考えないとHashSetやHashMapで不具合につながります。この記事では、初学者がつまずきやすい理由を現場目線で整理します。 前回の文字列比較では、==ではなくequalsを使う話をしました。 次に現場で出てくるのが、自分で作ったクラスのequalsとhashCodeです。 この記事のポイント equalsは「同じ値として扱うか」を決める hashCodeはHashSetやHashMapの探索に使 ...

Javaのfor文とStreamの使い分けを解説する記事のアイキャッチ。若手エンジニアがJava道場風の学習空間で繰り返し処理を学ぶイラスト。

Java

2026/7/2

Javaのfor文とStreamの使い分け

AIによる要約Javaには通常のfor文、拡張for文、Streamなど複数の繰り返し処理があります。どれが正解かは場面によります。この記事では、初学者が迷いやすい使い分けを、現場の可読性とデバッグしやすさの観点で整理します。 Javaのコレクション処理では、同じ結果を複数の書き方で実現できます。 初学者が迷いやすいのは、for文が古くて、Streamが常に良い書き方に見えることです。 この記事のポイント 単純な繰り返しは拡張for文で十分なことが多い 抽出・変換・集計はStreamが読みやすい場合がある ...

Javaのnullチェック入門を解説する記事のアイキャッチ。若手エンジニアがJava道場風の学習空間でnull対策を学ぶイラスト。

Java

2026/7/2

Javaのnullチェック入門

AIによる要約Javaのnullチェックは、すべての変数に機械的に入れればよいものではありません。大事なのは、必須の値は入口で弾き、任意の値は安全に扱い、NullPointerExceptionの原因を追いやすくすることです。この記事では、初学者向けの基本とSES/SIer現場でレビューされやすい観点を整理します。 Javaの現場でかなりよく見るエラーが、NullPointerExceptionです。 初学者のうちは、エラーが怖くてあちこちにif (value != null)を書きたくなります。ただ、レ ...

アイキャッチ

Spring

2026/6/28

【Spring Boot】BeanCreationExceptionの対処法

【Spring Boot】BeanCreationExceptionの対処法 要約 エラーの概要: SpringがBeanを生成しようとする時点で、依存関係の不備やコンストラクタの例外発生などにより失敗する。 主な原因: 依存するBeanが存在しない (NoSuchBeanDefinitionException などを内包) 初期化メソッド (@PostConstruct) 内で例外が発生 修正方法のポイント: スタックトレースの最後を見て、どのBean生成が失敗しているか特定 → アノテーションや依存設 ...

アイキャッチ

Java Spring

2025/1/1

【Spring Boot】NoSuchBeanDefinitionExceptionの対処法

【Spring Boot】NoSuchBeanDefinitionExceptionの対処法 要約 エラーの概要: SpringのDIコンテナが、注入しようとしているBeanを見つけられない。 主な原因: Bean対象クラスに @Service, @Component などのアノテーションが付与されていない @ComponentScan でスキャン対象パッケージが誤っている 修正方法のポイント: 正しいアノテーションを付与し、パッケージスキャン設定を見直す エラー例 @RestController pub ...

未分類

2023/6/9

HardhatError: HH108の原因と対策

イーサリアムのコントラクトをデプロイしようとした時に HardhatError: HH108: Cannot connect to the network localhost が発生したので、原因と対策を書きます。 原因と解消法 いきなり本題いきます。 Hardhatがlocalhostに接続できないことを示しています。これは通常、以下のような理由で発生します。 ローカルのEthereumネットワークが稼働していない Hardhatは、デプロイスクリプトをローカルネットワークに接続して実行しようとしていま ...

未分類

2023/6/9

MetaMaskを使ってイーサリアムのコントラクト開発環境を構築する

この記事の概要 イーサリアムをつかったスマートコントラクトの開発環境を手元に用意する 今回は開発環境の用意まで ParityやGethといったクライアントではない 大まかな流れ 大きく分けて以下の3つをインストールすることで開発環境を用意することができる。 Parityのインストール MetaMaskのインストール Node.jsのインストール Truffleのインストール Ganacheのインストール この流れでイーサリアムチェーンを使った開発環境を用意する。 Parityのインストール Parityは ...

アイキャッチ

開発

2023/6/1

マージリクエスト作成済みのブランチにプッシュした際にビルドを実行する

タイトルの通り。 方法をメモ。 gitlabのCI/CDパイプライン マージリクエスト作成済みのブランチにプッシュした際にビルドを実行するためのGitLabのCI/CDパイプラインを設定する手順は以下の通りです。 プロジェクトのルートディレクトリに.gitlab-ci.ymlファイルを作成します。 .gitlab-ci.ymlファイル内で、ビルドジョブを定義します。以下は基本的な例です。 stages: - build build_job: stage: build only: - merge_reque ...