サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Pixel 9
tech.gunosy.io
こんにちは。QAチームのmiyagiです。 QAチームで活用しているテスト自動化ツール「MagicPod」と、テスト管理ツール「TestRail」を連携させ、自動テストの結果入力をJenkinsで自動化しました。 この記事では、連携に必要な環境構築や手順について紹介します。 Jenkins MagicPodとTestRailについて 自動化の手順 実行するテストケースとテスト実行設定の準備 PythonスクリプトとAPI利用の準備 APIキーの発行 Pythonスクリプトのカスタマイズ Jenkinsの準備 Jenkinsのパイプラインの設定 実行した結果 Jenkins MagicPod TestRail まとめ MagicPodとTestRailについて MagicPodはUIテスト自動化ツールで、Gunosyでは回帰テストの一部を自動化して実行しています。テスト管理ツールであるTes
プロダクト開発部 Ads チームの yamaYu です。最近体重と筋肉量をコントロールしたい願望があり、まずは可視化ということで体組成計を買いました。まだ全然成果は上がっていないですが、現状を把握できて良い感じです。 今回の記事ですが、最近取り組んだ S3 のコスト削減の施策において、S3 Inventory がコストの可視化の文脈で良い感じだったのでその話について書いていきます。 最終的に ↓ のような感じでプレフィックス別にコストを分析できるようにしました。 プレフィックス別の S3 のコストの例 課題感 S3 のストレージ使用量を把握するための選択肢 AWS CLI S3 Storage Lens S3 Inventory S3 Inventory で使用量を可視化する S3 Inventory を設定する Athena と連携する SQL を書いて分析する まとめ 課題感 Ads
こんにちは。 LLM事業部のUTです。 概要 promptfoo の紹介 起動 CI での評価 GitHub Action まとめ 概要 OpenAI による ChatGPT 登場の衝撃から1年ほど経ちましたが、 LLM を活用する企業はものすごく増えました。 OpenAI だけでなく、大手クラウドや Hugging Face などを通して各企業も提供しています。 遊びで使う分にはどの LLM を使うかは適当で良いかと思いますが、プロダクトとして提供する場合利用を想定しているシーンに対して、最適なモデルを選びたいと思うのは必然でしょう。 また LLM を利用してレスポンスを受けるに当たり、最も重要なのがプロンプトです。 様々な研究結果にもある通り、プロンプトの書き方一つで出力結果が大きく変わります。 欲しいアウトプットを出すプロンプトを探すには、プロンプトを複数作り比較する必要があります。
こんにちはUTです。 この記事は Gunosy Advent Calendar 2023 の 18 日目の記事です。 17 日目の記事は k.oshiro さんの 社内勉強会での発表内容の紹介 〜MessagePackの仕様を読む〜 - Gunosyデータ分析ブログ でした。 最近広告チームからLLMのチームに異動したのですが、今回紹介する話は広告チームでの話になります。 今年は円安だったのでクラウドインフラコストを削減するというネタをいくつかアドベントカレンダーで流れてくるのを見ました。 例にもれず、自分のチームでもコスト削減をしようという話があがりました。 しかし、以下で記事を記載した通り大きなコスト削減はすでに実施しており、大幅な削減は見込めない状況でした。 tech.gunosy.io tech.gunosy.io そこでコスト削減をする箇所をひねり出す必要があり、今回はその際に実
この記事は Gunosy Advent Calendar 2023 の 16 日目の記事です。 昨日の記事は吉岡さんの「iOSアプリのSWIFT_STRICT_CONCURRENCYをcompleteにした」でした。 プロダクト開発部 Ads チームの yamayu です。 最近は専ら蛮カラな街でインクを塗り塗りしています。 持ち武器のブラスター種に数年ぶりの強化が入り熱いです。 本題ですが、Gunosy Ads では、サードパーティ Cookie に依存しない広告効果の計測への対応を進めています。 その一環として、Google の Privacy Sandbox についても検証を行なっているので、その話について書ければと思います。 サードパーティ Cookie が廃止されるとどうなるのか サードパーティ Cookie を使わずに広告効果を計測する Privacy Sandbox とは A
これまでの課題感 どのように実現したか Slackワークフローとは Google App Scriptとは 実装内容 Slackワークフローの実装 トリガーの設定 ステップの追加 Google App Scriptの実装 Slack Appの設定 Slack Appの作成 OAuth Tokensの設定 Google App Scriptのスクリプトプロパティの設定 今後の課題 GASのバージョン管理 レガシーワークフローからの移行 まとめ こんにちは、テクノロジー本部 プロダクト開発部 SRE の koizumi です。 この記事は Gunosy Advent Calendar 2023 の 8 日目の記事です。昨日の記事は 石川 さんの「オンライン実験を速く試すための基盤構築」でした。 本記事では、インシデントフローの改善として、インシデント発生時における初動対応の自動化を行なった実例
はじめに 今までのブログレビュー 現在のブログレビュー ブログの同期 ブログの取得 リポジトリと下書きの同期 textlint の導入 導入した結果 まとめ はじめに こんにちは m-hamashita です。 この記事は Gunosy Advent Calendar 2023 の 4 日目の記事です。 3 日目の記事は TksYamaguchi さんのいろんなやり方の読書会をやってみたら当日音読その場でまとめ方式が最高だった話でした。 今回はテックブログのレビューを GitHub 上でするようになって 1 年ほど経ったので、その経緯とリポジトリの紹介をしたいと思います。 個人的にかなり運用が楽になったので、ぜひ見てもらえると嬉しいです。 今までのブログレビュー 今まではブログ用の Slack チャンネルで有志にレビューをお願いし、スレッドでレビューをおこなっていました。 Slack での
こんにちは、SRE チーム マネージャーの Yamaguchi(@yamaguchi_tk ) です。 こちらの記事はGunosy Advent Calendar 2023の3日目の記事です。 前回の記事は森田さんの LLM 論文の探し方でした。 概要 SRE チームは、シニアエンジニアとジュニアエンジニアで構成されているチームで、チーム内の技術的な知識の偏りの解消や、知識のタコツボ化の解消を目的として読書会をしてきました。 その過程でいろいろな読書会のパターンを行ってきましたので、その結果を共有します。 概要 読書会開始前の SRE チームの課題感 読書会 のやり方の整理と評価の観点 やり方 評価の観点 当日音読・Slack に投下する方式 実際のまとめ 方式詳細 評価 メリット デメリット 事前に読んで Miro*1 に付箋・当日議論する方式 実際のまとめ 方式詳細 評価 メリット デ
こんにちは。Android アプリ開発担当の nagayama(@nagayan_dev)です。 2023 年 9 月 14 日 〜 16 日にかけて行われた、 DroidKaigi 2023 に参加してきました。 今回はその内容を簡単にご紹介したいと思います。 DroidKaigi 2023 聞いたセッションのご紹介 ① Push 通知許諾率向上へのアプローチ ②モニタリングでパフォーマンス改善入門 ③ Kotlin ハイパフォーマンスプログラミング ④ Material3 やめました まとめ DroidKaigi 2023 DroidKaigi とは、 Android の技術の共有とコミュニケーションを目的としたカンファレンスになります。 2023.droidkaigi.jp 今回で 9 回目の開催となります。 会場は渋谷ガーデンタワーで、昨年よりも大きな会場での開催となりました。 セ
こんにちは。データサイエンス部の石川です。 弊社では広告配信の最適化のために CTR・CVR*1 を推定する機械学習モデルを開発していて、定期的な学習とモデルの更新を行っています。 このようなシステムにおいて、学習済みモデルが推論システムで問題なく動作することを保証するために、デプロイされるモデルの挙動を検証する仕組みが必要です。 特に、学習時と推論時で同一の広告リクエストに対して同じ推論値を出力するかを確認する仕組みを「差分検知」と呼んでいます。 この記事では、弊社の広告システムにおける機械学習モデルの差分検知について紹介します。 背景 課題 解決策 PyO3 の実装 まとめ 背景 弊社の CTR・CVR を推定する機械学習システムでは、ワークフローエンジンが定期的にモデルの学習を実行し、その後学習済みモデルを S3 にアップロードします。 広告スコアリングサーバは S3 上のモデル変更
こんにちは。データサイエンス部の石川です。 先日 Go で書かれていた広告スコアリングサーバを Rust でリプレイスし、その後レイテンシの改善に取り組みました。 この記事では具体的にどのような実装の変更によって Rust サーバのレイテンシを改善したかについて紹介したいと思います。 広告スコアリングサーバのリプレイスに関する詳しい背景については以下の記事をご覧ください。 tech.gunosy.io 背景 広告スコアリングサーバとは 広告スコアリングサーバに高速化が必要な理由 課題 レイテンシ改善施策 1. 有効期限付きキャッシュの導入 2. Array を Vec に 3. Redis コネクションの設定 4. CPU バウンドな処理を Tokio のブロッキングスレッドに移す Tokio の並列実行とブロッキング処理について 5. RwLock を ShardedLock に 6.
はじめに これまでのインフラ課題の管理方法およびその課題点 それぞれのチームの要件 現在の管理方法 AWS Health Eventを用いたJIRAチケットの自動起票 Slack通知の自動化 JIRAチケットの関連付け JIRAチケットでの期限管理 現在の運用フロー SREの作業 開発チームの作業 移行してみて感じたメリット 今後の課題 さいごに はじめに こんにちは。テクノロジー本部 プロダクト開発部 SREのkoizumiです。 最近、すっかり暑くなってしまいましたね。 さて、今回はAWS Security HubやSnykで検知された脆弱性の課題項目や、AWS Healthで通知されるメンテナンス情報の管理方法ならびにその自動化について取り上げます。 弊社では、週一でプロダクトチームとのふりかえり会というものを開催しており、SLO達成状況やアラート発生状況、セキュリティ指摘項目
こんにちは, プロダクト開発部の今村です. ここ一年ほど, 主にグノシーのプッシュ通知基盤の部分的なリプレイスや機能追加をしていました. この記事ではプッシュ基盤の構成を紹介したいと思います. 概要 FCMのAPIを呼び出す部分 サーバーのスケーリング 送信対象の読み込み 送信の流れ その他の工夫 重複配信の防止 パフォーマンス調整 おわりに 概要 まずはプッシュ通知の種類を整理します. 今回扱うのは, 多数のユーザーに同じ内容を送るような通知です. 重要なニュースが発生したときに送る速報や, キャンペーン情報の通知などが該当します. 対照的に, ユーザーごとに異なる内容を送る通知もあります. 例えば社内で定時プッシュと呼ばれている機能では, ユーザーごとにパーソナライズされた記事を毎日決まった時間に送ります. このような通知はこの記事では (ほぼ) 扱いません. プッシュ通知基盤に求めら
はじめに こんにちは、広告技術部の fujishiro です。 ゼルダの伝説 ティアーズ オブ ザ キングダムが発売されましたね。私は乗り遅れてしまっていて、そもそもゼルダの伝説をやったことがないのですが、今作は盛り上がりがすごいので気になっています。 さて先日、私が Gunosy に転職して 1 年が経ったので、転職してからの 1 年間の振り返りとしてこれまで取り組んできたことをざっくりとご紹介できればと思います。 広告技術部での初めの 1 年間はこんな感じでしたよということをふんわり知っていただければ幸いです。 はじめに Gunosy に転職した理由 Gunosy での取り組み 5 月 - 6 月 Gunosy Ads 管理画面の React の TypeScript 化 6 月 - 9 月 広告フィードバック機能の開発 管理画面の GitOps 化 管理画面のフロント画面 React
こんにちは。QAチームのmiyagiです。 QAで最近導入したTestRailというツールについて、導入の背景や、スプレッドシートからこのツールに乗り換えて変わったことについて書いていきたいと思います。 TestRailとは TestRailは、主にテストケースの作成・更新やテストの進捗管理ができるテスト管理ツールです。 ツールの開発元はドイツのGurock社で、日本ではテクマトリックス株式会社が販売代理店となっており、同社から日本語でサポートも受けられます。 テスト管理ツールを導入した背景 テスト管理ツールを導入した理由は大きく分けて2点あります。 1点目はテストケースのデータベース化を実現するためです。具体的には以下の内容を行うためのツールが必要でした。 テストケースのマスタを作る テストケースのマスタから実行するテストケースのセットを条件に合わせて抽出する TestRailへの移行と
広告技術部の yamayu です。 ホグワーツレガシーが気になっているのですがまだ手を出せていません。 映画はファンタビ以外は全部見ており、原作は 7 巻の上巻まで読んでいるため楽しめそうとは思っています。 さて、弊社ではこれまで CI/CD ツールとして CircleCI をメインに利用していたのですが、最近は GitHub Actions でも同等の機能が提供されるようになりつつあり、また GitHub の他の機能との連携が容易である等の理由から徐々に切り替えていくような動きがあります。 広告技術部で管理しているリポジトリも少しずつ GitHub Actions への移行を進めており、その中で CI/CD のプロセスの見直しを行いました。 結果として、CI の実行時間を大幅に短縮することができたので、今回はそのことについて書いていきます。 長い重い多いテスト テストの並列化 マルチノー
概要 こんにちは。 ホグワーツレガシーで魔法を使わず白菜ばかり使っている、広告技術部のUTです。 今回はチームが有機的に動くために実施している取り組みを紹介したいと思います。 概要 有機的とは なにをやっているか やることの明確化と振り返り スクラム それぞれが責任を持つ 他チームとのコミュニケーション まとめ 有機的とは 「機械的組織」とは、職務権限が明確で、上層部に情報が集中し、トップの命令と指示によって統制される中央集権型組織だ。 それに対して「有機的組織」とは、職務権限が柔軟で、情報は組織内のあらゆる場所に分散し、水平的なネットワーク型の伝達構造をもつ分散型組織を指す。 by Salesforce https://www.salesforce.com/jp/blog/2012/12/vol5-be-social-empowerment.html 労働力の物量で戦うのではなく、片手で
こんにちは。koid です。 この記事は Gunosy Advent Calendar 2022 25日目の記事です。 昨日の記事は ryoaita さんの PyO3 による Rust の Python バインディング でした。 早いもので、今年の Advent Calendar も最終日となりました。 今年の Advent Calendar でも、リモートワーク(以下リモート)における業務の進め方に関するエントリがいくつか書かれていました。元々我々はリモートではなく、オフィスに集まって働いていたのですが、コロナ禍以降、リモートにシフトしました。 今回は、障害発生時における、プロダクトマネージャー・セールス・メディアリレーション・広報などをはじめとした社内各所とのコミュニケーションがリモートになったらうまくいかなくなった話*1、そこでプロセスを見直した話について書きたいと思います。 オフラ
背景 クイックスタート PyO3 が何をやっているか? Rust のコードを Python に公開する 今後の課題 おわりに こんにちは、 Gunosy Tech Lab 所属の ryoaita です。 最近はスクラムマスターをしながら Rust を書いたりしてます。 この記事は Gunosy Advent Calendar 2022 の 24 日目の記事です。 23 日目の記事は Liang さんの Gradle + Kotlin + CircleCIによるAndroid Google Playデプロイの自動化 でした。 今回は Rust で Python モジュールを簡単に作成できる PyO3 を紹介します。 背景 現在、我々のプロジェクトではモブプロで Rust によるアプリケーションサーバーの開発を行っています。このサーバーは Python で学習した機械学習のモデルを Rust
はじめに こんにちは、 Gunosy Tech Lab 所属の hyamamoto です。 昨日に引き続き Gunosy Advent Calendar 2022 の 16 日目の記事を書かせていただきます。 昨日は社内で初めてビルドツール Bazel を導入した話 というタイトルで Bazel の導入について紹介しました! モノレポに Bazel 導入を検討している方はぜひ読んでみてください! さて、完全に私ごとで恐縮なのですが、今年はライフステージが変わるイベントが多くありました(大阪への移住、入籍、家の契約)。 諸々を考慮した結果、注文住宅を建てることにしたのですが、その過程でソフトウェアエンジニアとしての知見が活かせると思うポイントがあったので、その話を書かせていただきます。 今回はややソフトめな話になりますが、ぜひ読んでみてください! 家造りとソフトウェアエンジニアリング 家造り
はじめに こんにちは、 Gunosy Tech Lab 所属の m-hamashita です。僕はほとんど全てのエンジニアブログのレビューに参加しているのですが、アドベントカレンダーの時期は大変ですね。 この記事は Gunosy Advent Calendar 2022 の 12 日目の記事です。 11 日目の記事は楠さんの dbt snapshot から学ぶ Slowly Changing Dimension でした。 Slowly Changing Dimension についてわかりやすく書かれている記事でとても面白かったです。 コロナ渦になって、そろそろ 3 年になろうとしており、各社では出社しているところも増えてきていると聞いていますが、皆さんの会社はどうでしょうか? 弊社はまだまだリモートワークが主流で、自分も気が向いたときだけ出社することが多いです。 今回は弊社で恒例になりつつ
広告技術部のUT@mocyuto です。 この記事は Gunosy Advent Calendar 2022の10日目の記事です。 前回の記事はkoizumiさんの Snyk IaC + reviewdog + aquaではじめるDevSecOps - Gunosy Tech Blog でした。 今回の記事では、OpenAPIでRailsとTypeScriptのスキーマを共有する方法に関して紹介します。 概要 弊社の管理画面では長くRailsを使っており、最初のPRは2013年の10月でした。 長らくの運用で複雑になったRailsのerbだった部分をReactを使って書き換えるというプロジェクトが始まりました。 すでにいくつかの新規ページはReactで作成されていましたが、大きなページを置き換えるというのは心理的ハードルと時間的コストから進められずにいました。 しかし、メンバーが入れ替わる
こんにちは, メディア開発部の今村です. この記事はGunosy Advent Calendar 2022 7日目の記事です. 昨日の前編から引き続き, EventBridgeとECSでバッチ処理基盤を整備した話を紹介します. 後編は監視についてです. EventBridgeやECSの情報をDatadogに集めてモニターを設定していきます. ECSタスクの失敗を検知する EventBridgeの失敗を検知する 監視のまとめ おわりに ECSタスクの失敗を検知する タスクのメトリクスとログについては, サイドカーコンテナとしてDatadog agentとFluent Bitを配置することで収集できます. 方法は大体公式ドキュメントにある通りです. しかし, ドキュメントに The ECS Fargate check does not include any events. とあるように, こ
はじめに Snyk IaCとは CIでのIaC解析 aquaでSnyk CLIを簡単にインストール&バージョン管理 reviewdogでコメント形式の指摘を実現 まとめ はじめに こんにちは。技術戦略室SREチームのkoizumiです。 最近は、katoさんからオススメいただいた「スクワットの深さは人間性の深さ」という本を読み、日々スクワットに励んでいます(大嘘)。 さて、こちらの記事は Gunosy Advent Calendar 2022 の9日目になります。 昨日の記事はGunosy Tech Lab 石川さんの「リモートモブプログラミング開発の実践」でした。 本日は「Snyk IaC + reviewdog + aquaではじめるDevSecOps」と題して、CIへSnyk IaCを導入した事例についてご紹介します。 先日、私が執筆したこちらの記事でも、「Shift-Leftによる
Gunosy Tech Lab の石川です。 この記事は Gunosy Advent Calendar 2022 の 8 日目の記事です。昨日の記事は今村さんの『EventBridgeとECSでお手軽バッチ処理基盤 (後編)』でした。 最近リモート環境でモブプログラミング開発をチームで行っているので、今回はそのベストプラクティスの一例に触れながら、どのように行い、どのような影響があったかを書きたいと思います。 概要 モブプログラミングとは リモートモブプログラミングのベストプラクティスの一例 チームでの実践 独自のルールや実践例 mob コマンド 課題 まとめ 概要 2020 年始めの COVID-19 の流行拡大以降、在宅勤務の導入が多くの企業に広まりました。Gunosy でも同年の 2 月頃から在宅勤務が導入され、現在でもスタンダードな働き方として継続しています。 そのような状況下で、
こんにちは, メディア開発部の今村です. この記事はGunosy Advent Calendar 2022の6日目の記事です. 昨日の記事は村田さんの「Digdag が突然止まった障害を受けて」でした. この記事 (前編) と明日の後編では, EventBridgeとECSでバッチ処理基盤を整備した話を紹介します. 背景 & 技術選定 スケジューリング 実行環境 監視 タスク管理リポジトリの作成 構成 ecspressoでタスク定義を管理する より開発しやすくするために おわりに 背景 & 技術選定 最近はプッシュ通知送信システムのリプレイスを行なっており, その一環でEC2インスタンス上のcronで動くバッチ処理を移行することになりました. これまでチームとして決まったバッチ処理置き場を持っておらず, LambdaやEKS CronJobなどバラバラな環境を使っていたため, これを機に共
こんにちは、SREチームの山口(@yamaguchi_tk)です。AWSに関わり始めて3年半くらいです。 今年1月にJOINして、気づけばセキュリティ系のタスクばっかりやってました。 こちらの記事はGunosy Advent Calendar 2022の4日目の記事です。 前回の記事は suchida さんの M1 Mac に挫けない!TensorFlow に躓かない開発環境をつくるでした。 はじめに Security-JAWS#27*1でAWS Security Hubを運用に載せるまでの話をした内容のまとめです。 動画 www.youtube.com 資料 目次 はじめに 動画 資料 目次 テーマ AWS Security Hub導入の背景 導入 導入の流れ PoCで実施したこと PoCで判明した課題 点数があてにならない (自社の利用方法では)無駄な指摘、解決不能な指摘がある 基準・
こんにちは。 GunosyTechLab の Ads ML チームの村田(id:marice0819)です。スプラトゥーン3 で 2022 冬 Chill Season が開始しましたね。 こちらの記事は Gunosy Advent Calendar 2022 - Adventar の 5 日目の記事です。昨日の記事は takashi yamaguchi さんの「AWS Security Hubの導入から運用を回すためにやってきたこと」というタイトルでSecurity-JAWS#27に登壇しました - Gunosy Tech Blog でした。 要約 障害当日 原因調査 対策 (1)Gradle の shadowJar タスクをもちいて各 plugin が依存する全 jar を取得、cache からローカルの Maven Repository の作成 (2)Digdag のパラメータを変更
こんにちは。広告技術部の yamaYu です。 広告サービスのバックエンド〜インフラを中心に触っています。 最近は専らパルデアの大地を駆け回る日々です。 今回の記事ですが、Kubernetes 上で管理している Rails 製システムの DB マイグレーションの扱いについて書きました。 下の記事の続編になっているため、こちらも参考にしていただけると幸いです。 tech.gunosy.io tech.gunosy.io Kubernetes 上でいいかんじに DB マイグレーションしたい Sync Phases, Waves, Resource Hooks Resource Hooks を用いた DB マイグレーション まとめ Kubernetes 上でいいかんじに DB マイグレーションしたい 前回までの記事で、Rails 製の管理画面が現状抱える CI/CD の課題の整理と GitOps
次のページ
このページを最初にブックマークしてみませんか?
『Gunosy Tech Blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く