MicroAd Developers Blog

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

Java

Java8→Java19でいいなと思った機能

はじめに こんにちは。 マイクロアドでWebエンジニアをしている木田です。 今回は普段Java8を使用しているエンジニアがJava19を触ってみて便利だなと思った点をいくつかご紹介しようとおもいます。 マイクロアドではWebアプリ開発のサーバサイド言語としては…

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

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

Atomic, volatile, synchronized について

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

JVMアプリの暖機運転の導入と効果

京都研究所・Tech Labの郭です。 今回は、マイクロアドが提供する広告配信プラットフォーム「UNIVERSE Ads」の広告配信システムを開発する中で取り組んだ、JVMアプリの暖機運転について紹介していきたいと思います。 JVMの暖機運転とは 課題 アプローチ アイ…

kotlinx-metadata-jvmを使って、kotlin-reflect無しでreflectする

はじめに こんにちは、マイクロアドでソフトウェアエンジニアをしている宮田です。 この記事では、kotlin-reflectの機能を代替しうるライブラリとして、kotlinx-metadata-jvmについて紹介します。 Maven Repository: org.jetbrains.kotlinx » kotlinx-metada…

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

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

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

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

「メソッドの引数名 -> メソッド引数」のMapを生成しようとした話

去年の10月1日から新卒エンジニアとしてマイクロアドで働いている宮田です。 今回は、現在開発中のプロダクトのサーバーサイドで、イケてない部分を改善しようとして失敗した話を書きます。 困っていたこと 開発中のプロダクトのDAOでは、SpringBootのNamedP…

Using the Java Comparator Construction Method in Scala

はじめに Ordered[T] compareの実装 コンパレータ構築メソッドを使って定義する Benchmark まとめ 参考文献 追記(2019/03/11) はじめに はじめまして。アプリケーションエンジニアをやってる新卒1年目の石田です。 Scalaをメインで書いているのですが、Scala…

新卒が初めてScalaを触って詰まったところと解決方法

18新卒でマイクロアドに入社した山城です。 今回はScalaを一切触ったことのない僕が、いきなりScalaで開発を初めて困ったところと、どうやって解決していったのかをセットにして紹介したいと思います。 初心者がどこで詰まるのかというところ、どのようにし…

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

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