!nfoSurfing

Freelance Software Engineer — Nagoya, Japan

要件定義から運用まで、
一人で通す

業務システムの設計と開発をしています。開発基盤の構築から業務画面、帳票、運用保守まで、 工程を切らずに引き受けられることが持ち味です。1990年から書きつづけて36年、独立して27年。 受託と並行して、自社プロダクトも開発しています。

服部 道典 MICHINORI HATTORI 屋号 インフォ・サーフィン
開発経験36年 / 1990–
独立27年 / 1999–
案件数135件
取引実績25社以上
主戦場Java / Angular / React
拠点名古屋
稼働リモート / 常駐不可

36 Years / 135 Projects

1件を1本の帯で。横幅が実期間、高さは人月(差が潰れないよう圧縮)。グレー=勤務時代 / 青=フリーランス / 下段=小規模改修・保守

2013年以降の主要案件は作業日報(273か月分)の実績値。それ以前と小口の案件は、稼働月数を着手順に積み上げた概算配置です。

できること

Services

BUILD

業務Webシステムを、ゼロから立ち上げる

要件定義・基本設計から開発、運用保守まで担当します。言語やAPサーバの選定、認証・権限まわりの共通化、API定義からのクライアント自動生成といった「開発基盤そのものを作る」ところから引き受けられます。

REBUILD

古いシステムを、保守できる形に載せ替える

C#の旧システムをJava / Angularへ、Excel運用をWebシステムへ。既存の作りと業務の実態を突き合わせ、影響範囲を見極めたうえで移していきます。

EXTEND

パッケージをカスタマイズする

intra-mart を8年扱っています。ワークフロー、申請・検索画面、OPRO X や JasperReports による帳票出力、外部システムとの連携API。EC-CUBE のカスタマイズも対応します。

OPERATE

動いているものを、支える

不具合の調査と修正、DBチューニングによる性能改善、既存チームへの技術支援。同じ取引先と20年以上続けている案件もあります。

主な実績

Selected Works

請求書発行システム
自社開発

期間2026.06 –
体制要員1名(自社)
担当企画・設計・実装・運用設計
課題

請求書の作成からPDF化・送付・顧客への受け渡しまでを、テナント単位で完結させたい。

対応

マルチテナント対応のSaaSとして開発中。サーバ側は Spring Boot 3.3 / Java 17 をクリーンアーキテクチャ+CQRSで構成し、画面側は React 18 / TypeScript / Vite で実装。顧客向けのダウンロードはワンタイムパスコードで保護している。

工夫

OpenAPI定義から API クライアントと型を自動生成し、サーバと画面の契約ずれを構造的に起こらなくした。電子署名はシステム側では行わず、未署名PDFをダウンロード → 外部ツールで署名 → 再アップロードして検証する方式にしている。検証では署名そのものの暗号的な有効性に加えて、ByteRange がファイル全体を覆っているか(署名後に追記されていないか)を確認し、原本と同じ請求書かどうかは本文から起こしたセマンティック指紋で判定する。テナント越境はリポジトリ実装層で必ず遮断し、DBに触る変更は Testcontainers の実MySQLで統合テストを回す。設計から実装まで Claude Code を主体に進めている(開発の進め方)。

Java 17Spring Boot 3.3Spring Security / JWT JPAFlywayMySQL 8.4 PDFBox 3BouncyCastleMapStruct React 18TypeScriptVite MUITanStack QueryorvalTestcontainers

運行請求支払管理システム
運送業向け / 社内システム新規開発

期間2022.08 – 2023.10(15ヶ月)
体制要員1名
担当要件定義 → 運用保守(全工程)
課題

運行実績から請求・支払までを一貫して扱う社内システムを、ゼロから立ち上げたい。

対応

要件定義に始まり、サーバ側とクライアント側の開発基盤構築、REST業務APIの開発、業務画面の開発、開発環境構築、運用保守までを一人で担当。本番環境は AWS EC2(Amazon Linux)上に構築し、デプロイと運用も受け持っている。

