TechTrainテックブログのフィード
https://zenn.dev/p/techtrain_blog
TechTrainのテックブログです! 試したことや実際の開発について書いていきます!
フィード

Claude Code と二人七脚 DB 設計
TechTrainテックブログのフィード
はじめに弊社では開発において、コード生成・レビュー段階の9割以上を AI に一任しています。しかし仕様設計・DB 設計においては、人間が主体です。今回は DB 設計段階において、私が Claude Code を如何様にしてこき使っているか、一例を紹介したいと思います。 二人七脚とは私 + Claude Code (Agent + subagent 4つ) 体制のことです。以下の 4 step を完走した暁には DB 設計が完了している、夢の体制です。仕様とコードベースからユースケース列挙ユースケースのブラッシュアップと起票各問いの壁打ちsubagent による...
1ヶ月前

PHPカンファレンス小田原 2026 登壇レポート: ドメインイベントでビジネスロジックを解きほぐす
TechTrainテックブログのフィード
こんにちは!TechBowl の梶川(@kajitack)です。この記事は、2026 年 4 月 11 日に開催された PHPカンファレンス小田原 2026 の登壇レポートです。 登壇内容「ドメインイベントでビジネスロジックを解きほぐす」というタイトルで登壇させていただきました。https://fortee.jp/phpconodawara-2026/proposal/6ff7ef63-7a95-4482-bb24-0a1a4f5bac96今回のセッションでは、メソッド分割だけでは解決できない「結合」の複雑さを、ドメインイベントで段階的に解きほぐしていくアプローチを紹介しま...
1ヶ月前

長期運用プロジェクトで AI 生成テストコードの品質を安定化させる
TechTrainテックブログのフィード
はじめに現在弊社の backend 開発において人間によるコーディングは実質的に排除されています。この実現に重要だったのが、 AI によるテストコード品質の安定化です。この記事では、 7 年間継続運用して秘伝のタレ化したプロジェクトでテストコード品質を安定させるために必要だったこと について紹介します。project 要件PHP8.4Laravel 12.5PHPUnit 11.5Claude Code Opus4.6 結論Claude Code の実装するテストコード品質を安定させるために、以下の 2 つを行いました。テストコード規約の agen...
1ヶ月前

TDD agent 1つからbackend開発パイプラインができるまで
TechTrainテックブログのフィード
弊社では TechTrain を始めとする複数サービスを提供しています。2026/04/02 現在、その全ての backend 開発は、Claude Code を用いた 3 コマンドで完結 するようになりました。 はじめに現在の開発フローで実行する 3 コマンドを簡単に紹介します。> /create-feature-issue [epic-issue 番号 | 自然言語での要件説明]-> Epic issue からユースケースベースの Feature issue を対話的に作成> /create-task-issue [feature-issue 番号]...
2ヶ月前

PHPerKaigi 2026 登壇レポート: メッセージングを利用して時間的結合を分離しよう
TechTrainテックブログのフィード
こんにちは!TechBowl の梶川(@kajitack)です。この記事は、2026 年 3 月 20 日〜22 日に開催された PHPerKaigi 2026 の登壇レポートです。 登壇内容「メッセージングを利用して時間的結合を分離しよう」というタイトルで登壇させていただきました。https://fortee.jp/phperkaigi-2026/proposal/5ea64c6c-3726-4324-ab59-3c321f1a86ae今回のセッションでは、外部 API の遅延や重い処理がレスポンスを不安定にする「時間的結合」という課題に対して、メッセージングによる非同期...
2ヶ月前

BuriKaigi2026登壇レポート: 例外処理とResult型、どう使い分ける?
TechTrainテックブログのフィード
こんにちは!TechBowl の梶川(@kajitack)です。この記事は、2026 年 1 月 9 日〜10 日に開催された BuriKaigi 2026 の登壇レポートです。参加レポートは こちら です。 登壇内容「例外処理とどう使い分けるか? Result 型を使ったエラー設計」というタイトルで登壇させていただきました。https://fortee.jp/burikaigi-2026/proposal/1c532f7c-f089-4157-9dca-f4f235ebe52b今回の登壇では、例外(try-catch)を用いる言語のプロジェクトに Result 型や関数...
5ヶ月前

ドメインモデルの管理にYAMLを使ってみた
TechTrainテックブログのフィード
はじめに皆さんはドメインモデル図を作っていますか?ドメインモデル図はビジネス要件を整理して、チーム間でのコミュニケーションを円滑にするのに非常に役立つツールです。Draw.io、Miro、Whimsicalなどのビジュアルツールを利用している方も多いと思います。そんな中半年ほど前からTechBowlでは外部のビジュアルツールをやめ、YAMLによる構造化テキストでドメインモデルを管理するという取り組みを始めました。この記事ではYAMLで管理するイメージをお伝えできればと思います。 従来のWhimsicalベースの課題以前TechBowlでは下記記事のようにWhimsica...
5ヶ月前

