CLOVER🍀

That was when it all began.

GoでEcho Server/Clientを書いてみる

Go

これは、なにをしたくて書いたもの? Goの勉強にということで、Echo Server、Clientを書いてみようかなと。 お題 Goを使って、Echo ServerとClientをそれぞれ書いていきます。 Echo Server 引数でバインドするアドレスとポートを受け取る 指定しない場合は0.…

Goのメソッドのレシーバータイプ(値 or ポインタ)について調べてみる

Go

これは、なにをしたくて書いたもの? Goの勉強をしていて、メソッドのレシーバー定義が2つあって、どういう使い分けをしたらいいのかよくわからなかったので 調べてみることにしました。 2つ、というのは、こういうのと func (p Point) Length() float64 { …

Goで使用する環境変数を表示・変更するgo envコマンド

Go

これは、なにをしたくて書いたもの? Goで使う環境変数を知りたいなと思ったのですが、goコマンドを見ていてenvというコマンドがあるのに気づき。 少し見てみようかな、と。 環境 今回の環境は、こちらです。 $ go version go version go1.15.6 linux/amd64 …

Goのテストライブラリ、testifyのassertとsuiteを試す

Go

これは、なにをしたくて書いたもの? Goにおける、アサーションなどの機能を提供するtestifyというライブラリがあるのを知りまして。 こちらを少し試しておきたいな、と。 testify testifyは、以下の機能を提供するライブラリです。 アサーション モック テ…

2020年の振り返り

2020年も終わりということで、恒例の振り返りをしたいと思います。 2019年の振り返りで言っていたこと 2019年の振り返りでは、このあたりをやろうと書いていました。 Elastic Stack Python Quarkus Linux Kuberntes 実際どんなことをやっていたかというと、…

go testingを試す

Go

これは、なにをしたくて書いたもの? Goでのテストの書き方を学んでみようかなと。 Goにはテストの仕組みが標準で組み込まれていて、go testコマンドとtestingパッケージを使うみたいです。 testing - The Go Programming Language 環境 今回の環境は、こち…

非VCS環境下で、Goでローカルにあるモジュールを扱う

Go

これは、なにをしたくて書いたもの? Goを使ったプログラムを書いていこうと思うのですが、モジュールに関する情報を全然知らないので、試しながら学んで みようと。 プログラムを書いていたら、パッケージくらいは使うでしょう、と。 なお、ここで試す条件…

Goでディレクトリ内のソースコードを再帰的にフォーマットする

Go

これは、なにをしたくて書いたもの? Goで書いたソースコードを、ディレクトリ内を再帰的にフォーマットしたいということで。 どうも、gofmtとgo fmtを使う場合で違うようです。 今回は、カレントディレクトリ(.)に考えます。 環境 今回の環境は、こちらで…

OpenJDKのソースコードリポジトリは、どれを見ればいい?

これは、なにをしたくて書いたもの? 自分の使い方というと、最新のJavaや開発中のJavaの情報を追うというよりも、リリースされてから(今のご時世だとLTS) ちょっと間を空けて使い始めることが多いです。 で、以前はOpenJDKのソースリポジトリを見ることは…

SecureRandomのアルゴリズムなどに関する情報をちゃんと見る

これは、なにをしたくて書いたもの? Javaの暗号用の乱数ジェネレーター(RNG / Random Number Generator)として、とてもよく使われるSecureRandomですが。 SecureRandom (Java SE 11 & JDK 11 ) ここで指定されるアルゴリズムなどの情報を、あんまりちゃん…

Ubuntu Linux 20.04 LTSに、Goをインストールする(+Emacs lsp-mode)

Go

これは、なにをしたくて書いたもの? そろそろ、少しずつGoを扱ってみようかなぁと思いまして。 The Go Programming Language 触ったことがないので、今回はとりあえず簡単にインストーとエディタの設定くらいをやります。 環境 今回の環境は、こちらです。U…

Ubuntu LinuxやDebianで使う、build-essentialってなんだ?

これは、なにをしたくて書いたもの? たまに、Ubuntu Linux/Debianを使っている時のソフトウェアのインストール前提条件としてこういう記述を見ることがあり $ sudo apt install build-essential 「開発パッケージ一式」みたいなざっくりしたイメージでずっ…

Vagrantで使っているUbuntu Linux 20.04を日本語化する

これは、なにをしたくて書いたもの? Vagrantで、UbuntuのBoxはこちらを使っているのですが、ちょっと日本語にしたいなぁと思うことがあったので。 Vagrant box generic/ubuntu2004 - Vagrant Cloud まあ、Vagrantで使うかどうかに限らず使えそうな気はしま…

QuarkusでRESTEasy × Hibernate Validator(Bean Validation)

これは、なにをしたくて書いたもの? Quarkusで、Hibernate Validator(Bean Validation)を使ってみようかな、と。RESTEasyとの組み合わせですが。 こちらのドキュメントを見つつ、RESTEasyとHibernate Validatorで遊んでみます。 Quarkus - Validation wit…

Vert.x API Generationをちょっと調べつつ、Vert.xのRedis ClientをSmallRye Mutinyに対応させてみる

これは、なにをしたくて書いたもの? Quarkusには、SmallRye Mutinyに対応したReactiveなSQLクライアントやRedisクライアントなどがあります。 Quarkus - Reactive SQL Clients Quarkus - Using the Redis Client これらは、Vert.xのライブラリを元にしてい…

Maven Shade PluginのResource Transformerをちゃんと見る

これは、なにをしたくて書いたもの? Maven Shade Pluginを使うと、依存関係を含めたアーティファクトをUber JARにパッケージングすることができます。 で、設定する時にResource Transformerをなんとなく使っていたので、今回ちゃんと見てみようかなぁとい…

RESTEasy+Vert.x(Handler)で遊ぶ

これは、なにをしたくて書いたもの? 以前、RESTEasyとVert.xでこんなエントリを書きました。 RESTEasy+Vert.x(Embedded Container)で遊ぶ - CLOVER こちらはVertxJaxrsServerにResteasyDeploymentでデプロイするやり方でしたが、今回はVert.xにHandlerを…

GitHub REAT APIで、releaseやtagを取得する

時々使うのですが、全然覚えられないのでメモすることにしました。 覚えられないし、どこに書いてあるかも見つけられなかったり…。 特定のリポジトリの、releaseやtagを取得するという話です。 Releases | GitHub Developer Guide Repositories | GitHub Dev…

サーバーが対応しているSSL/TLSプロトコルを確認する

これは、なにをしたくて書いたもの? サーバーが対応しているSSL/TLSプロトコルを確認する方法はないかな?と思って、ちょっと調べてみました。 OpenSSLを使えば良いみたいです。 ただ、調べられるのはOpenSSLが利用できるプロトコルの範囲で、ですが。 環…

Vert.x Core、Vert.x Webで遊ぶ

これは、なにをしたくて書いたもの? そろそろ、Vert.xも少し知っておいた方がいいのかなーと思いまして。 試してみようかなと。 Vert.xとは Vert.xは、イベント駆動、ノンブロッキング、複数の言語による開発が可能なフレームワークです。 Eclipse Vert.x …

WildFly Clustering Tomcatを使って、Infinispan Serverへセッションをオフロードする

これは、なにをしたくて書いたもの? Infinispanは、WildFlyのセッションレプリケーションの仕組みとしても使われていますが、 Distributable Web Subsystem 実はTomcat用のモジュールが存在していたりします。 GitHub - wildfly-clustering/wildfly-cluster…

どのリクエストにも決まったレスポンスを返す、http-echoサーバー

これは、なにをしたくて書いたもの? どのURLパスにも、とりあえずHTTPステータスコードOKを返してくれるHTTPサーバーを探していまして。 いくつか探してみたのですが、http-echoでいいかなと。 http-echo HashiCorpの提供する、「hello world」的なHTTPサー…

Ubuntu Linux 20.04 LTSで、デフォルトのキーバインドをEmacsライクにする

Ubuntu Linux上のキーバインド全体を、Emacsライクにする場合。 環境。 $ uname -srvmpio Linux 5.4.0-52-generic #57-Ubuntu SMP Thu Oct 15 10:57:00 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux $ lsb_release -a No LSB modules are available. Distributo…

標準入力からunzipしたい

tarコマンドでは、-f -を引数にすることで標準入力から読み込んでアーカイブを展開することができます。 たとえば、Apache Tomcatのtar.gzファイルのダウンロードを例にすると、こんな感じで。 ※ curlの-o -で標準出力に書き出します $ curl -sL -o - https:…

Emacsにlsp-mode+Python Language Serverをインストールする

これは、なにをしたくて書いたもの? EmacsでもLSP(Language Server Protocol)を使えるようなので、ちょっと導入してみようかなと。 EmacsでLSPを使う EmacsでLSPを使うには、以下の2つのパッケージが有名みたいです。 lsp-mode LSP Mode - Language Serve…

Cloud Native Buildpacksで遊んでみる(Java)

これは、なにをしたくて書いたもの? 前に、Spring BootのCloud Native Buildpacksサポートで遊んでみました。 Spring BootのCloud Native Buildpacksサポートを試す - CLOVER 今回は、Cloud Native Buildpacksそのものに焦点を当てて見てみようかな、と。 C…

Ubuntu Linux 20.04 LTSについての、IOスケジューラーに関する情報を見てみる

これは、なにをしたくて書いたもの? LinuxのIOスケジューラーについて、ちょっと調べてみたいなと思いまして。 手元の環境が、こんな感じのUbuntu Linux 20.04 LTSなので、カーネル5.4のドキュメントとUbuntu Linuxのドキュメントを 中心に見ていこうと思い…

Ubuntu Linux 20.04 LTSにtunedをインストールしてみる

これは、なにをしたくて書いたもの? Linuxのチューニングツールとして、tunedというものがあるというのを最近知り。 どうやらUbuntu Linuxでもインストールできそうだったので、どういったものなのか見てみることにしました。 tuned : Focal (20.04) : Ubun…

環境変数JAVA_TOOL_OPTIONSで、Java VM引数を指定する(-XX:VMOptionsFileも加えて)

これは、なにをしたくて書いたもの? 以前、OpenJDKのイメージで遊んでいた時に、JAVA_TOOL_OPTIONSという環境変数が使われているのを見て。 $ docker container run -it --rm adoptopenjdk/openjdk11:latest java -version Picked up JAVA_TOOL_OPTIONS: -X…

PythonのPrometheus Clientを試してみる

これは、なにをしたくて書いたもの? Pythonで、Prometheusのクライアントライブラリを試してみようかなということで。 Prometheus Python Client 文字通り、PrometheusのPython向けクライアントライブラリです。 GitHub - prometheus/client_python: Promet…