MicroAd Developers Blog

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

アラートメールの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を導入しました

マイクロアドのサーバサイドエンジニアでチームリーダーを担当している松宮です。 マイクロアドは先月まで全社員フルリモートで、現在はリモートワークを取り入れた新しい働き方を模索している段階です。 リモートワークにおけるコミュニケーションは大きな…

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年以上使ってきてたどり着いた構成につい…

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

さてクリスマスも終わって今年も残すところあと数日ですが皆さんいかがお過ごしでしょうか。インフラの元井です。 今年も昨年に続きまして無事にアドベントカレンダーを完走することができました!忙しい中、頑張って投稿してくれたメンバーに感謝です! Mic…

Developers Boost 2019で登壇してきました

こんにちは、まっつーです。11/30に開催されたDevelopers Boost 2019に登壇してきました。 今年はマイクロアドからもスポンサーさせて頂き、登壇の他、ブースの出展も行いましたので、その様子を皆さんにご紹介できればと思います! はじめに Developers Boo…

GCP環境にCloudera Altus Directorを入れてみた話

Distributed computing (Apache Spark, Hadoop, Kafka, ...) Advent Calendar 2019 - Qiita の 2日目(12/2)の記事になります! qiita.com インフラエンジニアのN村です。子育て中につき時短で勤務中です。 今日は、育休開け早々にGCP環境にCloudera Altus …

KotlinフレンドリーなBeanPropertyRowMapper的なものを作った

アプリケーションエンジニアの宮田です。 自分のチームでは、10月から既存のSpringBootプロジェクトへKotlinの導入を進めています。 今回は、そんな中で直面した課題への対策として、「KotlinフレンドリーなBeanPropertyRowMapper的なもの」を作った件につい…

京都のIT系学生コミュニティ CAMPHOR- さんとイベントを共催しました

こんにちは、まっつーです。10/5(土)に京都のIT系学生コミュニティ CAMPHOR-さんと「ネット広告を支える技術を知る」のテーマでイベントを共催させて頂きました。 マイクロアドのエンジニア3人で登壇して参りましたので、その時の様子や発表内容をご紹介した…

19年度新卒チームが研修でMVP投票システムを作った話

ぼーちゃんトップページ マイクロアドの19新卒グループです。 全体研修が終わり、システム開発部の研修として「ぼーちゃん」という月間インセンティブ獲得者を決める、MVP投票システムの開発を行いました。 今回は、その概要と開発時に工夫した点をまとめて…

Google Compute Engine を用いた機械学習モデル学習バッチのスケジュール実行

こんにちは、機械学習エンジニアの河本 (@nnkkmto) です。マイクロアドのシステムにおいて、機械学習が必要な部分の研究開発及び実装を担当しています。 この記事では GCP (Google Cloud Platform)、特に GCE (Google Compute Engine) を用いた機械学習モデ…

Builderscon2019の参加レポート

こんにちは、まっつーです。 Builderscon2019が終わって早1ヶ月が経とうとしていますが、builderscon2019の2日目に参加してきたのでそのレポートを書きたいと思います! ↓ マイクロアドのエンジニア達です。スポンサー特典で招待枠をもらったので参加させても…

「関数型言語をもっと使いこなしたい!」マイクロアドの新卒エンジニアがデータサイエンティストの先輩に圏論の初歩を指導してもらった話

はじめに こんにちは、19新卒バックエンドエンジニアの飛田です。 弊社では、プロダクトの一部にCatsという関数型プログラミングを行うためのライブラリを導入しており、今後、Catsをより多くのプロダクトに使用していく予定です。 Catsにはモナドやファンク…

Vue.jsを使ってメンテナンスツールを作ってみた

ご無沙汰しております。 マイクロアドでアプリケーションエンジニアをしているNです。 約1年前「JavaScriptフレームワーク(Vue.js)を導入して」というタイトルでブログを執筆させていただきました。 その時、 興味を示して頂き何らかの反応をいただければ…

BeanValidationを用いるフォームクラスをテストする

アプリケーションエンジニア1年目の宮田です。 今回は以下のようなBeanValidationを用いるフォームクラスのテストについて、用いる道具と実際のテストにおけるTipsの2点からまとめます。 import lombok.Getter; import lombok.Setter; import org.hibernate.…