Pepabo Tech Portal
https://tech.pepabo.com/
GMOペパボのエンジニア・デザイナーによる技術情報のポータルサイト
フィード

t_wadaさんによる2025年度版TDDワークショップを開催しました
10

Pepabo Tech Portal
はじめに2025年度に新卒エンジニアとして入社しました、takiです。ペパボでは、2024年に引き続き今年も日本のTest-Driven Development(TDD)の第一人者であるt_wadaさんをお招きしてTDDワークショップを開催しました。今回は午前に講義、午後にワークショップという構成で行われ、午後のワークショップには10名が参加しました。この記事では、午後の部に参加したメンバーから、当日の様子をお届けします。昨年のワークショップについては『t_wadaさんによる2024年度版TDDワークショップを開催しました』をご覧ください。また、なぜTDDワークショップを開催しているのかについては、過去の記事『ふつうの開発と TDD ワークショップ』で詳しく説明しております。はじめにTDD研修 概要 スケジュール午前の部について 事前課題当日の講義午後の部について ワークショップの内容実施内容実践!ペアプログラミングでTDDワークショップに参加した各パートナーの感想 takibqnqSatoMichiyulilyJonnyIkechiinatchidemifumysakipiおわりにTDD研修 概要Corporate Engineering GroupでSaaS運用などITサポートを担当しているinatchiです。今回のワークショップは、事前に「見てわかるテスト駆動開発」の動画でTDDの流れを学び、RSpecを使える環境を整えた上で参加します。ワークショップ当日はTDDの理論と実践を深く学ぶことを目的に、午前と午後の二部構成で実施されました。午前の部では『AIとの協業を支える自動テスト』をテーマに、生成AIがソフトウェア開発にもたらす影響と自動テストの重要性について学び、午後の部では「整数の閉区間」をテーマにした難易度別4種類のTDD実装課題に参加者同士のペアプログラミング形式で取り組み、実際に手を動かしながら実践形式でTDDの流れを体験しました。スケジュール10:00 - 12:00 講義(AIと自動テスト、TDDの理論)+ 質疑応答12:00 - 13:00 昼休み13:00 - 17:00 ペアプログラミング形式によるTDD実装課題午前の部についてminne事業部でモバイルエンジニアをしているfumyと申します。普段はSwiftやKotlinに触れることが多い
2日前

関西Ruby会議08にyumuが登壇します!
Pepabo Tech Portal
2025年6月28日(土)に開催される関西Ruby会議08に私@yumuが登壇します!発表内容について今回は「分散オブジェクトで遊ぼう!〜dRubyで作るマルチプレイヤー迷路ゲーム〜」というタイトルで発表させていただきます。Ruby専用の分散オブジェクトシステムであるdRubyを使って、ブラウザで遊べるマルチプレイヤー迷路ゲームを作りました!dRubyとWebSocketを組み合わせたリアルタイム通信や、マルチスレッドを使った効率的な処理など、Rubyならではの書きやすさと読みやすさを活かした実装のポイントをご紹介する予定です。たとえば、以下のようなシンプルなコードだけで、複数プレイヤーが同時に遊べるゲームの基盤が作れてしまいます。# サーバー側DRb.start_service('druby://localhost:8787', GameServer.new)# クライアント側game = DRbObject.new_with_uri('druby://localhost:8787')game.join(player_id)登壇への意気込みこのゲームを通してRubyの魅力を再発見し、分散オブジェクトプログラミングの可能性を一緒に体験していただきたいと思っています。普段あまりdRubyに触れる機会はないかもしれませんが、その手軽さと強力さにきっと驚いていただけるはずです。普段は業務で開発した機能等について発表することが多いのですが、今回は自作したゲームについての発表です。いつもと話す内容が異なるので緊張しますが、頑張ります!京都での開催ということで、関西のRubyコミュニティの皆さんとお会いできるのもとても楽しみです。ぜひ会場でお会いしましょう!
8日前

