ポンコツPdM

プロフィール画像

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

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

    実装・エラー解決

    2026/11/4

    Javaのnullチェック入門

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

    アイキャッチ

    実装・エラー解決

    2026/11/5

    Spring BootでBeanCreationExceptionが出たら|Caused byと失敗したBeanを確認

    BeanCreationExceptionで最初に確認すること 起動ログの先頭に invoiceJob が出ても、直すのがそのBeanとは限りません。請求バッチの例では、invoiceJob が使う invoiceRules は登録済みですが、その初期化処理が設定値 0 を拒否します。ログから、依存側のBean・実際に失敗したBean・最深の原因を分けます。 関連記事Javaのスタックトレースの読み方|Caused byの後、どのコードを開けばいい? Caused byと自作コードの行を手掛かりに、例外の ...

    実装・エラー解決

    2026/11/4

    HardhatError: HH108の原因と対策

    Hardhat 2系でローカルノードへデプロイする際、HH108: Cannot connect to the network localhost が発生しました。まずノードが起動しているか、次に実際の接続先が一致しているかを確認します。Hardhat 3の接続エラー番号は HHE703 です。 原因と解消法 ローカルのEthereumネットワークが稼働していない Hardhat 2系を導入済みのプロジェクトで、別ターミナルから npx hardhat node を実行し、表示されたRPCのURLを控えま ...

    実装・エラー解決

    2026/11/4

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

    この記事の概要MetaMaskとローカル開発チェーンを組み合わせた旧構成の記録です。TruffleとGanacheは開発が終了しています。以前のプロジェクトでツールの役割や構成を調べるときに参照してください。 大まかな流れ 当時の構成では、MetaMaskが開発用ウォレット、Node.jsがCLIの実行環境、Truffleがビルド・デプロイ、Ganacheがローカル開発チェーンを担当しました。既存のコードを調べるときは、まずプロジェクトのロックファイルとネットワーク設定を確認します。 出典 Consens ...

    アイキャッチ

    実装・エラー解決

    2026/11/4

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

    GitLabで、マージリクエストを作成したときと、作成済みのマージリクエストのソースブランチへ追加でpushしたときにビルドを走らせます。 gitlabのCI/CDパイプライン マージリクエスト専用のパイプラインを持つ新規設定の例です。プロジェクトのルートに .gitlab-ci.yml と build.sh を置きます。 workflow: rules: - if: '$CI_PIPELINE_SOURCE == "merge_request_event"' stages: - build build_ ...

    アイキャッチ

    仕事・チーム開発

    2026/11/4

    「だと思っていて構文」の使い方|技術会議で結論・根拠・相談を伝える

    会議で「こうしたほうがよいと思っていて」と聞いたとき、あとに続く理由や、何を決める話かが見えず、返答を待つことがあります。この表現を使うなら、提案の確かさ、確認した根拠、参加者に相談することを分けて話すと、相手はどこに答えればよいか判断できます。 そもそもこの言葉は何? 「だと思っていて」は、自分の見立てを伝え、その理由へ話をつなげる表現です。技術会議で使うと、提案として聞いてほしいのか、すでに決まった方針を伝えているのかが、言葉だけでは分からない場合があります。 「暫定案です」「いま確認できたのはここま ...

    アイキャッチ

    学習・成長

    2026/11/4

    エンジニアが仕事で成長するには|別部署の視点を取り入れる

    簡単に結論 同じ作業で手戻りが続くときは、普段その作業を見ていない人に手順を一度見てもらいます。「何でも指摘してください」より、「夜間の担当者が、この手順だけで失敗を判断できますか」のように、場面を一つ渡すと答えをもらいやすくなります。 はじめに 久しぶりに地元の友人と話したとき、共有している話題が昔の出来事に偏ると感じました。仕事でも、同じ担当の中だけで会話を続けると、普段の説明を共有できる一方、引き継ぐ側が何を知らないか見落とすことがあります。 前提 ここで扱うのは、新しい見方を仕事の成果物に取り込む ...

    アイキャッチ

    実装・エラー解決

    2026/11/4

    Spring XMLで「属性指定 > または />」エラー|U+00A0の見つけ方と修正

    全ての結論SpringのXML設定をコピーした後に開始タグで解析エラーが出たら、属性の前の空白がU+00A0になっていないか確認します。 事象 当時、EclipseでSpringの app-context.xml を別プロジェクトへコピーしたところ、beans:beans の後に属性指定か > または /> が必要だというエラーが出ました。配布の broken.xml では、開始タグ名と xmlns:beans の間をU+00A0にしています。 <beans:beans xmlns:be ...

    アイキャッチ

    実装・エラー解決

    2026/11/4

    LineWorksのBotでACCESS_DENIEDエラーでメッセージが送信できない

    この記事に書いてあることLINE WORKS Botの送信APIが ACCESS_DENIED を返した際、Botの状態を確認して解消した事例です。 前提 LINE WORKS API 2.0を使用した当時の例です。トークンの取得と、取得後のメッセージ送信を別々に確認します。 事象 Bot送信APIへ、次のテキストメッセージを送りました。 { "content": { "type": "text", "text": "hello" } } そのときの応答本文です。 { "code": "ACCESS_DE ...

    アイキャッチ

    実装・エラー解決

    2026/11/4

    ADから取得した時刻(NTタイムエポック)をDateコマンドでUnixTimeに変換する

    この記事の内容Active Directoryの pwdLastSet をUnix秒に換算し、UTCの日時として表示します。 ポイント値の単位は100ナノ秒です。Unix秒へ換算してから、LinuxとmacOSで異なるdateの書式を使います。 手順 Active Directoryの pwdLastSet は、1601年1月1日 00:00:00 UTCからの経過を100ナノ秒単位で表します。属性値が0の場合は通常の更新時刻として換算せず、属性の状態として扱います。 まずは時刻計算 1秒は100ナノ秒の ...