Yappli Tech Blog

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

Nuxt3で@sentry/vueを使うとエラー発生時に500エラーが表示される時がある

フロントエンドエンジニアのこん(@k0n_karin)です!今回はNuxt3でSentryを扱ったときに遭遇した事象について投稿します。 ※NuxtとSentryそのものの説明は割愛します。 ※本記事執筆時点のバージョンは以下のとおりです。 nuxt: 3.12.2 @sentry/vue: 8.13.0 解…

フロントエンドチーム、勉強会始めました

はじめに フロントエンドチームについて 文部科学大臣設立の経緯 現状のフロントエンドチームの課題を知る 第1回勉強会の内容 まとめ はじめに こんにちは。フロントエンドエンジニアの平川です。 今回はヤプリのフロントエンドチームで始めた勉強会の活動に…

ヤプリiOSエンジニアの新プライバシー要件対応 | ノーコードアプリプラットフォームの運用体制も大公開!

はじめに こんにちは、ヤプリでiOSエンジニアをしている菅(@Nao_RandD)です。 Appleの新しいプライバシー要件のアップデート に関する記事 「第3弾」 です! これまでに、2つの記事でそれぞれの読者を対象に、プライバシーマニフェスト1についてや、ヤプ…

サーバサイドエンジニアが中途入社半年で感じたヤプリの魅力

こんにちは!サーバーサイドエンジニアの柿本です! 2023年12月にサーバーサイドエンジニアとして中途入社し、早くも半年が経過しました。 この記事ではその半年で感じたヤプリのことについて、ご紹介できればと思います。 ヤプリに興味を持ってくださってい…

画面回転でLazyVGridのカラム数を変更する

こんにちは、iOSエンジニアの西村です。 今回は、SwiftUIのLazyVGridを使って画面回転に応じてカラム数を変更する処理を実装したいと思います。 縦画面(2列での表示) 横画面(4列での表示) LazyVGridで絵文字を表示する まずは、LazyVGridを使用してUnico…

Kotlin Fest 2024で登壇してきました

こんにちは、Androidチームに所属しているにゃふんた(nyafunta9858)です。 2024年6月22日にベルサール渋谷ファーストで開催されたKotlin Fest 2024で「KotlinのLinterまなびなおし2024」というタイトルで登壇してきましたので、その参加レポートとなります…

CircleCIを並列化してCIの実行時間を半分以下に改善した話

はじめに こんにちは。サーバーサイドエンジニアの佐野きよ(@Kiyo_Karl2)です。 ヤプリではコード品質維持のため、CI(継続的インテグレーション)を取り入れており、GitHubへのプッシュをトリガーに自動テストや構文/フォーマットチェックなどが実行されます…

UICollectionViewでサムネイルスライダーを実装する

こんにちは、iOSエンジニアの西村です。 iPhoneの写真アプリには目的の写真を見つけやすくするため、画面下部にサムネイル形式のスライダーが実装されています。最近撮った写真を見返すときに便利なので意外と嬉しい機能の一つです。 今回は、このようなサム…

Goのgo-playground/validateパッケージを理解する

はじめに こんにちは、サーバーサイドエンジニアの中川(tkdev0728)です。 最近タイピング中の手首の疲れが気になりパームレストを導入しました。正直言って元々パームレストに対して否定的だったのですが、 ある日手首の位置が落ち着かず半信半疑で導入し…

厳密モードの記述をチェックするPHPStanの独自拡張を作った話

はじめに こんにちは。サーバーサイドエンジニアの佐野きよ(@Kiyo_Karl2)です。 PHPでは、declare(strict_types=1);をファイルの先頭に記述することで厳密な型チェックを有効にすることができます。これにより暗黙の型変換がされなくなり、関数やメソッドの…

ヤプリ内定者インターンの世界

はじめに 初めまして、ヤプリで2025年新卒サーバーサイドエンジニアとして4月から内定者インターンに参加している大学院修士2年生の籔本と申します。 普段は大学院で深層学習を利用したCGの研究をしています。 この記事では「なぜヤプリを選んだのか」「内定…

New Relic Streaming methodについて紹介

こんにちは、サーバーサイドグループのマネージャーの鬼木です。 弊社ではAPMとしてNew Relicを導入、活用しています。調査時のログ検索やAPMの確認以外にも、追加したapplicationのアラートを作成するなどサーバーサイドエンジニアもNew Relicを活用してい…

プロダクト開発本部LT大会#12を開催しました

こんにちは!24卒サーバーサイドエンジニアの大﨑(@BaseKeita_)です! 先日、ヤプリのプロダクト開発本部にて12回目のLT大会を開催しました! 運営や当日の進行に関しては22卒のふなちさんや23卒の山本さん、加納さんの新卒入社組で行いました! プロダクト…

Dataflow の Apache Beam SDK for Java アップグレード対応でやったこと

はじめに アップグレードするパイプラインの概要 バージョンアップの流れ Maven でのバージョン変更 非推奨APIの置き換え データパイプラインの動作確認 まとめ 最後に はじめに こんにちは、サーバーサイドエンジニアの加味(@kami_tsukai)です。弊社では…

ヤプリiOSエンジニアの新プライバシー要件対応 | 実際に取り組んだ内容を大公開!

はじめに こんにちは、ヤプリでiOSエンジニアをしている菅(@Nao_RandD)です。 前回に続いて、Appleのプライバシー要件アップデートに関する記事第2弾です! 第1弾ではプライバシー要件のアップデートを時系列に沿って整理しながら、プライバシーマニフェ…

