• Java
  • Spring
  • エラー解決
  • 現場メモ
  • クイズ
  • 成長ガイド

学習と現場をつなぐ

ポンコツPdMの開発メモ

お問い合わせはこちら
  • Java
  • Spring
  • エラー解決
  • 現場メモ
  • クイズ
  • 成長ガイド
  • Java
    Javaに関するテーマ
  • Spring
    特にSpringについてはこちら
  • 開発現場メモ
    開発に関するノウハウやメモ
発生した事実から検知と具体的な対策へつなぐ図。再発防止を行動にする

仕事・チーム開発

2026/10/1

障害報告書の再発防止策の書き方|「確認を徹底する」で終わらせない例

障害報告書の最後に「今後は確認を徹底する」と書くと、文章としては締まります。しかし次に何を変更し、誰がいつ、その効果をどう確かめるかは決まりません。 この場面では、担当者の注意喚起より、同じ条件が起きたときのシステムと運用の動きを変えることを優先します。 発生を防ぐ策と、発生しても早く気づき影響を抑える策を分けます。 以下は問い合わせ受付通知が二重に送られた、という架空の事例です。実際の顧客や障害を記述したものではありません。 まず、何が分かっているかを固定する 項目 架空の記入例 事象 受付済みの問い合 ...

引用符で囲まれたカンマ入りセルがあるCSV表の図。単純なsplitでは区切れないことを示す

実装・エラー解決

2026/10/1

JavaでCSVを読み込む方法|カンマ・改行・ダブルクォートを含むデータに対応する

3列のCSVを line.split(",") で読んでいたら、名前にカンマが入った行から列がずれた。1セル内に改行があると、行を読む時点でも崩れます。 CSV取込で私が取る方針は、区切り位置を自作しないことです。ファイルの形式と文字コードを決め、対応するパーサーへ任せます。そのうえで、ヘッダー・列数・必須値という業務上の条件を自分たちのコードで検証します。以下は Java 21、Apache Commons CSV 1.14.1 の例です。 split が壊れる入力を見る id,na ...

二つの選択肢から一つを選び理由と見直し条件を記すADR文書の図

仕事・チーム開発

2026/10/1

ADRの書き方|設計を選んだ理由を残すテンプレートと記入例

半年後に「なぜ通知処理をこの方式にしたのですか」と聞かれ、コードだけでは答えられない。担当者が異動すると、当時は合理的だった選択も、単なる奇妙な実装に見えることがあります。 この場面では、結論だけでなく、当時の条件と引き受けた不利益を残すことを優先します。 ADR(Architecture Decision Record)は、その設計判断を後から読み直すための記録です。全てのクラスやメソッドを文書化する必要はなく、後で変更費用が大きくなりそうな判断に使います。 MADRの公式テンプレートには、背景、判断材 ...

no image

実装・エラー解決

2026/10/13

Spring Bootのフォーム入力・バリデーション実践ガイド|実装からテストまで

フォームを作って終わりにしない。入力の約束からエラー時の再表示、Serviceの業務判断、MockMvcでの確認まで、既存記事を読む順と確認する問いをまとめました。

1・2・3ページのカードと安定した並び順を示す図。ページングの件数と順序を確認する

実装・エラー解決

2026/10/1

Spring Data JPAでページングする方法|Pageableのページ番号・件数・並び順

問い合わせ一覧が数百件になり、「全部取得してから画面で20件ずつ切る」実装が苦しくなった。Spring Data JPAなら、Repositoryへ Pageable を渡して取得範囲を限定できます。 ただし私は、PageRequest.of(page, size) を置くだけでは完成としません。ページ番号の0始まり、件数の上限、同日時データの順序まで決めます。これを曖昧にすると、最初のページが一つずれたり、ページを移動したとき同じ行が見えたりします。以下は Java 21、Spring Boot 3.5 ...

POSTからリダイレクトを経てGETへ進む矢印の図。PRGで防げる再送を見極める

実装・エラー解決

2026/10/1

Spring Bootでフォームの二重送信を防ぐには?PRGで防げること・防げないこと

登録完了画面でブラウザを更新すると「フォームを再送信しますか」と聞かれ、同じ申請が二件できた。ここでボタンを押せなくするJavaScriptを足しても、通信再試行や別タブからの送信は止まりません。 対策は、どの再送を止めたいかで選びます。正常なPOSTの後に結果ページへ移動させるPRG(Post/Redirect/Get)は、更新時の再送を減らす第一歩です。しかし二つのPOSTが同時に届く場合は、サーバー側の仕組みも必要です。以下は Java 21、Spring Boot 3.5系の架空の申請フォームです ...

リリース後の確認から中止・切り戻しへ戻る矢印の図。戻す手順まで用意する

