こーひーあーる

こーひーあーる

20年稼働の通販システムを保守・リプレイスしているバックエンドエンジニア

お問い合わせ

株式会社Gnzo 情報技術課

2019年7月〜現在

株式会社テンダ ゲームコンテンツ事業部

2015年4月〜2018年6月

  • 長期稼働システムの解析と段階的リプレイス(SOAP→RESTish、PHP5→7)
  • テスト・CI/CD文化がない現場への導入実績(PHPUnit、GitLab Runner、pre-commit)
  • 業務フロー図・ユースケース図で曖昧な要件を開発可能な粒度に落とし込む

SOAP WebAPIをLaravelでRESTishなWebAPIへリプレイスする際は、主担当として設計から実装までを担当。テストコードのなかった現場にPHPUnit・CI/CDを整備してきました。

現在は20年以上稼働している通販Webシステムの保守・追加開発に携わっています。現状のシステムやビジネスの制約を踏まえながら開発を進めています。

スキル

言語
PHP 7年Python(社内スクリプト)Shell(運用スクリプト)C#(既存C#資産の解析)
フレームワーク
Laravel 2年CodeIgniter3 5年
データベース
MySQL 3年Oracle Database 3年SQL Server(WebAPIリプレイスで使用)
インフラ
AWS(Route 53移行・S3+CloudFront構築)VMwareAlmaLinuxCentOS7ApacheNGINX
その他
PHPUnitOpenAPIPodmanGitLab Runner(CI/CD構築)ZabbixUnity (C#)(個人開発・Steamリリース)

資格・試験・学歴

  • IPA データベーススペシャリスト試験 (2024/12 合格)
  • IPA ネットワークスペシャリスト試験 (2024/7 合格)
  • IPA 応用情報技術者試験 (2023/6 合格)
  • IPA 基本情報技術者試験 (2022/11 合格)
  • AWS Certified Solutions Architect - Associate (2020/4 合格, 2023/4 再認定)
  • 芝浦工業大学 材料工学科 卒業(2015年)

関わった主なプロジェクト

SOAP WebAPIのリプレイス
期間: 2024年9月 - 2025年6月  /  役割: 主担当(部長の内製化方針のもと、アプリ構成・テスト方式・開発環境・CI/CDを設計。APIはエンドポイント単位で分担し、在庫まわりの設計〜実装を担当)
PHPLaravelSQL ServerPHPUnitOpenAPIPodmanAlmaLinuxGitLab RunnerC#

チーム規模: 4名 (内、部長1名、別機能担当エンジニア2名、自分)

概要: 10年以上前に協力会社により作成された、ERPと各種アプリケーションを連携させているSOAPプロトコルのWebAPIを内製化し、RESTishなWebAPIにリプレイスするプロジェクト。エラーレートの削減による機会損失の低減、機能要件に自社で対応できるようにすることが目的だった。

背景・状況:

  • ERPとその他のアプリケーションとで不整合がしばしば発覚することはわかっていたが、何が原因かはチームでわかっていなかった
  • ERPが稼働し続ける限りAPIも同様に稼働させ続ける必要があったので、メンテナンスしやすいアプリ構成にする必要があると感じた
  • これまで活用していたCodeIgniter3のサポートが終了していたため、バージョンを上げるかフレームワークを変える必要があった
  • テストコードが勤め先のシステムでほとんど書かれていない状況

取り組んだこと:

  • 現行サーバのIISからSOAP WebAPIのアクセスログを取得しパフォーマンス上の問題を分析
  • フレームワーク選定ではCodeIgniter4(CI3から書き方が大きく変化)やGo(チームの学習負担・採用への影響)と比較し、普及度と学習リソースの豊富さからLaravelを選定。プロトタイプを作成して提案し、チームに確認のうえ採用
  • Podmanコンテナを用いた環境構築の提案と実装
  • 既存C#コードから仕様を復元できるはずという部長の仮説を受け、協力会社が10年前に開発したC#製アプリケーションを解析してLaravelで再実装
  • 在庫まわりのREST APIエンドポイントおよびIN/OUT設計(エンドポイント単位でチーム分担)
  • テストのなかった現場に、OpenAPI仕様書と実装の乖離を自動検知するPHPUnitテストを自ら導入
  • 自ら必要性を判断してGitLab RunnerによるCI/CDパイプラインを構築。Laravel Pint・Larastan・PHPUnitをgit pre-commitフックで検証するスクリプトも作成しメンバーに配布
  • MVC+UseCase構成を採用し実装

成果:

  • ログ分析より、決まった時間のERPの日次処理におけるデータベースインデックス再作成のタイミングでAPIエラーが多発することを特定
  • 構成をコンテナファイル化することで、環境の容易な配布や、再現性の高い環境構築が可能になった
  • テストコードを整備し、標準的な開発フローに近づけた。OpenAPI仕様書と実装の乖離を自動検知できるようにした

学び:

  • オニオンアーキテクチャかMVC+UseCaseを採用するかで非常に悩んだ、が組織の身の丈にあった構成を選ぶことが大事だと感じた
ECモールのフルフィルメント化
期間: 2025年7月 - 2025年9月  /  役割: バックエンド 機能開発担当
PHPCodeIgniterOracle DatabaseSQL Server業務パッケージ

チーム規模: 6名 (内、部長1名、要件定義・サービス設計1名、フロントエンド1名、バックエンド2名) ※企画部門や倉庫部門含めると数十名

概要: Yahoo/楽天型の自社ECモールを、AmazonライクなECモールにする

背景・状況:

  • 開発担当としてアサインされたもののシステム全体像が不明瞭で何を開発すればいいかわからない状態だった
  • ERPシステムの制約(仕様変更すると在庫管理・販売管理が影響を受け、部門業務の変更が必要になる)
  • 業務フローは存在したが、開発可能な粒度まで落とし込まれていない

取り組んだこと:

  • 企画・倉庫・カスタマー・販売管理・経理など、関係部門を網羅した業務フロー図の作成から着手(可視化から始める進め方は自分で判断)
  • 業務フローからシステム接点を抽出し、ユースケース図を作成、ERPパッケージ運用担当にヒアリングし制約条件を確認、以上を踏まえて開発が必要な機能一覧を作成して、スケジュール表に落とし込む
  • WebAPI経由でERPの受注データを取得する仕様を設計
  • 商品登録・変更、倉庫保管手数料算出のための記録仕様、の叩き台を作成
  • ECモールWebアプリ・管理アプリのバックエンド実装(初期フェーズ)
  • 納品計画登録画面のバックエンド実装

成果:

  • 業務フロー・ユースケース図により、システム全体像を可視化
  • 開発スコープを明確化し、「何をすれば完了か」をチーム全体で共有
  • ERP制約を整理し、既存業務への影響を最小化した

学び:

  • 曖昧な要件を図解で可視化することで、関係者の認識を揃えられることを実感
ブラウザソーシャルゲームの追加開発・保守
期間: 2015年7月 - 2018年6月  /  役割: サーバサイドPHPのプログラマ
PHPMySQL

チーム規模: 5名 (内 ディレクター1名、プランナー1名、Webデザイナー1名、プログラマ2名)

概要: Flashで遊べる版権ソーシャルゲームのサーバサイド追加開発・保守業務

背景・状況:

  • レベニューシェア型のプロジェクトで、プラットフォーム・版元・権利取得会社へのマージンなどを加味した上で、チームで毎月数千万の売り上げを求められる現場だった
  • フレームワークなどがないレガシーなコードベースで、追加開発の難易度が高い状態だった
  • コード内ループで大量のSQL発行やスロークエリが頻発しており、イベント終了間際になるとサーバ負荷が高くなりゲームが重くなる状態だった
  • すべてのテーブルでMyISAMエンジンが使われており、当時は排他制御がされてなく、課金アイテム増殖などのデータ不整合が頻発している状態だった

取り組んだこと:

  • あるデッキを組んで連続どこまでバトル勝利できるか、などのバトルシステムのWebシステム追加開発
  • MySQLのクエリログを分析し、スロークエリや発行過多なクエリを特定し、インデックス追加やクエリ改善を実施して負荷軽減
  • 課金アイテムを増殖するバグを発見し、楽観的排他制御の実装により修正

成果:

  • 新規バトルシステムの追加開発を担当してリリースした
  • クエリ改善により、イベント終了間際のサーバ負荷が軽減された
  • 楽観的排他制御の実装により、データ不整合の発生頻度が削減された

学び:

  • システム開発の先には、お金を払ってくれるユーザーがいることを痛感した

その他の経験

  • 2026年7月〜 / 自社通販Webアプリケーションの脆弱性診断(今年度主担当) / 実施スケジュール策定・検査シナリオ整備・検査端末操作
  • 2026年4〜7月 / AIボイスbot導入支援 / 電話シナリオ制作、WebAPI連携
  • 2024年6〜8月 / d払いの導入 / GMOペイメントゲートウェイを用いたd払い決済機能実装
  • 2024年3〜5月 / 3Dセキュア2.0対応 / GMOペイメントゲートウェイの決済モジュール入れ替え・3DS2.0実装
  • 2021年頃〜2022年5月 / 自社ECサイト向けRESTish API開発 / エンドポイント設計・OpenAPI仕様書作成・実装 (CodeIgniter3)
  • 2021年 / BtoBtoCコミュニティサイト開発 / Amazon S3・CloudFrontを用いた静的コンテンツ配信構築
  • 2020年 / オンプレDNSサーバのAmazon Route 53移行 / 移行計画・作業主担当、ダウンタイムなしで全ドメイン移行完遂
  • 2020年 / 自社ECアプリのPHP・CodeIgniterバージョンアップ / PHP5→7、CodeIgniter2→3対応・E2Eテスト作成

個人開発

GodotPlayer
godotplayer

フリーゲーム投稿サイト(公開ゲーム数600以上、月間PV1.3万以上)

2023年ファーストリリース: Railway.app、Laravel、React、Inertia.js、TailwindCSS※生成AIを使わずに開発

2026年: Cloudflare Workers, R2, D1, Hono, Google Cloud Run、Go ※Claude活用