Yappli Tech Blog

https://tech.yappli.io/

株式会社ヤプリの開発メンバーによるブログです。最新の技術情報からチーム・働き方に関するテーマまで、日々の熱い想いを持って発信していきます。

フィード

記事のアイキャッチ画像
サーバーサイドグループ組織紹介(2026年版)
Yappli Tech Blog
はじめに 働き方とコミュニケーション 働き方 所定労働時間 ハイブリッド勤務 人数 コミュニケーション SV定例(週1回) プラットフォーム技術共有会(月1回) YappdateWeek(Q1回) Win Session(隔週) LT大会(Q1回) 技術スタック プログラミング言語とフレームワーク 開発組織 Yappli開発部 CX開発部 UNITE開発部 マルチプロダクト開発部 私たちが向き合う挑戦 約1000のアプリを支えるバックエンドのスケール PHP → Go + DDDへのアーキテクチャ進化 大規模データのパフォーマンス改善 MySQLのパーティション剪定で16倍改善 CSVユーザー…
21日前
記事のアイキャッチ画像
SELECT FOR UPDATEのデッドロックを防ぐ2つの設計パターン
Yappli Tech Blog
はじめに こんにちは、ヤプリでサーバサイドエンジニアをしている熊埜御堂です。 業務で排他ロックが必要な実装をする機会がありました。排他ロック制御をする際はデッドロックに気をつける必要があると思います。本記事では、実装で講じたデッドロックに対する2つの対策を、ロック機構の仕組みとともに解説します。 実装の全体像 以下は、チケットの一括消費処理のサンプルコードです。複数のチケットに対して同時に排他ロックを取得し、消費履歴の作成と残回数のデクリメントをアトミックに行う必要があります。 今回はPHP(laravel)を例にして説明しますが、他言語でも考え方は同じです。 <?php public sta…
23日前
記事のアイキャッチ画像
Claude Code の社内マーケットプレイスをAI friendlyに設計し、Skill を部署横断で共有する仕組みを作った
Yappli Tech Blog
こんにちは、サーバーサイドグループのマネージャーの鬼木です。 今回は、社内向けに Claude Code のプラグインマーケットプレイス を作り、各自が個人環境で育てていたSkillを部署横断で共有できるようにした取り組みを紹介します。 背景:個人で作ったSkillの共有の仕組みがなかった Claude Code を使っていると、自分の業務に合わせたSkill(特定の観点でコードレビューする、仕様の叩きを詰める、など)を作りたくなります。実際わたし達のチームでもいくつか作っていました。 ただ、これらは各自の ~/.claude 配下にローカル保存されるだけで、他のメンバーが使う手段がありません…
1ヶ月前
記事のアイキャッチ画像
E2Eテストは「人間が書く」から「AIに書かせる」時代に - Claude Codeで目指したテスト作成のAgent Loop -
Yappli Tech Blog
はじめに こんにちは、ヤプリでQAをしている今西(@TKNW_Hitsuji)です。 最近は業務中、人間よりもAIと会話している時間の方が長いんじゃないかと思うほど、AIと向き合って作業をする割合が多くなってきています。時代の急激な変化を肌で感じる毎日です。 さて、この記事を読んでいるということは「E2Eテストの自動化を進めたいけれど、コードを書けるリソースが足りない」「特定のメンバーにメンテナンスの負担が集中して属人化してしまう」。そんな悩みを抱えているのではないでしょうか? 今回はその課題に向き合うべく、E2E自動テストの "作成"そのものをAIエージェント(Claude Code)に任せ…
1ヶ月前
記事のアイキャッチ画像
AIプロバイダーを抽象化してモデル選定を柔軟にする
Yappli Tech Blog
はじめに AI業界は動きが速い インターフェースで抽象化してプロバイダーへの依存を断ち切る モデルの切り替えを気軽に試せた おわりに はじめに こんにちは、サーバーサイドエンジニアの中川(@tkdev0728)です。 最近、AIをプロダクトに組み込む機能の実装をしました。実装を通じて、AIプロバイダーを柔軟に選択できる設計にしておいてよかったと感じたので、その話を書きます。 AI業界は動きが速い 今回の機能では、Gemini Enterprise Agent Platform(旧VertexAI) を採用しました。既存のAI機能にはAzure OpenAIを使っていますが、今回使いたいモデルは…
1ヶ月前
記事のアイキャッチ画像
54億回の比較とFirebase API地獄 — CSVユーザーインポートをCPUとI/Oの両面から爆速にした話
Yappli Tech Blog
はじめに サーバーエンジニアの 水戸(@penguin4glte) です。 ヤプリには、CSV ファイルをアップロードするとアプリのユーザーを一括で登録・削除できる「ユーザー一括インポート」機能があります。今回は、この機能が大規模なデータで遅くなっていた問題を、CPU(計算量) と I/O(外部 API 呼び出し) という 2 つの異なる切り口から改善した話を書きます。 タイトルにある「54億回の比較」と「Firebase API 地獄」は、どちらも実際にぶつかったボトルネックです。 はじめに TL;DR 背景 — ユーザー一括インポートの仕組み 問題1:54億回の文字列比較(O(n²)) 何…
2ヶ月前
記事のアイキャッチ画像
MySQLのパーティション剪定が機能していなかった話 — Eloquentクエリに条件を1行追加して16倍改善
Yappli Tech Blog
こんにちは、ヤプリでサーバサイドエンジニアをしている熊埜御堂です。 今回は、業務で行ったAPIのパフォーマンス改善について記載します。 TL;DR 何が起きていたか: EXPLAINで event_histories へのクエリが全144パーティションをスキャンしていた なぜ起きていたか: サブパーティションキー(tenant_id)がWHERE句に含まれておらず、MySQLがパーティション剪定できなかった どう直したか: Eloquentの with() に .where('tenant_id', $tenant->id) を追加 効果: スキャンパーティション数 144 → 9(16倍改善…
2ヶ月前
記事のアイキャッチ画像
ヤプリが目指す、アプリ申請支援の新しい形「App Support by Yappli」
Yappli Tech Blog
こんにちは!サポート部 アプリ申請グループの園川です。 今回は、昨年リリースした新サービス「App Support by Yappli」についてお話ししたいと思います。 App Support by Yappliとは? よくある審査対応時の課題 “通す”ための専門サービス 「出す手間」を任せるという選択 スムーズなリリースに向けて 最後に App Support by Yappliとは? アプリのストア申請から審査通過までを一貫して支援する、サブスクリプション型の支援サービスです。 アプリ市場は拡大を続けていますが、リリース直前の「ストア申請」でつまずくケースは少なくありません。 App St…
2ヶ月前
記事のアイキャッチ画像
gRPCのCLIツールを操作するAgent Skillを作った話
Yappli Tech Blog
はじめに サーバーエンジニアの 水戸(@penguin4glte) です。 皆さん、AI使ってますか? 今回は、私が作ったAgent Skill「grpcurl」を紹介します。 はじめに 背景 Agent Skill とは grpcurl スキルの動き Step 1: サーバー種別の選択 Step 2: 対話形式で必要な情報を収集 Step 3: コマンドの構築と実行 Step 4: 結果の表示 作っていて詰まったこと proto ファイル指定から reflection に切り替えた 認証ヘッダーの条件分岐が複雑だった 使ってみた感想 まとめ 背景 弊社のバックエンドは gRPC を使っていま…
2ヶ月前
記事のアイキャッチ画像
【try! Swift Tokyo 2026】Private APIで探るiOSの裏側。「iOS Private Playgrounds」 ワークショップ参加レポート
Yappli Tech Blog
はじめに iOS エンジニアの 菅(@Nao_RandD | ナオランド)です。 先週、try! Swift Tokyo 2026に現地参加してきました。 今年は「iOS Private Playgrounds」というワークショップが印象的でしたので、その魅力と学びについてご紹介できればと思います。 はじめに ワークショップでの主な学び Objective-Cランタイムを用いたAPIの探索と利用 1. lldbによるオブジェクトのダンプ 2. KVC(Key-Value Coding)による値の注入 SwiftにおけるPrivate APIへのアクセス 1. @_silgen_name と d…
3ヶ月前
記事のアイキャッチ画像
dbt管理下にないテーブルをdbt macroで一括削除する
Yappli Tech Blog
こんにちは!データサイエンス室(以下、DS室)の山本です(@__Y4M4MOTO__)です。 運用中のdbtプロジェクトに対して、dbt管理下にないテーブルを一括削除する仕組みを構築したので、その内容を共有します。 なぜやったのか? どうやったのか? 導入にあたっての工夫 cleanup.sql の修正 エラーの修正 クローンされたテーブルに対応 BigQueryビューの削除に対応 Makefileで開発環境へ実行可能に GitHub Actionsでmainブランチへマージしたときに実行するように 結び なぜやったのか? 新規にdbtプロジェクトを作成した際に出力先のBigQueryデータセ…
3ヶ月前
記事のアイキャッチ画像
マネージャーになって行き着いた、「任せられる人」の3要素: 技術力・リード力・提案力
Yappli Tech Blog
こんにちは。 株式会社ヤプリ CX開発部でサーバーサイドのグループマネージャーをしている加納です。 最近、社内外問わずキャリア相談を受ける機会が増えました。 社内の1on1、カジュアル面談、面接などで、さまざまな方とキャリアについて話しています。 「テックリードになりたいです」 「マネージャーに興味があります」 「PdMって面白そうですよね」 「PjMってどんな仕事なんですか?」 ヤプリの開発組織は今年から職能別から事業部別に変わり、サーバー、アプリ、QA、PdMが近い距離で働くようになりました。 その結果、職種の枠を越えたキャリアの可能性がより現実的になっています。 これはとてもポジティブな…
3ヶ月前
記事のアイキャッチ画像
サーバーサイドグループのアラート対応属人化解消までの道のり
Yappli Tech Blog
はじめに 課題:「気づいた人が見る」という性善説の限界 リスク1:有識者がいないとわからない リスク2:知見のブラックボックス化 アプローチ:プロジェクトではなく「委員会」という選択 なぜツールではなくチーム運用から始めたのか やったこと①:委員会内でのスモールスタート やったこと②:メンバーのアサイン やったこと③:初動マニュアルの作成 ステップ1:ログの確認と共有 ステップ2:過去の対応履歴を確認 ステップ3:発生条件と顧客影響の特定 ステップ4:重要度の判定と対応 「迷ったら遠慮なく頼る」を明文化する 完璧なドキュメントを目指さない 結果①:「何をすればいいかわからない」がなくなった 結…
3ヶ月前
記事のアイキャッチ画像
【try! Swift Tokyo 2026】 "Enhance your apps with the Foundation Models" ワークショップ参加レポート
Yappli Tech Blog
1. はじめに みなさん、こんにちは! ヤプリでiOSエンジニアをしている白数 (@cychow_app)です。 2026/04/12 〜 2026/04/14 の期間でtry! Swift Tokyo 2026が開催されています。 Day 1では、5つのWorkshopsが開催され、それぞれ非常に興味深い内容となっていました。 私はその中の、「Enhance your apps with the Foundation Models (Foundation Modelsでアプリを強化する)」というWorkshopに参加してきました。 このWorkshopは、Appleでテクノロジーエバンジェリ…
3ヶ月前
記事のアイキャッチ画像
BigQuery外部テーブルをネイティブテーブル化してYappli Analyticsを爆速にした話
Yappli Tech Blog
こんにちは!データサイエンス室(以下、DS室)の山本です(@__Y4M4MOTO__)です。 先日、アプリ分析ツール「 Yappli Analytics 」の動作を大幅に改善しました。この記事では、どのように改善し、どれくらい速くなったのかを紹介します。 なぜやったのか 何をやったのか 1. 現状の可視化とモニタリング 2. 原因特定 原因はジョブの詰まり 詰まらせているジョブを特定するためのダッシュボード作成 1. 1分単位の平均所要時間の推移グラフ 2. ジョブの時系列表 詰まらせているジョブの特徴を分析 3. 対策の実施 方針 ネイティブテーブル化による速度検証 同期機構の設計・構築 ど…
3ヶ月前
記事のアイキャッチ画像
アウトプット品質とスピードを安定して底上げするための Yappli iOS チームの Harness Engineering
Yappli Tech Blog
アウトプット品質とスピードを安定して底上げするための Yappli iOS チームの Harness Engineering
3ヶ月前
記事のアイキャッチ画像
Devin + New Relic:iOSアプリのクラッシュ修正をAIで自動化する
Yappli Tech Blog
こんにちは。iOSアプリチームの scenee です。 アプリ運用において、クラッシュ対応は避けて通れません。しかし、ログの収集、原因の特定、修正案の作成という「一次調査」には多大な工数がかかります。 今回、私はAIエージェントであるDevinと監視ツールのNew Relicを連携させ、毎週自動で「クラッシュ上位3件の修正案(Draft PR)」を作成する仕組みを構築しました。 Devin+NewRelicによるクラッシュ修正ワークフロー 1. なぜDevinなのか? iOSアプリで発生するクラッシュの多くは、意図しない例外(Objective-C Exception)やOptionalの強制…
4ヶ月前
記事のアイキャッチ画像
visionOS向け空間ビデオプレイヤーを実装してみた② ~ VideoPlayerComponent での空間ビデオ再生 ~
Yappli Tech Blog
1. はじめに みなさん、こんにちは! 株式会社ヤプリでiOSエンジニアをしています白数 (@cychow_app) です。 前回の記事では、空間ビデオプレイヤーを構築する上で、まず空間ビデオとは何なのか、どのようなメタデータを保持しているのかに焦点を当てて解説しました。 もしご興味がありましたら、前回の記事も一読いただけると嬉しいです。 tech.yappli.io 今回は、本題の空間ビデオのプレイヤーの実装についてご紹介していければと思います。 2. 空間ビデオ再生プレイヤーの実装 2.1 VideoPlayerComponent と視聴モード 再生プレイヤーを実装していく前に、まずどのよ…
4ヶ月前
記事のアイキャッチ画像
Postman + GitHub Actions で QAエンジニアが一からAPI テストを完全自動化した話
Yappli Tech Blog
ヤプリでQAエンジニアをしています、ぐっさんです。 突然ですが、API テストの運用どうしていますか? 弊社ではAPIのテストをPostmanを使い手動実行しているのですが、観点は都度違えど手順が不変であり自動化移行しやすい状態でした。 そこで今回、Postmanから手動で叩くだけの運用から脱却し、GitHub Actions + Newman を使って「何もしなくても月曜朝にテスト結果が Slack に届く」環境を構築しました。 今後、API テストの自動化を検討している方に向けて、技術選定、実装のハマりどころや技術的な工夫を紹介させていただきます。 技術スタックと選定理由 実装のポイント …
4ヶ月前
記事のアイキャッチ画像
Compose × Fragment で画面が真っ白に!? Activity遷移で起きた謎の白画面を追う
Yappli Tech Blog
こんにちは、Androidエンジニアの伊藤と申します! 今回は、Jetpack Composeと従来のFragmentを組み合わせた画面で、画面遷移後に戻ってきたときにコンテンツが表示されなくなる問題に遭遇しましたのでそれを共有しようかなと思います👀 不具合事象をざっくり説明すると、ComposeViewを持つFragment Aの中でAndroidFragmentを使用しており、そこから別のActivityを起動し、再びFragment Aに戻ってくると、画面が真っ白になってしまうという事象です。 本記事では、この問題の原因究明から解決までのプロセスと、最終的にsetViewComposit…
4ヶ月前
記事のアイキャッチ画像
Android 16のダークテーマ対応、WebViewで意図しない挙動になってませんか?
Yappli Tech Blog
こんにちは、Androidエンジニアの伊藤と申します! 今回は、遅ればせながらAndroid 16対応でダークテーマの挙動を調整した際に、WebViewが意図せずダークモード固定になってしまった問題について共有します👀 android:isLightTheme 属性の理解が不十分だったために発生した問題で、同じような状況に遭遇する方もいるかもしれないため、経緯と解決策をまとめました。 背景:Android 16のダークテーマ拡張オプション 最初の対応:isLightTheme = false 問題の発覚:WebViewがダークモード固定に 原因:isLightTheme属性の誤解 解決策:We…
4ヶ月前
記事のアイキャッチ画像
visionOS向け空間ビデオプレイヤーを実装してみた① ~ 空間ビデオのメタデータについて ~
Yappli Tech Blog
1. はじめに みなさん、こんにちは! 株式会社ヤプリでiOSエンジニアをしています白数 (@cychow_app) です。 最近はClaude CodeやCodexといったAI Agent周りのキャッチアップに日々追われていますが、それと並行してvisionOSについても日々追っています。 弊社ではApple Vision Proを3台保有しており、空間コンピューティングの可能性についても日々模索しています。 これまでの取り組みに関しては、下記の記事をご参照いただければと思います。 tech.yappli.io tech.yappli.io 私自身もApple Vision Proが日本で販…
4ヶ月前
記事のアイキャッチ画像
JaSST '26 Tokyo 参戦!@東京ビッグサイト
Yappli Tech Blog
はじめに JaSSTとは JaSSTに向けて、「勉強会」での事前準備から「感想会」まで 勉強会での事前準備編 参加して「よかったね」だけで終わらせない JaSST 当日を迎えて 感じたこと 去年との比較 参加してみて ついにヤプリQAから登壇! 最後に PR はじめに ヤプリQAの伊藤です! 去年、一昨年と続き、JaSST ‘26 Tokyoに今年も参加してきました! 去年のブログはこちら↓ tech.yappli.io 今回の開催場所は、なんと東京ビッグサイト! JaSSTとしては2020年に同会場での開催を予定していましたが、コロナ禍により無念の断念…。 あれから6年、ついにビッグサイトで…
4ヶ月前
記事のアイキャッチ画像
JaSST Tokyo 2026 登壇レポート | AIエージェント×GitHubで実現するQAナレッジの資産化と業務活用
Yappli Tech Blog
こんにちは、Yappli開発部 YappliQAグループの今西(@TKNW_Hitsuji)です。 2026年3月20日に開催された JaSST Tokyo 2026 で、 「AIエージェント×GitHubで実現するQAナレッジの資産化と業務活用」 というテーマで登壇してきました。本日はその内容と参加レポートをメインに記していきます。 登壇資料 はじめに なぜこのテーマで話そうと思ったのか 取り組んだこと 既存のQA資産を、AIが読める形に変換 既存観点をフィルタとして利用 GitHubで管理する意味 発表で伝えたかったこと JaSST Tokyo 2026に参加して感じたこと おわりに 登壇…
4ヶ月前
記事のアイキャッチ画像
ヤプリ製アプリの「熱量」を可視化せよ!インターン生がdbtとデータモデリングで挑んだ社内ダッシュボード構築記
Yappli Tech Blog
はじめに ヤプリインターンに参加した経緯 ミッション プロジェクトの背景 取り組んだこと データパイプライン構築 ダッシュボード表示項目の検討 得られた学び 計算量を意識したSQL実装の重要性 dbtの3層構造による、変更に強いモデリングの習得 ダッシュボードの本質は意思決定を促すインサイトにある 今後の展望 AIと連携による「数値の背景」の可視化 #to-data への頻出依頼を「先回り」で可視化 おわりに はじめに はじめまして!会津大学コンピュータ理工学部4年の寺田優彦と申します。 2026年1月16日から2月27日までの期間、株式会社ヤプリのデータサイエンス室にインターンとして参加させ…
5ヶ月前
記事のアイキャッチ画像
iOSエンジニア志望の2ヶ月間のインターンレポート
Yappli Tech Blog
はじめまして! ヤプリのiOSチームでインターンに参加させていただきました、三ツ井と申します。 本選考の一環としての参加ではありましたが、技術的にもカルチャー的にも沢山の学びがあったので、振り返りとしてまとめたいと思います。 インターンに参加したきっかけ やったこと 具体的に取り組んだタスク 1. フォーム機能のUI不具合修正 2. ポイントカード機能のデザイン調整 3. スクロールメニュー内のログイン画面表示の仕様変更 参加してみての感想 1. 「自分のコードがプロダクトになる」という緊張感 2. ドキュメント文化の凄さ 3. 常に成長する文化 4. 人の良さ+プロダクト愛 最後に インター…
6ヶ月前
記事のアイキャッチ画像
iOSチームにジョインして1ヶ月の振り返り
Yappli Tech Blog
はじめに 経歴 入社を決めた理由 入社してみて オンボーディング チーム 入社1ヶ月でやったこと YOP チケット対応 リリース・ビルド対応 これから おわりに はじめに 12月よりiOSエンジニアとしてジョインした池田です。 今回は中途入社して1ヶ月で感じたヤプリについてお伝えします! 経歴 新卒でIT企業へ入社しバックエンド開発(エンジン、SDK等)に従事しました。またモバイルアプリ開発もヘルプとして複数回経験しました。一度外の世界を見てみたいと思い転職し、2社目ではiOSエンジニアとしてtoCのアプリ開発と後輩育成に勤しみました。そして社会人7年目、3社目となる株式会社ヤプリへ入社しまし…
6ヶ月前
記事のアイキャッチ画像
Android アプリに Okta 認証を入れてみた
Yappli Tech Blog
こんにちは、最近 iOS から Android エンジニアにジョブチェンジした西村です。 最近社内の Android アプリに Okta 認証を導入し、ログインをしないと使えないようにセキュリティを強化しました。 あまり実装する機会はないかもしれないですが、どのように実装したか紹介していきます! この記事は 「ヤプリ&フラー 合同アドベントカレンダー #2」 の21日目の記事です!🎄 Oktaとは? 今回やりたいこと 実装の前に 実装 1. Okta SDK の導入 2. SDK の初期化 3. ログイン画面 4. ログイン処理 5. 状態を Model で管理 6. ログアウト処理の実装 最…
7ヶ月前
記事のアイキャッチ画像
第2回 ヤプリ×フラー合同LT大会参加レポート!
Yappli Tech Blog
こんにちは、サーバーサイドエンジニアの籔本です! ヤプリの開発統括本部では四半期に一度LT大会を実施しています。 今回は、ヤプリと資本業務提携しているフラー株式会社(以下、「フラーさん」)をお招きし、2回目となる合同LT大会を開催しました! どんな会? 発表内容 Pick Up 『犬との挨拶マナー研修』 『ホームポジションで快適にタイピングするTips』 『古のソフトウェア開発』 『ラーメンをGeminiに食わせたら私が15kg痩せた話』 まとめ どんな会? LT大会(Lightning Talk大会)は、 一人約5分で自由なテーマに基づいて発表していくイベントです。ヤプリの開発統括本部では、…
7ヶ月前
記事のアイキャッチ画像
QAカンファレンス「JaSST」 〜プロポーザル採択までの道〜
Yappli Tech Blog
この記事は 「ヤプリ&フラー 合同アドベントカレンダー #1」 の24日目の記事です!🎄 こんにちは。ヤプリでQAエンジニアをしているぐっさんです。 今年、ヤプリQAとしては勉強会の開催、テックブログの積極的な更新やQA外部イベントへの参加などチーム内外問わず様々な場面でのQA技術発信を目標に活動をしてきました。 その一つとして、毎年行われていますQAエンジニアを対象とした技術カンファレンス「JaSST’26 Tokyo」に、ヤプリQAとして初めてプロポーザル投稿へと挑戦しました。 結果無事1名のプロポーザルが採択されましたので、本記事では、チーム一丸となって実施したプロポーザル採択に至るまで…
7ヶ月前