CLOVER🍀

That was when it all began.

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

2017年の振り返り

2017年もそろそろ終わりということで、今年の振り返りをしたいと思います。2017年、最後のエントリです。 2016年の振り返りで言っていたこと 2016年の振り返りでは、こんなことをやりたいと言っていました。 ELKスタック CI/CD、モニタリングなど Netflix O…

HazelcastのClusterSafe/ClusterState、バージョン間の互換性を確認する

先日書かれた、こちらの記事を見まして。クラスタ化された Payara Server のアップグレード - notepadちょっと気になったのは、こちらの部分。 Case 1 : Shoal を使用していない場合 Payara は GlassFish から引き継いだ Shoal を使用しなくても、Hazelcast …

Queryアノテーションが使えるようになった、Spring Data Hazelcastを試す

Spring Data Hazelcast 1.1が半年くらい前にリリースされていたのですが、このバージョンから@Queryアノテーションを 使うことができるようになっていたみたいです。GitHub - hazelcast/spring-data-hazelcast: Hazelcast Spring Data integration Project h…

Hazelcast 3.8で追加された、Scheduled Executor Serviceを試す

Hazelcast 3.8のリリースで追加された、Schduled Executor Serviceを試してみようと思います。現時点のHazelcastのバージョンは3.9.1なので、少し前に追加された機能にあたりますが、ちょっと気になっていたので 触っておこうかと。Scheduled Executor Servi…

Go製Webサーバー、Caddyで遊ぶ

ちょっとした調べ物をしていたら、CaddyというGo製のWebサーバーが便利だということを知りまして。CaddyCADDYで手軽にHTTP/2サーバを立てる - yuw27b’s blogCaddy で HTTP/2 と php-fpm を利用する - Qiita Caddy? Goで実装されたWebサーバーだそうです。Ca…

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リリースイベン…

Nexus 3向けにMavenのローカルリポジトリのファイルをリモートリポジトリにデプロイするスクリプトを書く

最近、MavenのRepositoryとしてSonatype Nexus 3を使っているのですが、2の頃と違ってリポジトリの構成がファイルシステム そのものではなくて、バイナリな感じになりましたね?これにより、Maven Centralに置いていないようなライブラリは、Nexusに個別にde…

Apache Kafkaで、クラスタメンバーの増減とPartitionの再割り当てをやってみる

Apache Kafkaでクラスタのメンバーの増減や、Partitionの再割り当てみたいなことをやってみたいなぁと思い、ちょっと 試してみることにしました。 環境 Apache Kafkaのバージョンは、0.11.0.1とします。また、Apache ZooKeeper、Apache Kafka(Broker)のIP…

Apache Geodeを組み込みなMemcached/Redis Serverとして使う

ちょっとした小ネタ的に。Apache Geodeは、Memcached ServerおよびRedis Serverになれる機能を持っています。How Gemcached Works | Geode DocsGeode Redis Adapter | Geode Docsそれぞれ、GemcachedとRedis Adapterという名前のようです。Gemcachedについて…

UndertowでHttpHandlerを実行するスレッドを切り替える

Undertow…というかXNIOでは、2種類のスレッドがあります。IO Threadと、ブロッキングなタスクに使用することができるWorker Threadです。Management of IO and Worker threadsXNIO workers※XNIOのドキュメント、あんまり書かれてないですねぇ…IO Threadは、…

Infinispanの検索のバックエンドにElasticsearchを使う

Infinispan 9から実験的な扱いとして入っていた、検索のバックエンドにElasticsearchを使うElasticsearch IndexManagerですが (正確にはHibernate Searchが利用)、Infinispan 9.1.1.Finalで依存関係に入っているHibernate Searchが5.8.0.Finalに なったの…

Node.jsで、grepもどきを書いてみる

Node.jsを使ったコードの練習ということで。お題として、簡単なgrepコマンドっぽいものを書いてみます。こういう動作設定で書いてみましょう。 起動引数は2つ ひとつは、grep対象のファイルパス もうひとつは、文字列パターン(正規表現) 作成にあたって利…

