MicroAd Developers Blog

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

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

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年…

2020年度新卒チームでRedisの管理システムを作った話

こんにちは。マイクロアド2020卒グループです。 マイクロアドのシステム開発本部では、新卒メンバーのみで1つのシステムを作る『開発研修』を2018年度から行っています。 過去年度の開発研修 2018 : マイクロアドの新卒4人が研修で社内システムを開発した話…

サマーオンライン勉強会を開催します!

こんにちは。サーバーサイドエンジニアをしている武井と申します。 本日は、私が所属している採用委員会からのお知らせをさせていただきます! 【22卒エンジニア】サマーオンライン勉強会 | 株式会社マイクロアド 22卒向け サマーオンライン勉強会を開催しま…

Vue 3 に向けて Composition API を導入した話

システム開発本部アプリケーションエンジニアの Edy です。 マイクロアドの WEB アプリケーションのフロントエンドは、大半を Vue.js を用いて開発しています。 その Vue.js ですが、「Vue 3 is now in RC! (Vue 3 is now in RC! · Issue #189 · vuejs/rfcs …

Workplace from Facebookを導入した話

はじめまして。IT戦略グループの比嘉です。 マイクロアドでは社内コミュニケーションツールとして、Facebook社のWorkplaceというビジネス向けSNSを利用しています。2017年11月に利用を開始していますので3年弱の運用を続けています。 今回は導入に至った経緯…

Chrome84(beta)におけるUser-Agent Client Hintsの調査

Chrome84(beta)におけるUser-Agent Client Hintsの調査 はじめまして。Tech Labの郭です。 Tech Labは弊社の開発効率・運用効率・技術レベルの向上を目的として、業界最新かつ有効な技術を研究・導入するチームです。 今回はブラウザ界隈の最新仕様、User-Ag…

リモートワークでDiscordを導入しました

追記:この記事がきっかけで活用事例として本に紹介されました。詳しくは以下をご覧ください。 developers.microad.co.jp マイクロアドのサーバサイドエンジニアでチームリーダーを担当している松宮です。 マイクロアドは先月まで全社員フルリモートで、現在…

Moleculeのdelegatedドライバ + OpenStackでAnsibleのテストを行う

インフラエンジニアの長田です。 今回は、Ansibleのテスト支援ツールであるMoleculeの実践例について記事にしたいと思います。MoleculeはDockerやPodmanでコンテナを起動し、その中でAnsibleロールのテストを簡潔に行うことができる便利なツールですが、Ansi…

マイクロアドのログ蓄積の流れ

はじめまして。サーバサイドエンジニアの前西と申します。主にETL処理*1のバッチ開発を行っています。 マイクロアドでは、広告配信ログやアクセスログなどのデータを元にして、様々な加工を行った上で蓄積を行なっています。 今回の記事では、私が普段業務で…

新卒2年目のエンジニアがモノイドの数学的な定義について調べてScalaで実装してみた

はじめに モノイド 代数学 圏論 Scalaでモノイドを実装する 代数学的な定義に従った整数を加算するモノイドの実装 圏論的な定義に従った整数を加算するモノイドの実装 モノイドの合成 Catsによるモノイドの利用例 おわりに はじめに こんにちは。マイクロア…

Jestを使ったVueコンポーネントのテストを導入した話

はじめまして、フロントエンドエンジニアをしている川上です。 業務では、主にサービス要件に沿ったフロントエンド開発を担当しています。 今回は、私自身初めての経験だったフロントエンドのテスト導入手順や、 導入するにあたって気をつけた点などをお話し…

Hive パフォーマンスを改善する設定の紹介

マイクロアドではデータ基盤に Hive が使われています。 データ基盤について、以下の記事をご確認ください。 MicroAdのデータ基盤 より使いやすいデータ分析基盤にするために この一年間、Hive を使う機会が増えましたのでクエリパフォーマンスを改善する為…

新卒がMLOpsに挑戦していく話

システム開発本部のデータサイエンスユニットに所属している19新卒の豊原です。 巷で結構耳にするMLOpsですが、結構苦労していらっしゃる組織も多いと考えます。 今回の記事では、マイクロアドで挑戦するMLOpsについての概要と、その挑戦について解説します…

Cloud 版 Jira Service Desk の導入と社内ワークフローの整理

マイクロアドでコーポレートエンジニアをしている米田(マイタ)です。 マイクロアドでは以前から Atlassian 社の Cloud 版 Jira Software と Confluence を導入していますが、今回は「2019年から Jira Service Desk を導入して社内のワークフローを整理してい…

より使いやすいデータ分析基盤にするために

京都研究所・TechLabの田中です。 今回は、データ分析基盤をより使いやすくするために実施した取り組みをご紹介します。 この記事では、結論だけでなくそこに至るまでの過程も一緒に紹介しているので、実務の雰囲気の一端も感じ取っていただければ幸いです。…

マイクロアドの新卒エンジニアがCatsに入門してみた

目次 目次 はじめに 型クラス シンタックス インタフェースオブジェクト implicitlyメソッド Catsの型クラスとインスタンス Catsまとめ 考察および雑感 型クラスのメリット 実装の責務のイメージ 終わりに はじめに こんにちは、19新卒バックエンドエンジニ…

Digdagバッチの基本設計とビルドの実例紹介

サーバサイドエンジニアの大澤です。主にETL処理のバッチ開発を行っています。 以前の記事で紹介していますが、マイクロアドではバッチ処理のワークフローを主にDigdagを使用して管理しています。 今回は、Digdagを1年以上使ってきてたどり着いた構成につい…