CLOVER🍀

That was when it all began.

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

2023年の振り返り

2023年も終わりですね。恒例の振り返りエントリーです。 2022年の振り返りで言っていたこと 2022年の振り返りでは、2021年の振り返りで言っていたことの延長といった感じで、アプリケーション寄りのことをやっていこうと 書いていました。 2022年の振り返り …

ブログを書くということ

お断り このエントリーはあるブログエントリーに触発されて書いたもので、特に技術的な内容を扱ったものではありません。 ブログというものについて自分が淡々と書いているだけのものであり、なにか持論を主張したいという類のものでもありません。 触発元に…

Ubuntu Linux 22.04 LTSにElasticsearch 8をシングルノード、非HTTPSでインストールする

これは、なにをしたくて書いたもの? Elasticsearch 8を、シングルノードで簡単に使えるようにセットアップしたいなということで。 以前、少しやってちょっとハマったので、今回はちゃんと見てまとめておくことにしました。 やりたいことは、以下の条件のEla…

Virtual Threadsを使ってHTTPサーバー/クライアントを書いて、スレッドまわりの動きを確認してみる(スレッドダンプの取得付き)

これはなにをしたくて書いたもの? 前回のエントリーで、JEP 444(Virtual Threads)について書きました。 Java 21で正式版になったJEP 444(Virtual Threads)に関するAPIを試す - CLOVER この時には踏み込まなかった、スレッドまわりの挙動やスレッドダン…

Java 21で正式版になったJEP 444(Virtual Threads)に関するAPIを試す

これは、なにをしたくて書いたもの? Java 21で正式版になった、JEP 444(Virtual Threads)を試しておきたいなということで。 スレッドに関するAPIも変わっているようなので、こちらも合わせて。 なお、スレッドダンプの取得やHTTPサーバー/クライアントを…

Ubuntu Linux 22.04 LTSにOpenJDK 21をインストールする

これは、なにをしたくて書いたもの? OpenJDK 21が2023年9月19日にリリースされました。 The Arrival of Java 21 JDK 21 Documentation - Home JDK 21ドキュメント - ホーム いつものことながら、Ubuntu Linuxの現行LTSで使えるようになるまでは時間がかかる…

ベクトルデータベースってどういうものがある?

これは、なにをしたくて書いたもの? 最近llama-cpp-pythonを使っていろいろ遊んでいるわけですが、埋め込みAPIを使ってテキストをベクトル化してみました。 llama-cpp-pythonで立てたOpenAI API互換のサーバーで、テキストをベクトル化してみる - CLOVER ベ…

llama-cpp-pythonで立てたOpenAI API互換のサーバーで、テキストをベクトル化してみる

これは、なにをしたくて書いたもの? 前に、こんなエントリーを書きました。 OpenAI Python APIライブラリーからllama-cpp-pythonで立てたOpenAI API互換のサーバーのチャットモデルへアクセスしてみる - CLOVER この時は、llama-cpp-pythonで立てたOpenAI A…

tiktokenを使ってテキストをトークンに変換してみる

これは、なにをしたくて書いたもの? こちらのエントリーを書いた時に、OpenAI APIにおける主要な概念をまとめてみました。 OpenAI Python APIライブラリーからllama-cpp-pythonで立てたOpenAI API互換のサーバーへアクセスしてみる - CLOVER このうち、トー…

RabbitMQのJavaScriptチュートリアルの「RPC」をTypeScriptで試す

これは、なにをしたくて書いたもの? RabbitMQのチュートリアルをJavaScriptクライアント+TypeScriptでやっていこう、ということで。 今回は「RPC」を扱います。 RabbitMQ tutorial - Remote procedure call (RPC) — RabbitMQ 今回で、この一連のお題は最後…

OpenAI Python APIライブラリーからllama-cpp-pythonで立てたOpenAI API互換のサーバーのチャットモデルへアクセスしてみる

これは、なにをしたくて書いたもの? 前に、llama-cpp-pythonを使って、OpenAI API互換のサーバーを立てるということをやってみました。 llama-cpp-pythonで、OpenAI API互換のサーバーを試す - CLOVER この時はcurlでアクセスして確認してみましたが、今度…

llama-cpp-pythonが参照しているllama.cppのバージョンを知りたい

llama-cpp-pythonを使うのはいいのですが、llama-cpp-pythonが使っているllama.cppのバージョンが気になるところです。 リリースの頻度も高いです。 Releases · ggerganov/llama.cpp · GitHub どれを見ているのでしょう? llama-cpp-pythonのバージョン確認…

llama-cpp-pythonで、OpenAI API互換のサーバーを試す

これは、なにをしたくて書いたもの? llama-cpp-pythonを使うとOpenAI API互換のサーバーを立てられることを知ったので、ちょっと動かしてみました。 llama-cpp-python llama-cpp-pythonのGitHubリポジトリーはこちら。 GitHub - abetlen/llama-cpp-python: …

TypeScriptファイルをJavaScriptファイルに変換したい

これは、なにをしたくて書いたもの? ひとつ前に、こんなエントリーを書きました。 TypeScriptコードを直接実行したい(ts-node、esbuild-register、tsx) - CLOVER じゃあ、こういう用途で作成したTypeScriptファイルを、人が読めるようなJavaScriptファイ…

TypeScriptコードを直接実行したい(ts-node、esbuild-register、tsx)

これは、なにをしたくて書いたもの? Node.jsでソースコードを書く時は基本的にTypeScriptにしたいのですが、時々ちょっとしたスクリプトを書きたい時もあったりします。 そういう時は、ちゃんとした設定などは特に用意せず、さっと書いてそのまま実行したい…

