MicroAd Developers Blog
https://developers.microad.co.jp/
マイクロアドのエンジニアブログです。インフラ、開発、分析について発信していきます。
フィード

AIを活用したRTBパフォーマンス改善の実践
MicroAd Developers Blog
マイクロアドでソフトウェアエンジニアをしている池田です。広告配信プラットフォーム「UNIVERSE Ads」の開発に携わっています。 今回は、「UNIVERSE Ads」におけるRTBのパフォーマンス改善を題材に、改善を進める中でAIをどのように活用し、どのような場面で役立ったのかを紹介します。 具体的には、次の内容について、実際の開発の流れに沿って紹介します。 どのようにボトルネックを見つけたか どのように改善したか 大規模な変更で、結果の正しさと性能をどのように確認したか AIを使うことで何が変わり、何が変わらなかったか RTBと今回の課題 パフォーマンス改善の目標 現状のシステム構成 パ…
1日前

ACM RecSys 2026 参加レポート
MicroAd Developers Blog
こんにちは。マイクロアドで機械学習エンジニアをしている簀河原です。 今回は、アメリカのミネアポリス(Minneapolis)で開催された ACM RecSys 2026 の現地参加レポートと、アドテク系機械学習エンジニアの視点から特に興味を持った研究発表をご紹介します。 ACM RecSys とは ACM RecSys(ACM Conference on Recommender Systems)は、推薦システム分野における最新の研究成果や技術、事例が発表される国際会議です。 2007年にスタートし、2026年で20回目の開催を迎えました。 推薦システム(レコメンド)の研究や実務に取り組まれてい…
15日前

オンライン広告の自動入札に関する論文「Constrained Auto-Bidding via Generative Response Modeling」の紹介
MicroAd Developers Blog
はじめに こんにちは。マイクロアドで機械学習エンジニアをしている木村です。 今回の記事では、NAVER社の Eunseok Yang et al. による、オンライン広告の自動入札に関する論文「Constrained Auto-Bidding via Generative Response Modeling」を取り上げます。 前半では自動入札の問題設定と論文の提案手法を説明します。後半では、マイクロアドの実配信データを用いて、入札倍率と費用・効果の関係が論文の仮定通りになっているかを検証し、マイクロアドの自動入札システムに適用できる手法なのかを確かめます。 はじめに 1. RTB の説明と自動…
15日前

ads.txtのクロール品質向上に向けて取り組んだ3つの施策
MicroAd Developers Blog
はじめに こんにちは。マイクロアドでサーバーサイドエンジニアをしている森田です。 マイクロアドでは、広告配信先のads.txtおよびapp-ads.txtを定期的に取得し、配信の判定に利用しています。この記事では、ads.txtのクロール品質向上に向けて取り組んだ3つの施策について紹介します。 ads.txt / app-ads.txtとは ads.txtは、Webサイトの広告枠を販売する正規の事業者を公開するためのテキストファイルです。広告配信プラットフォームは、この情報を参照して、広告枠を販売する事業者が正規かどうかを判定する材料にします。ads.txtは、Webサイトのルートドメインに配…
15日前

手のひらAIスパコン「ThinkStation PGX」でGitHub Copilotの代替に挑んだ話
MicroAd Developers Blog
📢<技術ブログを更新しました!GitHub Copilotの代わりにローカルLLMは使える?超小型AIスパコン(128GBメモリ)で80Bモデルを動かし、実用性を検証した結果を公開!#はてなブログ #MicroadDev #LLM
22日前

総務8年 → インフラ異動3ヶ月でGoogle Cloud ACEに合格した話
MicroAd Developers Blog
こんにちは。プラットフォームエンジニアリングユニットの河田です。 私は2026年5月にシステム開発部へ異動し、7月にGoogle Cloud認定資格Associate Cloud Engineer(ACE)に合格しました。異動からちょうど3ヶ月です。 こう書くと順調そうに見えるかもしれませんが、実際にはそうでもありません。勉強を始めてからも「無謀なのではないか」という不安がずっと消えませんでした。それでもなんとか3ヶ月で届いたのは、周囲のサポートと学習環境に恵まれていたこと、そして途中で学習のやり方を変えたことが大きかったと考えています。 この記事では、 3ヶ月でやったことと、つまずいたところ…
2ヶ月前

