MicroAd Developers Blog

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

JVMアプリの暖機運転の導入と効果

京都研究所・Tech Labの郭です。 今回は、マイクロアドが提供する広告配信プラットフォーム「UNIVERSE Ads」の広告配信システムを開発する中で取り組んだ、JVMアプリの暖機運転について紹介していきたいと思います。 JVMの暖機運転とは 課題 アプローチ アイ…

オフィス移転をした話

はじめに はじまり タスク(必須) 新規ネットワーク回線の契約 社内サーバルーム機器の移設 監視カメラの撤去 オフィス扉のセキュリティ導入 複合機の移設と削減 電話/FAXの契約と解約 契約関連の住所変更 無線アクセスポイントの移設 タスク(検討) ネッ…

マイクロアドでのAnsibleの活用方法

はじめに 初めまして。マイクロアド21年卒サーバーサイドエンジニアの陶山(id:suyama_naoki)と申します!普段はUNIVERSE Adsの開発を行なっています。 今回の記事では、マイクロアドで使用している構成管理ツール「Ansible」について共有させていただきま…

Label Distribution Learningを用いた順序を持つ確率分布の学習

はじめに こんにちは、マイクロアドで機械学習エンジニアをしている大庭です。現在はUNIVERSE Adsというプロダクトで入札アルゴリズムの研究開発および実装を担当させていただいてます。 今回の記事では、Real-Time-Biddingにおけるオークションの落札額、自…

マイクロアドのデータ基盤と機械学習活用事例に関する勉強会を開催します!

こんにちは。機械学習エンジニアをしている福島と申します。 マイクロアドの開発部では、自己組織化のために以下3つの委員会があります。 広報委員会 : 技術広報 社内活性化委員会 : エンジニア組織の制度作成 採用委員会 : エンジニアの採用 本日は、私が所…

最強のPython型チェッカーmypy

はじめまして!今年マイクロアドに入社してサーバーサイドエンジニアとしてバッチ開発を担当している根本( id:realyutanemoto )といいます! 今回は、マイクロアドのバッチ開発で利用している静的コード解析ツールのmypyについてのご紹介です。 はじめに バ…

CDH (Hadoop) 入門

はじめに 初めまして。マイクロアド21年新卒インフラ担当の森( id:bosq )と申します。 7月に新卒研修を終えてからは、基盤開発グループにて日々勉強しています。 配属後は新しいことのインプットが多いため、今回は学んだことの整理とアウトプットを兼ねて、…

2021年新卒チームでコーディング試験の管理システムを作った話

はじめに こんにちは。マイクロアド2021年新卒チーム ( id:bosq, id:realyutanemoto, id:suyama_naoki, id:tsuno_ryo, id:moriya_shun ) です。 新卒研修が無事に終わりましたので、今年の研修について紹介したいと思います。 はじめに 開発研修について マ…

kotlinx-metadata-jvmを使って、kotlin-reflect無しでreflectする

はじめに こんにちは、マイクロアドでソフトウェアエンジニアをしている宮田です。 この記事では、kotlin-reflectの機能を代替しうるライブラリとして、kotlinx-metadata-jvmについて紹介します。 Maven Repository: org.jetbrains.kotlinx » kotlinx-metada…

Scala With Cats を読む前に知っておきたかったこと

