MicroAd Developers Blog

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

Container/Presentational Component パターンの導入検討

はじめに アプリケーションエンジニアの Edy です。 今回は、Vue.js での開発する上で、メンテナブルな設計するために、「Container/Presentational Component パターン」を部分的に適用できないか検討した話となります。 「完全に理解」して、少しでも設計…

情報処理学会 第85回全国大会 にインダストリアルセッションスポンサーとして協賛します!

マイクロアドは3月2日(木)~4日(土)で開催される 情報処理学会 第85回全国大会 〜ダイバーシティと情報処理〜 にインダストリアルセッションスポンサーとして協賛いたします! それに伴い、初日3月2日(木)14:30からエンジニアの大澤が講演予定です。 …

Direct Reinforcement Learningによる金融取引の紹介

はじめに 論文紹介 概要 関連研究 Direct Reinforcement Trading 実験の追試 終わりに はじめに こんにちは. マイクロアドで機械学習エンジニアをしている福島です. 主にReal-Time-Bidding (RTB)におけるClick Through Rate/Conversion Rate(CTR/CVR)予測や…

Scala3のMultiversal Equalityの紹介

はじめに こんにちは。マイクロアド京都研究所の池田です。本記事ではScala 3で導入されたMultiversal Equalityという等価の仕組みについて、実際のコードで動作を確認しつつ解説します。 コードはScala CLIで実行可能です。ぜひお手元でも実行してみてくだ…

UNIVERSE AdsでのScala 幽霊型 (Phantom Type) の活用方法

はじめに こんにちは。マイクロアド21年卒サーバーサイドエンジニアの陶山(id:suyama_naoki)です。普段は主にDSP (UNIVERSE Ads) の開発を行なっています。 今回の記事では、UNIVERSE AdsでのScala 幽霊型の活用方法について共有させていただきます。 はじ…

マイクロアド選考 - コーディング試験について

マイクロアドの一部ポジションの選考過程ではコーディング試験を導入しています。 今回は、2023年1月時点でのその内容や注意点について述べます(採点時の基準等は予告なく更新されていく可能性があります)。 コーディング試験環境画面 コーディング試験の…

2022年のアドベントカレンダーが無事完走出来ました

今年も残りわずかとなりました。 マイクロアドのシステム開発部で広報委員会の委員長している 永富 id:yassan0627 です。 「広報委員会って何?」って思った方に簡単にご紹介します。 マイクロアドでは、部内のエンジニアで組織する委員会という制度がありま…

Webアプリ開発における社内標準化の取り組みの話

システム開発部アプリケーションエンジニアの工藤です。 今回は、マイクロアドのWebアプリ開発における社内標準化の動きとその策定内容について、簡単に紹介したいと思います。 課題 同好会の立ち上げ 策定内容 Vueの自動テストフレームワーク タイポグラフ…

Pythonばっかり書いてたエンジニアがGoに入門して感動したこと

Go

こんにちは。マイクロアドで機械学習エンジニアをしている大庭です。 マイクロアドの機械学習チームでは機械学習関連のメイン言語として長らくPythonを利用していました。 しかし最近は機械学習の成果物をAPIとしてリリースすることも多くなり、並列処理に強…

Internet Week 2022でPost Cookie関連の発表をしました

こんにちは、TechLabの中野です。 11/21~30に開催されたInternet Week 2022で「インターネット広告の羅針盤~Post Cookie、嵐の時代」というテーマで登壇してきたので、その様子を紹介します。 Internet Weekとは インターネットに関する技術の研究・開発、 …

CloudNative Days 2022参加レポート

この記事は MicroAd Advent Calendar 2022 の1日目の記事です。 qiita.com マイクロアドの京都研究所からリモートで働いている基盤開発グループの永富 id:yassan0627 です。 今回は、11/21-22開催された CloudNative Days 2022 に行ってきたので参加レポート…

Scala依存型の調査

こんにちは。 マイクロアドでサーバーサイドエンジニアをしている飛田です。 今回はScalaの依存型について調査してみましたので、共有させていただきます。 依存型について調査したきっかけは、 Scalaで型レベル”だけ”でクイックソートという記事で、 こちら…

IPMIでリモート対応を強化して分かったこと

概要 こんにちは。マイクロアドでインフラエンジニアをしているハダです。 今回もデータセンター移設(以降、DC移設と記述)に関することを書いてみました。 今回は「IPMIでリモート対応を強化」したという話です。 IPMIを活用するというのは一般的ですが、…

PyCon JP 2022参加レポート

はじめに こんにちは、マイクロアドでサーバーサイドエンジニアをしている髙橋です。 2022年10月14日(金)~15日(土)の日程で開催された PyCon JP 2022 に初参加しました。 マイクロアドとPython 今までの技術ブログでも記事になっていますが、マイクロアドで…

初めてのTypeScript・Composition APIでつまづいた事とその解決方法

