CLOVER🍀

That was when it all began.

Java

JavaのDNSキャッシュの有効期限を設定・確認する

これは、なにをしたくて書いたもの? JavaのDNSキャッシュについては、有効期限を無制限にしていてトラブるみたいは話は聞いたことがあった程度 あんまり意識する機会がなかったので、設定方法とその確認方法を見ておきたいなと というわけで、ちょっとサン…

Sonatype Nexus 3/2で、REST API+Groovyスクリプトを使ってリポジトリを作る

これは、なにをしたくて書いたもの? Sonatype Nexusを使ってリポジトリを作るのに、Web Consoleにログインして作るのが面倒だなーと思って他の方法は?と できれば、Sonatype Nexus 3と2、それぞれで知りたい REST APIと、スクリプトが使えるらしい 試して…

NIOのSelectorの実装を切り替える(SelectorProviderを指定する)

NIOを使ってServerプログラムを書く時には、ServerSocketChannelとSelectorが登場することと思います。 try (ServerSocketChannel serverChannel = ServerSocketChannel.open(); Selector selector = Selector.open()) { このSelectorの実装ですが、環境ごと…

jcmdメモ

そろそろいい加減に、jpsから各種のJDK付属のツールからjcmdに慣れていこうかなと思い、個人的にメモとしてまとめることにしました。既存のコマンドと、対比させる形で書いていきます。 参考 参考にしたのは、このあたり。jcmdユーティリティjcmdjcmdを使っ…

JavaからLDAP/LDAPS接続(自己署名証明書の検証スルーコード付き)

最近、ちょっとLDAP…LDAPSでの接続とかをやってみたので、メモとして。LDAPおよびLDAPSでの接続を、Javaから簡単な例で書いてみます。こちらを参考に。JNDI/LDAPサービス・プロバイダ 環境 Java、Maven。 $ java -version openjdk version "1.8.0_171" OpenJ…

META-INF/services generatorを使って、サービス・プロバイダー向けのファイルを自動生成する

META-INF/services generatorというライブラリを使うと、サービス・プロバイダーが使用するMETA-INF/services配下のファイルを 自動生成することができます。META-INF/services generator -Generates META-INF/services files automatically 使い方はサイト…

Maven Wrapper(mvnw)を使って、Maven未インストール環境でもMavenを使えるようにする

使われているのはけっこう見てきているのですが、いい加減に自分でも使ってみようかと思い、Maven Wrapperを試して みることにしました。Maven Wrapperは、Gradle Wrapperにインスパイアされたものらしいです。第62章 GradleラッパーGradle Wrapperなら「gra…

Servlet 3.0からJSPをJARファイルの中に置けるようになっていたという話

全然知らなかったので、メモ的に。Servlet 3.0から、JSPや静的ファイルをJARファイルの中に含めることができるようになっていたみたいです。Tomcat 7も対応したServlet 3.0の6つの主な変更点 (3/3):Tomcat 7の新機能で何ができるようになるのか?(1) - @…

RocksDB JNIで遊ぶ

最近遊んだJavaライブラリがRocksDBのJNIバインディングを使っているのを見て、けっこう簡単に導入できるの?という感じを期待して 試してみることにしました。 RocksDBとは? そもそも、RocksDBについて。RocksDB | A persistent key-value store | RocksDB…

Ubuntu Linux 16.04 LTSに、OpenJDK 9をインストールする

未だにJava 8でずっとやっていたのですが、いい加減にJava 9に移ろうかなと…。対象のOSは、Ubuntu Linux 16.04 LTS。とりあえず、「openjdk-9-jdk」パッケージをインストールしようとしてみます。 $ sudo apt-get install openjdk-9-jdk ところが、このまま…

CentOS/Ubuntu Linuxで、Oracle JDK 9をインストールしたDockerイメージを作る

Oracle JDK 9をインストールしてDockerイメージを作成する手順を、ちょっとメモ。Oracle JDK 8では、2017年にダウンロード先のURLや方法が大きく変わったようです。 [Java] OracleJDKの取得方法が大きく変わりました | Developers.IOOracle JDK 9について言…

Apache Velocity 2.0がリリースされたよという話

ちょっとした小ネタです。ひっそりと、Apache Velocity 2.0がリリースされていました。Velocity Engine 2.0 releasedリリース日は、2017年8月6日。4ヶ月近く、気付いてませんでした(笑)。Apache Velocityの更新の様子は時々見ているのですが、2.0タグが振…

HttpURLConnection#disconnectとKeep-Aliveと

あんまりHttpURLConnectionってふだん使っていないのですが(Apache HttpComponentsとかを使っていることの方が多い)、 HttpURLConnection#disconnectを呼んでないソースコードを見て、「あれ、これいいの?」と疑問に思い、ちょっと 調べてみることにしま…

Spring Fest 2017に参加してきました #jsug

両国にあるKFC Hall & Roomsで行われた、Spring Fest 2017に参加してきました。Spring Fest 2017日本Springユーザ会主催、Springのイベントに参加するのは、これが初めてですね。平日の開催でしたが、ちょっと行ってみたいなぁと思って会社を休んでの参加と…

JJUG CCC 2017 Fallに参加してきました #jjug_ccc

11月18日に、ベルサール新宿グランドで開催された、JJUG CCC 2017 Fallに参加してきました。JJUG CCC 2017 Fall 参加したセッション 今回は、起きたらすでに最初のセッションに間に合う時間ではなかったので…11時のセッションからの 参加となりました。今回…

Zero-allocation Hashingのハッシュ関数(MurmurHash/FarmHash/CityHash/xxHash)で遊ぶ

Javaでの高速なハッシュ関数についてのこちらの資料に以前から興味があって、そのうちちょっと気になったライブラリで 遊んでみましたという話。#JJUG - Java で最速のハッシュアルゴリズムを求めて対象のライブラリは、Zero-allocation Hashing。 Zero-allo…

OpenCloverでカバレッジを取得する(Maven Simple Project編)

2017年の春に、Atlassian Cloverというカバレッジを取得するツールがOSSになりました。Atlassian Clover がオープンソースに | Atlassian BlogsOpenClover - Java, Groovy and AspectJ code coverage toolということで、ちょっと試してみようかと。 お題 と…

OpenCloverでカバレッジを取得する(Maven Multi Project編)

先ほど、OpenCloverを使ってMavenのシンプルなプロジェクト構成でカバレッジを取るエントリを書きました。OpenCloverでカバレッジを取得する(Maven Simple Project編) - CLOVER今度は、マルチプロジェクト構成でのカバレッジ取得を行いたいと思います。 シ…

Java SE 9/EE 8リリースイベント兼JavaOne 2017報告会に参加してきました

ヤフー株式会社 紀尾井町オフィスで行われた、「Java SE 9/EE 8リリースイベント兼JavaOne 2017報告会」に参加してきました。Java SE 9/EE 8リリースイベント 兼 JavaOne 2017 報告会 10/21(土)開催 | 日本JavaユーザーグループJava SE 9/EE 8リリースイベン…

PayaraをEmbeddedなサーバーとして使う

Payaraといえば、Payara Microを使ってjava -jarから実行したり、ふつうにPayara Serverにデプロイして使ったり…という 感じの使い方をすると思いますが、そういえばGlassFishの頃からEmbeddedにも使えるという話を最近思い出しました。GlassFishの頃にも使…

IntelliJでローカルプロセスにアタッチ/リモートデバッグする

あんまりRemote Debugというものをやったことがなかったのですが、ちょっと気になって試してみたのでメモ。こちらの情報を参考しました。debugging - Attach Intellij-IDEA debugger to a running java process - Stack Overflowたとえば、サンプルとしてSpr…

Thymeleafの内部で使われているXML/HTMLパーサー、attoparserを試す

JavaにおけるHTMLパーサーといえば、jsoupやNekoHTMLなイメージだったのですが、Thymeleaf 3の 情報を知った時に、一緒にattoparserというHTMLパーサーがあることを知りました。attoparser: powerful and easy java parser for XML and HTML markupちょっと…

JJUG CCC 2017 Springに参加してきました #jjug_ccc

5/20にベルサール新宿グランドで開催された、JJUG CCC 2017 Springに参加してきました。JJUG CCC 2017 Spring今回の(も)CCCは、基調講演は出ずに10時のセッションから参加です。 参加したセッション 今回参加したセッションは、こちらです。 G+H 「非機能…

Java Day Tokyo 2017で #Java三銃士 のパネルディスカッションに出てきました #JavaDayTokyo

グランドプリンスホテル新高輪 国際館パミールで開催された、Java Day Tokyo 2017に参加してきました。Java Day Tokyo 2017|日本オラクルJava Day Tokyoには去年初めて参加したのですが、今年は…なぜかよくわからない事態になりました。 見たセッション 今…

Javaの圧縮・解凍ライブラリ(JDK標準GZIP、Commons Compress、snappy-java、LZ4 Java)を試す

ちょっと圧縮・解凍ライブラリを調べていまして、簡単に以下あたりを比較したり、確認するための 下地を作ってみようかなと思いまして。参考) 2016年のOSS圧縮ツール選択カタログSnappyとか名前をちらっと見かけたことがあるくらいだったので、こういう機会…

