ポンコツPdM

プロフィール画像

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

アイキャッチ

設計・テスト・レビュー

2026/9/6

オブジェクト指向、SOLID原則に基づいたHTTPリクエスト通信部分のクラス設計例(2)

このページに書いてあること この記事の続きです。 最初にざっくり書いた以下のクラス図。 こちらのクラス図を更に改良していきます。どこが改善ポイントかというと、Serviceパッケージ内の外部APIに通信する部分です。送信処理、応答の受信、リトライの制御などです。 これは別記事で書いた、「仕組みは共通」の部分に通じる部分になります。どのAPIにどのような電文を送信するかというのは業務に当たりますから共通化はしない方が良いです。 どこを共通化するか 共通化するのは仕組みです。今回の場合は、 WebAPIへの送 ...

アイキャッチ

設計・テスト・レビュー

2026/9/6

オブジェクト指向、SOLID原則に基づいたHTTPリクエスト通信部分のクラス設計例

このページに書いてあること この記事やこの記事でかいていたクラス分割について、個人的にこうすればいいんじゃない?という内容を書きます。概念を示してくれる記事は多いのですが、実際のクラス分けとなるとわからなくなってしまう場合が多いので、参考程度に役立てていただければ。 前提 Java8以上通信はHTTPS/JSON(どの方式でもあんまり関係ない)Javaのルールで説明するが、C#でも同じ。 サンプルシステム ユーザーからリクエストを受け、別アプリのユーザー情報を操作するAPIと認証を実施するAPIを順次呼ん ...

アイキャッチ

実装・エラー解決

2026/9/6

Spring MVCの設定ファイル読み込みでファイル名を動的かつ複数設定する方法

このページに書いてあること Spring MVCで設定ファイルを読み込むときに、条件に応じて使用する設定情報を使い分けたい場合があります。例えば、社内環境用のアプリと社外環境用のアプリ(以降、内部と外部)が同インスタンスにしており、経路によって使用する設定を切り替えたい場合です。内部と外部で設定ファイル名を分けてapplication_intra.properties/application_internet.propertiesを読み込みたい場合ですね。 そんな時は、PathMatchingResour ...

アイキャッチ

設計・テスト・レビュー

2026/9/6

システム移行時のネットワーク切り替えはどのようにするか

このページに書いてあること システム全面刷新などで移行するときに、リリースしたシステムに対してネットワークを切り替えていくと思いますが、その時の方式について備忘メモ。別に何が優れてるとかいう話はないです。 前提 Webアプリが3個あるシステム(例として3個なだけで、通常は50とか100とかある)最終的には3個のシステムを入れ替えるDBは既存のものを使う既存アプリは自前のDNSを使用して名前解決 以下のようなシステムがあって、システムをリプレースしていくようなパターンです。 DNSで名前解決をしていますから ...

アイキャッチ

仕事・チーム開発

2026/9/6

リモートワークでのコミュニケーションでの注意点

このページに書いてあること 最近は色んなことの効率化が叫ばれています。仕事の効率化により生産性をあげるというのは至上命題でしょう。ただ、最近のリモートワークに代表されるように遠隔勤務などが主流となりつつある今、効率化してはいけないものがあります。人間関係です。人間関係を効率化しようとすると、途端にメンバー間の信頼は薄れ、チームはギクシャクしていきます。(新メンバーや結成間もないチームの場合) 人間関係は効率では無く、効果で考えるほうが圧倒的に上手くいきます。 オフィスワークの時代はミーティングの時間をいか ...

アイキャッチ

設計・テスト・レビュー

2026/9/6

業務用のシステムにおいてクラス設計(分割)をどのように考えるか-2

このページに書いてあること 前の記事で業務用システムで機能を分割するさいに頭に入れておくと良いことを書きました。今回は具体的にどう分けるかをまとめます。 業務と仕組みは縦と横で分割する。 例えば、URL1,2,3を持つWebアプリがあったとした場合を考えます。URL1,2,3はアプリの外部に公開されています。 言っていることは意外とシンプルでして、上図が基本的には全てです。要は、業務処理はそれぞれ固有の手順があるので共通化は基本できないはずです。しかし、手順は共通化できないですが、手順を実現する仕組み(上 ...

アイキャッチ

設計・テスト・レビュー

2026/9/6

MicrosoftのMSSQLで特定の構成の場合はフェールオーバーができないの要注意

このページに書いてあること MSSQLを冗長化しているインフラ構成において、前段のWebアプリからDBに接続する際、DBエラー発生時のフェールオーバー処理ができないケースがあるので備忘メモ。 ピアツーピアトランザクション方式によるMSSQLへのフェールオーバーは自動的には実施できない。P2Pの場合はアプリ側でフェールオーバー処理を作り込まないといけない。Always On フェイルオーバークラスタリングとかならできる。 前提 以下の様な構成のシステムを想定。 WebアプリはJavaまたは.NET Core ...

アイキャッチ

設計・テスト・レビュー

2026/9/6

業務用のシステムにおいてクラス設計(分割)をどのように考えるか-1

このページに書いてあること 業務用のシステムって、一体どのようにクラス設計するのがいいのか、自分なりの経験を踏まえて至った現時点での答えを整理します。 システムを開発するにあたって、結構重要な内容としてクラス設計があると思います。しかし、「オブジェクト指向」という言葉が一人歩きしているように思う場面も多いです。 前提 Javaアプリ(C#でもいい。オブジェクト指向の言語なら)BtoC、BtoBに関わらず、業務系のシステムを対象WebAPIなども含みます。 要はJavaバッチなどは対象外。プロジェクトチーム ...

アイキャッチ

実装・エラー解決

2026/9/6

Site Kit by Googleをリセット後に再セットアップしたら動きませんでした

このページに書いてあること。 Word PressのSite Kitプラグインを導入し、セットアップした後にブログのURLを変更する必要が生じたため再設定しました。そしたらSite Kitが動かなくなってしまいましたという話です。 ブラウザのキャッシュを消したら動きました複数のWordPressサイトを扱う場合、同一ブラウザだと注意が必要になるかも?Safariだと動かない場合があるとのこと 状況 このサイトを本格的に運用していくにあたり、Google社の各サービスと連携させています。 今のところ連携させ ...

アイキャッチ

仕事・チーム開発

2026/9/6

Win-Winとはどこまでを考えれば良いのか

よく、Win-Winの関係でとか言いますが、あれって結局どこまでの範囲で考えれば良いのでしょうか。Win-Winを得る事はできるのでしょうか? そもそも、このWin-Winと言う言葉はアメリカのスティーブン・R・コヴィーさんが、自著の中で言い出した言葉です。本自体はかなりの名著に仕上がっておりますので、是非一読ください。「7つの習慣」というタイトルです。 で、会社でよく聞くWin-Winの関係っていうのはどういうものか。まずは一般的なイメージからみましょう。 一般的なWin-Winのイメージ 私もHapp ...