Gunosy Tech Blog

Gunosy Tech Blogは株式会社Gunosyのエンジニアが知見を共有する技術ブログです。

Android Jetpack Compose 独自 TextField 実装まとめ

Android Jetpack Compose での独自 TextField の実装についてまとめましたので、その内容をお伝えします。

Datadog Agentがkubeletと疎通できなくてもAWS IMDSv2からhostnameを取得させる

こんにちは。プロダクト開発部 Ads チームの johnmanjiro です。普段は広告配信の API や管理画面を開発しています。 先日、EKS 上で動いている Datadog Agent のバージョンを更新した際、Pod の起動時に複数回 Restart するという事象が発生しました。この…

Android Macrobenchmark テストの導入

Macrobenchmark ライブラリを用いたテストを導入したため、その内容をお伝えします。

LLMのプロンプトをCI/CDで評価する。promptfooを使って

こんにちは。 LLM事業部のUTです。 概要 promptfoo の紹介 起動 CI での評価 GitHub Action まとめ 概要 OpenAI による ChatGPT 登場の衝撃から1年ほど経ちましたが、 LLM を活用する企業はものすごく増えました。 OpenAI だけでなく、大手クラウドや Huggin…

生成系AIを活用した開発者支援

こんにちは。koidです。 この記事は Gunosy Advent Calendar 2023 の25日目の記事です。 24日目の記事は hyamamotoさんの 大規模データ基盤における冪等性を確保した dbt のオーケストレーション でした。 早いもので、今年の Advent Calendar も最終日とな…

大規模データ基盤における冪等性を確保した dbt のオーケストレーション

dbt

はじめに はじめに データ基盤におけるバッチのオーケストレーション 移行時の課題 Helm を活用した dbt 実行基盤の構築 Helm の採用理由 Helm による dbt を実行する template の記述 Helm による k8s Job の実行 実行時の冪等性を確保する dbt の工夫 さい…

CircleCI + Android UI Test スクリーンショットの確認仕組み

こんにちは、グノシー Android アプリの開発担当の Liang です。 この記事は Gunosy Advent Calendar 2023 の23日目の記事です。前回の記事は Naoto Koizumi さんの「CircleCIからGithub Actionsに大引っ越しした話」でした。 今回は CircleCI での自動化テ…

CircleCIからGitHub Actionsへ大引越した話

こんにちは、テクノロジー本部 プロダクト開発部 SRE の koizumi です。 この記事は Gunosy Advent Calendar 2023 の 22 日目の記事です。昨日の記事は TksYamaguchi さんの「Snyk を導入してコンテナセキュリティ対策の運用を回している話」でした。 本日は…

Snyk を導入してコンテナセキュリティ対策の運用を回している話

Snyk を導入してコンテナセキュリティ対策の運用を回している話

広告スコアリングサーバのエラーを大幅に減らした話

こんにちは、m-hamashita です。最近 AdsML(DRE 兼務)から新規事業開発室に移って LLM 応用をしています。学ぶことが多くて楽しいですね*1。 この記事は Gunosy Advent Calendar 2023 の 20 日目の記事です。 19 日目の記事は田辺さんのデータアナリストが…

コスト削減できる箇所をひねり出す

こんにちはUTです。 この記事は Gunosy Advent Calendar 2023 の 18 日目の記事です。 17 日目の記事は k.oshiro さんの 社内勉強会での発表内容の紹介 〜MessagePackの仕様を読む〜 - Gunosyデータ分析ブログ でした。 最近広告チームからLLMのチームに異動…

サードパーティ Cookie を使わない広告効果計測 ~Privacy Sandbox の Attribution Reporting API について~

Gunosy Ads では、サードパーティ Cookie に依存しない広告効果の計測への対応を進めています。 その一環として、Google の Privacy Sandbox についても検証を行なっているので、その話について書ければと思います。

iOSアプリのSWIFT_STRICT_CONCURRENCYをcompleteにした

iOS

iOSアプリでSwift Concurrencyを全面的に導入しSWIFT_STRICT_CONCURRENCYをcompleteにした話

tfaction を導入したら便利だった話

この記事は Gunosy Advent Calendar 2023 の 14 日目の記事です。昨日の記事は上村さんの「ChatGPTを活用した業務支援ツール「ウデキキ」のチャット実装」でした。 こんにちは、プロダクト開発部 Ads チームの fujishiro です。最近は年末に行われる RIZIN.4…

LLM を使って自分のおさいふ事情を把握してみる