Cursorと喋るだけで、テスト付きのクエリをゲットできるようにした話
Pepabo Tech Portal
こんにちは!技術部データ基盤チームのmisatonです。本記事では、先日開催した開発合宿にて検証した、BigQuery のデータマートと Cursor Agent を使った信頼性の高い dbt model の生成を紹介します。開発の背景 データ活用現場の課題目指すゴールと開発合宿で行ったこと開発合宿での成果 Cursor の Agent を用いて dbt model を自動生成する仕組みの作成自動生成が可能かどうか検証するためのデータマートの作成開発合宿での成果詳細(機能デモのキャプチャあり) 分析デモ技術的な詳細処理の流れ技術スタック今後の展開まとめ開発の背景データ活用現場の課題ペパボには多数の部門・サービスのデータが蓄積されています。各部門やチームでそれぞれデータが活用される一方で、データの集計・分析をより効率的に行うための課題もあります。たとえば「この商品の売上傾向は?」「ユーザーの行動パターンは?」といったビジネス上の問いに答えるには、以下の要素が必要です。各サービス・ドメインの知識や業務経験に基づいた仮説立案既存データの構造理解やSQLスキル仮説検証から結論導出までの分析プロセスこれらすべての要素を揃えて分析を行うためには相応のリソースが必要となります。結果として、ニーズが生まれてから結果が取得できるまでに時間がかかってしまうケースもありました。そこで私たちは、データを活用したいパートナーがより簡単に、迅速に、安心してデータを扱える仕組みづくりに取り組みました。目指すゴールと開発合宿で行ったこと「データ利用者本人が、自分の知りたいことを、専門知識がなくてもデータで確かめられる環境」を実現するため、「業務で使えるSQLをデータ利用者が自然言語から得られること」をゴールに定めました。その上で、今回の開発合宿では、LLMを活用して実用的なdbt modelを自動生成する仕組みの検証に取り組みました。この仕組みでは、自然言語で質問するだけで、以下の4つの情報が自動で出力されます。出力される内容質問に対する回答を得られる dbt model(クエリとスキーマ定義)テストデータ(dbt data tests の given)テストデータから期待される集計結果(dbt data tests の expect)dbt model から compile されたクエリ特に重要
9日前

AIを使ったコーディングの変化と並列開発を支えるOSSツールを作った話
Pepabo Tech Portal
こんにちは!はらちゃん(@harachan)です!AIを使ったコーディングが身近になってきた昨今、開発のスタイルも大きく変化してきていますね。今回は、AIを活用した並列開発で生じる問題と、それを解決するために作成したOSSツールについて紹介したいと思います。はじめにAIを使ったコーディングの変化と新しい課題 1. AI agentを複数使用した並列開発の一般化2. AIにコンテキスト情報を効率的に読み込ませる需要解決策:2つのOSSツールの開発 gopose:Docker Composeポート衝突解決ツールgh-discussion:GitHub DiscussionのCLI管理ツールAIでの使用について goposeの場合gh-discussionの場合今後の展望 goposegh-discussionまとめ詳しい紹介記事もあります! 参考リンクはじめにAIエージェントを複数使った並列開発が一般的になってきている中で、さまざまな新しい課題に直面するようになりました。特にDocker ComposeやGitHub Discussionなど、AI時代の開発スタイルに合わせた環境整備が重要になってきています。今回は、実際に開発中に遭遇した問題と、その解決策として作成した2つのOSSツールについてお話ししていきたいと思います。AIを使ったコーディングの変化と新しい課題1. AI agentを複数使用した並列開発の一般化AI agentを複数使って並列で開発を進める手法が一般的になってきました。これにより開発効率は大幅に向上したのですが、同時に新たな問題も発生しています。Docker Composeでのポート衝突問題git worktreeやDockerを使った並列開発において、課題となるポイントの一つがポート衝突です。Docker Composeでホストとのポートバインディングを設定している場合、複数の開発環境を同時に立ち上げようとするとポートが衝突して環境が立たないという問題が発生します。従来の解決法とその課題。例えば、以下のようなdocker-compose.ymlがあったとします:services: web: build: . ports: - "3000:3000"この設定で複数のプロジェクトを同時に開発しようとすると、ポート3000が競合してしまい、2つ目以降の
15日前