こんにちは。 マイクロアドでWebエンジニアをしている木田です。 今回は、新たに着手した画面開発の業務においてつまづいたこと、その解決方法についてお話しします。 はじめに 本記事では、以下の言語・フレームワークが利用可能な状態を前提に話を進めます…

数理最適化による入札関数選択

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

効率的なダッシュボードの作成

京都研究所・TechLabの田中です。マイクロアドでは、主にエンジニア以外のメンバーが広告配信実績などの各種データにアクセスする際にRedashを利用しています。Redashから接続しているデータソースには、以前このブログでも紹介した分析用Hadoopクラスタ*1に…

Scala マクロアノテーションに入門するための準備体操

Scala マクロに入門するための準備体操 サーバサイドエンジニアの飛田です。 マイクロアドの開発チームでは、以下のようにマクロアノテーションを使って、 処理時間が重要なメソッドのマイクロベンチマークを計測することがあります。 // コンパイル時に対象…

Digdag REST APIによるバッチの並列実行数の制御

はじめに マイクロアドでサーバサイドエンジニアをしている高橋です。 今までの技術ブログでも記事になっていますが、マイクロアドでは主にDigdagとPythonを用いてデータ処理バッチを開発しています。 developers.microad.co.jp developers.microad.co.jp de…

IP Closネットワークに作り変えた話

はじめに こんにちは、マイクロアドでインフラエンジニアをしているハダです。 今回も、マイクロアドがデータセンター移設(以下DC移設と記述)した話をします。 内容は「IP Closネットワークに作り変えた」話です。 最近は IP Closネットワーク と検索すれ…

約10万行の規模のフロントエンド環境にTypeScriptをマイグレーションした話

今回は UNIVERSE Ads のフロントエンド開発環境へ TypeScript の導入する際に考慮した、JestやVue.jsなどとの兼ね合いや、経緯、現状の開発環境との折り合いなどを踏まえつつ説明できたらと思います。

22卒の開発研修でMVP投票システムを作った話

初めに 初めまして、マイクロアドの2022年新卒チーム(高橋id: tkhs_t, 渡部id: S8s8Max)です。 この度私たちは、新卒開発研修で「MVP投票システム」を作成しました。 今回の技術ブログでは、上記の2人でMVP投票システムを作り上げた過程を紹介していきます!…

データ欠損を検知してデータ整合性を改善した話

はじめに こんにちは。マイクロアドでサーバサイドエンジニアをしているカマタです。主に MicroAd COMPASS*1 の開発をしています。 この記事では、レポートデータの整合性を保つために COMPASS レポートシステムで行われた改善について説明します。 改善前 …

Python の高速化

はじめに 機械学習エンジニアの大庭です。普段はマイクロアドが提供する広告配信プラットフォーム UNIVERSE Ads に接続する機械学習 API の研究開発をしています。 マイクロアドでは、機械学習モデルの学習側との連携が容易なこととメンテナンス性を重視して…

夏季勉強会開催します!

こんにちは。機械学習エンジニアをしている福島と申します。 本日は、私が所属している採用委員会からのお知らせをさせていただきます! オンライン勉強会を開催します! 2022年8月に以下の様にオンライン勉強会を開催します! ※タイトルが23卒/24卒向けとな…

【登壇情報】Machine Learning 15minutes!

今週の土曜日(7/30(土))に開催される 第68回 Machine Learning 15minutes! Broadcast にて、マイクロアドのエンジニアが登壇いたします。 是非、参加ください! machine-learning15minutes.connpass.com セッション概要 「アドテクに機械学習を組み込むた…

システム開発部で上場に向けて対応したこと

はじめに システム開発部IT戦略グループの比嘉です。 マイクロアドは2022年6月29日に東京証券グロース市場へ上場しました。今回はシステム開発部で上場に向けて対応したIT統制について話をします。2018年4月頃からIT統制が本格的に始まり、現在も継続してい…

Cookieレス広告技術FLEDGEを試す

京都研究所・TechLabの今村です、本記事ではGoogleが提案するCookieレス広告技術FLEDGEについて簡単な実装コードを交えて説明します。 FLEDGEとは FLEDGEでの広告表示フロー WebAssemblyについて FLEDGEの広告入札を実装する まとめ FLEDGEとは GoogleはChro…

Atomic, volatile, synchronized について

はじめに サーバサイドエンジニアの酒井です. 普段はマイクロアドが提供する広告配信プラットフォーム UNIVERSE Ads の DSP 部分の開発をしています. 今回は JVM 言語におけるマルチスレッドプログラミングに関するいくつかの用語の理解と整理を兼ねて記事に…

ケーブリングを改善した話

はじめに こんにちは。マイクロアドでインフラエンジニアをしているハダです。 マイクロアドでは、最近データセンターの移設(以後、DC移設と記載)を行いました。 そのDC移設に合わせて、今まで抱えていた問題点を改善すべく、 取り組んだことについて書い…