ポンコツPdM

プロフィール画像

SIerでの開発・プロジェクト運営の経験をもとに、Java・Springの実装、設計・テスト、チーム開発で役立つ手順をまとめています。

    開発の工数見積もりのやり方|実装以外の作業を含めた分解例

    仕事・チーム開発

    2026/9/8

    開発の工数見積もりのやり方|実装以外の作業を含めた分解例

    「半日くらい」と答えたのに、調査やテスト、レビュー修正が残って終わらない。見積もりでは、時間を当てる前に、見積もる作業を見えるようにします。 先に結論 実装以外も分けて見積もる。調査・テスト・レビュー対応・引き渡しまで、担当する終わりを揃える。 作業時間と待ち時間を区別する。合計時間だけで完成日を約束しない。 数字には前提と更新条件を添える。不明点は調査し、分かった時点で見積もり直す。 問い合わせ管理に、必須・1〜100文字の件名を追加する架空の改修を使います。以下の時間は説明用の仮置きで、実測値や業界標 ...

    JavaのNo enum constantエラー原因とEnum.valueOfの安全な使い方を解説する記事のアイキャッチ。

    実装・エラー解決

    2026/10/15

    Javaの「No enum constant」エラー原因|Enum.valueOfの安全な使い方

    AIによる要約Enum.valueOfは、受け取った文字列を列挙定数名と大文字小文字まで含めて完全一致で探します。ACTIVEが定義されていてもactiveや末尾空白付きのACTIVEは一致せず、IllegalArgumentExceptionとNo enum constantが発生します。nullはNullPointerExceptionです。外部入力を無条件にvalueOfへ渡したり、すべて大文字へ直したりせず、APIや画面で受け付ける値を決め、必要なら業務用コードを持つfromValueメソッドで変 ...

    JavaでListをループ中に削除するとConcurrentModificationExceptionになる原因と対処法を解説する記事のアイキャッチ。

    実装・エラー解決

    2026/10/15

    JavaでConcurrentModificationExceptionになる原因|Listをループ中に削除する方法

    AIによる要約ConcurrentModificationExceptionは、コレクションをIteratorで走査している途中に、そのIteratorが想定しない方法で要素の追加や削除が行われたときに発生する代表的な実行時例外です。名前にConcurrentとありますが、複数スレッドがなくても、拡張for文の中でList.removeを呼ぶだけで発生します。条件に合う要素を一括削除するならremoveIf、走査しながら現在要素を削除するならIterator.remove、元データを残して絞り込み結果を作 ...

    コードレビューで指摘されたらどう返す?修正・質問・見送りの例文

    設計・テスト・レビュー

    2026/9/8

    コードレビューで指摘されたらどう返す?修正・質問・見送りの例文

    レビューで「ここは直した方がよさそうです」と届いた。直すべきか、理由を聞いてよいか、今回は対象外だと伝えてよいか。コードより返答に時間がかかることがあります。 先に結論 まず指摘の意図を確かめる。必須の修正か、改善提案か、質問かを揃える。 修正・質問・見送りの相談を分ける。判断が残る点を「対応しました」で閉じない。 変更箇所と確認結果、残る判断を返す。未確認は未確認として伝える。 以下は、件名が必須・1〜100文字の問い合わせ管理を改修する架空の会話例です。実際のレビューや実行済みのテスト結果ではありませ ...

    Spring BootのNo qualifying bean of typeエラーとDIできない場合の確認順を解説する記事のアイキャッチ。

    実装・エラー解決

    2026/10/15

    Spring Bootの「No qualifying bean of type」原因|DIできないときの対処法

    AIによる要約Spring BootのNo qualifying bean of typeは、コンストラクタや@Autowiredで要求された型に合うBeanをSpringコンテナから見つけられないときに発生します。最初にエラーメッセージから「必要とされた型」と「要求したクラス」を特定し、その型の実装クラス、@Service・@Component・@Repository・@Bean、コンポーネントスキャン範囲を確認します。実装が複数ある場合は別のエラーであり、@Qualifierや@Primaryの検討対 ...

    Spring Bootの404 Not Foundについて、ControllerのURLとRequestMappingの確認順を解説する記事のアイキャッチ。

    実装・エラー解決

    2026/10/15

    Spring Bootで404 Not Foundになる原因|ControllerのURLが合わないときの確認順

    AIによる要約Spring Bootの404 Not Foundは、リクエストされたURLに対応するControllerや静的リソースが見つからないときに発生します。まずブラウザやAPIクライアントが実際に送ったURLとHTTPメソッドを確認し、次にクラスとメソッドのRequestMappingを連結した完成URL、context-path、ControllerのBean登録を確認します。Controllerへ到達した後の例外は通常500であり、GETとPOSTだけが違う場合は405です。エラー画面の見た ...

    テストケースの作り方|仕様から正常系・境界値・異常系を出す例

    設計・テスト・レビュー

    2026/10/15

    テストケースの作り方|仕様から正常系・境界値・異常系を出す例

    「テストしておいて」と言われても、正しい値で一度動かす以外に何を試せばよいか迷う。そんなときは、仕様を入力・事前状態・操作・期待結果へ分けてみます。 先に結論 仕様から期待結果を決める。動いた結果に合わせて、正解を書き換えない。 代表値と境界の前後を選ぶ。正常に通る値と、拒否される値の両方を試す。 権限・状態と「変わらないこと」も確認する。答えが未確定なら、仕様確認へ戻す。 架空の問い合わせ管理を使い、件名の文字数、担当者の権限、状態変更からケースを作ります。JUnitの書き方へ進む前に、何を確かめるかを ...

    Collections.unmodifiableListで元のList変更が反映される理由とList.copyOfとの違いを解説する記事のアイキャッチ。

    実装・エラー解決

    2026/10/15

    JavaのCollections.unmodifiableListで元のList変更が反映される理由|List.copyOfとの違い

    AIによる要約Collections.unmodifiableListは、元のListをコピーせず、変更操作を禁止したビューを返します。そのため、戻り値からaddやremoveをするとUnsupportedOperationExceptionになりますが、元のListへ追加した内容はビューにも反映されます。元のListから切り離した変更不可のスナップショットが必要ならList.copyOf、独立して変更できるListが必要ならnew ArrayListを選びます。ただし、どちらも要素オブジェクトまで複製す ...

    Javaのtry-with-resourcesでclose漏れを防ぐ方法を解説する記事のアイキャッチ。

    実装・エラー解決

    2026/10/15

    Javaのtry-with-resourcesとは|close漏れを防ぐ書き方

    AIによる要約try-with-resourcesは、tryの丸括弧内で取得したAutoCloseableを、正常終了でも例外でも自動的にcloseする構文です。finallyの手動closeより閉じ忘れや例外の上書きを防ぎやすくなります。複数リソースは宣言と逆順で閉じられ、本文とcloseの両方で例外が起きた場合、close側はsuppressed exceptionとして保持されます。ただし、フレームワークから借りたリソースを自分で閉じるかは所有者の契約を確認します。 ファイル、ストリーム、JDBC接 ...

    プルリクエストの書き方|初めてのPRで伝える変更理由・確認結果

    設計・テスト・レビュー

    2026/9/8

    プルリクエストの書き方|初めてのPRで伝える変更理由・確認結果

    PRの説明が「件名を追加しました」だけだと、レビューする人は差分から目的や確認状況を探すことになります。何を書けば、変更を判断してもらいやすいのでしょうか。 先に結論 目的・変更点・確認結果・未確認・見てほしい点の五つを揃える。 「テストOK」は条件と結果に分ける。まだ試していないことは未確認と書く。 説明と実際の差分を照合する。変更や追加確認をしたら、説明も更新する。 以下は、問い合わせに必須・1〜100文字の件名を追加する架空例です。実在のPRや実行済みのテスト結果ではありません。 差分から見えない「 ...