分析SQLコーディング規約と生成AIの活用
MicroAd Developers Blog
はじめに こんにちは。マイクロアドのデータマネジメントユニットの前西です。業務では社内の分析基盤(主にRedash × Trino)での広告配信データの集計・分析用SQLの作成・管理などをメインに担当しています。 マイクロアドではRedashを使って非常に多くのSQLを作成・運用していますが、SQLはアプリケーションのコードほど厳格に管理されてこなかった領域でした。そのため、次のような課題がありました。 同じようなクエリが量産される 書いた人にしか読み解けないクエリが生まれる 実行効率の悪いクエリが業務で使われ、データ基盤に負荷をかけてしまう 現在ではRedashのクエリをGitHubで管理す…
2ヶ月前

マイクロアドにおけるセッション率改善
MicroAd Developers Blog
はじめに 初めまして,マイクロアドで機械学習エンジニアをしている前田です. 主にReal-Time-Bidding (RTB) におけるClick Through Rate (CTR) 予測やセッション率予測の研究・開発を担当しています. マイクロアドでは,UNIVERSE Adsというプロダクトでセッション獲得改善を目的として,セッション率予測を入札ロジックに取り入れました. 今回はセッション率予測をどのように活用し,RTB の入札改善を行ったかを紹介させていただきます. はじめに セッションとは モチベーション 従来の理想入札額と CTR 予測 セッション率予測 入札への活用 【失敗パター…
4ヶ月前

読み物:『少人数インフラチームで「何でも屋」をやめ、専門領域に分割してみた』
MicroAd Developers Blog
こんにちは。マイクロアドでインフラエンジニアをしているハダです。 今回は技術そのものの話ではなく、インフラチームの組織体制(エンジニアリングマネジメント)について書いてみました。 マイクロアドのインフラチームが2年前(2024年)から試行錯誤している取り組みで、 これが正解とかバッチリ成功したという内容ではなく、こんな取り組みしていますというような現在進行形の読み物になっています。 何かの参考になれば幸いです。 背景 マイクロアドでは、初期の頃からインフラを管理するチームが存在しています。 当然ながら、最初は数名のチームで始まり管理するインフラの規模も今ほど大きくはありませんでした。 その後事…
4ヶ月前

Apache Icebergのメタデータを追跡してみた話
MicroAd Developers Blog
はじめに Apache Iceberg とは Icebergのメタデータは、どこを見れば分かるのか 検証内容 検証環境 1. INSERT 後に生成されるメタデータを確認する 2. UPDATE後にメタデータがどのように変化するのかを確認する 3. 実データファイルを大量に作り、コンパクション処理(rewrite_data_files, rewrite_manifests)の結果を確認する rewrite_data_files を実行 rewrite_manifestsを実行 今後の展望 まとめ はじめに こんにちは、マイクロアドでサーバーサイドエンジニアをしている本間です。 今回は Apac…
5ヶ月前

MAAS 環境における Cluster API 導入ガイド
MicroAd Developers Blog
はじめに プラットフォームエンジニアリングチームの齊藤(id:saitoperf)です。 マイクロアドでは、Kubernetes (K8s) クラスタのライフサイクル管理に Rancher を使用しています。 Rancher は、OSS の K8s クラスタ管理ツールで、クラスタの構築・可視化・バージョンアップなど、運用を効率化する様々な機能を提供しています。 Cluster API は Rancher の内部で使われていますが、今まで意識することはありませんでした。 今回は、Cluster API を使って K8s クラスタを構築して管理していく方法をご紹介します。 再現には MAAS の環…
6ヶ月前

ML APIの監視設計と運用
MicroAd Developers Blog
はじめに 監視要件の整理 APIの基本監視 ML特有の監視 オンライン評価指標 ビジネス指標 監視基盤の構成 ダッシュボード設計 Latency・Traffic・Errors Saturation アラート設計 今後の展望 ビジネス指標のダッシュボード監視 動的なアラート条件の導入 まとめ 機械学習エンジニア絶賛採用中 はじめに こんにちは、マイクロアドで機械学習エンジニアをしている大庭です。 前回の記事ではマイクロアドにおけるMLモデルの学習バッチのログ設計とその監視について紹介しました。 developers.microad.co.jp マイクロアドでは、学習バッチで定期的にMLモデルを更…
6ヶ月前