try! Swift Tokyo 2025 にスタッフとして参加しました!
Pepabo Tech Portal
はじめにこんにちは!GMOペパボでモバイルアプリ開発をしているsattonです!4月9日 - 11日の3日間で開催された「try! Swift Tokyo 2025」に、初めて当日スタッフとして参加しました。今回は「当日スタッフ」として参加することになったきっかけや感想などをご紹介します!try! Swiftとはtry! Swiftは2016年から東京で開催されている、国内最大規模のSwiftのカンファレンスです。 海外の著名なエンジニアが多数スピーカーとして登壇し、海外からの参加者も多い印象です。 また、スピーカーに質問できるオフィスアワーの時間があったり、アフターパーティの開催など、交流を楽しめるのも特徴的です。 詳しくは、こちらをご覧ください。sattonがスタッフとして参加するまで昨年、一般の参加者として初めて try! Swif Tokyo に参加しました。英語でのセッションや専門的なトピックの多さに少しハードルの高さを感じつつも、イベント全体はとても楽しく、参加者同士での交流も印象に残っています。今年も参加しようと考えていた中で、dokozon0から「スタッフの募集やってますよ」と声をかけてもらったことがきっかけで、思い切ってスタッフとして参加することを決めました。正直、大規模イベントのスタッフ経験がなかったこともあり、不安な気持ちもありましたが、「支える側としてtry! Swiftに関わってみたい」という気持ちが徐々に大きくなっていきました。事前打ち合わせはオンライン、オフラインの両方で開催されました。他県から参加している方もいて、スタッフの規模が大きいことに驚きました。初対面の方が多い中でも、みなさんが打ち解けて話している様子がとても印象的で、当日への安心感につながりました。当日を迎える前は、昨年の人の多さを思い出して、ちゃんと対応ができるかと不安もありましたが、それと同じくらい楽しみな気持ちもありました。当日の役割sattonとdokozon0は会場の担当で、以下のような業務を行いました。会場設営ノベルティ配布アクセス管理ランチ配布スピーカー案内ゴミ回収会場の撤去休憩スペース(コーヒー・お菓子)その他雑務当日はアクセス管理や休憩スペースの運営を担当しました。 アクセス管理では、スタッフ限定エリアへの立ち入りを防ぐために入り口付近に立ち、参加者の誘導
15日前

「エンジニアリング統括責任者の手引き」日本語版出版によせて
Pepabo Tech Portal
はじめにSUZURI事業部 事業部CTOの黒瀧です。この度、Will Larson氏の著書「The Engineering Executive’s Primer」(日本語版「エンジニアリング統括責任者の手引き」)の翻訳レビューに、私とkenchanで参加しました。効果的なバリューの3つの条件とGMOペパボのエンジニアバリュー書籍には、組織の意思決定やマネジメントに役立つ実践的な知見が多数盛り込まれていますが、特に印象的だったのは第5章の「効果的なバリューを作る」です。この章で述べられているリバーシブル(Reversible)、適用可能(Applicable)、正直(Honest)の3つの条件は、効果的なバリューを策定・運用する上で不可欠だと著者は述べています。今回は、この3つの観点からGMOペパボのエンジニアバリューを見つめ直し、今後のEngineering All Handsや日々のエンジニアリングにどう活かしていくべきかを改めて考えてみました。リバーシブル(Reversible)効果的なバリューは、異なる視点や反対の視点から見ても意味を失わず、複数の実行可能なアプローチの中から行動を導くものであるべきです。GMOペパボのエンジニアバリューは、この「リバーシブル」性を備えていると考えます。「すべてが自分ごと」:これは「他人の課題は他人ごと」という考え方と対極にあり、チームや組織全体の課題に積極的に関わることを促します。このバリューがあるからこそ、私たちは部署の壁を越えて協力し、より大きな成果を目指すことができます。「最高・最速の両立」:これは「最高品質だけを追求して遅くなる」または「最速だけを追求して品質が下がる」という状況を避け、その両方を高いレベルで目指すという、一見相反する目標を両立させるための指針です。このバリューが、私たちのサービス開発において、周りの変化に柔軟に対応しつつ、ユーザーに届けることに繋がっています。「アウトプット前提」:これは「インプットばかりでアウトプットしない」という状態と対極にあり、常に具体的な成果を生み出すことを意識します。これは、私たちのミッションである「人類のアウトプットを増やす」をエンジニアリングの現場で実践するための重要な指針です。これらのバリューは、単なる理想ではなく、具体的な行動選択の方向性を示していると言えるでしょう。
17日前

