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

Flyway 3.x -> 5.xに上げた

Spring Boot2系にあげたときにやったことをまとめようと思います。(関連記事) 今回は、Flywayの話です。バージョンアップ後のSpring Bootのバージョンは2.0.9.RELEASEです。2.2対応はまたいつか書きます。 FlywayとSpring Boot Flywayは、データベースマイ…

Gradle 4.x -> Gradle 5.xに上げた

Spring Boot2系にあげたときにやったことをまとめようと思います。関連記事 今回はGradleの話です。Upgrading your build from Gradle 4.x to 5.0を参考に作業しました。 これだけじゃなかったと思うので、思い出したら追記します。もうGradle 6出ているんで…

Spring Cloud Contractで遊んでみた #1

Spring Cloud Contractを触ってみようと思ったきっかけは、会社での SwaggerでAPI仕様書を書く -> レビュー -> 実装 という開発フロー問題を感じているからです。 このフローには 1.実装とAPI仕様書で乖離してしまう恐れがある 、 2.いちいちAPI仕様書を書く…

ユニットテストで@ConfigurationPropertiesが有効になるようにしたい!

ここ数年で何回かぶち当たってたことが解決したので備忘録として。内容はタイトルの通りです。 @SpringBootTest を使ってテスト書けば設定ファイルを読み込んでくれるので悩む必要はないんですけど、大人の事情でそういうことができない場合もありますよね。…

@DataJpaTestでRepositoryのテスト

テスト書いてますか?私は好きです!嫌いな人は多いみたいですけど... Springのテスト部分のリファレンス読んで忘れないうちにまとめよう精神が働いたので書きます。 今回は、@DataJpaTestというレポジトリのテストを書くためのアノテーションを紹介します。…

Javaパフォーマンス本を読んで #2

第3章 Javaパフォーマンスのツールボックス パフォーマンス分析は可視化と表裏一体です。アプリケーションの内部や、その実行環境で起こっていることを知るのがパフォーマンス分析で、可視化にはツールが不可欠です。 オペレーティングシステム付属のツール…

Javaパフォーマンス本を読んで #3

第5章 ガベージコレクションの基礎 ガベージコレクションの概要 Java言語の最も魅力的な特徴の1つに、開発者がオブジェクトのライフサイクルを管理しなくてもよいという点があります。ガベージコレクションとは基本的に、使われなくなったオブジェクトを探…

Javaパフォーマンス本を読んで #4

第7章 ヒープのベストプラクティス 一般的には、オブジェクトを生成する回数を減らし、必要なくなったらすぐに廃棄すべきというルールがある。一方、同じ種類のオブジェクトをなんども生成するのは全体としてのパフォーマンスの悪化に繋がります。このような…

Javaパフォーマンス本を読んで #1

第2章 パフォーマンステストのアプローチ 実アプリケーションでテストする パフォーマンステストに利用できるコードは、マイクロベンチマーク、マクロベンチマーク、メゾベンチマークの3種類にカテゴライズできる。 マイクロベンチマーク これは、とても小…

Micrometerでメトリクスを収集してAmazon Cloud Watchで可視化する

仕事でMicrometer使う機会が出来たので触ってみました。 Micrometerとは? Micrometerとは、Pivotal社が作っているJVMベースのアプリケーションのためのメトリクスライブラリです。メトリクスの収集とモニタリングシステムへの通知を行います。 メトリクスの…

AssertJ 3.12.0リリースされたので新機能試してみた

AssertJ 3.12.0が2019/2/14にリリースされました。これに伴ってユーザガイドがリニューアルされました。 新機能いくつか試してみました。 ネストしたオブジェクトの検証 AbstractObjectAssert#usingRecursiveComparison() を呼ぶことでネストしたオブジェク…

TestContainers使ってみないか?

みなさんは、DBアクセスのテストはどう書いていますか?DBをモックにしていますか?実際にDBを用意してテストしていますか? 私は、だいたいH2を用いてテストを書いています。H2を使っているとDDL問題に直面してしまいます。本番ではMySQLやPostgresを使って…

「Web API The Good Part」を読んだ

タイトルのとおり、「Web API The Good Parts」を読んでのまとめです。 第1章 Web APIとは何か この本でいうWeb APIは「HTTPプロトコルを利用してネットワーク越しに呼び出すAPI」 Web APIを美しく設計する重要性Web APIを美しく設計した方が良い理由は4つ…

初めてのTech DayでConcourse CIに入門した

コイニーのバックエンドチームでTech Dayを初開催しました! Tech Dayとは、「日々のプロジェクトにリソースを取られて、技術獲得やチャレンジができず知的好奇心を満たせていない」と感じたリーダーが(勝手に)企画してくれたとてもありがたい日です。2週…