ヤプリのiOSエンジニアに興味をお持ちの方へ

iOS

ヤプリについて Yappliのアプリ開発の特徴 iOSグループの開発体制について 働き方 人数(2024年5月31日時点) コミュニケーション機会 技術スタック メンバーの役割分担 プロジェクトチーム 遊撃チーム 共通業務(チーム全員で対応) 現状の課題感や今後の方…

dbt Core で GCP の出力先プロジェクトと課金プロジェクトを分ける

こんにちは!データサイエンスグループの山本です( @__Y4M4MOTO__ )です。 BigQuery に対して dbt Core を利用している場合、 profiles.yml の project: ( target variables の target.project )に設定した GC プロジェクトが dbt run した際のdbtモデル…

ヤプリiOSエンジニアの新プライバシー要件対応 | 時系列で振り返り、関連用語を理解する

はじめに こんにちは、ヤプリでiOSエンジニアをしている菅(@Nao_RandD)です。 みなさん、新しいプライバシー要件への対応は順調でしょうか? 「プライバシーマニフェスト」1とか、「SDKの署名」でお馴染みのアレですね。 2024年5月1日からApp Storeへの提…

GoでJSONから値を探索する時にgojqが便利だった

Go

はじめに こんにちは、サーバーサイドエンジニアの中川(@tkdev0728)です。 JSONから特定のキーを使って値を抽出するというユースケースは珍しくないと思います。言語やツールによっていくつかやり方は変わると思うのですが、 今回はリクエスト先と抽出用の…

#TROCCOUG にて「データカタログの最初の一歩 〜データ組織向けに dbt docs を整備している話〜」について話しました

こんにちは!データサイエンスグループの山本です( @__Y4M4MOTO__ )です。 先日、 TROCCO のユーザ会「 #TROCCOUG 」にて、「データカタログの最初の一歩 〜データ組織向けに dbt docs を整備している話〜」というタイトルで発表させていただきました。 こ…

Universal Analytics(UA)を脱却し、流入数測定のためのデータ収集基盤を構築しました

はじめに GA4の利用検討 UAで出力されていた中から必要なデータを洗い出す 新収集基盤のシステム設計と構築 新旧収集基盤を並行稼働させ、差分検証を実施 今後に向けて 最後に はじめに こんにちは、サーバーサイドエンジニアの加味(@kami_tsukai)です。 …

27卒Androidエンジニアがヤプリのインターンに行ってきた

導入 こんにちは!ヤプリで1ヶ月間、Androidエンジニアとして就業型インターンシップに参加させていただきました、中平陽菜と申します。 普段は「ひなりん」というハンドルネームで活動しています。 React NativeやFlutterを経て、現在はAndroidネイティブの…

Zapierを使ってサクッとチームのアラート対応を集計できるようにしてみた

こんにちは、サーバチームの尾宇江です。 今回は、Zapierで「チームのアラート対応集計」を自動化してみました。Zapierは機能が充実しているので思いついてから30分くらいで集計できる状態になりました。 これまでの運用 と やりたかったこと これまでの運用…

dbt 基盤の開発フローを改善した話

こんにちは!データサイエンスグループの山本( @__Y4M4MOTO__ )です。 さて、ヤプリのデータサイエンスグループ(以下、DSグループ)では2023年から分析用データ基盤の dbt 移行に取り組んでいます。 dbt 移行に至った経緯などについては昨年開催された Ya…

Yappli Analytics のデータマートを dbt へ切り替えた話

こんにちは!データサイエンスグループの山本です( @__Y4M4MOTO__ )です。今年の4月で入社して1年が経ちました。あっという間ですね…。 さて、ヤプリのデータサイエンスグループ(以下、DSグループ)では2023年から分析用データ基盤の dbt 移行に取り組ん…

Looker Studioでのマルチテナントなダッシュボード構築

このブログでわかること Looker Studio でユーザーごとにデータを出し分ける方法、および実サービスへの適用例 はじめに こんにちは、ヤプリのデータサイエンティストの阿部です。今年からデータサイエンスグループが誕生して、私を含めてメンバー4名となり…

インシデント対応時に心がけているマインドセット

はじめに こんにちは、サーバーサイドエンジニアの中川(@tkdev0728)です。 突然ですが皆さんは自分のコードでインシデントを起こしたことはありますでしょうか? 前提としてインシデントは誰も起こそうとしていないし、起こったものは仕方がないので全力で…

Goの並行処理入門 - Goroutine基礎編

Go

はじめに こんにちは。昨年の11月にYappliへ入社したしがないサーバーサイドエンジニアの佐野(@Kiyo_Karl2)です。 自分はYappliに入社するまでGo言語を利用した経験が無く、言語仕様についての理解がまだ浅いと感じる部分があるなと思っています。 そのため…

Goの並行処理入門 - syncパッケージ編

Go

はじめに こんにちは。サーバーサイドエンジニアの佐野(@Kiyo_Karl2)です。 本記事は、4本の連載記事の2本目となります。 Goの並行処理入門-Goroutine基礎編 Goの並行処理入門-syncパッケージ編 ←今ここ Goの並行処理入門-channel編 Goの並行処理入門-select…

Goの並行処理入門 - channel編

Go

はじめに こんにちは。サーバーサイドエンジニアの佐野(@Kiyo_Karl2)です。 本記事は、4本の連載記事の3本目となります。 Goの並行処理入門-Goroutine基礎編 Goの並行処理入門-syncパッケージ編 Goの並行処理入門-channel編 ←今ここ Goの並行処理入門-select…