工夫

「開発が楽に行えること」を基盤設計の目標に据え、アプリに依存しない部分(JDBC層・2-way SQLテンプレート・JWT認証・メール/LINE送信・帳票)を再利用可能なフレームワークとして切り出し、業務側と分けて保守できるようにした。API定義から画面側のAPIサービス(59サービス・190モデル)を自動生成し、実装差異が生まれない形に。運行1件だけにスコープした期間限定トークンでドライバーの参照を許すなど、権限は5ロール+例外で設計している。
なお、この構成の考え方は2017年から改修を続けている在庫・出荷・請求管理システム(Java / Angular / JasperReports)と共通のもので、9年たった今も手を入れられる状態を保てている。

Java 17Jakarta EE 10Jersey 3.1Payara 6 AWS EC2Amazon Linux Angular 15TypeScriptAngular MaterialMySQL WebSocketLINE Messaging JasperReportsPDFBoxApache POISwaggerGitLab

設置管理システム リプレース
旧C#システムからの刷新

期間2025.10 –
体制要員15名 / メンバー
担当詳細設計・実装・不具合対応
課題

C#で構築された旧システムを、保守を続けられる構成へ載せ替えたい。

対応

旧システムの読み解きと外部仕様の作成は別の要員が担当し、そこから先の詳細設計と実装を主に担当。サーバ側API(Spring Boot 3.2 / MyBatis / Flyway)とクライアント側(Angular 18 / ag-Grid)の両方を実装し、並行して不具合の調査と修正を行った。

工夫

15名体制のなかでサーバ側とクライアント側の両方を担当できる立ち位置を取り、API仕様の受け渡しで生じがちな手戻りを自分の範囲内で吸収した。帳票出力やバーコード生成など、現場で使う機能も含めて実装している。

Java 17Spring Boot 3.2MyBatisFlyway Angular 18TypeScriptag-GridAngular SSR SQL ServerjxlsZXing SwaggerDockerGitLab

販売・レンタル管理システム
基幹システム改修

期間2026.04 –
体制要員12名 / メンバー
担当調査・設計・実装
課題

販売・レンタル・工事・修理点検を扱う既存の基幹システム(.NET Framework)に、機能改修と機能追加を重ねたい。

対応

Windowsクライアント・Webクライアント・バッチの3系統に対し、受注/レンタル貸出・返却/売上/支払/会計連携の各機能を改修。

工夫

要件に対して「どう実装すれば影響範囲を最も小さく抑えられるか」に重点を置いて調査した。設計書だけでは判断しきれない箇所は、コード本体・実DBのDDL・実機のマスタデータを一次資料として突き合わせ、根拠の所在(ファイルと行、その時点の基準コミット)を明記した調査結果にまとめてから着手している。

C#.NET Framework 4.8Windows Forms ASP.NET WebFormsSQL Server Crystal ReportsGrapeCity SpreadNPOI

AIを使った開発の進め方

AI-Assisted Development

設計と実装の主体に Claude Code(AIコーディングエージェント)を据えて開発しています。 自社プロダクトの請求書発行システムは、要件の整理からDDL・API設計・実装・統合テストまで、この進め方で作りました。 速く書けること自体より、出てきたものを鵜呑みにしないための仕組みを先に用意しておくことに手をかけています。

PRE-MORTEM

着手前に、壊れ方を先に列挙する

DDL変更・状態遷移・採番や締め・並行処理といった非自明な設計に入る前に、将来破綻しうる点を洗い出します。順序の仮定(作成順と確定順は違う)、二重クリックやリトライに対する冪等性、一意制約の粒度、後から変えにくいキー設計、テナント越境、マイグレーションの不可逆性。観点ごとに別のレビュー役を立てて、実装前に通します。

VERIFY

出力もレビュー指摘も、仮説として扱う

フレームワークやドライバの挙動を「〜のはず」で書かず、実行するかソースを読んで裏を取ってから断定します。回帰テストを書いたら、対象を壊して赤くなることまで確認します。実装の文字列を言い換えただけのテストは、バグを入れても緑のまま通ってしまうためです。