TechBowlのインターンでデザインから実装までの業務を担当してきた!
TechTrainテックブログのフィード
こんにちは、現在 TechBowl でエンジニアインターンとして働かせてもらっているトマト 🍅(@tomatog29)です!今回は、インターンで初めてデザインから実装を通したタスクを担当したので、経験を共有したいと思います!! 担当したタスク今回私は以下の 2 つのタスクを担当しました!Railway をクリアするために必要なスキルを表示する機能のデザイン+実装クリア条件の UI 改善+実装この二つのタスクに分けて話していきたいと思います! そもそもRailwayとはそもそも Railway とは、TechTrain 上で提供されている学習用の問題集です!あらか...
5ヶ月前

PHPカンファレンス福岡2025登壇レポート: 例外処理を理解して、設計段階からエラーを「見つけやすく」「起こりにくく」する
TechTrainテックブログのフィード
こんにちは!TechBowl の梶川(@kajitack)です。この記事は、2025 年 11 月 8 日に開催された PHPカンファレンス福岡2025 の登壇レポートです。 登壇内容「例外処理を理解して、設計段階からエラーを「見つけやすく」「起こりにくく」する」というタイトルで登壇させていただきました。https://fortee.jp/phpcon-fukuoka-2025/proposal/a26758d0-0d75-4234-a21b-cbb4ff64763b今回の登壇は、以前 BuriKaigi2025 で発表した内容を PHP 向けにアップデートしたものです。エ...
7ヶ月前

1年間のフロントエンド開発インターンで得た学び
TechTrainテックブログのフィード
こんにちは、株式会社TechBowlエンジニアインターンのnova27(@novablog_diary)です!インターンに参加し始めてから約1年が経過したので、振り返りがてらアウトプットしようと思います! インターンを始めたきっかけインターンは大学1年生の6月から開始しました。大学入学時に新しくできた友人(入学前からXで繋がってはいました)が以前からTechBowlでインターンをしていたとのことで紹介してもらいました。「入学してバイト始めようと思ってたし、Next.jsの開発経験を活かせるからめっちゃいいじゃん!」と思って、カジュアル面談を経てすぐにジョインしました。 業...
10ヶ月前

PHPカンファレンス関西 2025に登壇レポート: 『ドメインイベントでビジネスロジックを解きほぐす』
TechTrainテックブログのフィード
こんにちは!TechBowl の梶川(@kajitack)です。この記事は、2025 年 7 月 19 日に開催された PHPカンファレンス関西 2025 の登壇レポートです。 登壇内容「ドメインイベントでビジネスロジックを解きほぐす」というタイトルで登壇させていただきました。https://fortee.jp/phpcon-kansai2025/proposal/f1dec853-4070-44ad-8eda-ef8b127dda3f今回の登壇では、ドメインイベントの基本概念から実装方法まで段階的に紹介しました。まず、ドメインイベントとは何かという基本的な説明から始めま...
10ヶ月前

PHPカンファレンス関西2025登壇しました!『MySQL9でベクトルカラム登場!PHP×AWSでのAI/類似検索はこう変わる』
TechTrainテックブログのフィード
TechBowlで TechLead をやっているスー(@suguru_ohki)です。仕事では主にTechTrainにおける技術的になんとかすること全般という何でも屋さんを担当しています。今回はPHPカンファレンス関西 2025の登壇レポートです。 登壇内容『MySQL9でベクトルカラム登場!PHP×AWSでのAI/類似検索はこう変わる』というタイトルで登壇させていただきました。https://suguruooki.github.io/marp-slides-template/php-conference-kansai-2025https://fortee.jp/php...
10ヶ月前

PHP Conference Japan 2025登壇レポート: Result型で失敗を型にするPHPコードの書き方
TechTrainテックブログのフィード
こんにちは!TechBowl の梶川(@kajitack)です。この記事は、2025 年 6 月 28 日に開催された PHP Conference Japan2025 の登壇レポートです。 登壇内容「エラーハンドリングは try-catch だけじゃない!Result 型で“失敗”を型にする PHP コードの書き方」というタイトルで登壇させていただきました。https://fortee.jp/phpcon-2025/proposal/196d87d1-5cb4-437a-b063-d523096d4ae4Result 型(Either 型)は、Rust、Haskell、O...
1年前

