CLOVER🍀

That was when it all began.

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

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プロトコルを確認する(openssl s_client、nmap)

これは、なにをしたくて書いたもの? サーバーが対応している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…

Terraformのコレクションには、単一のデータ型のみが格納可能だという話

これは、なにをしたくて書いたもの? Terraformのコレクションが、単一のデータ型のみが格納可能だということを、ちゃんと把握できていなかったのでメモとして。 Type Constraints - Configuration Language - Terraform by HashiCorp 平たく言うと、anyを勘…

Java 11のガベージ・コレクション・チューニングガイドを読む

Java 8以降になってAPIドキュメント以外をあまり見ていなかったのですが、いろんなドキュメントが見やすくなって いるんだなぁと。 JDK 11ドキュメント - ホーム で、こちらのドキュメントがちょっと気になりまして。 ガベージ・コレクションのチューニング…

Spring BootのCloud Native Buildpacksサポートを試す

これは、なにをしたくて書いたもの? Spring Boot 2.3から、Cloud Native Buildpacksを使ったDockerイメージの作成ができるというので、ちょっと試しておこうかなと。 Support for building Docker images using Cloud Native Buildpacks Spring Boot 2.3.0.…

Terraformでリソースやモジュールに適用するProviderを、エイリアスで指定する

これは、なにをしたくて書いたもの? Terraformで、同じ種類のProviderであってもエイリアスを使って異なる構成のProviderとして定義し、適用するリソースや モジュールに応じてどのProviderを使うか選択することができます。 Provider Configuration / alia…