Node.jsで、Echo Client/Serverを書いてみる

ちょっとした、Node.jsのお勉強にということで。Echo ServerとClientを書いてみることにしました。標準APIで。環境。 $ node -v v8.4.0 ふつうにTCPソケットを扱いたいので、netモジュールを使えばいい感じでしょうかね。Net | Node.js v8.11.4 Documentatio…

RESTEasy ClientのClientHttpEngineを差し替える(java.net.HttpURLConnection/OkHttp3)

RESTEasy Clientを使う時、HTTPクライアントの実装として次の2つから選択することができます。 Apache HttpComponents/Client java.net.HttpURLConnection デフォルトは、Apache HttpComponents/Clientです。Apache HTTP Client 4.x and other backends今…

InfinispanのLocked Streamsを試す

Infinispan 9.1で、Locked StreamsというAPIが追加されました。Infinispan: Infinispan 9.1 "Bastille"残念ながらまだドキュメントには記載のない機能ですが、forEachの呼び出しの際に対象となるエントリに対してロックを取ることで別の更新処理に 邪魔され…

RabbitMQのJavaScriptクライアントで遊ぶ

ふと、RabbitMQに対して、JavaScript(Node.js)クライアントからアクセスしてみたくなりまして。RabbitMQのチュートリアルにある、こちらの2つを自分でも動かしてみることにしました。RabbitMQ - RabbitMQ tutorial - Work QueuesRabbitMQ - RabbitMQ tutor…

Hazelcast JetではじめてのStreaming

Hazelcast Jetのドキュメントには、2つのGetting Startedが載っています。Hazelcast Jet 101 - Word Counting Batch Job - Hazelcast Jet Reference ManualHazelcast Jet 102 - Trade Monitoring Streaming Job - Hazelcast Jet Reference Manual少し前に、W…

Infinispan 9.1で追加されたClustered Countersを試す

Infinispan 9.1から、新機能としてClustered Countersが追加されました。Infinispan: Cluster CounterClustered Counters9.1からと言いつつ、実は9.0.2でも使えるようになっている感じがあります。今回は、このClustered Countersを見ていってみようと思いま…

Apache Kafkaに、JavaScript(Node.js/kafka-node)からアクセスしてみる

Apache Kafkaに対して、たまにはJava以外からもアクセスしてみようかなと、JavaScriptのクライアントを試してみることにしました。今回使ったのは、こちら。kafka-node - npmGitHub - SOHU-Co/kafka-node: Node.js client for Apache Kafka 0.8 and later.Pr…

Spring Cloud Stream(+Apache Kafka)でDead Letter Queueを試す

Spring Cloud Streamでは、Binderのエラーハンドリングの仕組みとして、Dead Letter Queueというものがあります。Event Driven Microservices with Spring Cloud Stream #jjug_ccc #ccc_ab3 / Error HandlingRabbitMQにDead Letter Exchanges(DLX)というも…

Hazelcast Jetで、DAGを使ってジョブを書いてみる

Hazelcast JetのGetting Startedに載っているのは、Hazelcast Jet上でStream APIを分散実行してWordCountするものでした。Get Started - Hazelcast - High-Performance Stream Processingマニュアルの方では、もう一歩進んでDAGベースのジョブ定義がしてある…

Apache Kafka(とApache ZooKeeper)をEmbeddedに使う

最近、Apache Kafkaで遊んでいますが、こう使っているとEmbedded(組み込み)で動かしてみたくなるもの。テストとかで 使ったりとか。なんかできそうだという感じだったので、チャレンジしてみました。こちらに書いてありましたので。Unit testing / How do …

Apache KafkaのConsumer Groupを試す

Apache Kafkaには、Consumer Groupという概念があります。Introduction / ConsumersConsumerにラベル付けをすることで、Consumerをグルーピングします。こうすることで、Brokerから配信されるレコードが、そのConsumer Group内の ひとつのConsumerに配信され…