AWS Lambda Powertools for TypeScript(Logger、Parameters)を試す

これは、なにをしたくて書いたもの? AWS Lambda Powertoolsというものを、ちょっと調べておきたいなということで。 AWS Lambda Powertools AWS Lambda Powertoolsというのは、サーバーレスのベストプラクティスに添えるように提供されている、ユーティリテ…

inshellisense 0.0.1-rc.4を試す

これは、なにをしたくて書いたもの? MicrosoftのGitHubリポジトリに、inshellisenseというIDEスタイルでシェルを補完するツールがあることを知りまして。 Microsoft、各種シェルに600を超えるコマンド補完を掲げる「inshellisense」:マピオンニュース ちょ…

Emacsでgitを使う(Magit)

これは、なにをしたくて書いたもの? 自分が使うエディタといえばEmacsなのですが、Git操作に関してはなぜかbash上で行っていることが多くてですね。 そういえばと、ふとしたはずみで「EmacsでGit操作をするには?」と思って調べてみることにしました。 結論…

JJUG CCC 2023 Fallに参加してきました #jjug_ccc

なんの話? 11月11日に、野村コンファレンスプラザ新宿で開催されたJJUG CCC 2023 Fallに参加してきました。 JJUG CCC 2023 Fall 前回のCCCの参加が2017 Fallだったみたいなので、実に6年ぶりの参加になりました…。 JJUG CCC 2017 Fallに参加してきました #j…

RabbitMQのJavaScriptチュートリアルの「Topics」をTypeScriptで試す

これは、なにをしたくて書いたもの? RabbitMQのチュートリアルをJavaScriptクライアント+TypeScriptでやっていこう、ということで。 今回は「Topics」を扱います。こちらですね。 RabbitMQ tutorial - Topics — RabbitMQ Topics Fanout Exchangeでブロード…

Terraform 1.4で追加された、terraform_data resourceを試してみる

これは、なにをしたくて書いたもの? Terraformには、nullというプロバイダーがあります。 null_resource null Providerにはnull_resourceというリソースが含まれており、こちらを使うことで他のリソースの状態変化に合わせてコマンドを 実行させたりできて…

Spring Boot Actuator × Micrometer Tracing × OpenTelemetryでトレーシング

これは、なにをしたくて書いたもの? Spring BootでOpenTelemetryを扱ってみようかなと思って調べてみると、トレーシングまわりの事情がいろいろ変わっているようなので いい機会だなと思って試してみることにしました。 Spring Cloud Sleuth Springを使った…

Infinispan 14で追加された、OpenTelemetryトレーシングとのインテグレーションを試してみる(Server、Hot Rod)

これは、なにをしたくて書いたもの? Infinispan 14で、OpenTelemetryトレーシングとのインテグレーションが追加されたようなので、試してみたいと思います。 Infinispan 14 OpenTelemetry tracing integration Infinispan 14でのOpenTelemetryのトレーシン…

Spring BootでApache TomcatのStuckThreadDetectionValveを使う

これは、なにをしたくて書いたもの? Apache Tomcatが提供しているValveに、StuckThreadDetectionValveというものがあります。 こちらを使うと、リクエストを受け取ってからStuckThreadDetectionValveに指定した時間(秒数)が経過した際に、スレッドが スタ…

OpenTelemetryのFaaS向けの機能とAWS Distro for OpenTelemetryの違い

これは、なにをしたくて書いたもの? OpenTelemetryのInstrumentationを見ていると、言語によってはServerless Function(FaaS)をサポートしているようです。 これをLocalStack上で試してみようと思ったのですが、うまく動かなかったので…そこに至るまでに…

Spring TestとMockito(MockBean)を合わせて使った時の挙動を確認する

これは、なにをしたくて書いたもの? Spring Bootのテスト機能を使うと、Mockitoと簡単に組み合わせられるようになります。 こちらを使った時の動作を、ちゃんと見ておきたいなと思いまして。 Spring BootとMockito Spring BootのMockitoに関するドキュメン…

Spring Bootのテストで標準出力をキャプチャーする(OutputCapture/OutputCaptureExtension)

これは、なにをしたくて書いたもの? Spring Bootを使ったアプリケーションのテストで、ログ出力した内容を確認するには?ということで。 調べてみるとOutputCaptureというものがあったので、こちらを使ってみます。 OutputCapture OutputCaptureは、JUnitの…

Node.jsのデータベースマイグレーションツール、Umzugを試す

これは、なにをしたくて書いたもの? Node.jsのデータベースマイグレーションツールとしてUmzugというものがあるようなので、試してみようかなと。 Node.jsのデータベースマイグレーションツール Node.jsにおけるデータベースマイグレーションツールとしては…

Terraform 1.6で追加されたTerraform testing framework(terraform test)を試す

これは、なにをしたくて書いたもの? Terraform 1.6で、Terraformのtesting framework(terraform testコマンド)が追加されたようなので、試してみようかなと。 Terraform 1.6 adds a test framework for enhanced code validation 今までTerraformのテスト…

QuartzのSchedulerのシャットダウンを始めた時の、実行中のジョブの扱いを確認してみる

これは、なにをしたくて書いたもの? 以前Quartzについて調べた時に、Scheduler#shutdownを呼び出す際に引数があるものを使い、かつtrueに設定すると実行中のジョブが ある場合は、ジョブが終了するまで待機するということを書きました。 Javaのジョブスケジ…