Googleカレンダーアドオンで営業活動を効率化する
MicroAd Developers Blog
はじめに こんにちは、マイクロアドでアプリケーションエンジニアをしている渡部です。 12月初旬に、会社で契約しているGoogle Workspaceのユーザーのみが使用できるGoogleカレンダーアドオンを公開しました。 アドオンの目的と機能 開発の背景 マイクロアドでは、営業活動における顧客とのアポイントメントや商談履歴を管理するアポ管理アプリケーション(以降、アポ管理アプリ)を社内で運用しています。 従来、営業担当者はGoogleカレンダーでアポの予定を作成した後、別途このアポ管理アプリにも同じ内容を登録する必要があり、二重入力による工数が発生していました。 この課題を解決するため、Goo…
7ヶ月前

MLモデル学習バッチのログ設計と監視ダッシュボード運用
MicroAd Developers Blog
はじめに こんにちは、マイクロアドで機械学習エンジニアをしている木村です。 この記事では、マイクロアドにおける ML(Machine Learning)モデル学習バッチのログ設計とその監視について紹介します。 また、後半では実際のダッシュボードを用いた運用事例についても紹介します。 はじめに MLOpsとは 監視要件の整理 1. MLシステムの一般的な監視要件の確認 2. 実際のインシデントを元にした監視要件の整理 1と2から整理した今回の監視要件 ログテーブルの設計 Looker Studio によるダッシュボード設計 ダッシュボードの設計方針 実際のダッシュボード運用例 まとめ 機械学習エ…
7ヶ月前

保守運用を楽にするデザイントークン導入
MicroAd Developers Blog
マイクロアドでフロントエンドエンジニアをしている大石です。 フロントエンド領域で欠くことのできない"デザイン"に課題はありませんか? 仮実装フェーズから最終成果物まで、非デザイナーでもデザインを行うケースは多々あります。 非デザイナーのフロントエンドエンジニアでも、根拠を持ってUIを組み立てられる仕組みがあると開発が一気に楽になります。 今回は、Vue.jsを採用しているプロダクトでデザイントークンを導入し、デザインと開発のワークフローを改善したプロセスを共有します。 TL;DR 課題: デザインプロセスに明確なルールがなく、スタイルの一貫性とアクセシビリティが崩れていた 解決策: デザイント…
8ヶ月前

Trinoのタイムアウトエラーを解決するAirliftの設定について
MicroAd Developers Blog
TL;DR Trinoで時々発生するメモリ管理関連のタイムアウトエラーは、ドキュメントに記載されていない memory-manager.http-client.request-timeout パラメータを設定することで解決できることがあります。 # config.properties(Coordinatorのみ) memory-manager.http-client.request-timeout=60s ただし、この設定はCoordinatorでのみ有効です。Kubernetes Helm Chartを使用する場合、additionalConfigPropertiesではなくserver.c…
8ヶ月前

HAProxy で提供する Rancher × Kubernetes エンドポイント
MicroAd Developers Blog
はじめに プラットフォームエンジニアリングユニットの齊藤(id:saitoperf)です。 マイクロアドでは、複数の Kubernetes (K8s) クラスタを Rancher から構築・管理しています。 Rancher は、OSS の K8s クラスタ管理ツールで、クラスタの状況確認や UI 上からのバージョンアップなど、運用を効率化する様々な機能を提供しています。 今回は、Rancher で構築した複数の Downstream cluster1 のエンドポイントを、HAProxy を用いて提供・集約する方法を紹介します。 はじめに 対象読者 前提知識 HAProxy が必要になった背景 …
9ヶ月前

GitHub Copilot を活用した開発効率化のプラクティス
MicroAd Developers Blog
マイクロアドで広告配信システムのバックエンド開発をしている飛田です。 私たちの開発チームでは、GitHub Copilotを中心としたAIアシスタントを活用しています。試行錯誤を重ねる中で効果的だったプラクティスを、今回はいくつかご紹介します。 まだまだ模索中の部分も多いですが、何かの参考になれば幸いです。 本記事のポイント 本記事では、以下の2つの観点からGitHub Copilotの活用方法をまとめています。 観点 内容 コンテキストの重要性 Copilotの効果を高めるためには、仕様書や関連コードなどの背景情報を適切な形で提供することが重要だと考えています。Atlassian MCPや関…
9ヶ月前

