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

SpringBoot1系から2系に移行しててハマった点

Spring Boot2系に移行してハマった点について書きます。ほぼ備忘録です。ついでなので2.0.x -> 2.1.xで変更された点もまとめます。 変更点見つけたら随時書いていこうと思います。 移行前のSpring Bootのバージョンは1.5.10です。2系のバージョンは、2.1.1(…

コイニーとFCPと -副業はじめました-

コイニー(本業)で開発をしながら、FASHION CHARITY PROJECT(FCP)というサービスの開発を副業で始めました。 FCPとは FCPとは、「ファッションアイテムの寄付とお買い物でチャリティ活動できる」サービスです。 コイニーに入る前に勤めていたwajaという会社…

スピーカーとして参加してきたSpring Fest 2018

10/31に開催されたSpring Fest 2018で「Amazon Cognito使って認証したい?それならSpring Security使いましょう!」というタイトルで話してきました。 資料は、これです。 Amazon Cognito使って認証したい?それならSpring Security使いましょう! from Ryos…

Hibernate Enversで履歴管理

エンティティが登録、更新、削除された履歴を管理します。Hibernate Enversは、履歴管理テーブル全体を管理するエンティティ(デフォルトでRevinfo)をいて、自動採番されるid(プロパティ名はrev)と履歴を永続化した日時(プロパティ名はrevtstmp)の2プロ…

私のPC事情

会社変わる時とかに、前の会社のPCでのブックマークとかアプリ移行できないときのためにメモ。 デスクトップアプリ Atom:テキストエディタ mi - テキストエディタ:テキストエディタ Boost Note | Boost Happiness, Productivity, and Creativity.:開発者…

JUnit5試したみた #3(ParameterizedTest)

前回に引き続き、JUnit5について書きます。2018年1月15日に5.0.3がリリースされましたね。今回は、ParameterizedTestについてです。 元のソースコードはGitHubにおいてあります。 github.com ParameterizedTest ParameterizedTestは、指定した引数を用いて、…

JUnit5試したみた #2 (RepeatedTest)

JUnit5のRepeatedTestで遊んでみた

JUnit5試したみた #1

JUnit5が9/10にリリースされました。リリースからちょっと時間が経ってしましましたが、JUnit5について書きたいと思います。 What' new JUnit5? 大きな違いと言えば、3つの異なるサブプロジェクトから構成されていることです。以前のバージョンまでは、1プロ…

JJUG CCC 2017 FallでAssertJを推してきた

11/18(土)に開催されたJJUG CCC 2017 Fallで1年ぶりに登壇してきました。 タイトルは、「ユニットテストのアサーション 流れるようなインターフェースのAssertJを添えて 入門者仕立て」でした。(フレンチのメニューをオマージュしました) 50人くらいの部…

AssertJで流れるようなインターフェースでアサーションを書こう #1

みなさんユニットテスト書いてますか?アサーションライブラリは何を使ってますか?私は、Assert Jが好きで使ってます。AssertJは、Javaのアサーションライブラリで、主にAssertJ CoreとAssertJ SwingとAssertJ DBがあります。 今回は、AssertJ Coreについて…

ThymeleafでNumber.javaを継承したクラスをメッセージ式のパラメータとして渡すと千の位で区切ってくれる話

先日、仕事でThymeleafで千の位で区切って表示することをやりました。いわゆる金額表示です。 結論から述べると、以下のようにすると、実現できます。 ちなみにこれはたまたま発見できちゃいました。。。笑 最初は、次のように書いてました。 <p th:text="${#numbers.formatInteger(1234567890, 3, 'COMMA')} + '円'">1,234,567,890円</p>…

Intelli Jのショートカット一覧が日本語訳されました

以前、Intelli Jのショートカットを以下の記事でまとめたのですが、公式で発表されてるのもを日本語訳された会社さんがいらっしゃいました。 uchi-fashion.hatenablog.comこっちの方が私の拙い日本語訳より参考になると思うのでぜひ! IntelliJ や PhpStorm …

Intelli J ショートカットまとめ

4回にわたってIntelli Jのショートカットをまとめたのですが、みてる自分がめんどくさくなったので1つにまとめました。 Keymapは、Mac OS Xです。異なる方はちょいとキーが変わってくると思います! Editing ショートカットキー 説明 ^ Space ベーシックな…

ThymeleafとJSPを共存させた話

転職して、JSPを使っている会社に入りました。今どきJSPはないだろ!っていうことでThymeleafと共存させることにしました。 プロジェクト構成は、こんな感じです。 JavaCofigでBean定義を行うプロジェクト構成 xmlでBean定義を行うプロジェクト構成 では、さ…

IntelliJ KEYMAP #4(Mac)

4回目は、デバッグと一般的なショートカットです。ちなみにKeymapは、Mac OS Xです。 今回が最終回です!気が向いたらWindowsも書こうかな?(たぶん気が向かない) Debugging ショートカットキー 説明 F8 ブレークポイントから一行進める F7 呼び先のメソ…

IntelliJ KEYMAP #3(Mac)

3回目は、検索と置換とVCS/Local Historyとリファクタリングです。ちなみにKeymapは、Mac OS Xです。 Search / Replace ショートカットキー 説明 Shift * 2 どこでも検索 Command F ファイル内検索 Command R 置換 ^ Shift F 全ファイルから文字列検索 VCS/…

IntelliJ KEYMAP #2(Mac)

2回目は、Usage SearchとNavigationです。ちなみにKeymapは、Mac OS Xです。 Usage Search ショートカットキー 説明 Option F7 プロジェクト内でカーソルが当たっているクラス(メソッド)が使われている箇所を表示 Command F7 ファイル内でカーソルが当た…

IntelliJ KEYMAP #1(Mac)

何回かに分けてIntelliJのKEYMAPについて紹介したいと思います! 1回目は、Editingです。ちなみにKeymapは、Mac OS Xです。異なる方はちょいと変わってくると思います! ショートカットキー 説明 ^ Space ベーシックなコード補完(いくつかクラスやメソッド…

IntelliJ Idea設定項目~備忘録~

転職先のPCのIntelliJさんを自分のカスタマイズにしました。これ毎回探してるな〜って思っててこれ書いて自分の設定まとめます。 どなたかのお助けになれればと思います。 Keymap Keymapsは、Mac OS Xにする。 Editor General Ensure line feed at file end …

バブルソート

バブルソートは最も単純な整列法です。 バブルソートのアルゴリズム 配列の末尾から先頭に向かって隣り合う要素を比較する 後ろの要素が前の要素よりも小さければ交換する 1と2を繰り返す 以下が、バブルソートのJavaプログラムです。 import java.util.Arra…

Spring Actuatorが誰でもみれなくなっちゃったの巻

Spring Actuatorで登録されてるBeanをみようと思って、pom.xmlにSpring Actuatorを追加しました。(以下参照) Versionはご自由にどうぞ! <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> <version>1.5.1.RELEASE</version> </dependency>そして「http://localhost:8080/beans」に…

はじめてのVagrant

Vagrantをちょっとみました。インストール手順まとめました。Vagrant?ってなった人は、これをお勧めします。 Vagrant導入手順から本ブログに記載します! qiita.com 1.Vagrantをインストール これを参考にしました。 qiita.com brew cask install virtualbo…

Java標準ライブラリを学ぶ #1

Javaエンジニア養成読本を読んで気になったところをまとめていこうと思います。今回は第4章。 文字列を扱う 文字列を比較するときに気をつけること 「==」は使用できない Stringクラスはnew演算子でインスタンスを生成することが稀なため、インスタンスの識…

ユニットテストのナレッジ #1

1ヶ月ぶりに更新します。今年はもっとインプットを増やしてアウトプットも増やしていこうと思います!まずテスト対象クラスはこちらのShopService.java @Service public class ShopService { @Autowired private ShopRepository shopRepository; public Sho…

nodebrewによるNode.jsインストール手順

仕事にてnodeが必要になりまして、、、 nodeのインストールにちょいと苦戦したので参考までに! Node.jsをMacにインストールしてnpmを使えるようにする - Hirooooo’s Laboを参考にさせていただきました〜 Node.jsがインストールされているバージョンを確認 $…