MicroAd Developers Blog

https://developers.microad.co.jp/

マイクロアドのエンジニアブログです。インフラ、開発、分析について発信していきます。

フィード

記事のアイキャッチ画像
Vue 3 移行の技術 Tips
MicroAd Developers Blog
Vue 3 移行の技術 Tips はじめに 半年前に弊社の画面プロジェクトの Vue 3 移行を担当した郭です。 本記事では、移行時に得た知見を整理し、実践的な技術 Tips を共有します。 全体的な移行アプローチ 試行錯誤の結果、公式の移行ガイドを活用するのが最もスムーズな方法でした。日本語版も提供されており、非常に参考になります。 Vue 3 移行ガイド また、Vue 3 への移行は単なるバージョンアップではなく、環境の整備やライブラリの更新、テストの強化を含む包括的な作業となりました。スムーズな移行を実現するため、以下のフローを採用しました。 テスト環境の強化 Node.js, Webp…
21日前
記事のアイキャッチ画像
DEIM2025 参加レポート
MicroAd Developers Blog
はじめに マイクロアドは「DEIM2025(第17回データ工学と情報マネジメントに関するフォーラム)」にゴールドスポンサーとして協賛させていただきました。 オンラインでは技術報告の発表を行い、オンサイトではスポンサーブースを出展し、多くの方々と交流することができました。 今回の記事では、その参加レポートをお届けします! 技術登壇 [9A] [9A]連合学習 | DEIM2025 第17回データ工学と情報マネジメントに関するフォーラム | Confit にて「マイクロアドのデータ基盤とその構成について」というテーマで登壇しました。 マイクロアドではオンプレミスでのデータ基盤をHadoopベースで…
22日前
記事のアイキャッチ画像
CloudNative Days Winter 2024参加レポート
MicroAd Developers Blog
システム基盤開発グループの永富(id:yassan0627) と 齊藤(id:saitoperf) です! 今年はCloud Nativeな年になりそうです。 理由としては、今年の5月は沖縄で CloudNative Days Summer 2025 が開催され、また、6月に東京で KubeCon + CloudNativeCon Japan 2025 が開催されます。 cloudnativedays.jp events.linuxfoundation.org もう今年はCloud Nativeな年と言っても過言ではありません! そこで、そんなビックイベントの前に、昨年の年末 11/28-29…
1ヶ月前
記事のアイキャッチ画像
動画広告配信システムをScala 3に移行する
MicroAd Developers Blog
こんにちは。株式会社マイクロアドでソフトウェアエンジニアをしています、入社一年目のid:kobayashi-tomoakiです。 私たちはインターネット広告の配信システムをマイクロサービスアーキテクチャで開発しており、主にScalaを開発言語として使用しています。 この度、当該システムの一部を構成するScala 2を使用した動画広告配信サービス*1について、Scala 3への移行を実施しました。 今回は、その移行プロセスやその作業で得た知見についてレポートします。 導入 VASTによる動画広告配信とは 動画広告配信システムのScala 3移行の手順 移行準備 本移行 Scala 3移行における…
2ヶ月前
記事のアイキャッチ画像
アドベントカレンダー完走 2024
MicroAd Developers Blog
あけましておめでとうございます。 マイクロアド システム開発部 の 奈良橋 です。 昨年 年末のことになりますが 今年も MicroAd (マイクロアド) Advent Calendar 2024 を完走しました! qiita.com パチパチパチ👏。 ということで、私の目線でMicroAd (マイクロアド) Advent Calendarを振り返ります。 振り返り キーワードによる投票傾向 以下は投稿内容を独断と偏見によるキーワードで分類し、降順にソートしてみたものです。 - Kubernetes系 5記事 - Python 5記事 - 生成AI 3記事 - DuckDB 2記事 - Dig…
3ヶ月前
記事のアイキャッチ画像
ACM RecSys'24 参加レポート
MicroAd Developers Blog
はじめに こんにちは。マイクロアドで機械学習エンジニアをしている新卒の簀河原です。 この記事では、イタリアはバーリ(Bari)で開催されました ACM RecSys'24 の参加レポートと、広告業界のMLエンジニア目線で興味を持った研究発表を紹介します。 ACM RecSysとは ACM RecSys(The ACM Conference on Recommender Systems)は、推薦システム分野に特化した国際会議です。 2007年にスタートしたRecSysでは、現在の推薦システムの中核をなす技術が数々発表されています。 研究や実務で推薦システムを専門としている方は、RecSysで発表…
5ヶ月前
記事のアイキャッチ画像
24卒新卒研修 1on1管理アプリ開発
MicroAd Developers Blog
はじめに はじめまして!24卒新入社員(小林、崎下、簀河原、髙橋、本間、前田、大泉、齊藤)です! 私たちは新卒開発研修にて1on1管理アプリ「サシログ」を開発しました! 開発にあたって、24卒は開発チーム(小林、崎下、簀河原、髙橋、本間、前田)とインフラチーム(大泉、齊藤)に分かれて作業しました。 今回の技術ブログでは、開発チームの髙橋とインフラチームの大泉が1on1管理アプリ「サシログ」についてご紹介していきます。 はじめに 開発研修について 1on1管理アプリの開発の背景 開発チームでの開発の流れ 基本設計 画面設計 画面遷移図 ER図 主要技術 サシログの機能の概要 こだわりの機能 リッ…
6ヶ月前
記事のアイキャッチ画像
PyCon JP 2024 参加レポート
MicroAd Developers Blog
9月27~28日に開催されたPythonイベント「PyCon JP 2024」にマイクロアドPython愛好会のメンバーで参加してきました。 この記事では現地の様子や気になったセッション、スポンサーブースについて紹介します。 2024.pycon.jp PyCon JP とは セッション Pythonを活用したLLMによる構造的データ生成の手法と実践 低コストで実現する社内文書RAG機能を搭載したAIチャットボット開発 PEP 723(Inline script metadata)が拓く世界。Pythonスクリプトに必要な仮想環境をツールにおまかせできるんです! Pythonの数学機能を学ぼう…
6ヶ月前
記事のアイキャッチ画像
24卒インフラ研修:監視編
MicroAd Developers Blog
📢<技術ブログを更新しました今回の記事は「24卒インフラ研修:監視編」です。新卒研修を通じて学んだマイクロアドの監視構成について紹介しています!#MicroadDev #はてなブログ #監視
6ヶ月前
記事のアイキャッチ画像
Redis Pipelineによる通信を解析してみる
MicroAd Developers Blog
はじめに こんにちは。マイクロアドでソフトウェアエンジニアをしている飛田と申します。 最近、業務でストリーム処理アプリケーションのスループットを改善する必要がありました。特に、一つのリクエストに対して複数回Redisへの参照や書き込みを行う必要があるアプリケーションだったため、Redis周りの処理時間がボトルネックとなっていました。そこで、Redis Pipelineを導入したところ、パフォーマンスの向上を実感しました。 リリース後、Pipelineがどのように効率化を実現しているかをさらに理解したくなり、通信の仕組みを解析することにしました。 本記事では、Redis Pipelineの基本的…
7ヶ月前
記事のアイキャッチ画像
現代のヒープメモリ管理 〜GCと所有権〜
MicroAd Developers Blog
こんにちは。マイクロアドで機械学習エンジニアをしている大庭です。 今回の記事では多くのプログラミング言語で採用されているメモリ管理機能である「ガベージコレクション」とRustで導入され現在注目されている「所有権」について、最近調べる機会があったため備忘録を兼ねてまとめてみようと思います。 スタック領域とヒープ領域 スタック領域 ヒープ領域 ヒープ領域の管理方法 ガベージコレクション 参照カウント マーク・アンド・スイープ コピーGC 世代別ガーベージコレクション 所有権 所有権の原則 スコープによる値の解放 所有権の移動 所有権の弊害 参照と借用 可変な参照 所有権のまとめ おわりに スタック…
7ヶ月前
記事のアイキャッチ画像
24卒インフラ研修:サーバ構築・運用編
MicroAd Developers Blog
はじめに マイクロアド24年新卒インフラエンジニアの齊藤(id:saitoperf)です。 今回は、インフラ研修やその後の業務で学んだ「サーバ構築・運用周りの技術スタック」を紹介します。 マイクロアドのインフラエンジニアは現在9名で、各々得意な領域はありますが、基本的にはラックマウントや配線といった物理的なタスクから、監視基盤やミドルウェアの構築・運用までの一連に対応できます。 インフラ研修では、まずは座学やハンズオンを通して、チームメンバー全員が知っているような基礎的な知識をインプットしました。 はじめに どのようなインフラ基盤を使っているのか? ベアメタル(MAAS) AWSとGoogle…
7ヶ月前
記事のアイキャッチ画像
実行中のクエリを監視するダッシュボードの作成
MicroAd Developers Blog
京都研究所の田中です。 マイクロアドでは、Redash上に作成されたクエリを利用してデータ抽出が行われています。 この記事では、Redashの利用者がクエリの混雑状況などを簡単に確認できるように作成した監視ダッシュボードを紹介します。 背景と目的 Redashから接続しているデータソースのうち、マイクロアドで最もよく利用されているのはImpala(Hadoopクラスタ上で動作する分散SQLクエリエンジン)1です。 RedashからImpalaを利用する体制で運用していく中で、 クエリの混雑状況:現在実行中のImpalaクエリの一覧や総数 クエリの進行状況:該当するクエリがいま何%くらい進んでい…
8ヶ月前
記事のアイキャッチ画像
バッチアプリのPythonを3.11にバージョンアップした話
MicroAd Developers Blog
はじめに こんにちは、マイクロアドでサーバーサイドエンジニアをしている澤田です。 主にDigdag1とPythonを使用したETL/ELT処理2を行うバッチを開発しています。 今回はバッチ処理で使用しているPythonを3.7から3.11にバージョンアップした際の取り組みについてです。 バージョンアップの背景から実際に取り組んだ中で出た課題とその対応を共有します。 経緯 マイクロアドのバッチ開発ユニットではETL/ELT処理を行うために、メインのプログラム言語としてPythonを使用しています。 メインバージョンとしてはPython 3.7を長らく使用していました。 Python 3.7は20…
9ヶ月前
記事のアイキャッチ画像
24卒インフラ研修:自作PC編
MicroAd Developers Blog
はじめに 初めまして。マイクロアド24年新卒インフラエンジニアの齊藤( id:saitoperf )です。 今回は、インフラ研修で取り組んだ「自作PCの性能評価」について紹介します。 インフラ研修では、パーツ選定 → 組み立て → WordPressのデプロイ → 評価実験までの流れを体験しました。 マイクロアドではオンプレが主流のため、 インフラエンジニアは「コストを意識したサーバ調達 → ラッキング → 構築後のパフォーマンスチェック」の一連に対応できる必要があります。 また、これらの作業が終わった後にも、メモリやストレージの故障といった断続的に発生するインシデントにも対応していく必要があ…
9ヶ月前
記事のアイキャッチ画像
Scala Matsuri 2024 にスポンサー企業として参加してきました!
MicroAd Developers Blog
Scala Matsuri 2024 にスポンサー企業として参加してきました! 先日、お台場にて開催されたScala Matsuri 2024 に参加してきました! 弊社は大名スポンサーとしてScala Matsuri 2024に協賛しており、企業ブースを出させていただきました。 当記事では、現地での様子や興味深かったセッションなどをご紹介します。 Scala Matsuri とは まずScala Matsuriとは、アジア最大級の規模を誇るScalaカンファレンスです。 Scala有識者、Scalaに興味がある人、Scala初心者、コントリビューター、などScalaに関わる人が多く集まります…
9ヶ月前
記事のアイキャッチ画像
JSAI2024参加レポート
MicroAd Developers Blog
はじめに こんにちは。マイクロアドの機械学習チームです。5月28日(火) ~ 5月31日(金)に静岡県浜松市で開催されたJSAI2024 (第38回 人工知能学会全国大会)の参加レポートです。 マイクロアドはゴールドスポンサーとして協賛させていただき、ブース出展とインダストリアルセッションでの発表を行いました。 スポンサーブース 今回は「オンライン広告の入札制御例とCookie規制後の広告技術」をテーマにブース出展していました。 ありがたいことに多くの学生さんや企業の方などにお立ち寄りいただくことができ、広告事業やマイクロアドの業務についてご紹介することができました。 Google Chorm…
10ヶ月前
記事のアイキャッチ画像
Vertex AI Pipelines の開発環境を Dev Container で構築するには
MicroAd Developers Blog
はじめに こんにちは。マイクロアドで機械学習エンジニアをしている天野です。 マイクロアドの機械学習チームでは、機械学習関連のバッチ実行にVertex AI PipelinesというGoogle Cloud Platformが提供するマネージドのワークフロー実行サービスを利用しています。 利用を始めたのは昨年からで準備バッチのリプレースを進めている段階なのですが、componentsやpipelinesが正常に動作するかの検証、componentsを実行するDocker imageのBuildやPushなどの処理を効率的に行えていなく、移行に時間がかかっているという課題がありました。 これらの課…
10ヶ月前
記事のアイキャッチ画像
広告配信アプリの調査術
MicroAd Developers Blog
マイクロアドの RTB 開発チームに所属しており, 普段は『Universe Ads』や『COMPASS』などの広告配信アプリを開発している酒井です。 この記事では、普段広告配信アプリの開発をしている際に発生する問題への対処や、その時に用いるツールに関して紹介します。 RTB に関して 私たちは普段 RTB 開発チームで RTB (Real Time Bidding) の開発をしています。 ここではまず RTB に関して軽く触れることができればと思います。 RTB は、リアルタイムに Web ページから送られてきたリクエストを元に広告を返す処理をするアプリケーションで、私たちが普段見ている W…
10ヶ月前
記事のアイキャッチ画像
外部サービスと従業員データの整理とそれらの利活用による業務改善
MicroAd Developers Blog
マイクロアドのIT戦略グループの米田(まいた)です。 私は2022年1月末にマイクロアドを退職して他社に転職したのですが、業務委託(副業)を経て2023年10月に正社員としてマイクロアド復帰させていただき、改めてIT戦略グループで働いています。 今回は復帰してから進めている「社内で利用している外部サービスのデータ整理・管理」と「従業員データの整備」、そしてそれらのデータを利活用した業務改善を紹介させていただきたいと思います。 外部サービスのデータ整理・管理 Google Workspace Atlassian製品 Dialpad Workplace Slack 従業員データの整理 データ利活用…
1年前
記事のアイキャッチ画像
Fake Report で使われている任意の組み合わせをランダムに選択する仕組み
MicroAd Developers Blog
はじめに 京都研究所のTechlabに所属するエンジニアの I です。 ChromeのPrivacy Sandboxには広告クリックまたは広告視聴が、広告主サイトでの購入などのコンバージョンにつながった タイミングを測定するAttribution Reporting API が含まれています。 このAPIのEvent-Levelレポートの機能は、プライバシーを保護するため、ノイズとして偽レポートを通知することがあります。 この偽レポートはランダムに数値を選ぶことから始まり、ユーザが設定した条件に基づいてランダムな組み合わせを生成します。 組合せをどのように選ぶのかという点で Chromiumの…
1年前
記事のアイキャッチ画像
OTFSG Tokyo Meetup #2 で「Kafka ConnectのIceberg Sink Connector」をテーマに発表してきた
MicroAd Developers Blog
マイクロアドの京都研究所からリモートで働いているインフラ開発ユニットの永富 id:yassan0627 です。 3/1に開催されたOpen Table Format Study GroupのMeetupの第2回目にて、「Kafka ConnectのIceberg Sink Connector」をテーマに話してきました。 今回は、その紹介です。 otfsg-tokyo.connpass.com Open Table Format Study Group(OTFSG) について 私の発表について Kafka Connectとは Iceberg Sink Connectorとは お試し環境について …
1年前
記事のアイキャッチ画像
Spark Connectの検証における知見と課題
MicroAd Developers Blog
マイクロアドでサーバーサイドエンジニアをしている高橋です。 PySpark x Spark Connectの検証によって知見が溜まってきたので共有します。 検証に至った経緯は別の記事で紹介しています。 developers.microad.co.jp Spark Connect関連の情報は検索してもまだ少なく、試行錯誤しながら進めています。 この記事が少しでも参考になれば幸いです。 構成 知見 Spark Connect server起動時にオプションを全て渡さなければならない Decimal型の列同士の四則演算で精度が変わる Hiveのクエリ・UDFが使える 課題点 構成 今回想定する構成は…
1年前
記事のアイキャッチ画像
Googleマウンテンビュー本社でPrivacy Sandboxのディスカッションをしました
MicroAd Developers Blog
こんにちは。京都研究所・TechLabの中野です。 1/30、31にGoogleマウンテンビュー本社で開催されたPrivacy Sandboxのディスカッションに参加してきました。 Privacy SandboxのAPIの設計や開発に関わるGoogleの担当者がマウンテンビュー本社に集まり、マイクロアドのようなテスター企業と直接APIについて議論をするイベントです。 国内から数社が招待され、現地参加はマイクロアドを含めた2社でした。 技術的な内容が中心ということもあり、マイクロアドからはエンジニア2名で参加しました。 約50個の事前質問への回答や15分程度のプレゼン準備など、事前準備はなかなか…
1年前
記事のアイキャッチ画像
Vue.jsでのコンポーネント設計を社内標準化してみた話
MicroAd Developers Blog
はじめに システム開発部フロントエンドエンジニアの工藤です。 マイクロアドの WEB アプリケーションのフロントエンドは、大半を Vue.js を用いて開発しています。 以前、社内標準化の取り組みについて取り上げましたが、今回は、そこでの策定内容でもあるVue.jsでのコンポーネント設計についてお話していきます。 developers.microad.co.jp Vue.jsによる設計 まずは、フロントエンドのコンポーネント設計でよく見かける「Atomic Design」をお試し採用しました。結論としては、pagesとtemplates, moleculesとatomsの区別が難しいのに対して…
1年前
記事のアイキャッチ画像
Vertex AI Pipelinesを用いたMLバッチのディレクトリ設計
MicroAd Developers Blog
はじめに こんにちは。マイクロアドで機械学習エンジニアをしている大庭です。 マイクロアドの機械学習チームでは機械学習関連のバッチ実行に Vertex AI Pipelines というGoogle Cloud Platformが提供するマネージドのワークフロー実行サービスを利用しています。 Vertex AI Pipelinesを利用した機械学習プロジェクトはワークフローを管理するためにディレクトリ構成を工夫する必要があるのですが、新しいサービスなため設計関連の情報が少ないと感じています。 そこで今回の記事ではディレクトリ設計の一例としてマイクロアド運用している構成を紹介します。 はじめに Ve…
1年前
記事のアイキャッチ画像
Protected Audience APIとK匿名性
MicroAd Developers Blog
はじめに Protected Audience API Protected Audience APIとは Protected Audience APIの処理フロー (1)InterestGroupの登録 (2)OnDeviceAuctionの実行 (3)FencedFrameで広告の表示 (4)Reportの送信 K匿名性 K匿名性とは Protected Audience APIにおけるK匿名性 もしK匿名性の制限がない場合 K匿名性サーバー K匿名性サーバの2つのエンドポイント Join Query AboveThresholdWithPeriodicRestartアルゴリズム Chrom…
1年前
記事のアイキャッチ画像
マイクロアドの広告配信アプリ開発チーム「RDU」を新卒視点で語りたい記事
MicroAd Developers Blog
この記事では、マイクロアドの広告配信アプリ開発を担うチーム RDU について 新卒入社者の視点から分かりやすく書いていきます。 どうぞお付き合いください。 はじめに 高橋と申します。昨年マイクロアドに新卒入社し、 現在は広告配信アプリ開発チームでアプリケーションエンジニアとして働いております。 部署には他にも高橋さんが多いため、名前で呼ばれています。 自己紹介 RDU歴:6ヶ月 趣味:将棋(三段)/AtCoder(水)/ピアノ/ポケモンカード/フットサル部・テニス部・麻雀部所属など 最近の目標:Scalaをサラサラっと書けるようになること マイクロアドのシステム開発部には、BDU / RDU …
1年前
記事のアイキャッチ画像
2023年アドベントカレンダー完走記念におすすめ記事紹介
MicroAd Developers Blog
新年あけましておめでとうございます。 マイクロアドのシステム開発部で、広報委員会の委員長をしている キガワ(id:takahiro_kigawa)です。 年を跨いだ後でのご報告となりましたが、2023年のアドベントカレンダーも例年通り無事完走出来ました! qiita.com 前回同様、振り返りとして気になった記事を広報委員会メンバの中から代表3名が紹介していくスタイルでお送りさせていただきます! それではどうぞ! 広報委員会メンバの推しエントリー SONiCのイメージをビルドしてGNS3で使ってみた #Network - Qiita 大規模言語モデルを量子化してRustで動かしてみる Rust…
1年前
記事のアイキャッチ画像
S3互換ストレージ Apache Ozoneについて
MicroAd Developers Blog
はじめに マイクロアドのシステム開発部でインフラエンジニアをしているキガワです。現在マイクロアドではデータプラットフォーム事業を支える大規模な基盤(以下データ基盤)を移行計画中です。 現在のデータ基盤はHadoopエコシステムで実現されており、次期データ基盤ではコンピューティングとストレージを分離する構成を検討中です。 コンピューティング部分についてはマイクロアドで書かれた以前のブログ記事があるので、興味がある方はそちらをご覧ください。 ストレージ部分についてはS3互換のストレージ製品を検討しており、今回はその中で検証したApache Ozoneについて概要をご紹介します。 はじめに Apac…
1年前