Yappli Tech Blog

https://tech.yappli.io/

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

フィード

記事のアイキャッチ画像
使うほど分析力を高める機能の開発に取り組んでみた 〜インターンで思想を盛り込んだ開発をした話〜
Yappli Tech Blog
こんにちは。ヤプリのデータサイエンス(DS)室で約1ヶ月間インターンをしていたはるじょーです! インターンでは、社内向けの対話型分析ツール(自然言語で自社データについて質問できる社内ツール)に、新しく2つの機能を企画から実装まで担当しました。この記事では、その開発の過程と工夫した点についてまとめます (このツールを検証する中で試した「AIペルソナに使ってもらう」という手法についても別記事に書いているので、よければあわせて読んでください) ※本記事に掲載しているスクリーンショットは、実データが映り込まないよう用意した検証専用の環境で撮影したものです。アプリ名・数値は全てダミーデータで、実在のクラ…
8日前
記事のアイキャッチ画像
インターンでPDD(ペルソナ駆動開発)をした話
Yappli Tech Blog
こんにちは!ヤプリのデータサイエンス(DS)室で約1ヶ月間インターンをしていました、はるじょーと申します! 今回は、社内向けの生成AIチャットツールに新機能を追加する開発を担当した中で、その機能が「本当にユーザーの役に立つのか」を検証するために取り組んだ、PDD(ペルソナ駆動開発)についてお伝えします (もう1本、開発した機能そのものについての記事も書いているので、よければあわせて読んでください) きっかけ:「作ったはいいけど、これで合っているのか」問題 インターンでは、「社内の担当者が自然言語で自社データについて質問できる生成AIチャットツール」の開発を行っていました。 その中で、「この機能…
8日前
記事のアイキャッチ画像
第3回 ヤプリ×フラー合同LT大会 開催レポート!
Yappli Tech Blog
こんにちは、ヤプリでQAをしている今西(@TKNW_Hitsuji)です! ヤプリの開発統括本部では、四半期に一度「LT大会」を開催しています。 技術のことも、趣味のことも、垣根なく語り合えるこの場は、ヤプリの開発組織のカルチャーを垣間見ることのできるイベントになっております! 今回は、ヤプリと資本業務提携しているフラー株式会社(以下、「フラーさん」)をお招きし、3回目となる合同LT大会を開催しました! ヤプリとフラーさんが一緒になって盛り上がる、この合同LT大会ならではの雰囲気を少しでも感じ取ってもらえたら嬉しいです。 どんな会? 当日の発表ラインナップ 発表内容 Pick Up 『友人から…
13日前
記事のアイキャッチ画像
台湾のiOSカンファレンス"iPlayground 2026"で登壇してみた
Yappli Tech Blog
はじめに 株式会社ヤプリでソフトウェアエンジニアと Tech PR を担当している freddi です。 2026年7月25日から26日に台北で開催された「iPlayground 2026」で登壇したので、現地の様子などをお伝えします。 iPlayground とは? iPlayground は台北で毎年開催される、Apple Platform のカンファレンスです。日本の iOSDC Japan や try! Swift といったカンファレンスに感銘を受けた主催者が 2018年から開催しており、今年で6回目の開催になります。 iplayground.io 私自身は去年からスピーカーとして参加…
14日前
記事のアイキャッチ画像
企画から実装まで自走するって楽しい 〜1ヶ月間のDS室のインターンで学んだこと〜
Yappli Tech Blog
はじめまして、データサイエンス(DS)室で1ヶ月間インターンをさせていただいた松戸美純と申します!今回はインターンで取り組んだ内容と、そこで得た経験について振り返っていきたいと思います。 インターンに参加したきっかけ やったこと アプリ研修 Spicaの開発 UI/UX改善 カルテ画面実装 UI設計における工夫 プロンプト設計における工夫 カルテ以外の軽微なUI/UX修正 難しかったこと 感想 自由度が高く、自走させてもらえた 人や職場環境の良さ 最後に インターンに参加したきっかけ 今回このインターンに応募した理由は大きく2つあります。 1つ目は、多くのユーザーを持つプロダクトの開発に携わっ…
16日前
記事のアイキャッチ画像
ヤプリ iOSメンバー対談!〜 iOSDC Japan 2026 特別編 〜
Yappli Tech Blog
背景 今年、iOSDC Japan 2026 に菅と岸川の2名のエンジニアが登壇することになりました!また、スポンサーブースではヤプリやその開発メンバーをよく知れる、面白い企画を行います! ...そこで!2026年6月末、iOSDC Japan 2026参加者の皆さんにもっとヤプリメンバーを知ってもらおうという企画のもと、freddiがメンバー全員にインタビューを行いました! メンバー紹介 加藤(ヤプリ歴:5年目):クライアントからの問い合わせ対応チームを率いるリード業務に従事。 白数(ヤプリ歴:2年目):組織エンゲージメントを高める「UNITE by Yappli」の機能開発と、Apple …
1ヶ月前
記事のアイキャッチ画像
入社3ヶ月で感じた「やりたい」がかたちになるヤプリの文化
Yappli Tech Blog
🎉 ヤプリのココが好き 🚀 「やりたい」が5分でかたちになる 🙋 「わからない」と言える空気は、ちゃんと設計されている 👔 経営層との距離が近い 📚 部署の壁がない、3ヶ月間の研修(YOP) 🍙 人がつながる仕組みが常に動いている 🛠 技術に本気で向き合う先輩たち 🧭 1on1で「なりたい方向」を一緒に描いてくれる ☕ オフィスも気持ちいい ✨ 3ヶ月で自分が変わったこと まとめ こんにちは!エンジニアをしているchihiro(@SoikawaC)です! 2026年6月にエンジニアとして中途入社し、早くも3ヶ月が経ちそうです。今はCX開発部の遊撃チームで、お客様ごとのAPI連携や個社の開発を担…
1ヶ月前
記事のアイキャッチ画像
サーバーサイドグループ組織紹介(2026年版)
Yappli Tech Blog
はじめに 働き方とコミュニケーション 働き方 所定労働時間 ハイブリッド勤務 人数 コミュニケーション SV定例(週1回) プラットフォーム技術共有会(月1回) YappdateWeek(Q1回) Win Session(隔週) LT大会(Q1回) 技術スタック プログラミング言語とフレームワーク 開発組織 Yappli開発部 CX開発部 UNITE開発部 マルチプロダクト開発部 私たちが向き合う挑戦 約1000のアプリを支えるバックエンドのスケール PHP → Go + DDDへのアーキテクチャ進化 大規模データのパフォーマンス改善 MySQLのパーティション剪定で16倍改善 CSVユーザー…
2ヶ月前
記事のアイキャッチ画像
SELECT FOR UPDATEのデッドロックを防ぐ2つの設計パターン
Yappli Tech Blog
はじめに こんにちは、ヤプリでサーバサイドエンジニアをしている熊埜御堂です。 業務で排他ロックが必要な実装をする機会がありました。排他ロック制御をする際はデッドロックに気をつける必要があると思います。本記事では、実装で講じたデッドロックに対する2つの対策を、ロック機構の仕組みとともに解説します。 実装の全体像 以下は、チケットの一括消費処理のサンプルコードです。複数のチケットに対して同時に排他ロックを取得し、消費履歴の作成と残回数のデクリメントをアトミックに行う必要があります。 今回はPHP(laravel)を例にして説明しますが、他言語でも考え方は同じです。 <?php public sta…
2ヶ月前
記事のアイキャッチ画像
Claude Code の社内マーケットプレイスをAI friendlyに設計し、Skill を部署横断で共有する仕組みを作った
Yappli Tech Blog
こんにちは、サーバーサイドグループのマネージャーの鬼木です。 今回は、社内向けに Claude Code のプラグインマーケットプレイス を作り、各自が個人環境で育てていたSkillを部署横断で共有できるようにした取り組みを紹介します。 背景:個人で作ったSkillの共有の仕組みがなかった Claude Code を使っていると、自分の業務に合わせたSkill(特定の観点でコードレビューする、仕様の叩きを詰める、など)を作りたくなります。実際わたし達のチームでもいくつか作っていました。 ただ、これらは各自の ~/.claude 配下にローカル保存されるだけで、他のメンバーが使う手段がありません…
2ヶ月前
記事のアイキャッチ画像
E2Eテストは「人間が書く」から「AIに書かせる」時代に - Claude Codeで目指したテスト作成のAgent Loop -
Yappli Tech Blog
はじめに こんにちは、ヤプリでQAをしている今西(@TKNW_Hitsuji)です。 最近は業務中、人間よりもAIと会話している時間の方が長いんじゃないかと思うほど、AIと向き合って作業をする割合が多くなってきています。時代の急激な変化を肌で感じる毎日です。 さて、この記事を読んでいるということは「E2Eテストの自動化を進めたいけれど、コードを書けるリソースが足りない」「特定のメンバーにメンテナンスの負担が集中して属人化してしまう」。そんな悩みを抱えているのではないでしょうか? 今回はその課題に向き合うべく、E2E自動テストの "作成"そのものをAIエージェント(Claude Code)に任せ…
2ヶ月前
記事のアイキャッチ画像
AIプロバイダーを抽象化してモデル選定を柔軟にする
Yappli Tech Blog
はじめに AI業界は動きが速い インターフェースで抽象化してプロバイダーへの依存を断ち切る モデルの切り替えを気軽に試せた おわりに はじめに こんにちは、サーバーサイドエンジニアの中川(@tkdev0728)です。 最近、AIをプロダクトに組み込む機能の実装をしました。実装を通じて、AIプロバイダーを柔軟に選択できる設計にしておいてよかったと感じたので、その話を書きます。 AI業界は動きが速い 今回の機能では、Gemini Enterprise Agent Platform(旧VertexAI) を採用しました。既存のAI機能にはAzure OpenAIを使っていますが、今回使いたいモデルは…
2ヶ月前
記事のアイキャッチ画像
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²)) 何…
3ヶ月前
記事のアイキャッチ画像
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倍改善…
3ヶ月前
記事のアイキャッチ画像
ヤプリが目指す、アプリ申請支援の新しい形「App Support by Yappli」
Yappli Tech Blog
こんにちは!サポート部 アプリ申請グループの園川です。 今回は、昨年リリースした新サービス「App Support by Yappli」についてお話ししたいと思います。 App Support by Yappliとは? よくある審査対応時の課題 “通す”ための専門サービス 「出す手間」を任せるという選択 スムーズなリリースに向けて 最後に App Support by Yappliとは? アプリのストア申請から審査通過までを一貫して支援する、サブスクリプション型の支援サービスです。 アプリ市場は拡大を続けていますが、リリース直前の「ストア申請」でつまずくケースは少なくありません。 App St…
4ヶ月前
記事のアイキャッチ画像
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 を使っていま…
4ヶ月前
記事のアイキャッチ画像
【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…
4ヶ月前
記事のアイキャッチ画像
dbt管理下にないテーブルをdbt macroで一括削除する
Yappli Tech Blog
こんにちは!データサイエンス室(以下、DS室)の山本です(@__Y4M4MOTO__)です。 運用中のdbtプロジェクトに対して、dbt管理下にないテーブルを一括削除する仕組みを構築したので、その内容を共有します。 なぜやったのか? どうやったのか? 導入にあたっての工夫 cleanup.sql の修正 エラーの修正 クローンされたテーブルに対応 BigQueryビューの削除に対応 Makefileで開発環境へ実行可能に GitHub Actionsでmainブランチへマージしたときに実行するように 結び なぜやったのか? 新規にdbtプロジェクトを作成した際に出力先のBigQueryデータセ…
5ヶ月前
記事のアイキャッチ画像
マネージャーになって行き着いた、「任せられる人」の3要素: 技術力・リード力・提案力
Yappli Tech Blog
こんにちは。 株式会社ヤプリ CX開発部でサーバーサイドのグループマネージャーをしている加納です。 最近、社内外問わずキャリア相談を受ける機会が増えました。 社内の1on1、カジュアル面談、面接などで、さまざまな方とキャリアについて話しています。 「テックリードになりたいです」 「マネージャーに興味があります」 「PdMって面白そうですよね」 「PjMってどんな仕事なんですか?」 ヤプリの開発組織は今年から職能別から事業部別に変わり、サーバー、アプリ、QA、PdMが近い距離で働くようになりました。 その結果、職種の枠を越えたキャリアの可能性がより現実的になっています。 これはとてもポジティブな…
5ヶ月前
記事のアイキャッチ画像
サーバーサイドグループのアラート対応属人化解消までの道のり
Yappli Tech Blog
はじめに 課題:「気づいた人が見る」という性善説の限界 リスク1:有識者がいないとわからない リスク2:知見のブラックボックス化 アプローチ:プロジェクトではなく「委員会」という選択 なぜツールではなくチーム運用から始めたのか やったこと①:委員会内でのスモールスタート やったこと②:メンバーのアサイン やったこと③:初動マニュアルの作成 ステップ1:ログの確認と共有 ステップ2:過去の対応履歴を確認 ステップ3:発生条件と顧客影響の特定 ステップ4:重要度の判定と対応 「迷ったら遠慮なく頼る」を明文化する 完璧なドキュメントを目指さない 結果①:「何をすればいいかわからない」がなくなった 結…
5ヶ月前
記事のアイキャッチ画像
【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でテクノロジーエバンジェリ…
5ヶ月前
記事のアイキャッチ画像
BigQuery外部テーブルをネイティブテーブル化してYappli Analyticsを爆速にした話
Yappli Tech Blog
こんにちは!データサイエンス室(以下、DS室)の山本です(@__Y4M4MOTO__)です。 先日、アプリ分析ツール「 Yappli Analytics 」の動作を大幅に改善しました。この記事では、どのように改善し、どれくらい速くなったのかを紹介します。 なぜやったのか 何をやったのか 1. 現状の可視化とモニタリング 2. 原因特定 原因はジョブの詰まり 詰まらせているジョブを特定するためのダッシュボード作成 1. 1分単位の平均所要時間の推移グラフ 2. ジョブの時系列表 詰まらせているジョブの特徴を分析 3. 対策の実施 方針 ネイティブテーブル化による速度検証 同期機構の設計・構築 ど…
5ヶ月前
記事のアイキャッチ画像
アウトプット品質とスピードを安定して底上げするための Yappli iOS チームの Harness Engineering
Yappli Tech Blog
アウトプット品質とスピードを安定して底上げするための Yappli iOS チームの Harness Engineering
5ヶ月前
記事のアイキャッチ画像
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の強制…
5ヶ月前
記事のアイキャッチ画像
visionOS向け空間ビデオプレイヤーを実装してみた② ~ VideoPlayerComponent での空間ビデオ再生 ~
Yappli Tech Blog
1. はじめに みなさん、こんにちは! 株式会社ヤプリでiOSエンジニアをしています白数 (@cychow_app) です。 前回の記事では、空間ビデオプレイヤーを構築する上で、まず空間ビデオとは何なのか、どのようなメタデータを保持しているのかに焦点を当てて解説しました。 もしご興味がありましたら、前回の記事も一読いただけると嬉しいです。 tech.yappli.io 今回は、本題の空間ビデオのプレイヤーの実装についてご紹介していければと思います。 2. 空間ビデオ再生プレイヤーの実装 2.1 VideoPlayerComponent と視聴モード 再生プレイヤーを実装していく前に、まずどのよ…
5ヶ月前
記事のアイキャッチ画像
Postman + GitHub Actions で QAエンジニアが一からAPI テストを完全自動化した話
Yappli Tech Blog
ヤプリでQAエンジニアをしています、ぐっさんです。 突然ですが、API テストの運用どうしていますか? 弊社ではAPIのテストをPostmanを使い手動実行しているのですが、観点は都度違えど手順が不変であり自動化移行しやすい状態でした。 そこで今回、Postmanから手動で叩くだけの運用から脱却し、GitHub Actions + Newman を使って「何もしなくても月曜朝にテスト結果が Slack に届く」環境を構築しました。 今後、API テストの自動化を検討している方に向けて、技術選定、実装のハマりどころや技術的な工夫を紹介させていただきます。 技術スタックと選定理由 実装のポイント …
5ヶ月前
記事のアイキャッチ画像
Compose × Fragment で画面が真っ白に!? Activity遷移で起きた謎の白画面を追う
Yappli Tech Blog
こんにちは、Androidエンジニアの伊藤と申します! 今回は、Jetpack Composeと従来のFragmentを組み合わせた画面で、画面遷移後に戻ってきたときにコンテンツが表示されなくなる問題に遭遇しましたのでそれを共有しようかなと思います👀 不具合事象をざっくり説明すると、ComposeViewを持つFragment Aの中でAndroidFragmentを使用しており、そこから別のActivityを起動し、再びFragment Aに戻ってくると、画面が真っ白になってしまうという事象です。 本記事では、この問題の原因究明から解決までのプロセスと、最終的にsetViewComposit…
5ヶ月前
記事のアイキャッチ画像
Android 16のダークテーマ対応、WebViewで意図しない挙動になってませんか?
Yappli Tech Blog
こんにちは、Androidエンジニアの伊藤と申します! 今回は、遅ればせながらAndroid 16対応でダークテーマの挙動を調整した際に、WebViewが意図せずダークモード固定になってしまった問題について共有します👀 android:isLightTheme 属性の理解が不十分だったために発生した問題で、同じような状況に遭遇する方もいるかもしれないため、経緯と解決策をまとめました。 背景:Android 16のダークテーマ拡張オプション 最初の対応:isLightTheme = false 問題の発覚:WebViewがダークモード固定に 原因:isLightTheme属性の誤解 解決策:We…
5ヶ月前
記事のアイキャッチ画像
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が日本で販…
5ヶ月前
記事のアイキャッチ画像
JaSST '26 Tokyo 参戦!@東京ビッグサイト
Yappli Tech Blog
はじめに JaSSTとは JaSSTに向けて、「勉強会」での事前準備から「感想会」まで 勉強会での事前準備編 参加して「よかったね」だけで終わらせない JaSST 当日を迎えて 感じたこと 去年との比較 参加してみて ついにヤプリQAから登壇! 最後に PR はじめに ヤプリQAの伊藤です! 去年、一昨年と続き、JaSST ‘26 Tokyoに今年も参加してきました! 去年のブログはこちら↓ tech.yappli.io 今回の開催場所は、なんと東京ビッグサイト! JaSSTとしては2020年に同会場での開催を予定していましたが、コロナ禍により無念の断念…。 あれから6年、ついにビッグサイトで…
5ヶ月前