はじめに どんなものを作ったのか 解説 Gmail API を使ったメール取得について LangChain を使ったデータ分析について まとめ はじめに こんにちは takuji です。 この記事は Gunosy Advent Calendar 2023 の 11 日目の記事です。 10 日目の記事は村田さんの…

インシデント発生時における初動対応の自動化

これまでの課題感 どのように実現したか Slackワークフローとは Google App Scriptとは 実装内容 Slackワークフローの実装 トリガーの設定 ステップの追加 Google App Scriptの実装 Slack Appの設定 Slack Appの作成 OAuth Tokensの設定 Google App Scriptの…

オンライン実験を速く試すための基盤構築

この記事は [Gunosy Advent Calendar 2023](https://adventar.org/calendars/9182) の 7 日目の記事です。昨日の記事は johnmanjiro さんの『tokio ベースの Rust 向け fluentd クライアントを作りました』でした。 先日、オンライン実験を速く試すための基…

tokio ベースの Rust 向け fluentd クライアントを作りました

この記事は Gunosy Advent Calendar 2023 の6日目の記事です。昨日の記事は hyamamoto さんの稼働中データ基盤を安全に dbt 移行する仕組みでした。 こんにちは。プロダクト開発部 Ads チームの johnmanjiro です。普段は広告配信の API や管理画面を作って…

稼働中データ基盤を安全に dbt 移行する仕組み

dbt

はじめに はじめに 移行前のデータ変換処理の仕組み 移行時の課題 移行時デグレの検知の仕組み CLI の整備 変更内容の検知 パラメーターの生成 GitHub Actions の整備 Continuous Integration (CI) plan-catalogs audit-catalogs Continuous Delivery (CD) a…

企業テックブログのレビューを GitHub 上でおこなっている話

はじめに 今までのブログレビュー 現在のブログレビュー ブログの同期 ブログの取得 リポジトリと下書きの同期 textlint の導入 導入した結果 まとめ はじめに こんにちは m-hamashita です。 この記事は Gunosy Advent Calendar 2023 の 4 日目の記事です。…

いろんなやり方の読書会をやってみたら当日音読その場でまとめ方式が最高だった話

こんにちは、SRE チーム マネージャーの TksYamaguchi です。 こちらの記事はGunosy Advent Calendar 2023の3日目の記事です。 前回の記事は森田さんの LLM 論文の探し方でした。 概要 SRE チームは、シニアエンジニアとジュニアエンジニアで構成されている…

Android DataStore の段階導入

Android DataStore の導入と段階的移行の基本実装を行ったため、その内容についてお伝えします。

社内 AWS GameDayを開催しました

こんにちは、テクノロジー本部 プロダクト開発部 SRE の koizumi です。 今回の記事は、AWSと共同開催した社内GameDayのレポートとなります。 本記事ではGameDayの大まかな内容とGameDayに参加したことで得られたものを紹介していきます。 また、今後の参加…

Android + Kotlin Coroutines の実用的な開発Tips

こんにちは、グノシー Android アプリの開発担当の Liang です。 今回はグノシー Android アプリの開発において、Kotlin Coroutines を用いた実用的な Tips をいくつか紹介したいと思います。 ExoPlayer + Coroutines Dispatchers.Main + Yield CoroutineDis…

Gunosyでテスト自動化ツール「MagicPod」を活用している話

こんにちは。QAチームのmiyagiです。 今回はQAチームで導入しているテスト自動化ツール「MagicPod」でどのようなテストを行っているかご紹介します。 MagicPodについて MagicPodを使ってやっていること 回帰テストの自動化 相互運用性テスト MagicPodによる…

「AWS Community Builders」に選出されました

「AWS Community Builders」に選出されました

Android Jetpack Compose 横向きフルスクリーン表示

Android Jetpack Compose で横向きフルスクリーン表示の対応をしたため、その内容をお伝えします。

GunosyからiOSDC Japan 2023に参加しました

こんにちは。auサービスTodayの開発をしている吉岡(@rikusouda)です。先日開催されたiOSDC Japan 2023にオフライン参加(リアル参加)してきました。

DroidKaigi 2023 に参加してきました

DroidKaigi2023 に参加してきました。その内容を簡単にご紹介したいと思います。

広告システムにおける機械学習モデルの推論差分検知について

弊社では広告配信の最適化のために CTR・CVR((CTR はクリック率(Click Through Rate)、CVR はコンバージョン率(ConVersion Rate)を表します)) を推定する機械学習モデルを開発していて、定期的な学習とモデルの更新を行っています。 このようなシステム…