マイクロアドにおける生成AIの活用事例
MicroAd Developers Blog
はじめに こんにちは!マイクロアドのシステム開発部の酒井です。 ここ数年、ChatGPTをはじめとする生成AIが大きな話題になっていますね。マイクロアドでも、日々の開発業務で生成AIを活用しています。使ってみると想像以上に便利で、もはや日常でも手放せないツールになっています。 この記事では、マイクロアドの開発で主に使っているGemini Enterprise(旧Google Agentspace)とGitHub Copilotという2つの生成AIツールについて、どんな場面でどのように活用しているのかをご紹介します。「生成AIって実際の開発現場でどう使われてるの?」という疑問をお持ちの方の参考に…
10ヶ月前

時系列データ同化手法のまとめ:カルマンフィルタから融合粒子フィルタまで
MicroAd Developers Blog
こんにちは. マイクロアドで機械学習エンジニアをしている崎下です。 時間によって変わる広告配信リクエスト量に応じて適切に配信量を調整するためのシステムの開発を担当しています。 今回は時間変化するデータの評価手法としてカルマンフィルタについての勉強会を実施したため、その内容をまとめてご紹介します。 本記事の構成 本記事では、時間変化するシステムの状態を評価するための手法として、カルマンフィルタとその拡張手法を取り上げます。 基礎となる状態空間モデルの定式化から始め、以下の流れでまとめます。 参考書として樋口知之『データ同化入門』を主に参照しています。 状態空間モデル 時系列観測データの背後に隠れ…
10ヶ月前

CTR予測でも Target Encoding は大事だという話
MicroAd Developers Blog
はじめに こんにちは。マイクロアドで機械学習エンジニアをしている前田、簀河原です。 この記事では、マイクロアドにおける Click Through Rate (CTR) 予測の精度および安定性向上のために Target Encoding を活用した事例を紹介します。 はじめに CTR予測とは Target Encoding Greedy Target Encoding Leave-one-out Target Encoding K-fold Target Encoding Holdout Target Encoding Ordered Target Encoding マイクロアドにおける事例 …
1年前

25卒新卒研修 日程調整アプリ開発
MicroAd Developers Blog
はじめに はじめまして!25 卒新入社員(入野、森田)です! 私たちは新卒開発研修にて日程調整アプリ「525」を開発しました! 今回の技術ブログでは、日程調整アプリ「525」についてご紹介していきます。 開発研修について マイクロアドの新卒エンジニアは、4 月にビジネス職・エンジニア職合同での全体研修を終えた後、エンジニア職の講義研修を経て開発研修に移ります。 今年度の開発研修は 5 月上旬から 7 月上旬までの約 2 か月間、新卒 2 人で 1 つのチームとなり、アプリケーション開発に取り組みました。 この開発研修では、キックオフミーティングでテーマや要望を聞き、仕様作成、開発、テスト、リリ…
1年前

Cloud Load Balancing(CLB)にOAuth2認証を導入した話
MicroAd Developers Blog
はじめに こんにちは!マイクロアドでインフラエンジニアをしている大泉です。 今回はGoogle CloudのCloud Load Balancing(以下、CLB)にOAuth2認証を導入したお話をします! 背景として、権限分掌の観点から、ネットワーク構築を担当するチームとアプリケーション構築を担当するチームでプロジェクトを分けて運用しています。 各アプリケーションごとに個別のネットワーク接続を構成すると管理・運用が複雑になるため、共有VPCホストプロジェクトがネットワーク接続を一元的に担い、各アプリケーションのVPCはこの共有VPCを経由して通信する構成としています。 こちらがCLB導入前の…
1年前

GCP外のSparkからBigQueryにデータを転送する
MicroAd Developers Blog
はじめに マイクロアドでサーバーサイドエンジニアをしている高橋です。 Apache Spark SQL connector for Google BigQuery(以下spark-bigquery-connector)でSparkからBigQueryにデータを転送する際に、ドキュメント通りでもうまくいかない部分がありました。 そこで本記事では実際に転送できた設定例を紹介します。 タイトルのとおりですが、本記事ではGCP(Google Cloud Platform)外で動作するSparkからBigQueryへのデータ転送について扱います。 はじめに 経緯 使用するライブラリや環境 Spark s…
1年前