CONSTRAIN

守ってほしい前提は、機構に落とす

「呼び出し側が〜すること」という口約束の不変条件は、型・DB制約・起動時検証に格上げして、破れたらその場で落ちるようにします。自動テストで守れていない配線は、カバーしているふりをせず文書に明記します。

RECORD

判断の理由を、コードの隣に残す

設計判断・変更履歴・踏んだ落とし穴をリポジトリ内の文書として残し、次に触るときに同じ前提から始められるようにしています。この蓄積があるかどうかで、任せられる範囲が変わります。

この進め方は自社プロダクトに限らず、受託案件の調査・設計にも使っています。既存システムの改修では、 設計書だけで判断せず、コード本体・実DBのDDL・実機のマスタデータを一次資料として突き合わせ、 根拠の所在(ファイルと行、その時点の基準コミット)を明記した調査結果にまとめてから着手しています。

技術

Stack — 実務での使用年数

言語

Java20年
JavaScript20年
C#10年
VB.NET10年
TypeScript9年
Visual Basic6年
PHP5年
C5年
C++5年

フレームワーク

.NET Framework10年
Angular9年
intra-mart8年
Jakarta EE6年
Struts3年
Spring Boot1年
Node.js4年
React1年未満

データベース

SQL Server20年
MySQL10年
Oracle5年
PostgreSQL2年

基盤・クラウド

Windows28年
Linux10年
AWS7年
Azure AD4年
Teams / Slack2年
Android1年未満

経歴

Career
  • 1999.06 — 現在 フリーランス(!nfoSurfing)
    業務システムの受託開発・技術支援。名古屋を拠点に、リモートと常駐の両方で。
  • 1996.07 — 1999.03 測量会社(正社員)
    GPS測量が主業。沈埋函(海底トンネル)誘導システム、GPSによる目標位置表示、出水管理など。
  • 1993.07 — 1996.06 測量会社(正社員)
    社内システムが無かったため、給与計算・レベル測量・三角測量・ダム強度計算などを内製。
  • 1992.06 — 1993.03 システムインテグレータ(正社員)
    配車システム開発のほか、自社製品のサポート・講習補助。
  • 1990.04 — 1992.05 システムインテグレータ(正社員)
    MS-DOS / C。料金請求システム、社内メールシステム、FAX送信システムなどを一人で担当。
  • 1990.03 名古屋市立工業高等学校 電気科 卒業

自社プロダクト

Own Products — 1997–

受託の合間に、自分で企画したソフトウェアを作ってきました。2000年代のものは更新を止めていますが、開発の記録を残しています(配布は終了しています)。

Copy MSIE URL Cache

–1997 / Freeware

Internet Explorer のキャッシュからWebページを再構築する初代版。後継が Copy Web Cache。

詳細 →

Copy Web Cache

2000–2001 / Shareware

Internet Explorer と Netscape のキャッシュから、閲覧したWebページをローカルディスクに再構築します。

詳細 →

EL Watcher

2000–2007 / Shareware

Windows NT / 2000 のイベントログを監視し、指定したイベントの発生時にメールを送信します。最終版 1.2.1a。

詳細 →

請求書発行システム

2026– / 開発中

マルチテナント対応の請求書発行システム。Spring Boot と React で開発中です(公開時期は未定)。

技術的な詳細 →

お問い合わせ

Contact

案件のご相談、見積りのご依頼、技術的なご質問など、お気軽にご連絡ください。稼働状況や対応可能な範囲についてもお答えします。

hattori@infosurfing.jp
屋号
インフォ・サーフィン(!nfoSurfing)
代表
服部 道典
開業
1999年6月
所在
愛知県名古屋市中川区
稼働
リモートでお受けしています。常駐は行っていませんが、打ち合わせ等でのご訪問は週1回程度まで対応できます。
事業
コンピューターソフトウェアの開発