CLOVER🍀

That was when it all began.

Goのエラーに関するAPIを学ぶ

Go

これは、なにをしたくて書いたもの? Goの本を読んだり、サンプルコードを見ていたりすると、こういうのを目にするのですが。 file, err = os.Create(filename) if err == nil { return } nilかどうかの判定はさておき…。 エラーの中身や種類に踏み込みたい…

Goで定数や関数定義などをパッケージ外からアクセスしたい(エクスポートしたい)場合、名前を大文字で始める必要があるという話

Go

これは、なにをしたくて書いたもの? プログラムを書く時に、Goのソースコードやライブラリのソースコードを見つつ、「これ使ったらいいのかな?」と使おうとすると アクセスできないこととかがあり。 そういえば、Goのスコープ的な話、知らないですね。特に…

Goで変数の型の名前を取得したい

Go

これは、なにをしたくて書いたもの? Goでプログラムを書いていて、「この変数の型はなに?」みたいな時にどうやって型の情報を取得するんでしたっけ?ということで。 今の動機は、デバッグ時とかに型の名前が知りたい、くらいです。 fmtパッケージの%T書式…

Ubuntu Linux 20.04 LTS/18.04 LTSにWineをインストールする

これは、なにをしたくて書いたもの? Linux環境でWindowsアプリケーションを動かせるソフトウェアとして、Wineというものがあるそうです。 今回、このWineをUbuntu Linux 20.04 LTS、18.04 LTSにインストールしてみます。 WineHQ - Run Windows applications…

DockerコンテナをXクライアントにして、ホスト側のXサーバーで描画を行う

これは、なにをしたくて書いたもの? Dockerコンテナ内で動かしたアプリケーションの描画内容を、ホスト側に持ってこれないかな?と思いまして。 どうやらできそうです。 Dockerを用いたGUIアプリケーションの実行 | POSTD 試してみましょう。 環境 今回の環…

SSHポートフォワーディングで、リモートのXをローカルに転送する

X Window Systemに詳しくないのですが、リモートのXをローカルに転送するにはどうしたらいいのかな?と思いまして。 SSHポートフォワーディングで可能なようです。 リモートのSSHサーバーは、X11Forwardingがyesになっている必要があります。 /etc/ssh/sshd_…

Goプロジェクトで使っているモジュールのライセンスを調べたり、集めたりしたい

Go

これは、なにをしたくて書いたもの? こちらのエントリで、Goで書いたアプリケーションに含まれるモジュールなどがわかるだろうか?という確認をしました。 go tool nmコマンドで、Goの実行可能ファイルの定義やシンボルを表示する - CLOVER 次は、使用して…

go tool nmコマンドで、Goの実行可能ファイルの定義やシンボルを表示する

Go

これは、なにをしたくて書いたもの? Goで作ったアプリケーションに含まれるライブラリとかの情報ってわかるのかな?と思って調べてみたのですが、コマンドが あるようです。 go tool nmというコマンドが近い感じですね。 nm - The Go Programming Language …

JavaでAES(ECB/CBC)を使う

これは、なにをしたくて書いたもの? こちらのエントリを書いていて、「JavaでAESを使う時のコードを全然覚えてないな」と思いまして。 MessageDigestに"SHA"とか、Cipherに"AES"とだけ指定した場合、どうなるの? - CLOVER メモしておこうかな、と。 環境 …

Ubuntu Linuxでapt upgradeで保留されたパッケージがあった場合に、アップデートするには?

これは、なにをしたくて書いたもの? Ubuntu Linux 18.04 LTSにインストールしているDocker CEがapt upgradeでアップデートされないという状態になっていたので、 これをどうやってアップデートしたらよいのだろう?と。 結論から言うと、明示的にapt instal…

Go標準のテンプレートエンジンtext/templateを使ってみる

Go

これは、なにをしたくて書いたもの? Goのテンプレートエンジンを調べてみようかなと思ったのですが、標準ライブラリにあるようなので、こちらを試して みることにしました。 Goの標準ライブラリにあるテンプレートエンジン text/templateと、html/template…

MessageDigestに"SHA"とか、Cipherに"AES"とだけ指定した場合、どうなるの?

これは、なにをしたくて書いたもの? このあたりを見ていて https://github.com/openjdk/jdk11u/blob/jdk-11.0.9.1%2B1/src/java.base/share/classes/sun/security/provider/SecureRandom.java#L96-L116 digest = MessageDigest.getInstance("SHA"); Message…

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…