小規模から始めるSlack Boltでのアプリケーション開発
MicroAd Developers Blog
はじめに こんにちは。システム開発部 新規プロダクト開発ユニット(NDU)の東です。 NDUはその名の通り、新規プロダクトを開発するユニットです。 新規プロダクトの立ち上げにおいて、開発部門は効率的な開発で迅速なローンチを行うことを目標の1つとして開発をしています。 この記事では、Slack Bolt for JavaScript (Node.js) を使って、小さなSlackアプリケーションを開発する第一歩を踏み出す方法をご紹介します。 Slack Boltとは Slack Boltは、Slackが公式に提供しているアプリケーション開発のためのフレームワークです。 Boltを利用することで、…
1年前

Parquet形式への変換処理におけるストレージI/O削減
MicroAd Developers Blog
はじめに マイクロアドでサーバサイドエンジニアをしているタカギです。 この記事は、JSON形式の生ログをParquet形式へ変換する際に発生する膨大なI/Oを削減した話になります。 背景 マイクロアドではデータ基盤移行プロジェクトを進めてきました。 様々な検証が進められるなか、懸念点として浮上した話が、ストレージI/O問題でした。 当時のデータ基盤の処理をそのまま移行した場合、I/O性能が処理量に追い付かない可能性がありました。 しかしながら、新データ基盤ではS3互換ストレージ(非常に高価)を使用しており、増設は可能な限り避けたい状況でした。 ということで、いかにしてI/Oを減らすことができる…
1年前

Vue I18n の肥大化した翻訳ファイルを、分割管理でスッキリ解決した話
MicroAd Developers Blog
はじめに こんにちは、マイクロアドでサーバサイドエンジニアをしている藤田です。 Vue I18n を使った多言語対応は非常に便利ですが、プロジェクトが成長するにつれ、翻訳メッセージファイルの管理に頭を悩ませることはありませんか? マイクロアドが提供しているプロダクトの 1 つに、 メディア事業者向けのサプライサイドプラットフォーム MicroAd COMPASS があります。 このプロダクトのリニューアルプロジェクトでは、多言語対応するためのライブラリとして Vue I18n を採用しています。 しかし、プロジェクトが進むにつれ、対応言語や翻訳対象のテキストの増加に伴って翻訳メッセージファイル…
1年前

MAASで物理サーバのOSデプロイをワンクリック自動化!らくらく検証環境構築
MicroAd Developers Blog
はじめに こんにちは!マイクロアドでインフラエンジニアをしている大泉です。 今回はオフィスのサーバルームに検証環境を構築する中で、OSのデプロイを簡単に行えるツールが非常に便利だと感じたので、ご紹介します。 リモートでOSを入れる環境を用意しない場合、USBにイメージを入れて手作業でデプロイしたり結構手間がかかります。 1台あたり30分、10台で5時間程度かかります。 さらに何十台も行う場面だと、膨大な時間と手間がかかってしまいます。 それでは、時間と手間を省くためにどうしたか、お話していきます! はじめに OSデプロイの時間と手間を省くツール MAASとは 実際に使ってみた 検証環境のネット…
1年前

OpenAPIからTypeScriptの型定義を作る: APIファースト開発の効率化
MicroAd Developers Blog
システム開発部新規プロダクト開発ユニット(NDU)の大石です。 NDUはその名の通り、広告事業に関わらない様々な新規事業に関するサービスの開発・立ち上げを担当するユニットです。 新規事業の立ち上げではスピードが重視され、NDU では効率的な開発で迅速なローンチを目標の1つとして開発をしています。 今回はBtoB企業向けの商談獲得ツール「ショウグン」の開発で行ったAPIの型定義の効率化について紹介いたします。 ショウグン OpenAPIとAPIファースト開発 NDUをはじめ、マイクロアドの様々なプロジェクトでOpenAPIを用いたAPIファーストな開発を取り入れており、ショウグンでも採用していま…
1年前

Vue 3 移行の技術 Tips
MicroAd Developers Blog
Vue 3 移行の技術 Tips はじめに 半年前に弊社の画面プロジェクトの Vue 3 移行を担当した郭です。 本記事では、移行時に得た知見を整理し、実践的な技術 Tips を共有します。 全体的な移行アプローチ 試行錯誤の結果、公式の移行ガイドを活用するのが最もスムーズな方法でした。日本語版も提供されており、非常に参考になります。 Vue 3 移行ガイド また、Vue 3 への移行は単なるバージョンアップではなく、環境の整備やライブラリの更新、テストの強化を含む包括的な作業となりました。スムーズな移行を実現するため、以下のフローを採用しました。 テスト環境の強化 Node.js, Webp…
2年前