CLOVER🍀

That was when it all began.

Linuxで現在設定されている(使用可能な)TCP輻輳制御アルゴリズムを見る

これは、なにをしたくて書いたもの? 最近、こちらの本を読んでいるのですが。 TCP技術入門 ――進化を続ける基本プロトコル (WEB+DB PRESS plusシリーズ)作者: 安永遼真,中山悠,丸田一輝出版社/メーカー: 技術評論社発売日: 2019/07/06メディア: 単行本(ソフ…

Linuxのカーネルパラメーターの説明って、どこを見たらいい?

Linuxにはたくさんのカーネルパラメータがあります。 manでシステムコールの説明を見たり、調べ物をしたりした時に、Linuxのカーネルパラメーターの変更を勧められたり、その意味が説明されて いたりすることがあると思います。 なんですけど、そもそもその…

HAProxyの実行時の情報を、コマンドラインやWeb UIから見たり、操作したりしてみる

これは、なにをしたくて書いたもの? HAProxyに、実行中の情報をコマンドラインやWeb UIで見たり、また操作したりできるみたいなので、ちょっと試してみようかと。 環境 今回利用したHAProxyは、こちら。 $ haproxy -v HA-Proxy version 1.8.8-1ubuntu0.4 20…

Linuxのbacklogについて調べてみる

これは、なにをしたくて書いたもの? LinuxでTCPソケットをリッスンする時に使うシステムコールとして、listenがあります。 この時に使うbacklogについて、ちょっと知りたくなったので調べてみました。 manから見るbacklog manのlistenシステムコールの説明…

Quarkus × Infinispan ClientでRemote Query(Query DSL + Ickle Query)

これは、なにをしたくて書いたもの? QuarkusのInfinispan Client Extensionを使って、Queryを実行するのを試してみようかなと。 Quarkus - Infinispan Client 久しぶりに、InfinispanのRemote Queryを使ってみましょう、と。 お題 QuarkusのInfinispan Clie…

オープンソースのエラートラッキングシステム、Sentryをローカルで動かしてみる

これは、なにをしたくて書いたもの? オープンソースのエラートラッキングシステムとして、Sentryというものがあるということを知り、ちょっと試してみようかなと。 Sentry | Error Tracking Software — JavaScript, Python, PHP, Ruby, more SentryはSaaSと…

RESTEasy JAX-RS Client × Reactor Netty

これは、なにをしたくて書いたもの? RESTEasy 4.1.0.Finalで追加されたReactorに関する2つのモジュールのうち、Reactorと統合するモジュールについてエントリを 書きました。 RESTEasy × Reactorを試す - CLOVER もうひとつ、JAX-RS ClientとしてのRESTEasy…

OWASP Dependency-Check Maven Pluginで、依存ライブラリの脆弱性情報を確認する

これは、なにをしたくて書いたもの? OWASP Dependency-Check Maven Pluginという、依存ライブラリの脆弱性情報を確認できるプラグインがあるということを知りまして。 dependency-check-maven – Usage ちょっと、こちらを試してみようかなと。 OWASP Depend…

RESTEasy × Reactorを試す

これは、なにをしたくて書いたもの? RESTEasy 4.1.0.Finalがリリースされました。 RESTEasy: RESTEasy 4.1.0.Final is available! |JBoss Developer このリリースで、Reactor向けのモジュールが2つ追加されています。 two new modules for integration with…

Jaerger/OpenTracing API/JAX-RS/MySQLで、Distributed Tracing

これは、なにをしたくて書いたもの? 先日、Quarkusを使ってOpenTracing Extensionを試してみました。 QuarkusのOpenTracing Extensionを試す - CLOVER 今度は、Quarkusを介さず、JaegerやOpenTracingそのものを使って遊んでみようかと。 お題 今回は、Jaege…

GraalVMでネイティブイメージを作る時に、リソースファイルを含めるようにする

これは、なにをしたくて書いたもの? GraalVMを使ってネイティブイメージを作る時に、リソースの取得(Class.getResourceやClass.getResourceAsStream)に 制限があるという話なのですが。 このあたりに書かれている内容を実践すると、それが可能になるよう…

Dockerで、PID名前空間を他のコンテナと共有する

「docker container run」コマンドの、「--pid」というオプションを知らなかったので。 $ docker container run --help | grep 'pid ' --pid string PID namespace to use こちらを使うと、指定したコンテナ(ホストも可)とPID名前空間を共有できるようです…

QuarkusのOpenTracing Extensionを試す

これは、なにをしたくて書いたもの? Quarkusに、OpenTracing向けのExtensionがあるので、こちらを試してみようかなと。 Opentracing Guide ガイドを見ているとJaegerを使っているのですが、こちらは使ったことがありません。また、MicroProfile OpenTracing…

PrometheusのPushgatewayを試す

これは、なにをしたくて書いたもの? PrometheusにPushgatewayというものがあるらしく、こちらを1度試してみたいなと思いまして。 Pushgateway? PrometheusはPull型のアーキテクチャのため、監視対象はPrometheusからスクレイプできる必要があります。 です…

GraalVMでネイティブイメージを作った時の、コマンドライン引数の扱いを確認する

これは、なにをしたくて書いたもの? こちらの資料を見ていて、「あれ?ネイティブイメージでのヒープサイズってどうやって指定するんだろう?」と思いまして。 Quarkus入門 - 見習いプログラミング日記 SubstrateVMのヒープ設定 / Quarkus入門 GraalVM(Sub…

Fluentdでログを読み込み、ログレベルがWARN以上ならメールを送るようにしてみる

これは、なにをしたくて書いたもの? エラーログを監視したい、ということを考えた時に、Fluentdを使った場合はどうなるんだっけ?と思ったところ、 オフィシャルドキュメントに例があったので、こちらをちょっと自分で試してみることにしました。 Email Ale…

Node.jsアプリケーションのログ出力に、winstonを使ってみる

これは、なにをしたくて書いたもの? Node.jsでアプリケーションを書く時のロギングライブラリは、どういうものがあるのかちょっと気になりまして。 調べた感じ、以下のようなものがありそうです。 GitHub - winstonjs/winston: A logger for just about eve…

QuarkusのInfinispan Client(Hot Rod) Extensionを試す

これは、なにをしたくて書いたもの? QuarkusにInfinispan向けのExtensionがあるというので、ちょっと試してみようかと。 Infinispan Client Guide Infinispan Client Extension Infinispan Client Extensionということで、Embedded Modeではなく、いわゆるC…

TerraformでNode.js+PostgreSQLなアプリケーションをHerokuにデプロイする

これは、なにをしたくて書いたもの? Terraformの勉強にと、Herokuを使って、アプリケーションとデータベースをデプロイする超簡単な例を作って試してみようと。 お題 Herokuのフリープランで利用可能なPostgreSQLを使い、以下のサンプルとほぼ同等なアプリ…

QuarkusのConfigurationを試す

これは、なにをしたくて書いたもの? Quarkusを使った場合に、アプリケーションの設定をどう扱うのかをちょっと見てみようと。 結論から言うと、Configuration for MicroProfileを使用します。Quarkus上でConfiguration for MicroProfileを使う場合には、ど…

TerraformでアプリケーションをHerokuにデプロイしてみる

これは、なにをしたくて書いたもの? Terraformの勉強がてら、どこか適当にリソースをデプロイ可能なProviderはないかな?と思っていたところ、HerokuのProviderが あったので、こちらで少し遊んでみようと。 Provider: Heroku - Terraform by HashiCorp お…

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

これは、なにをしたくて書いたもの? ちょっとしたPythonの勉強がてらに、TCPのEcho Server/Clientを書いてみようと。 Pythonでの、ネットワークプログラミングの基礎を覚えてみる感じで。 お題 文字通り、PythonでTCPでEcho Server/Clientを書くわけです…

Prometheusのストレージのドキュメントをさらっと読んでみて、retentionの設定もしてみる

これは、なにをしたくて書いたもの? Prometheusのストレージまわりの、お勉強に、と。 Prometheusのデータ(TSDB)のSnapshotを取得して、リストアまで - CLOVER こちらの続きで、今度はストレージのドキュメントを読み、オプションについて見ていこうと思…

RESTEasy(JAX-RS)+ArC(CDI)の利用に見る、Quarkusアプリケーションのビルド結果の中身

これは、なにをしたくて書いたもの? Quarkusは、GraalVMを使ってアプリケーションをネイティブイメージにビルドできることを売りのひとつにしています。 ところで、GraalVMを使ってネイティブイメージを作ろうとするとけっこうな制限があって、アプリケーシ…

はじめてのQuarkus

これは、なにをしたくて書いたもの? Quarkusという、Red Hatが開発しているフレームワークを、ちょっと試してみようと。 Javaフレームワーク「Quarkus」登場。Javaコードからネイティブバイナリを生成し瞬時にJavaアプリが起動、コンテナへの最適化を実現。…

Prometheusのデータ(TSDB)のSnapshotを取得して、リストアまで

これは、なにをしたくて書いたもの? Prometheusのストレージまわりがちょっと気になって、いくつか見ていくことにしました。 最初に、Snapshotについて見ていきたいと思います。 Snapshot? TSDB Admin APIに、Snapshotを取得できるAPIが登場します。 TSDB …

負荷テストツールVegetaを試す

これは、なにをしたくて書いたもの? Vegetaという、割と個性的な負荷テストツールがあり、コマンドラインで簡単に使えそうなので試してみようかということで。 GitHub - tsenart/vegeta: HTTP load testing tool and library. It's over 9000! Apache Bench…

BusyBoxを使って、単一で実行可能なコマンドのバイナリをDockerコンテナ内に放り込む

これは、なにをしたくて書いたもの? Dockerコンテナ内で解析などの作業をする必要が出た時に、コマンドなどが入っていないDockerイメージが相手の場合は どうすればいい?という時の選択肢のひとつとして、BusyBoxが使えそうな気がしたので。 BusyBox Case …

RESTEasy+Undertowで作ったアプリケーションを、GraalVMでネイティブイメージにしてみる

これは、なにをしたくて書いたもの? 以前に、簡単なJavaアプリケーションをGraalVM(Substrate VM)を使ってネイティブイメージにしてみたのですが、 もう少しライブラリなどを使った複雑な(?)ものをネイティブイメージにしてみようと思いまして。 で、…

PyInstallerを使って、Pythonアプリケーションから単一の実行可能ファイルを作成する

Pythonで、実行可能なバイナリを作成するにはどうしたらいいのかな?と思って調べてみたのですが、PyInstallerというものを 使えばよさそうです。 PyInstaller Quickstart — PyInstaller bundles Python applications GitHub - pyinstaller/pyinstaller: Fre…