Java
少々こまったことがあったので、Artifactoryを調べたので、そのメモ。なお、数年前も同じことを調べたという記憶があるのだが、メモを残していなかったのであらたに調べることになった… 書かれていること ArtifactoryのイメージをビルドするDockerfile プロ…
職場のプロジェクトがメインで指定するIDEはeclipseですが、IntelliJ IDEAが大好きなのでIntelliJ IDEAで仕事しています。 するとどうしても問題が出てきます。 importの順番が異なるために無駄なdiffが出てくる コードスタイルが異なるのでレビューしづらい…
結構前のことですが、 sdkman でJavaをインストールできるようになったとのことで、Javaの更新をsdkmanでやるようにしてみた。 sdk list java まず、どのバージョンのJavaが利用できるのか確認してみます。 $ sdk list java ===============================…
lombokの既存バグにハマったので、その一時的な回避策のメモ。 なお、この情報は以下の環境でおこなった。 Java - 1.8.0_102 lombok - 1.16.12 なお、issueはこちら。 github.com lombokで生成されるgetter(あるいはsetter)にアノテーションを付与する方法 G…
前回の続き これまでの内容をまとめて、DIが必要なオブジェクトをテストするやり方(のひとつ)をやってみる。DIにはGuiceを用いる。 環境 JDK|1.8.0_102 junit-jupiter-api|5.0.0-M3 junit-platform-engine|1.0.0-M3 guice|4.1.0 テスト対象のインターフェー…
前回の続き JUnitの Extension インターフェース JUnit4のRunnerと同様、JUnit5も拡張をすることができる。 JUnit5が提供している 拡張インターフェース(Extension を継承したインターフェース)は次のとおり。 ContainerExecutionCondition メソッド - evalu…
前回の続き @TestFactory @TestFactory はJUnit4における Theories ランナーを用いたテストパラメーターをいろいろと組み合わせるテストを実現するために用いる。 @TestFactory を付与したメソッドは次のいずれかを返すメソッドを実装する必要がある。 Itera…
前回の続き JUnit4同様、JUnit5ではテストのメタ情報や、実行制御はアノテーションを介して行われる。今回はそのアノテーションをまとめる。 JUnit5が提供するアノテーション一覧 アノテーション 役割 説明 @Test メタ情報 付与されたメソッドがテストである…
前回 の続き 今回は値の比較、アサーションについて。 JUnit5が提供するアサーション JUnit5はJUnit4とほぼ同等のAssertion機能を提供している。また、より高度なAssertionを求める場合は、サードパーティライブラリーの利用を勧めている。 JUnit5のAssertio…
JUnit5 publishes junit-platform-gradle-plugin. With it you can run JUnit5 tests with gradle. But if you don't give Test at the end of the test class name, this plugin ignores to run it. If you want to run a test classes whose name don't en…
年末にかけてJUnit5(junit-jupiter)をいじったのでまとめ。 使い方的な話はQiitaにある記事のほうが詳しいかもしれない… qiita.com qiita.com qiita.com qiita.com JUnit5ライブラリーの導入 テストコンパイルスコープにjunit-jupiter-api、テストランタイム…
Junit5の ParameterResolver によってテストメソッドのパラメーターに渡せる日付文字列の形式をユーザーが自由に決められるようにするために、 DateTimeFormatter を使っていた際に、どうしても月のパターン MMM によって月が名前(例えば1月なら Jan)になら…
表題のとおりです。 www.java-users.jp 以下、参加したセッションの独断と偏見によるレポートです。 Prepare for Java 9 : Java9に備えよう Java9先取りのセッションです。 Jigsaw Kullar 非互換情報 ファイル/ディレクトリ構造が変わる話 プロパティファイ…
JavaでOpenCVをごにょごにょやるのに、少し手間取ったのでメモ。 インストールする環境などは次のとおり。 Mac 10.11.5 インストールにはbrewを使う OpenCV 3.1.0 IntelliJ IDEA 2016.1.2 Java8u92 OpenCVのインストール (1) pythonをbrewでインストール $ b…
さっきのエントリー mike-neck.hatenadiary.com で、LTしてきたと書いたのですが、その際に、Jigsawのモジュールがどのように分割されたのか気になったので、調べてみました。 なお、クラス数が膨大なので、このエントリーには載せません。 github.com 上記…
表記の通り、JJUG CCC 2015 Fallにボランティアスタッフとして参加してきました。 JJUG CCC 2015 Fall(11月28日開催) | 日本Javaユーザーグループ jjug.doorkeeper.jp 僕が主に担当したのはCD部屋の16:00〜の会からの空席案内役。 ひとつ前のいろふさんの…
前回のエントリーでGradleにおけるJVM component modelの実践的な内容を紹介した。 mike-neck.hatenadiary.com ここで紹介したプロジェクトのビルド成果物はこちらのエントリーでも紹介した、Javaモジュールシステム的な考えが採用された成果物である。つま…
諸事情により、JUnitが使えない状況でコードを書いていたのですが、書いたコードが動くかどうか確認したい衝動に駆られて、簡単な特徴もないテスティングフレームワークを作りました。 仕様 最初に書いた仕様がこれ。 github.com public class MaybeTest ext…
以前、Gradle3におけるJavaプロジェクトのビルドについてのエントリーを書きましたが、Gradle3のJVM component modelって、まあ、わりと、Java9のJigsawみたいなものなんですね。で、Jigsaw自体知っている人が多いと思いますが、あらためてJigsawが解決した…
元ネタはうらがみさんのカラフルバナー backpaper0.github.io 詳しい話はこのあたりが良さそう。 stackoverflow.com ANSI escape code - Wikipedia, the free encyclopedia def esc = 27 as char (30..37).each {t -> (40..47).each {b -> print "${esc}[${t…
IntelliJ IDEAとかAndroid Studioを使っている人は、メソッドの横の方に@が書かれているのを見たことがあるかと思います。 (Android Studioで実際に表示されるのかは知らないけど、ツイッターで観測している限りアンドロイダーの人で「この@Contractって何」…
夜中に8/15頃のツイートが回ってきた。 Java 8u60 adds reflection on lambda param names DSLs https://t.co/cflxFK468e Hash-Literals https://t.co/5rOCrrckcB pic.twitter.com/NEzj4X3Bt1— Benjamin Weber (@benjiweber) 2015, 8月 16 曰く Java8u60でラ…
本記事ではJava8から入ったOptionalの最も正しくない使い方を解説します。 なお、これが正しいか正しくないかは読者の方の個人的なセンスにお任せします。 正しくない使い方 入力されたBeanの検証をするときに、if(condition1) { return false; } else if (c…
標記の件について、というわけでもないのですが、JSONPの実装ライブラリーを調べていた所、Gensonなるライブラリーがあるのを見つけました。 謳い文句としては 簡単に使えてしかもパワフル 他のJavaエコシステムとも協調性がある JSR353(JSONP)実装 JAXBとも…
Kullaネタ JavaFXなどのGUIのプログラムをゴリゴリと書いている時に、ふとこのオブジェクトを少し動かしたらどうなるんだろうと気になることがあります。実際にやってみようとすると、コードを書いてアプリケーションを起動して実際の動きを見て、「ああ、な…
JavaのREPLの話は前回したとおりです。 JavaにREPLがやってくる - mike-neckのブログmike-neck.hatenadiary.com で、この記事の最後のほうでKullaに簡易的なWebサーバーをさせてみるのもありかもしれない的なことを書いたので、実際にやってみました。ただ、…
表記の通り、今(2015/06/26)現在KullaというプロジェクトでREPL機能が開発されていて、Java 9で(今更ながら)搭載される予定です(jshellと呼ばれるらしい)。 以前はこのJava REPLを試すのが大変だった(@zephiransasさんのブログ記事を参照)ようですが、今はか…
眠いし、最近Java書いてないし、非同期とかあまりつかってないので、あまりピンとこない分野ですので、雑に書きます。 で、件の勉強会に行きました。 【東京】JJUG ナイトセミナー 「Reactive Streams特集」jjug.doorkeeper.jp 感想概要 Reactiveホゲホゲに…
表題のとおりです。 第十一回 #渋谷java (2015/05/30 14:00〜)shibuya-java.connpass.com で、発表してきました。 On stream-lazy-computation from mike_neck Mochida www.slideshare.net 実際のプレゼンの内容はもう少し丁寧かつ雑な資料でやりました。 Ja…
表記のとおりです。なお、本文はハンズオンの片手間で書いています。 【東京】JJUG ナイトセミナー 「GS Collections 道場」jjug.doorkeeper.jp 勉強会の内容的には手を動かしている時間が長かったので、ツイートは少なめなので、多分トゥゲッターはないと思…