Scala
Scala Matsuri 2024 にスポンサー企業として参加してきました! 先日、お台場にて開催されたScala Matsuri 2024 に参加してきました! 弊社は大名スポンサーとしてScala Matsuri 2024に協賛しており、企業ブースを出させていただきました。 当記事では、現地…
マイクロアドの RTB 開発チームに所属しており, 普段は『Universe Ads』や『COMPASS』などの広告配信アプリを開発している酒井です。 この記事では、普段広告配信アプリの開発をしている際に発生する問題への対処や、その時に用いるツールに関して紹介します…
こんにちは。 マイクロアドシステム開発部RDU(RTB Development Unit)でサーバーサイドエンジニアをしている飛田です。 この度は、主に新卒エンジニアの方や新入社員の方向けに、 数ある開発チームのうちの1つであるRDUで使っている技術について共有させてい…
マイクロアドは3月2日(木)~4日(土)で開催される 情報処理学会 第85回全国大会 〜ダイバーシティと情報処理〜 にインダストリアルセッションスポンサーとして協賛いたします! それに伴い、初日3月2日(木)14:30からエンジニアの大澤が講演予定です。 …
はじめに こんにちは。マイクロアド京都研究所の池田です。本記事ではScala 3で導入されたMultiversal Equalityという等価の仕組みについて、実際のコードで動作を確認しつつ解説します。 コードはScala CLIで実行可能です。ぜひお手元でも実行してみてくだ…
はじめに こんにちは。マイクロアド21年卒サーバーサイドエンジニアの陶山(id:suyama_naoki)です。普段は主にDSP (UNIVERSE Ads) の開発を行なっています。 今回の記事では、UNIVERSE AdsでのScala 幽霊型の活用方法について共有させていただきます。 はじ…
こんにちは。 マイクロアドでサーバーサイドエンジニアをしている飛田です。 今回はScalaの依存型について調査してみましたので、共有させていただきます。 依存型について調査したきっかけは、 Scalaで型レベル”だけ”でクイックソートという記事で、 こちら…
Scala マクロに入門するための準備体操 サーバサイドエンジニアの飛田です。 マイクロアドの開発チームでは、以下のようにマクロアノテーションを使って、 処理時間が重要なメソッドのマイクロベンチマークを計測することがあります。 // コンパイル時に対象…
はじめに サーバサイドエンジニアの酒井です. 普段はマイクロアドが提供する広告配信プラットフォーム UNIVERSE Ads の DSP 部分の開発をしています. 今回は JVM 言語におけるマルチスレッドプログラミングに関するいくつかの用語の理解と整理を兼ねて記事に…
サーバサイドエンジニアの飛田です。 主にDSPの開発を行っています。 今回の記事では、Scalaのリテラル型について調査しましたので、 ここで共有させていただきます。 リテラル型 SIP-23 - Literal-based singleton types | Scala Documentation リテラル型…
はじめに 前回 Scala With Cats を読む前に知っておきたかったこと というタイトルで、Scala With Cats の輪読会に参加した際の感想などを書きました。 developers.microad.co.jp その中で "今後やろうと思っていること" として挙げた「Cats で実装されてい…
はじめに こんにちは。マイクロアドでソフトウェアエンジニアをしている田口と申します。 私が所属しているチームでは COMPASS というプロダクトに関する開発をメインで行っており、広告配信システム(Scala)、管理画面(Kotlin・Java)、バッチ系(Digdag(Pytho…
こんにちは。マイクロアドでソフトウェアエンジニアをしている飛田と申します。私は主に UNIVERSE Ads というプロダクトの開発に携わっています。 UNIVERSE Ads では、より関数型ライクな設計や実装を取り入れることにより、高い保守性と効率性を目指してい…
はじめに システム開発本部アプリケーションエンジニアの新卒1年目の輿水です。 前提としてマイクロアドのCOMPASSというSSPのプロダクトをScala、Catsを用いてDDDの戦術的戦略を取り入れてリニューアルすることになりました。 Scala、Cats、DDDを初めて学習…
こんにちは、Tech Labの中野(@tosametal)です。 本記事ではAkka(Scala)を利用して開発したクローラの紹介を行います。 ストリームデータに対してクロールをする上で工夫した、ドメインごとのクロール頻度制御などについて紹介します。 Akkaはメッセージ指向…
はじめに こんにちは。マイクロアドでソフトウェアエンジニアをしている飛田と申します。私は主に UNIVERSE Ads というプロダクトの開発に携わっています。 UNIVERSE Ads では、より関数型ライクな設計や実装を取り入れることにより、高い保守性と効率性を目…
はじめに モノイド 代数学 圏論 Scalaでモノイドを実装する 代数学的な定義に従った整数を加算するモノイドの実装 圏論的な定義に従った整数を加算するモノイドの実装 モノイドの合成 Catsによるモノイドの利用例 おわりに はじめに こんにちは。マイクロア…
目次 目次 はじめに 型クラス シンタックス インタフェースオブジェクト implicitlyメソッド Catsの型クラスとインスタンス Catsまとめ 考察および雑感 型クラスのメリット 実装の責務のイメージ 終わりに はじめに こんにちは、19新卒バックエンドエンジニ…
こんにちは、まっつーです。11/30に開催されたDevelopers Boost 2019に登壇してきました。 今年はマイクロアドからもスポンサーさせて頂き、登壇の他、ブースの出展も行いましたので、その様子を皆さんにご紹介できればと思います! はじめに Developers Boo…
はじめに こんにちは、19新卒バックエンドエンジニアの飛田です。 弊社では、プロダクトの一部にCatsという関数型プログラミングを行うためのライブラリを導入しており、今後、Catsをより多くのプロダクトに使用していく予定です。 Catsにはモナドやファンク…
こんにちは。サーバサイドエンジニアの松宮です。 今年もScalaMatsuriに参加してきました。そして今年は大名スポンサーとして協賛させて頂きました! 濃い内容のセッションが盛りだくさんで非常に勉強になりましたので、いくつかピックアップしてレポートを…
マイクロアドのサーバサイドエンジニアの松宮です。本日はある日の社内日報を焼き直して、外部公開することにしました。 ・・・ ある晴れた日のこと。Specs2でテストを書いていて、下記のようなコードをコンパイルをすると警告が出ることに気が付いた。 ... …
はじめに Ordered[T] compareの実装 コンパレータ構築メソッドを使って定義する Benchmark まとめ 参考文献 追記(2019/03/11) はじめに はじめまして。アプリケーションエンジニアをやってる新卒1年目の石田です。 Scalaをメインで書いているのですが、Scala…
マイクロアドのサーバサイドエンジニアの松宮です。本日は技術Tips記事ということで、Akka Streamsで例外を扱う時の注意点についてのお話です。 Akka Streamsはフローを分岐した複雑なグラフを作る事が簡単に出来ます。また、例外についても捕捉する手段はい…
マイクロアドでアプリケーションエンジニアをしている「G」です。日々、バッチを作ったり WEB アプリケーションを作ったりしています。 今回はライトに Spark Streaming でカスタム Kryo (クライオ)シリアライザーが必要になってしまったお話を書いていき…
18新卒でマイクロアドに入社した山城です。 今回はScalaを一切触ったことのない僕が、いきなりScalaで開発を初めて困ったところと、どうやって解決していったのかをセットにして紹介したいと思います。 初心者がどこで詰まるのかというところ、どのようにし…
MicroAd Advent Calendar 2018 - Qiita 昨年から参加しているアドベントカレンダー(2017年はこちら)、今年も参加表明してくれたメンバーが頑張ってくれたおかげで完走することができました。年末の忙しい時期に時間を割いて投稿してくれた皆さんお疲れ様で…
マイクロアドのサーバサイドエンジニアの松宮です。少し時間が経ってしまったんですが、今年もScala関西Summitに参加してきましたのでマイクロアドと絡めながらつらつらと感想を書きたいと思います。 ちなみに今年はマイクロアドからも初めてスポンサードさ…
マイクロアドのサーバサイドエンジニアの松宮です。今回はプログラミングのTips的な記事になります。 タイトルの通り、「SparkでGeoIP2を使うとjava.lang.NoSuchMethodErrorが発生する問題の回避方法」を説明したいと思っておりまして、というのも、SparkでG…
はじめまして。マイクロアドでアプリケーションエンジニアをしている新卒1年目の石田です。 主に、MicroaAd BLADEという広告配信プラットフォームの開発をしています。 内定者アルバイト時代からマイクロアドでBLADEの開発に携わっていました。BLADEのソース…