Gunosy Tech Blog

https://tech.gunosy.io/

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

フィード

記事のアイキャッチ画像
MagicPodの自動テストの結果入力を自動化しました
はてなブックマークアイコン 2
Gunosy Tech Blog
こんにちは。QAチームのmiyagiです。 QAチームで活用しているテスト自動化ツール「MagicPod」と、テスト管理ツール「TestRail」を連携させ、自動テストの結果入力をJenkinsで自動化しました。 この記事では、連携に必要な環境構築や手順について紹介します。 Jenkins MagicPodとTestRailについて 自動化の手順 実行するテストケースとテスト実行設定の準備 PythonスクリプトとAPI利用の準備 APIキーの発行 Pythonスクリプトのカスタマイズ Jenkinsの準備 Jenkinsのパイプラインの設定 実行した結果 Jenkins MagicPod T…
3日前
記事のアイキャッチ画像
忘れずに対応して欲しいことを自動でJIRAにまとめたら最高だった話
Gunosy Tech Blog
こんにちは、SRE チーム マネージャーの Yamaguchi(@yamaguchi_tk ) です。 概要 今回は対応期限があるインフラ、セキュリティ領域の課題を、自動で JIRA にまとめたら運用が最高になった話をします。 前提 Gunosy では主に AWS を利用しています。 AWS では定期的にメンテナンスや、必須パッチの適用によるサービス・インスタンスの再起動や、冗長系の切り替えが発生します。 また、利用しているマネージドサービスのサポート終了も定期的に発生します。 これらについては、AWS からは事前にメールで通知されるようになっていますし、EventBridge による Sla…
14日前
記事のアイキャッチ画像
S3 Inventory + Athena によるプレフィックスレベルコスト分析 ~S3 のコストをスリムに保つために~
Gunosy Tech Blog
プロダクト開発部 Ads チームの yamaYu です。最近体重と筋肉量をコントロールしたい願望があり、まずは可視化ということで体組成計を買いました。まだ全然成果は上がっていないですが、現状を把握できて良い感じです。今回の記事ですが、最近取り組んだ S3 のコスト削減の施策において、S3 Inventory がコストの可視化の文脈で良い感じだったのでその話について書いていきます。
1ヶ月前
記事のアイキャッチ画像
try! Swift Tokyo 2024に行ってきました
Gunosy Tech Blog
こんにちは。GunosyでiOSアプリ開発をしている吉岡(@rikusouda)です。 try! Swift Tokyo 2024に参加してきたのでレポートを書きます。
1ヶ月前
記事のアイキャッチ画像
Android OnBackInvokedDispatcher の導入
Gunosy Tech Blog
Android で OnBackInvokedDispatcher を導入したため、その内容をお伝えします。
1ヶ月前
記事のアイキャッチ画像
Android Jetpack Compose 独自 TextField 実装まとめ
Gunosy Tech Blog
Android Jetpack Compose での独自 TextField の実装についてまとめましたので、その内容をお伝えします。
2ヶ月前
記事のアイキャッチ画像
Datadog Agentがkubeletと疎通できなくてもAWS IMDSv2からhostnameを取得させる
Gunosy Tech Blog
こんにちは。プロダクト開発部 Ads チームの johnmanjiro です。普段は広告配信の API や管理画面を開発しています。 先日、EKS 上で動いている Datadog Agent のバージョンを更新した際、Pod の起動時に複数回 Restart するという事象が発生しました。この記事では、その際に発生した問題とその解決策について紹介します。 また、今回の調査には Datadog のサポートにもご協力いただきました。ありがとうございます。 Datadog Agent のバージョンアップ 起動時に Restart する問題の発生 原因の調査 仮説 DEBUG ログの確認 解決策 まと…
3ヶ月前
記事のアイキャッチ画像
Android Macrobenchmark テストの導入
Gunosy Tech Blog
Macrobenchmark ライブラリを用いたテストを導入したため、その内容をお伝えします。
3ヶ月前
記事のアイキャッチ画像
LLMのプロンプトをCI/CDで評価する。promptfooを使って
Gunosy Tech Blog
こんにちは。 LLM事業部のUTです。 概要 promptfoo の紹介 起動 CI での評価 GitHub Action まとめ 概要 OpenAI による ChatGPT 登場の衝撃から1年ほど経ちましたが、 LLM を活用する企業はものすごく増えました。 OpenAI だけでなく、大手クラウドや Hugging Face などを通して各企業も提供しています。 遊びで使う分にはどの LLM を使うかは適当で良いかと思いますが、プロダクトとして提供する場合利用を想定しているシーンに対して、最適なモデルを選びたいと思うのは必然でしょう。 また LLM を利用してレスポンスを受けるに当たり、最も…
4ヶ月前
記事のアイキャッチ画像
生成系AIを活用した開発者支援
Gunosy Tech Blog
こんにちは。koidです。 この記事は Gunosy Advent Calendar 2023 の25日目の記事です。 24日目の記事は hyamamotoさんの 大規模データ基盤における冪等性を確保した dbt のオーケストレーション でした。 早いもので、今年の Advent Calendar も最終日となりました。 今年の Advent Calendar では、昨年に引き続き各技術領域についてのエントリを中心としつつも、若干LLM関連のエントリも見られるようになってきたかなと思います。 弊社では今年、業務支援特化・生成AIサービス「ウデキキ」をリリースしましたが、並行して、LLMを含めた…
4ヶ月前
記事のアイキャッチ画像
大規模データ基盤における冪等性を確保した dbt のオーケストレーション
Gunosy Tech Blog
はじめに はじめに データ基盤におけるバッチのオーケストレーション 移行時の課題 Helm を活用した dbt 実行基盤の構築 Helm の採用理由 Helm による dbt を実行する template の記述 Helm による k8s Job の実行 実行時の冪等性を確保する dbt の工夫 さいごに DRE&MLOps チームの hyamamoto です。 この記事は Gunosy Advent Calendar 2023 の 24 日目の記事です。 23 日目の記事は Liang さんのCircleCI + Android UI Test スクリーンショットの確認仕組みでした。 さて、…
5ヶ月前
記事のアイキャッチ画像
CircleCI + Android UI Test スクリーンショットの確認仕組み
Gunosy Tech Blog
こんにちは、グノシー Android アプリの開発担当の Liang です。 この記事は Gunosy Advent Calendar 2023 の23日目の記事です。前回の記事は Naoto Koizumi さんの「CircleCIからGithub Actionsに大引っ越しした話」でした。 今回は CircleCI での自動化テスト:Android Instrumentation Test において、スクリーンショットを確認出来る仕組みを紹介したいと思います。 背景 前提対応:CI/CD での自動化テスト テストケースの実行結果を検知 スクリーンショットを取得 CI/CD の artifa…
5ヶ月前
記事のアイキャッチ画像
CircleCIからGitHub Actionsへ大引越した話
Gunosy Tech Blog
こんにちは、テクノロジー本部 プロダクト開発部 SRE の koizumi です。 この記事は Gunosy Advent Calendar 2023 の 22 日目の記事です。昨日の記事は TksYamaguchi さんの「Snyk を導入してコンテナセキュリティ対策の運用を回している話」でした。 本日はこの1年を振り返り、弊社の主要なGitHubリポジトリのCIをCircleCIからGitHub Actionsへと移行した話について取り上げたいと思います。 きっかけ CircleCIからの移行 知見の横展開 共通アクションの整備 移行して感じたこと 課題 まとめ きっかけ GitHub A…
5ヶ月前
記事のアイキャッチ画像
Snyk を導入してコンテナセキュリティ対策の運用を回している話
Gunosy Tech Blog
Snyk を導入してコンテナセキュリティ対策の運用を回している話
5ヶ月前
記事のアイキャッチ画像
広告スコアリングサーバのエラーを大幅に減らした話
Gunosy Tech Blog
こんにちは、m-hamashita です。最近 AdsML(DRE 兼務)から新規事業開発室に移って LLM 応用をしています。学ぶことが多くて楽しいですね*1。 この記事は Gunosy Advent Calendar 2023 の 20 日目の記事です。 19 日目の記事は田辺さんのデータアナリストが dbt seed を使って予算テーブルを作った話でした。 先日、広告のスコアリングサーバをフルリプレイスしました。その後、速報やリクエストが多くなるタイミングなどでエラー(タイムアウト)が急増することがありました。 今回はこのエラーの急増を解消した話について紹介したいと思います。 最初に背景…
5ヶ月前
記事のアイキャッチ画像
コスト削減できる箇所をひねり出す
Gunosy Tech Blog
こんにちはUTです。 この記事は Gunosy Advent Calendar 2023 の 18 日目の記事です。 17 日目の記事は k.oshiro さんの 社内勉強会での発表内容の紹介 〜MessagePackの仕様を読む〜 - Gunosyデータ分析ブログ でした。 最近広告チームからLLMのチームに異動したのですが、今回紹介する話は広告チームでの話になります。 今年は円安だったのでクラウドインフラコストを削減するというネタをいくつかアドベントカレンダーで流れてくるのを見ました。 例にもれず、自分のチームでもコスト削減をしようという話があがりました。 しかし、以下で記事を記載した通り…
5ヶ月前
記事のアイキャッチ画像
サードパーティ Cookie を使わない広告効果計測 ~Privacy Sandbox の Attribution Reporting API について~
Gunosy Tech Blog
Gunosy Ads では、サードパーティ Cookie に依存しない広告効果の計測への対応を進めています。その一環として、Google の Privacy Sandbox についても検証を行なっているので、その話について書ければと思います。
5ヶ月前
記事のアイキャッチ画像
iOSアプリのSWIFT_STRICT_CONCURRENCYをcompleteにした
Gunosy Tech Blog
iOSアプリでSwift Concurrencyを全面的に導入しSWIFT_STRICT_CONCURRENCYをcompleteにした話
5ヶ月前
記事のアイキャッチ画像
tfaction を導入したら便利だった話
Gunosy Tech Blog
この記事は Gunosy Advent Calendar 2023 の 14 日目の記事です。昨日の記事は上村さんの「ChatGPTを活用した業務支援ツール「ウデキキ」のチャット実装」でした。 こんにちは、プロダクト開発部 Ads チームの fujishiro です。最近は年末に行われる RIZIN.45 が楽しみで YouTube で試合予想動画を見ていることが多いです。 さて、今回は弊チームが管理している Terraform のリポジトリの CI/CD 環境を CircleCI から GitHub Actions に移行した際に tfaction という Action を導入したのですが、…
5ヶ月前
記事のアイキャッチ画像
LLM を使って自分のおさいふ事情を把握してみる
Gunosy Tech Blog
はじめに どんなものを作ったのか 解説 Gmail API を使ったメール取得について LangChain を使ったデータ分析について まとめ はじめに こんにちは takuji です。 この記事は Gunosy Advent Calendar 2023 の 11 日目の記事です。 10 日目の記事は村田さんの広告レコメンドの NN モデルワークフローに関する記事でした。 今回は takuji のクレカ利用の傾向を LLM で分析してもらう記事になります。 個人的にクレカのアプリの決済履歴の反映が遅いことで利用金額の把握が上手くできなくて困っていたこと、流行っている LLM を使った記事にした…
5ヶ月前
記事のアイキャッチ画像
インシデント発生時における初動対応の自動化
Gunosy Tech Blog
これまでの課題感 どのように実現したか Slackワークフローとは Google App Scriptとは 実装内容 Slackワークフローの実装 トリガーの設定 ステップの追加 Google App Scriptの実装 Slack Appの設定 Slack Appの作成 OAuth Tokensの設定 Google App Scriptのスクリプトプロパティの設定 今後の課題 GASのバージョン管理 レガシーワークフローからの移行 まとめ こんにちは、テクノロジー本部 プロダクト開発部 SRE の koizumi です。 この記事は Gunosy Advent Calendar 2023 の…
5ヶ月前
記事のアイキャッチ画像
オンライン実験を速く試すための基盤構築
Gunosy Tech Blog
この記事は [Gunosy Advent Calendar 2023](https://adventar.org/calendars/9182) の 7 日目の記事です。昨日の記事は johnmanjiro さんの『tokio ベースの Rust 向け fluentd クライアントを作りました』でした。先日、オンライン実験を速く試すための基盤を構築し、実際に A/B テストを開始しました。この記事では初めに弊社独自の A/B 管理基盤やサービス間の依存関係に由来する課題を整理したうえで、どのような解決策を実装したかについて紹介します。
5ヶ月前
記事のアイキャッチ画像
tokio ベースの Rust 向け fluentd クライアントを作りました
Gunosy Tech Blog
この記事は Gunosy Advent Calendar 2023 の6日目の記事です。昨日の記事は hyamamoto さんの稼働中データ基盤を安全に dbt 移行する仕組みでした。 こんにちは。プロダクト開発部 Ads チームの johnmanjiro です。普段は広告配信の API や管理画面を作っています。 先日、趣味で Rust 向けの fluentd クライアントを作ったのでご紹介します*1。 Rust での fluentd クライアントの状況と作成の経緯 使い方 初期化 ログの送信 サポートしているデータ型 構成 Client Worker forward プロトコル 構成のまと…
5ヶ月前
記事のアイキャッチ画像
稼働中データ基盤を安全に dbt 移行する仕組み
Gunosy Tech Blog
はじめに はじめに 移行前のデータ変換処理の仕組み 移行時の課題 移行時デグレの検知の仕組み CLI の整備 変更内容の検知 パラメーターの生成 GitHub Actions の整備 Continuous Integration (CI) plan-catalogs audit-catalogs Continuous Delivery (CD) apply-catalogs audit-catalogs で実行されていることの詳細仕様 audit-catalogs で実行されている処理 dbt build の実行 dbt-audit-helper の実行 dbt-profiler の実行 テス…
5ヶ月前
記事のアイキャッチ画像
企業テックブログのレビューを GitHub 上でおこなっている話
Gunosy Tech Blog
はじめに 今までのブログレビュー 現在のブログレビュー ブログの同期 ブログの取得 リポジトリと下書きの同期 textlint の導入 導入した結果 まとめ はじめに こんにちは m-hamashita です。 この記事は Gunosy Advent Calendar 2023 の 4 日目の記事です。 3 日目の記事は TksYamaguchi さんのいろんなやり方の読書会をやってみたら当日音読その場でまとめ方式が最高だった話でした。 今回はテックブログのレビューを GitHub 上でするようになって 1 年ほど経ったので、その経緯とリポジトリの紹介をしたいと思います。 個人的にかなり運用が…
5ヶ月前
記事のアイキャッチ画像
いろんなやり方の読書会をやってみたら当日音読その場でまとめ方式が最高だった話
Gunosy Tech Blog
こんにちは、SRE チーム マネージャーの Yamaguchi(@yamaguchi_tk ) です。 こちらの記事はGunosy Advent Calendar 2023の3日目の記事です。 前回の記事は森田さんの LLM 論文の探し方でした。 概要 SRE チームは、シニアエンジニアとジュニアエンジニアで構成されているチームで、チーム内の技術的な知識の偏りの解消や、知識のタコツボ化の解消を目的として読書会をしてきました。 その過程でいろいろな読書会のパターンを行ってきましたので、その結果を共有します。 概要 読書会開始前の SRE チームの課題感 読書会 のやり方の整理と評価の観点 やり方…
5ヶ月前
記事のアイキャッチ画像
Android DataStore の段階導入
Gunosy Tech Blog
Android DataStore の導入と段階的移行の基本実装を行ったため、その内容についてお伝えします。
5ヶ月前
記事のアイキャッチ画像
社内 AWS GameDayを開催しました
Gunosy Tech Blog
こんにちは、テクノロジー本部 プロダクト開発部 SRE の koizumi です。 今回の記事は、AWSと共同開催した社内GameDayのレポートとなります。 本記事ではGameDayの大まかな内容とGameDayに参加したことで得られたものを紹介していきます。 また、今後の参加者の方にとってネタバレにならないように、出題内容を具体的に書かないようにしていますのでご了承ください。 GameDayの内容 参加者レポート koizumi johnmanjiro june.y k.oshiro totake hyamamoto imai 社内GameDayを開催してみて 経緯 日程の確保 参加者の確…
6ヶ月前
記事のアイキャッチ画像
Android + Kotlin Coroutines の実用的な開発Tips
Gunosy Tech Blog
こんにちは、グノシー Android アプリの開発担当の Liang です。 今回はグノシー Android アプリの開発において、Kotlin Coroutines を用いた実用的な Tips をいくつか紹介したいと思います。 ExoPlayer + Coroutines Dispatchers.Main + Yield CoroutineDispatcher.limitedParallelism Flow flatMapConcat flatMapLatest scan / runningFold 感想 参考 ExoPlayer + Coroutines ExoPlayerにはLooper…
6ヶ月前
記事のアイキャッチ画像
Gunosyでテスト自動化ツール「MagicPod」を活用している話
Gunosy Tech Blog
こんにちは。QAチームのmiyagiです。 今回はQAチームで導入しているテスト自動化ツール「MagicPod」でどのようなテストを行っているかご紹介します。 MagicPodについて MagicPodを使ってやっていること 回帰テストの自動化 相互運用性テスト MagicPodによる自動テストを導入して良かったこと 現状の課題と今後について MagicPodについて GunosyのQAチームでは、テスト自動化ツールとして「MagicPod」を導入しています。 MagicPodはプログラミング知識がなくても簡単に自動テストのスクリプトを作成することができる便利なツールです。 ブラウザのテストの…
6ヶ月前