はじめに こんにちは。マイクロアドでソフトウェアエンジニアをしている田口と申します。 私が所属しているチームでは COMPASS というプロダクトに関する開発をメインで行っており、広告配信システム(Scala)、管理画面(Kotlin・Java)、バッチ系(Digdag(Pytho…

チーム管理対象サービスプロジェクトの導入と比較 (Cloud 版 Jira Service Management)

はじめに マイクロアドでの利用状況 Jira Service Management Cloud Confluence Cloud Jira Service Management について カスタマーポータルは専用URLから オープン/非公開設定でアクセス制御 自動化を利用して作業を効率化 ナレッジベースで情報提供と自己…

redis threadedI/Oの検証

はじめに マイクロアドでインフラエンジニアをしている柏木です。 マイクロアドでは広告配信に高速なKVSであるRedisを使用しています。 Redisはシングルスレッドでの高速性、安定性を売りにしていました。しかし6.0でマルチスレッド機能であるThreded I/Oが…

JIRAカンバンボードを使用した開発の進め方

マイクロアドでアプリケーションエンジニアをしているタカギです。 今回の記事では、マイクロアドでどのような流れで開発が行われているのか、について記事を書いていきたいと思います。 システム開発本部の組織構成 まず、システム開発本部がどのようにチー…

圏論初心者が自然変換について学んでみた!

こんにちは。マイクロアドでソフトウェアエンジニアをしている飛田と申します。私は主に UNIVERSE Ads というプロダクトの開発に携わっています。 UNIVERSE Ads では、より関数型ライクな設計や実装を取り入れることにより、高い保守性と効率性を目指してい…

AI Platform Pipelines の機械学習基盤への導入

こんにちは、マイクロアド機械学習エンジニアチームの河本(@nnkkmto)です。今回、モデル学習における課題解決に向けて GCP における機械学習基盤に AI Platform Pipelines (Kubeflow Pipelines) を導入しました。今回はその内容について紹介します。 従来…

Focal Lossによる自信過剰な予測の抑制

はじめに こんにちは. マイクロアドで機械学習エンジニアをしている福島です. 主にReal-Time-Bidding (RTB)におけるClick Through Rate/Conversion Rate(CTR/CVR)予測や入札最適化の研究・開発を担当しています. 今回はCTR/CVR予測の学習にFocal Loss [Tsung…

UNIVERSE Adsの監視基盤

京都研究所・TechLabの田中です。マイクロアドでは、先日正式提供を開始した*1UNIVERSE Adsの開発と並行して、UNIVERSE Adsのサービス監視用の基盤も整備してきました。 今回はそんなUNIVERSE Adsの監視基盤の概要をご紹介します。 サービス監視の必要性 監…

Impalaのメタデータで困った話

前提 処理の概要 メタデータ更新問題 テーブルの転送フロー修正前 メタデータと統計情報の紐づけ テーブルの転送フロー修正後 メタデータ大きすぎる問題 突然のERROR 大きくなりすぎたオンメモリメタデータ 解決方法 まとめ 参考リンク マイクロアドでETL処…

RTBにおける落札額・落札確率予測

はじめに こんにちは、機械学習エンジニアの大庭です。昨年の4月に新卒でマイクロアドに入社し、現在はUNIVERSE Adsというプロダクトで入札アルゴリズムの研究開発および実装を担当させていただいてます。 この記事では、僕が現在検証している機械学習による…

Vue.jsでのグローバル定数管理を工夫してみた話

システム開発本部フロントエンドエンジニアの工藤です。 マイクロアドの WEB アプリケーションのフロントエンドは、大半を Vue.js を用いて開発しています。 そこで、フロントエンドエンジニアとして効率の良いVue.jsの開発を目指し、日々奮闘しています。 …

CTR予測における確率補正について

はじめに こんにちは. マイクロアドで機械学習エンジニアをしている福島です. 主に広告のClick Through Rate (CTR)予測やReal-Time-Bidding (RTB)の入札最適化を担当しています. 今回はマイクロアドでのCTR予測における確率補正について紹介したいと思います…

アドベントカレンダー完走 2020

あけましておめでとうございます。 マイクロアドのシステム開発本部 の N こと 奈良橋 です。 昨年 年末のことになりますが 例年通り無事 MicroAd (マイクロアド) Advent Calendar 2020 を完走しました! 2020年もマイクロアドらしいアドベントカレンダーに…

SSPリニューアルの新規参入者向けチュートリアルを作って内定者アルバイトが爆速で即戦力になる予定の話

はじめに システム開発本部アプリケーションエンジニアの新卒1年目の輿水です。 前提としてマイクロアドのCOMPASSというSSPのプロダクトをScala、Catsを用いてDDDの戦術的戦略を取り入れてリニューアルすることになりました。 Scala、Cats、DDDを初めて学習…

マイクロアドのPC事情

マイクロアドで社内SEをやっております高橋です。 今回はマイクロアドのPC事情(支給PCや交換サイクル)について紹介したいと思います。 マイクロアドで支給してるPC 特にこだわり等がなければ現在は下記の中から選択してもらっています。 こだわりがある場…

CTR予測にLightGBMを導入した話

はじめに 初めまして, マイクロアドで機械学習エンジニアをしている福島です. 今年の4月に新卒でマイクロアドに入社し, 現在は UNIVERSE Ads というプロダクトでCTR(Click Through Rate)予測や入札アルゴリズムの開発研究をしています. 今回はCTR予測につい…

Akkaを利用したクローラ開発

こんにちは、Tech Labの中野(@tosametal)です。 本記事ではAkka(Scala)を利用して開発したクローラの紹介を行います。 ストリームデータに対してクロールをする上で工夫した、ドメインごとのクロール頻度制御などについて紹介します。 Akkaはメッセージ指向…

圏論初心者が関手に入門し、Scalaで実装した話

はじめに こんにちは。マイクロアドでソフトウェアエンジニアをしている飛田と申します。私は主に UNIVERSE Ads というプロダクトの開発に携わっています。 UNIVERSE Ads では、より関数型ライクな設計や実装を取り入れることにより、高い保守性と効率性を目…

アラートメールのslack通知の話

マイクロアドでアプリケーションエンジニアをしているタカギです。 バッチ開発がメインのチーム(第4開発ユニット:通称ゆーよん)に所属しています。 バッチといえば避けては通れないのが、アラート対応ですね。 そういうわけで、今回の記事では、アラート…

MAASを導入した話

こんにちは。マイクロアドでインフラエンジニアをしているハダです。 2回目にして久々のブログ執筆です。 今回の記事では、マイクロアドで利用を始めたCanonical社のMAASについて記事を書いていきたいと思います。 インストール方法や使い方などの詳細につい…

プロダクトにKotlinを導入して1年弱経ったので振り返る

アプリケーションエンジニアの宮田です。 自分の所属しているチームでは2019年10月から、既存のJava8で書かれたSpringBootアプリケーションへKotlinの導入を始めました。 今回のブログでは、Kotlinを導入して良かったこと、導入に当たって直面した課題、1年…