SRE/インフラエンジニアの成長を加速させる!〜評価とキャリアのリアルを語る〜 イベントレポート
Pepabo Tech Portal
こんにちは、技術責任者の@kenchanです。最近の生き甲斐は機動戦士Gundam GQuuuuuuXを見ることです。2025年5月22日に開催されたForkwell様のオンラインイベント「SRE/インフラエンジニアの成長を加速させる!〜評価とキャリアのリアルを語る〜」にGMOペパボのパートナー3名が登壇しました。アーカイブ動画はForkwell会員限定で閲覧できますので、もし見逃した方がいらっしゃいましたらぜひご覧ください。アーカイブ動画: SRE/インフラエンジニアの成長を加速させる! 評価とキャリアのリアルを語るこの記事では、それぞれの発表を簡単に紹介しながら、当日は回答しきれなかった質問についてもいくつか回答していきます。トーク1: SRE/インフラエンジニアの市場価値とキャリアパスロリポップ・ムームードメイン事業部 事業CTOの @takumakumeです。1つ目のトークとして「SRE/インフラエンジニアの市場価値とキャリアパス」というタイトルで発表をしました。発表では、以下の「越境」「深化」「伴走」のキーワードを中心にエンジニアとしてのキャリアや市場価値を高める要素についてお話しました。トーク2: 現場SREからのアンサー『SREの技術力を評価させる技術』技術部データ基盤チームの染矢です。スクラムマスターを勝手に名乗っているのですが特にそれといった活動をできていないので、ポケモンマスターに転換しようかと考えています。最後にやったポケモンはダイヤモンド・パールのパールです。私は2022年に新卒として入社してからSRE活動に従事し、2025年4月にシニアエンジニアに昇格しました。つまりこのイベントで言うところの「成長を加速させられたSRE」として「評価とキャリアのリアルを語る」ために本イベントに参加しました。講演は『SREの技術力を評価させる技術』というタイトルで行いました。「キャリア」という語彙が自分の中になかったため内容構成に苦しみました。しかし「評価」トピックを中心に設定することによって、自身の等身大の経験を紹介しながら、再現性のありそうな「成長」方法を説明する内容を作れました。タイトルの露悪さからは想像できないくらいのいい話に着地したので、環境に恵まれているなあと改めて感じました。この登壇は、自身の内的キャリア(主観的な、働くことに対する価値観やその
1ヶ月前

「ドラッカー風エクササイズ・ペパボエディション」をオンラインで開催した話
Pepabo Tech Portal
こんにちは!GMO ペパボのグループ会社である GMO クリエイターズネットワークのよしだです。今回は、ドラッカー風エクササイズ・ペパボエディションをオンラインで開催した話をしたいと思います。オンラインで開催するにあたり、どのように実施したのかを中心にお話いたします。はじめにフリーナンスの開発に携わるエンジニアの大半が業務委託の方ということもあり、基本的にオンラインでのコミュニケーションが多いです。今回、新たにジョインした方がいたこともあり「お互いの期待をすり合わせる」ことを目的としてワークショップを開催することになりました。オンラインで開催するにあたり、ボードにはMiroを使い、PdM の方にファシリテーターをしていただきました。ドラッカー風エクササイズ・ペパボエディションとはドラッカー風エクササイズとは、「アジャイルサムライ」の著者 Jonathan Rasmusson が提唱したチームビルディングのための手法です。ドラッカー風エクササイズをベースに「期待をすり合わせる」ことを第一の目的として、質問をチューニングしたものが「ドラッカー風エクササイズ・ペパボエディション」です。質問は下記、3 つです。自分は何が得意なのかチームメンバーは自分にどんな成果を期待していると思うか他のチームメンバーに期待することは何か詳細な内容はぜひ「ドラッカー風エクササイズ」で期待をすりあわせて安全なチームにをご覧ください。ワークショップの流れ今回は参加者が 6 名、全体で 1 時間で実施しました。全体的に「他のチームメンバーに期待することは何か」を書くのに時間がかかっていたため、1 時間半あったほうが良かったかもしれません。Miro を使って導入部分から回答の記入までを作成しておきます。導入部分ワークショップの流れの説明から、「ドラッカー風エクササイズ」とは何か、何を目的にしているのかということを説明していきます。Miro に要点をまとめておくことで、次回以降ファシリテーターが変更になったとしても対応できるようにしています。回答の記入今回は回答の記入を 10 分としました。記入例を記載しておくことで、迷いにくく工夫しています。各々で下記項目を埋めていきます。名前自分は何が得意なのかチームメンバーは自分にどんな成果を期待していると思うか他のチームメンバーに期待することは何か発表タイム発
1ヶ月前

職種の壁を超える! Alive ProjectのAI活用事例を紹介
Pepabo Tech Portal
はじめに(てつを)フィルター制作プロジェクトの概要(てつを)AI活用ポイント①:ドキュメント化と知見の蓄積(hinapiyo)AI活用ポイント②:雰囲気で伝えるコーディングができる(hinapiyo)AI活用ポイント③:SNSマーケターだからこそ作れるフィルター(hinapiyo)エンジニアとしての支援と、なぜこれが可能になっているのか(てつを)まとめ(てつを)はじめに(てつを)こんにちは!事業開発部 Alive Project チームでエンジニアをしているてつをです。Alive Project は、動画・ライブ配信支援事業における配信者及び表現者のクリエイティブ活動やアウトプット活動の支援を目的として、昨年9月にリリースされたプロジェクトです。技術スタックやチーム体制の詳細については、こちらの記事で紹介していますのでぜひご覧ください。突然ですが、AIを活用していますか?目覚ましい進化を遂げるAI時代、気づけば私たちの生活のあらゆる場面にAIが当たり前のように使われるようになっています。ペパボでもVibe Coding研修や競技Vibe Codingを実施したりとAIに関する取り組みが活発です。Vibe Codingについてはブログの方で詳しく紹介していますのでぜひご覧ください。ペパボ全体でAIの活用が広まっていく中で、Alive Project チームでもAIを取り入れた開発が進んでいます。最近では、AIエージェント「Devin」を導入し、Slack上で指示するだけで実装からPR作成までを自動で行ってくれる仕組みを整えました。さらに、エンジニアだけでなくデザイナーやディレクターといった非エンジニアのパートナーも「Cursor」を使った、「Agentic Coding」を行なっています。こうしたDevinやCursorの導入により「コードを書くこと」はエンジニアだけが行うものではなくなりつつあり、その恩恵はチーム全体に広がっています。今回は Alive Project チームのAI活用事例の一つであるSNSマーケターがVibe Codingで進めている取り組みと、それをエンジニアとしてどのように支援しているかをOBSのフィルター開発事例を通してご紹介します。AIの推進や導入は進んでいるが、それがエンジニアに留まってしまっていることに課題を感じたことがある方はぜひご覧
1ヶ月前

目指せ全員エンジニア! エンジニア以外のVibe Coding活用事例を紹介します
Pepabo Tech Portal
こんにちは!EC事業部のどすこいです。今回は、ペパボでのエンジニア以外のVibe Codingの取り組みについて紹介します。ペパボではこちらのブログでもお話させていただいているように、コーディングのドライバーがAIで、ナビゲートが人間、というパラダイムを迎えていると考えています。そんな中、そのパラダイムに対応するために、私たちはVibe Coding研修を企画しています。さっそく、新卒パートナーの実施に先駆けて、既存のパートナー向けに実施しました。これはVibe Codingを実際に実施することで、以下のことを体感して理解することを目的としています。大量のコード生成が十分可能であることある程度動くものができるということしかしそれをそのままプロダクトとしてリリースするには壁があるということ本ブログでは、このVibe Coding研修を受けたパートナーで、エンジニアでない方の開発事例を紹介します。それでは、ここからは新卒入社でサブマネージャーをやっている、じぇいさんにバトンタッチしたいと思います。自己紹介こんにちは!ロリポップ・ムームードメイン事業部の事業開発チームでサブマネージャーをしている じぇい @jay_zonoです。今回はエンジニアとしてのバックグラウンドを持たない私がVibe CodingによってChrome拡張機能を開発するまでのストーリーをご紹介します。Vibe Codingとの出会いこれまでも「v0」などのツールを利用してプロトタイプを作るなどの取り組みはしていましたが、社内で開催された「Vibe Coding研修」に参加したことで、実際に日常業務で使えるものを自分で作ってみようという思いが強くなりました。作るものの決め方まず、日常業務の効率化、自動化を実現する機能を開発するということは決めていました。その上で、開発する機能を考えるにあたり、以下の条件で候補を出しました。自分が必ず人力で対応する必要がない作業: AIや自動化で代替できるもの1日の中で何度も発生する作業: 自動化の恩恵が大きいものこの条件で日常業務を洗い出した結果、「NotionやSlackに書き出したTODOをGoogleカレンダーにも手動で登録する」という作業が候補に挙がりました。ぼくはタスクをGoogleカレンダーに登録して管理する習慣があるのですが、この一連の作業は地味に面倒で、
1ヶ月前

Cloud Native Days Summer 2025 プレイベントにてKarpenterの運用ノウハウを発表しました
Pepabo Tech Portal
こんにちは。shibatchといいます。少し前になりますが、4月28日に、Cloud Native Days Summer 2025 プレイベントに登壇しました。進化するK8s運用:KarpenterによるCluster Autoscalerからの脱却、運用ノウハウ完全公開と題しまして、KarpenterというKubernetes上で動作するソフトウェアについて紹介しました。#CNDS2025 続いてのセッションは、@hokatabiによる、「進化するK8s運用:KarpenterによるCluster Autoscalerからの脱却、運用ノウハウ完全公開」です!YouTubeの視聴はこちらから!https://t.co/eV9VMbAMUH pic.twitter.com/C051sCVa3p— CloudNative Days (@cloudnativedays) April 22, 202530分の登壇で、時間を余すことなくKarpenterについて自分の知見を一から十まで共有したので、この記事ではスマートフォンでも読みやすいように内容をかいつまんでご紹介します。なお、内容の詳細は以下の登壇資料をご覧ください。1. はじめに1.1 自己紹介技術部 技術基盤グループに所属し、複数のKubernetesクラスタの設計、構築、運用、セキュリティ対策などを担当しています。特にAWSでのプラットフォーム基盤の設計、構築に強みを持っています。1.2 GMOペパボのマルチブランド戦略とKubernetesGMOペパボでは、複数のサービスをマルチブランド戦略で展開しています。Kubernetesもさまざまなサービスで導入されていますが、本日はそのうちの2つのサービス(SUZURIとminne)でのKubernetesクラスタについての話になります。1.3 アジェンダKarpenter入門編インストール編運用編2. Karpenter入門編2.1 Karpenterとは私がKarpenterを知ったのはCloud Native Days Tokyo 2023です(この時の参加レポートはこちら - CloudNative Days Tokyo 2023に参加しました)。Karpenterは、Kubernetesクラスタ用のノードの動的なスケールアウトとスケールインを自動化するノード
2ヶ月前