仕事・チーム開発

2026/10/1

リリース手順書の書き方|作業・確認・切り戻しをセットにした記入例

「新しい版を配置する」「画面を確認する」「問題があれば戻す」。この三行だけでは、夜間に別の担当者が同じ作業を安全に実行できません。何を見て成功と判断し、どこで中止し、戻した後に何を確かめるかが抜けているからです。 この場面では、操作の列挙より、続行・中止・切り戻しを判断できる情報を優先します。 コマンドの羅列より先に、判断する人と観測する結果を決めます。 ここでは架空の問い合わせ管理アプリで、件名の文字数チェックを修正する小規模なWeb改修を例にします。対象はKubernetes上の inquiry-we ...

二つのテストが同じ共有状態を変更して干渉する図。単独成功と全件失敗の差を調べる

設計・テスト・レビュー

2026/10/15

JUnitで単独なら成功するのに全件実行で失敗する原因|共有データと実行順の確認

一つのテストを選んで実行すると成功するのに、クラスやプロジェクトのテストをまとめて動かすと失敗する。このとき最初に疑うのは、JUnitの気まぐれではなく、先に実行されたテストが後続へ何かを残していることです。 私なら、テストの順番を固定する前に、失敗したテストが読んだ共有状態を調べます。題材は架空の受付番号発行機能。staticのオブジェクトを共有して起こる失敗を再現し、各テストが自分で初期状態を作る形へ直します。その後、DBとファイルで同じ問題をどう見つけるかまで扱います。 まず単独と全件の差を再現する ...

時計の針を固定し、期限前後を再現する図。Clock.fixedで日時依存テストを安定させる

設計・テスト・レビュー

2026/10/15

Javaの現在日時をテストで固定する方法|Clock.fixedで期限判定を確認する

「昨日まで通った期限判定テストが、今日になったら落ちた」。期限を固定して期待結果だけ書き、判定の中でLocalDate.now()を呼んでいると起こる失敗です。テストのたびに予定日を書き換える運用では、期限当日と翌日の境界を保証できません。 ここで取る方針は、現在日時を業務ロジックの入力として扱い、Clockを渡すことです。題材は「締切日当日まで申請でき、翌日からできない」という架空の申請機能。画面表示やDB保存ではなく、期限判定を毎日同じ条件で確かめます。 現在日時をコード内に埋め込むと、テストから動か ...

HTTP 400と項目名・理由を示すJSON応答の図。入力エラーを契約として返す

実装・エラー解決

2026/10/1

Spring BootでバリデーションエラーをJSONで返す方法|RestControllerAdviceの実装例

APIで空の件名を送ると400になる。ところが画面側では、どの欄を直せばよいか分からない。ステータスコードだけ合っていても、入力画面を作る側には足りません。 私なら、エラー応答を利用者が修正できる項目名とメッセージだけに絞った契約にします。スタックトレース、例外クラス名、送信された秘密値を返す必要はありません。ここでは Java 21、Spring Boot 3.5系、Spring MVC の @Valid @RequestBody を例にします。 応答形式を先に決める APIのエラー応答に必要な要素。A ...

« Prev 1 2 3 4 … 19 Next »
プロフィール画像

ポンコツPdM

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

    START HERE初めての方へ

    Java・Springの実装、テスト、レビューで迷ったときに。今の課題から記事を探し、次に学ぶことを整理できます。

    成長ロードマップを見る →
    FIND YOUR TOPICよくある困りごと
    • エラー・実装で詰まったとき →
    • 設計・テスト・レビューを学ぶ →
    • 仕事・チーム開発で迷ったら →
    広告
    NEXT BOOKSHELF学習段階ごとの本棚

    いま伸ばしたい力に合わせて、次の1冊を選べます。

    • 01 / 初心者Java・Git・SQLの土台 →
    • 02 / 脱初心者Web機能をひとりで作る →
    • 03 / 実務担当設計・テスト・レビュー →
    • 04 / リーダー候補要件整理・チーム判断 →

    ※当サイトはAmazonアソシエイト・プログラムの参加者です。リンク先で価格・在庫をご確認ください。

    人気記事

    • Springで「NoUniqueBeanDefinitionException」が出たときの対策 - 49,470 ビュー
    • 業務用のシステムにおいてクラス設計(分割)をどのように考えるか-1 - 46,929 ビュー
    • Spring Data Jpaと@Entityを使って複数テーブルで共通の値を親クラスにまとめて... - 43,223 ビュー
    • 免責事項
    • 著作権について
    • 学習ガイド
    • プライバシーポリシー
    • リンクについて

    学習と現場をつなぐ

    ポンコツPdMの開発メモ

    © 2026 ポンコツPdMの開発メモ