CLOVER🍀

That was when it all began.

2021-01-01から1ヶ月間の記事一覧

makeを学んでみる

これは、なにをしたくて書いたもの? Goでのビルドツールは、makeを使うことが多いと聞いたので。 いくつか、Goで書かれた有名なOSSを見てみると、確かにMakefileが置かれています。 https://github.com/prometheus/prometheus/blob/v2.24.1/Makefile https:…

Fluentdで複数行のログを読む

これは、なにをしたくて書いたもの? 以前、Fluent Bitで複数行(Multiline)のログファイルを読むエントリを書きました。 Fluent Bitで、複数行のログファイルを読む - CLOVER 今回は、これをFluentdで行ってみます。 FluentdとMultiline Fluentdを使って複…

Linuxのカーネルパラメーターを表示・変更する

これは、なにをしたくて書いたもの? Linuxのカーネルパラメーターを表示したり変更したりするやり方を、いつも忘れるのでいい加減にメモしておこうかなと。 環境 今回の確認環境は、こちらです。 $ lsb_release -a No LSB modules are available. Distribut…

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は、以下の機能を提供するライブラリです。 アサーション モック テ…