MicroAd Developers Blog

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

2018-01-01から1年間の記事一覧

2018年アドベントカレンダー完走

MicroAd Advent Calendar 2018 - Qiita 昨年から参加しているアドベントカレンダー(2017年はこちら)、今年も参加表明してくれたメンバーが頑張ってくれたおかげで完走することができました。年末の忙しい時期に時間を割いて投稿してくれた皆さんお疲れ様で…

Redis x MessagePack

こんにちは。 マイクロアドでアプリケーションエンジニアをしている新卒1年目の武井です。 今回は私が最近の案件で Redis と MessagePackを使った開発のお話をさせていただければと思います。 Redis と MessagePack まず題名のRedisとMessagePackのそれぞれ…

機械学習処理におけるカテゴリ変数の扱い方(Feature hashingについて)

こんにちは!機械学習エンジニアの桶原です。 業務では主に機械学習処理を用いた広告効果予測と改善をテーマとしています。 今回は機械学習処理におけるカテゴリ変数の扱い方の中でもあまり触れられることのない、Feature hashingを利用した方法についてお話…

Scala関西Summit 2018に参加したので感想を書きます

マイクロアドのサーバサイドエンジニアの松宮です。少し時間が経ってしまったんですが、今年もScala関西Summitに参加してきましたのでマイクロアドと絡めながらつらつらと感想を書きたいと思います。 ちなみに今年はマイクロアドからも初めてスポンサードさ…

Wikipedia2Vecを用いた文書分類

こんにちは、機械学習エンジニアの岸本です。マイクロアドのシステムにおいて、機械学習などデータ解析が関わる部分の研究開発を行っています。 学生時代は、医用画像を対象とした医師の診断を支援するシステム (Computer-Aided Diagnosis; CAD) の研究開発…

ホワイトボックススイッチとCumulus Linuxを使った話

はじめまして。マイクロアドでインフラエンジニアをしているハダです。 今回の記事では、マイクロアドで採用しているホワイトボックススイッチと、 その上で動かしているCumulus Linuxについて導入から使用している感想までを書いていきたいと思います。 背…

Hiveでarray、struct型などをNULLにする方法

こんにちは。マイクロアドでサーバーサイドエンジニアをしている大澤です。 今回はApache HiveでComplex型(ARRAY, STRUCT, MAP, UNION)を使用している際に発生した問題と解決方法について紹介します。 問題の内容 Hive上に下記の様なテーブルが存在する場合…

Digdagを使ったジョブ管理

はじめまして。アプリケーションエンジニアの中野です。 以前、MicroAdのデータ基盤の記事で紹介されていましたが、マイクロアドではデータ基盤刷新のタイミングでワークフロー管理ツールのDigdagを採用しました。 今回の記事では、Digdag採用の経緯やワーク…

SparkでGeoIP2を使うとjava.lang.NoSuchMethodErrorが発生する問題の回避方法

マイクロアドのサーバサイドエンジニアの松宮です。今回はプログラミングのTips的な記事になります。 タイトルの通り、「SparkでGeoIP2を使うとjava.lang.NoSuchMethodErrorが発生する問題の回避方法」を説明したいと思っておりまして、というのも、SparkでG…

マイクロアドに新卒で入っていきなりScalaを書かされた話

はじめまして。マイクロアドでアプリケーションエンジニアをしている新卒1年目の石田です。 主に、MicroaAd BLADEという広告配信プラットフォームの開発をしています。 内定者アルバイト時代からマイクロアドでBLADEの開発に携わっていました。BLADEのソース…

マイクロアドの新卒4人が研修で社内システムを開発した話

マイクロアドの新卒グループです。 全体研修が終わり、システム部の研修として「ななさん」という福利厚生制度を管理するシステムの開発を行いました。 今回はその概要と開発時に工夫した点をまとめて記事にしました。 What's ななさん? ななさんとは、個人…

無停止ブラウザ配信をささえる仕組み

どうもはじめまして、アプリケーションエンジニアの築野です。 主にデジタルサイネージ配信関連に携わっております。 今回は、Webブラウザにて配信アプリを支えている仕組みについて紹介したいと思います。 デジタルサイネージとは 従来の看板や紙のポスター…

【イベントレポート】Qiita Career Meetup for Server Side Engineers

こんにちは。インフラの元井です。体温よりも高い気温の日々が続いていますが、みなさんいかがお過ごしでしょうか。開発部メンバーは都会のど真ん中、新宿京王百貨店の屋上でバーベキューという、この時期、そして今年のこの気温のヤバさ、もはや罰ゲーム的…

JavaScriptフレームワーク(Vue.js)を導入して

マイクロアドでアプリケーションエンジニアをしているNです。 日々、バッチを作ったりWEBアプリケーションを作ったりしています。 今回はライトにJavaScriptフレームワークを導入したお話を書いていきたいと思います。 導入のきっかけ その1~きっかけのきっ…

さようならオーバーレイアニメーション

はじめまして、マイクロアドのSSPサービス COMPASS をメインで担当している「F」です。 オーバーレイ広告は正直ウザいという声もあるとは思いますが、 表現方法という意味では興味深いところでもありました。 そんなオーバーレイ広告ですが、先日遂にアニメ…

インフラエンジニアと IoT

こんにちは。マイクロアドでインフラエンジニアとして勤務している伊東です。 今日はインフラエンジニア視点で導入してみた社内 IoT、間接的な業務効率改善の話をいろいろ脱線しながらユルくご紹介したいと思います。 IoT の歴史とマイクロアドの現在と 近年…

行動データを用いた広告コミュニケーション 行動ターゲティングからフルファネルマネジメントへ

マイクロアドのデータサイエンティストの青井です。広告配信におけるロジック設計などの分析業務を行っています。今回はユーザーにとって役立つ情報を広告で届けるためにマイクロアドが行なってきた行動分析の変遷について紹介します。はじめにRTBと呼ばれる…

MicroAdのデータ基盤

こんにちは。インフラエンジニアの@kanga333です。 最近マイクロアドではデータ基盤を刷新しました。 今回はデータ基盤の刷新に至る背景と新基盤での設計ポイントについてざっくり書いていきたいと思います。 刷新に至る背景 マイクロアドを長年支えてきた既…

HTTP cookieを使って年齢と性別を推定する

背景 SPSSという壁 SPSSは使わない 本題 ~ HTTP cookieを使って年齢と性別を推定する 問題の設定 データを可視化してアプローチ方法を考える モデリング 結果 性別 年齢 結果の総評 プロダクション環境に組み込む 終わりに 背景 表題をみた皆様はこう思われ…

広告配信プログラム PerlからScalaへの軌跡

MicroAdの京都研究所でソフトウェアエンジニアとして勤務している池田です。主に広告配信やReal Time Bidding(以下RTB)のプログラムの開発に携わってきました。 本日はアドネットワークと呼ばれていた時代から現在主流となったRTBに至るまで、MicroAdの広…

順序保証型分散ストリーム処理

はじめまして.マイクロアドの新卒3年目のサーバサイドエンジニアの松宮です. 主にMicroAd BLADEという広告配信プラットフォームの開発をしています. サーバサイドの開発言語はJava/Scalaが中心で,最近はScalaの利用シーンが増えてきました. ということ…

さようならNetezza

はじめまして、マイクロアドでインフラを統括している元井です。会社がサイバーエージェントから分社化するちょっと前から所属しているのでもう11年、ここで言うのもあれですが正直こんなに長居するとは思っていませんでした。いろんなことがありましたので…