PHPカンファレンス新潟2025登壇レポート:PHPでResult型の考え方を取り入れてみよう
TechTrainテックブログのフィード
こんにちは!TechBowl の梶川(@kajitack)です。TechTrain の開発を担当しています。この記事は、2025 年 5 月 31 日に開催された PHPカンファレンス新潟2025 の登壇レポートです。 登壇内容「try-catch を使わないエラーハンドリング!? PHP で Result 型の考え方を取り入れてみよう」というタイトルで登壇させていただきました。https://fortee.jp/phpconniigata-2025/proposal/de433e9c-4224-4fe8-9cba-4be9dba34084今回の発表では、try-catc...
1年前

デザインシステム「TechTrain Terminal.」のデザイントークンを公開しました!
TechTrainテックブログのフィード
こんにちは!TechBowl の梶川(@kajitack)です。この度、TechTrain のデザインシステム「TechTrain Terminal.」のデザイントークンを公開しました!デザイントークンの詳細は、以下のリポジトリでご覧いただけます。https://github.com/TechBowl-japan/terminal-design-tokensデザインシステムの構築において、デザイントークンは実装とデザインの橋渡しをする重要な要素です。この記事では、私たちがどのようにデザイントークンを定義し、実装に活かしているのかを解説します。デザインシステムを導入したい方や、...
1年前

PHPerKaigi 2025に登壇させていただきました: 『ドメインイベントを活用したPHPコードのリファクタリング』
TechTrainテックブログのフィード
こんにちは!TechBowl で Product Engineer と Engineering Manager をやっている梶川(@kajitack)です。仕事では主に TechTrain の開発を担当しています。今回は PHPerKaigi 2025 の登壇レポートです。参加したセッションの詳細な感想などは、改めて別の記事でご紹介する予定です。お楽しみに! 登壇内容『ドメインイベントを活用した PHP コードのリファクタリング』というタイトルで登壇させていただきました。https://fortee.jp/phperkaigi-2025/proposal/5615c479...
1年前

BuriKaigi 2025に登壇させていただきました: 『例外処理を理解して、設計段階からエラーを「見つけやすく」「起こりにくく」する』
TechTrainテックブログのフィード
こんにちは!TechBowl で Product Engineer をやっている梶川(@kajitack)です。仕事では主に TechTrain の開発を担当しています。この記事は、2025 年 2 月に開催された BuriKaigi 2025 の参加レポートです。 BuriKaigi 2025https://burikaigi.dev/BuriKaigi は、富山で開催されるエンジニア向けの技術カンファレンスです。今回は記念すべき 10 回目の開催となり、240 名の参加者が集まりました。IT に関することを勉強した後に富山のおいしいブリを食べる会です。 登壇内容...
1年前

「エンジニアタイプ診断」の開発の裏側
TechTrainテックブログのフィード
こんにちは、株式会社TechBowlエンジニアのかけです。今回は、1月末にリリースしたエンジニアタイプ診断の開発裏側についてお話ししようと思います! エンジニアタイプ診断とは当社がこれまでに蓄積してきたキャリア支援の知見を活かし、回答者のエンジニアとしてのタイプを診断します。この診断では、約30項目の質問に答えることで、回答者のエンジニアとしての特性を8つのタイプに分類します。診断は「働き方・マインド」「技術指向性」「キャリアプラン」という3つの観点から分析を行います。診断結果は全部で8種類。動物をモチーフに表現し、あなたのエンジニアとしての特徴や得意分野が詳しく解説されてい...
1年前

PHP Conference Japan 2024 に登壇させていただきました: 『責務を分離するための例外設計』
TechTrainテックブログのフィード
こんにちは!TechBowl で Product Engineer をやっている梶川(@kajitack)です。仕事では主に TechTrain の開発を担当しています。来年の目標はエンジニアとしてコードを書きつつ、トライアスリートとしてアイアンマンレース完走です!この記事は、2024 年 12 月に開催された PHP Conference Japan 2024 の参加レポートです。 PHP Conference Japan 2024https://phpcon.php.gr.jp/2024PHP カンファレンスは、PHP 関連の技術を主とした技術者カンファレンスです。2...
1年前

PHPカンファレンス関西2024 #phpkansai に参加して、「PHPの「歴史的な理由」ってなんだ!?」を発表しました
TechTrainテックブログのフィード
2/11にグランフロント大阪で開催されたPHPカンファレンス関西2024に参加し、「PHPの「歴史的な理由」ってなんだ!?」を発表しました。$room['C'] がほぼ満員となるほど多くのPHPerの皆さんに聞いていただき、感謝です。ニッチすぎる発表で一番小さいところで半分埋まれば御の字だと思っていましたw本当にありがとうございました!発表時にも言った通り、PHPカンファレンス関西は僕が初めて「勉強会」や「LT会」でなく「カンファレンスの登壇」という場で発表させてもらった場となりました・・・!(とても緊張しました)今回の「PHPの「歴史的な理由」ってなんだ!?」という話は、今年の目...
2年前