java

先輩に「メソッドを実行して結果を変数に突っ込め」と言われたら

javaのコーディング中にこんな風に言われた時に、どんなことを考えているのかを整理しておきます

spock + mockitoでverifyするときの注意点

mockitoでverifyするときにテストが通らなくてハマったのでメモ

Springのcomponentをライブラリとして公開する方法

最近ライブラリ作りをたくさんやってます そこで作りたくなるのがcomponentのライブラリ 今日はその作り方を紹介します 以下、gradleで作ることを前提で話します 辛み:普通に作ると問題がサイレントに起きる ライブラリを作る上で少し注意すべきことがある…

mavenリポジトリにローカルディレクトリを指定する

repositories { mavenCentral() // maven { url 'file://path/to/maven/dir' } } しらなかったー。

仕様書の表をそのまま書くenumテーブルパタン

最近のenumはただ値を列挙するだけでなく、フィールドやメソッドを持てることが多いです そうゆう機能を最大限にいかす方法としてenumテーブルパタンを紹介します たとえば各商品の原価に対して値段を決める仕様があるとします 仕様書はこんな感じ 商品と値…

【gradle】デフォルトのjarを自作のjarに差し替える

自分で設定をカスタマイズしたjarを生成したい 公式ドキュメントによると、自作jarのタスクを作って、それをartifactsで登録すればOKのようですが、それだとデフォルトのjarも作られ、成果物が2つになってしまう... なのでデフォルトのjarは削除するようにし…

vavrからEitherだけ抜き取りたい

サーバサイドkotlinを始めました 今まではjava8 + lombok + vavrだったのをkotlinに変更 サンプル作ってみたけど、変なハマりポイントもなく快適に開発できた 個人的にはjava界の黒魔術ことlombokを撲滅できたことに満足していますw ただし、vavrについては…

Optionalを使うとカバレッジ率が上がる!

カバレッジ率について実験してみる カバレッジ率が微妙なコード まず例題としてこんなコードがあるとする Hoge.java public class Hoge { public static String getOrNull(String str) { if(str == null) { return "null"; } return str; } } HogeTest.java …

gradleで読み込めるライブラリをGithubPagesに公開する方法

gradleから読み込めるライブラリが作りたいと思ったので GithubPagesを使ってやってみた intellijでプロジェクトを作りコードを書く 普通にgradleのプロジェクトを作ります ライブラリになるコードを普通に書きます 普通なので省略 build.gradleを編集する …

型をoptionalに変えてバグった

テストのないコードに変更を加えたら動かなくなった あるある感があったのでメモ javaは「型があるから安心」ではない 元のコードはこんな感じ public class SampleEntity { LocalDate date; ... } EntityがLocalDateを持ってる これを仕様変更でOptionalに…

【Java8】メソッド参照は型安全を壊してる?

まぁなぁ。ラムダ式はクラス名やメソッド名の縛りをぶっ壊してるから、型安全的に作りたいときは微妙なんだよなぁ。— なおしむ (@naosim_) 2016, 2月 16 こんなことをつぶやいたらわりと盛り上がったのでメモ。 例えばこんなコードがあったとすると interfac…