Testcontainersを使って、JUnitテスト中にDockerコンテナを起動/停止する

前に、MavenのプラグインとしてDockerの操作を行う、docker-maven-pluginを試してみました。docker-maven-pluginで、Integration Test時にDockerコンテナの起動/停止をする - CLOVER今度は、JUnitのRuleを使用してDockerコンテナの起動停止を行う、Testcont…

Sonatype Nexus 3で、Third PartyのMavenアーティファクトをアップロードする(+リポジトリについて少し)

Sonatype Nexusですが、バージョン 2の頃はNexus上でアーティファクトのアップロードができていたようですが、Using the User Interface (Nexus 2)Uploading Components (Nexus 2)バージョン 3では、どうもこれができなさそうな感じです。 ※2系の頃に「Using…

Sonatype Nexus 3を使用して、PrivateなMavenリポジトリ、npm Registry、Docker Registryを構築する

Sonatype Nexusが、OSS版でもバージョン3からDocker Registryになれると聞き、「これは!」と思い 自分でも試してみようかと。News and Notes from the makers of Nexus | Sonatype BlogNews and Notes from the makers of Nexus | Sonatype BlogNexus Repos…

CentOS/Ubuntu Linuxで、OpenJDK 8をインストールしたDockerイメージを作る

以前、Oracle JDKをインストールしたDockerイメージ(CentOS、Ubuntu Linux)を作りましたが、 なんとなくOpenJDKもやっておいた方がいいのかなぁという気になりまして。OpenJDKのインストールって、ほとんどやったこともなかったですので、よい機会かと。 C…

JJUG CCC 2016 Fallに参加してきました #jjug_ccc

12/3にベルサール新宿で行われた、JJUG CCC 2016 Fallに参加してきました。JJUG CCC 2016 FallCCCは今回で4度目の参加です。朝の最初のセッション(10時から)から行くつもり満々だったのですが、会場の最寄りの西新宿駅に着いたのが10時でした…。 参加した…