Yappli Tech Blog

https://tech.yappli.io/

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

フィード

記事のアイキャッチ画像
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倍改善…
6日後
記事のアイキャッチ画像
ヤプリが目指す、アプリ申請支援の新しい形「App Support by Yappli」
Yappli Tech Blog
こんにちは!サポート部 アプリ申請グループの園川です。 今回は、昨年リリースした新サービス「App Support by Yappli」についてお話ししたいと思います。 App Support by Yappliとは? よくある審査対応時の課題 “通す”ための専門サービス 「出す手間」を任せるという選択 スムーズなリリースに向けて 最後に App Support by Yappliとは? アプリのストア申請から審査通過までを一貫して支援する、サブスクリプション型の支援サービスです。 アプリ市場は拡大を続けていますが、リリース直前の「ストア申請」でつまずくケースは少なくありません。 App St…
19日前
記事のアイキャッチ画像
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 を使っていま…
25日前
記事のアイキャッチ画像
【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…
1ヶ月前
記事のアイキャッチ画像
dbt管理下にないテーブルをdbt macroで一括削除する
Yappli Tech Blog
こんにちは!データサイエンス室(以下、DS室)の山本です(@__Y4M4MOTO__)です。 運用中のdbtプロジェクトに対して、dbt管理下にないテーブルを一括削除する仕組みを構築したので、その内容を共有します。 なぜやったのか? どうやったのか? 導入にあたっての工夫 cleanup.sql の修正 エラーの修正 クローンされたテーブルに対応 BigQueryビューの削除に対応 Makefileで開発環境へ実行可能に GitHub Actionsでmainブランチへマージしたときに実行するように 結び なぜやったのか? 新規にdbtプロジェクトを作成した際に出力先のBigQueryデータセ…
1ヶ月前
記事のアイキャッチ画像
マネージャーになって行き着いた、「任せられる人」の3要素: 技術力・リード力・提案力
Yappli Tech Blog
こんにちは。 株式会社ヤプリ CX開発部でサーバーサイドのグループマネージャーをしている加納です。 最近、社内外問わずキャリア相談を受ける機会が増えました。 社内の1on1、カジュアル面談、面接などで、さまざまな方とキャリアについて話しています。 「テックリードになりたいです」 「マネージャーに興味があります」 「PdMって面白そうですよね」 「PjMってどんな仕事なんですか?」 ヤプリの開発組織は今年から職能別から事業部別に変わり、サーバー、アプリ、QA、PdMが近い距離で働くようになりました。 その結果、職種の枠を越えたキャリアの可能性がより現実的になっています。 これはとてもポジティブな…
2ヶ月前
記事のアイキャッチ画像
サーバーサイドグループのアラート対応属人化解消までの道のり
Yappli Tech Blog
はじめに 課題:「気づいた人が見る」という性善説の限界 リスク1:有識者がいないとわからない リスク2:知見のブラックボックス化 アプローチ:プロジェクトではなく「委員会」という選択 なぜツールではなくチーム運用から始めたのか やったこと①:委員会内でのスモールスタート やったこと②:メンバーのアサイン やったこと③:初動マニュアルの作成 ステップ1:ログの確認と共有 ステップ2:過去の対応履歴を確認 ステップ3:発生条件と顧客影響の特定 ステップ4:重要度の判定と対応 「迷ったら遠慮なく頼る」を明文化する 完璧なドキュメントを目指さない 結果①:「何をすればいいかわからない」がなくなった 結…
2ヶ月前
記事のアイキャッチ画像
【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でテクノロジーエバンジェリ…
2ヶ月前
記事のアイキャッチ画像
BigQuery外部テーブルをネイティブテーブル化してYappli Analyticsを爆速にした話
Yappli Tech Blog
こんにちは!データサイエンス室(以下、DS室)の山本です(@__Y4M4MOTO__)です。 先日、アプリ分析ツール「 Yappli Analytics 」の動作を大幅に改善しました。この記事では、どのように改善し、どれくらい速くなったのかを紹介します。 なぜやったのか 何をやったのか 1. 現状の可視化とモニタリング 2. 原因特定 原因はジョブの詰まり 詰まらせているジョブを特定するためのダッシュボード作成 1. 1分単位の平均所要時間の推移グラフ 2. ジョブの時系列表 詰まらせているジョブの特徴を分析 3. 対策の実施 方針 ネイティブテーブル化による速度検証 同期機構の設計・構築 ど…
2ヶ月前
記事のアイキャッチ画像
アウトプット品質とスピードを安定して底上げするための Yappli iOS チームの Harness Engineering
Yappli Tech Blog
アウトプット品質とスピードを安定して底上げするための Yappli iOS チームの Harness Engineering
2ヶ月前
記事のアイキャッチ画像
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の強制…
2ヶ月前
記事のアイキャッチ画像
visionOS向け空間ビデオプレイヤーを実装してみた② ~ VideoPlayerComponent での空間ビデオ再生 ~
Yappli Tech Blog
1. はじめに みなさん、こんにちは! 株式会社ヤプリでiOSエンジニアをしています白数 (@cychow_app) です。 前回の記事では、空間ビデオプレイヤーを構築する上で、まず空間ビデオとは何なのか、どのようなメタデータを保持しているのかに焦点を当てて解説しました。 もしご興味がありましたら、前回の記事も一読いただけると嬉しいです。 tech.yappli.io 今回は、本題の空間ビデオのプレイヤーの実装についてご紹介していければと思います。 2. 空間ビデオ再生プレイヤーの実装 2.1 VideoPlayerComponent と視聴モード 再生プレイヤーを実装していく前に、まずどのよ…
2ヶ月前
記事のアイキャッチ画像
Postman + GitHub Actions で QAエンジニアが一からAPI テストを完全自動化した話
Yappli Tech Blog
ヤプリでQAエンジニアをしています、ぐっさんです。 突然ですが、API テストの運用どうしていますか? 弊社ではAPIのテストをPostmanを使い手動実行しているのですが、観点は都度違えど手順が不変であり自動化移行しやすい状態でした。 そこで今回、Postmanから手動で叩くだけの運用から脱却し、GitHub Actions + Newman を使って「何もしなくても月曜朝にテスト結果が Slack に届く」環境を構築しました。 今後、API テストの自動化を検討している方に向けて、技術選定、実装のハマりどころや技術的な工夫を紹介させていただきます。 技術スタックと選定理由 実装のポイント …
2ヶ月前
記事のアイキャッチ画像
Compose × Fragment で画面が真っ白に!? Activity遷移で起きた謎の白画面を追う
Yappli Tech Blog
こんにちは、Androidエンジニアの伊藤と申します! 今回は、Jetpack Composeと従来のFragmentを組み合わせた画面で、画面遷移後に戻ってきたときにコンテンツが表示されなくなる問題に遭遇しましたのでそれを共有しようかなと思います👀 不具合事象をざっくり説明すると、ComposeViewを持つFragment Aの中でAndroidFragmentを使用しており、そこから別のActivityを起動し、再びFragment Aに戻ってくると、画面が真っ白になってしまうという事象です。 本記事では、この問題の原因究明から解決までのプロセスと、最終的にsetViewComposit…
2ヶ月前
記事のアイキャッチ画像
Android 16のダークテーマ対応、WebViewで意図しない挙動になってませんか?
Yappli Tech Blog
こんにちは、Androidエンジニアの伊藤と申します! 今回は、遅ればせながらAndroid 16対応でダークテーマの挙動を調整した際に、WebViewが意図せずダークモード固定になってしまった問題について共有します👀 android:isLightTheme 属性の理解が不十分だったために発生した問題で、同じような状況に遭遇する方もいるかもしれないため、経緯と解決策をまとめました。 背景:Android 16のダークテーマ拡張オプション 最初の対応:isLightTheme = false 問題の発覚:WebViewがダークモード固定に 原因:isLightTheme属性の誤解 解決策:We…
2ヶ月前
記事のアイキャッチ画像
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が日本で販…
2ヶ月前
記事のアイキャッチ画像
JaSST '26 Tokyo 参戦!@東京ビッグサイト
Yappli Tech Blog
はじめに JaSSTとは JaSSTに向けて、「勉強会」での事前準備から「感想会」まで 勉強会での事前準備編 参加して「よかったね」だけで終わらせない JaSST 当日を迎えて 感じたこと 去年との比較 参加してみて ついにヤプリQAから登壇! 最後に PR はじめに ヤプリQAの伊藤です! 去年、一昨年と続き、JaSST ‘26 Tokyoに今年も参加してきました! 去年のブログはこちら↓ tech.yappli.io 今回の開催場所は、なんと東京ビッグサイト! JaSSTとしては2020年に同会場での開催を予定していましたが、コロナ禍により無念の断念…。 あれから6年、ついにビッグサイトで…
2ヶ月前
記事のアイキャッチ画像
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に参加して感じたこと おわりに 登壇…
2ヶ月前
記事のアイキャッチ画像
ヤプリ製アプリの「熱量」を可視化せよ!インターン生がdbtとデータモデリングで挑んだ社内ダッシュボード構築記
Yappli Tech Blog
はじめに ヤプリインターンに参加した経緯 ミッション プロジェクトの背景 取り組んだこと データパイプライン構築 ダッシュボード表示項目の検討 得られた学び 計算量を意識したSQL実装の重要性 dbtの3層構造による、変更に強いモデリングの習得 ダッシュボードの本質は意思決定を促すインサイトにある 今後の展望 AIと連携による「数値の背景」の可視化 #to-data への頻出依頼を「先回り」で可視化 おわりに はじめに はじめまして!会津大学コンピュータ理工学部4年の寺田優彦と申します。 2026年1月16日から2月27日までの期間、株式会社ヤプリのデータサイエンス室にインターンとして参加させ…
3ヶ月前
記事のアイキャッチ画像
iOSエンジニア志望の2ヶ月間のインターンレポート
Yappli Tech Blog
はじめまして! ヤプリのiOSチームでインターンに参加させていただきました、三ツ井と申します。 本選考の一環としての参加ではありましたが、技術的にもカルチャー的にも沢山の学びがあったので、振り返りとしてまとめたいと思います。 インターンに参加したきっかけ やったこと 具体的に取り組んだタスク 1. フォーム機能のUI不具合修正 2. ポイントカード機能のデザイン調整 3. スクロールメニュー内のログイン画面表示の仕様変更 参加してみての感想 1. 「自分のコードがプロダクトになる」という緊張感 2. ドキュメント文化の凄さ 3. 常に成長する文化 4. 人の良さ+プロダクト愛 最後に インター…
4ヶ月前
記事のアイキャッチ画像
iOSチームにジョインして1ヶ月の振り返り
Yappli Tech Blog
はじめに 経歴 入社を決めた理由 入社してみて オンボーディング チーム 入社1ヶ月でやったこと YOP チケット対応 リリース・ビルド対応 これから おわりに はじめに 12月よりiOSエンジニアとしてジョインした池田です。 今回は中途入社して1ヶ月で感じたヤプリについてお伝えします! 経歴 新卒でIT企業へ入社しバックエンド開発(エンジン、SDK等)に従事しました。またモバイルアプリ開発もヘルプとして複数回経験しました。一度外の世界を見てみたいと思い転職し、2社目ではiOSエンジニアとしてtoCのアプリ開発と後輩育成に勤しみました。そして社会人7年目、3社目となる株式会社ヤプリへ入社しまし…
5ヶ月前
記事のアイキャッチ画像
Android アプリに Okta 認証を入れてみた
Yappli Tech Blog
こんにちは、最近 iOS から Android エンジニアにジョブチェンジした西村です。 最近社内の Android アプリに Okta 認証を導入し、ログインをしないと使えないようにセキュリティを強化しました。 あまり実装する機会はないかもしれないですが、どのように実装したか紹介していきます! この記事は 「ヤプリ&フラー 合同アドベントカレンダー #2」 の21日目の記事です!🎄 Oktaとは? 今回やりたいこと 実装の前に 実装 1. Okta SDK の導入 2. SDK の初期化 3. ログイン画面 4. ログイン処理 5. 状態を Model で管理 6. ログアウト処理の実装 最…
5ヶ月前
記事のアイキャッチ画像
第2回 ヤプリ×フラー合同LT大会参加レポート!
Yappli Tech Blog
こんにちは、サーバーサイドエンジニアの籔本です! ヤプリの開発統括本部では四半期に一度LT大会を実施しています。 今回は、ヤプリと資本業務提携しているフラー株式会社(以下、「フラーさん」)をお招きし、2回目となる合同LT大会を開催しました! どんな会? 発表内容 Pick Up 『犬との挨拶マナー研修』 『ホームポジションで快適にタイピングするTips』 『古のソフトウェア開発』 『ラーメンをGeminiに食わせたら私が15kg痩せた話』 まとめ どんな会? LT大会(Lightning Talk大会)は、 一人約5分で自由なテーマに基づいて発表していくイベントです。ヤプリの開発統括本部では、…
5ヶ月前
記事のアイキャッチ画像
QAカンファレンス「JaSST」 〜プロポーザル採択までの道〜
Yappli Tech Blog
この記事は 「ヤプリ&フラー 合同アドベントカレンダー #1」 の24日目の記事です!🎄 こんにちは。ヤプリでQAエンジニアをしているぐっさんです。 今年、ヤプリQAとしては勉強会の開催、テックブログの積極的な更新やQA外部イベントへの参加などチーム内外問わず様々な場面でのQA技術発信を目標に活動をしてきました。 その一つとして、毎年行われていますQAエンジニアを対象とした技術カンファレンス「JaSST’26 Tokyo」に、ヤプリQAとして初めてプロポーザル投稿へと挑戦しました。 結果無事1名のプロポーザルが採択されましたので、本記事では、チーム一丸となって実施したプロポーザル採択に至るまで…
5ヶ月前
記事のアイキャッチ画像
SwiftのAutomatic Grammar Agreementについて
Yappli Tech Blog
こんにちは、岸川克己です。 SwiftのAutomatic Grammar Agreementとは、英語における複数形や三単現のsのように、翻訳テキストの一部に語形の変化がありうるという情報を埋め込み、実行時にOSが 数などに合わせて指定した語句を文法的に正しい文章に自動的に修正してくれる仕組みです。 例を見てみましょう。 Text("Add ^[\(count) ticket](inflect: true) to your order.") この例ではcount変数に入る数によって後続のticketの語形が単数形か複数形のどちらかに自動的に変化します。 Add 0 tickets to yo…
5ヶ月前
記事のアイキャッチ画像
ヤプリ社員20人の「今年買ってよかったもの」をAIに分析させたら、"ノーコード的思考"が浮かび上がった
Yappli Tech Blog
社内Slackで集めた「今年買ってよかったもの」50アイテム以上をAIで傾向分析。食洗機、BAKUNE、Steamゲームなど多種多様なアイテムから見えてきたのは「仕組みで解決して本質に集中する」というノーコード的思考でした。
5ヶ月前
記事のアイキャッチ画像
LangGraphでアプリ分析AIエージェントを作ってみた
Yappli Tech Blog
こんにちは、ヤプリの25新卒サーバーサイドエンジニアの籔本です! 先日、ヤプリの開発統括本部内でAIハッカソンが開催されました。 私を含む 24・25新卒入社のエンジニア4人でチームを組み、「アプリ分析AIエージェント」 を開発しました。 今回の記事ではその開発した内容と成果を紹介します! 概要 作ったのもの LangGraphとは 実装したエージェント Orchestrator DL / MAU Push Screen 実験 DL / MAUの分析結果 プッシュ通知の分析結果 ホットスクリーンの分析結果 総合的な分析結果 まとめと展望 余談 概要 作ったのもの 今回の開発の目的は「アプリのエ…
5ヶ月前
記事のアイキャッチ画像
TRPGのAI守密人をRAG + MCPで作った話
Yappli Tech Blog
こんにちは!Androidエンジニアのてつです。 皆さんはTRPGをご存知でしょうか?プレイヤーが架空のキャラクターを演じ、ゲームマスター(GM)の語る物語の中で冒険を繰り広げる、想像力を駆使した遊びです。 今回は、趣味で楽しんでいるCall of Cthulhu(CoC)というTRPGを題材に、RAGとMCPを活用したAI-GMシステムを構築した経験をご紹介します。 なぜAI-GMが必要だったのか AI-GMの可能性と課題 RAGとMCPでの解決案 MCPの概要と選定 FastMCPフレームワークを選んだ理由 実際のツール定義例 RAGの技術選定 RAGを使う背景 ChromaDBを選んだ理…
5ヶ月前
記事のアイキャッチ画像
【n8n × Gemini】非エンジニアがAIを使って社内問い合わせ対応を効率化しようとした話
Yappli Tech Blog
こんにちは!アプリ申請チームのあきなです。この記事は Yappli Advent Calendar 2025 の記事です! ヤプリ&フラー 合同アドベントカレンダー #2 Advent Calendar 2025 - Adventar 普段、私はアプリ申請チームの一員として業務を行っていますが、今回はAIと自動化ツールを駆使して業務効率化に取り組んでみたお話です。非エンジニアのチャレンジとして、温かい目で見守っていただければ幸いです。 チャレンジの背景 私の所属するチームでは、社内からの質問をSlackのワークフロー(WF)を利用して受け付けています。 質問の数はだいたい1日3件〜5件ほど。回…
5ヶ月前
記事のアイキャッチ画像
Yappli Analyticsのベンチマーク機能改善プロジェクトの裏側
Yappli Tech Blog
この記事は ヤプリ&フラー 合同アドベントカレンダー Advent Calendar 2025(3枚目) の18日目の記事です。 こんにちは!データサイエンス室(以下、DS室)の山本です(@__Y4M4MOTO__)です。 弊社では「Yappli Analytics」というアプリ運用のためのデータ分析ダッシュボードを提供しています。ダッシュボードでは、アクティブユーザーや新規ユーザー数の推移、プッシュ通知の開封率など様々なデータを確認できます。その中でも特徴的なものが「ベンチマーク機能」です。 「ベンチマーク機能」では、900以上(2025/12/17時点)のYappli製アプリの中で、自アプ…
5ヶ月前