CLOVER🍀

That was when it all began.

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

Claude Code Routerを使って、GeminiをClaude Codeから使う

これは、なにをしたくて書いたもの? 前のエントリーでGemini CLIを試してみました。 GoogleのGemini CLIを試す - CLOVER そして、少し前のエントリーでClaude Code Routerを使ってClaude Codeを他のモデルプロバイダー(前回はOllama)で動かしてみたと 思…

GoogleのGemini CLIを試す

これは、なにをしたくて書いたもの? ローカルLLMを時々試してはいるもののリソース的にかなり厳しいので、無料で使えるエージェントを少し試しておこうかなと。 そうなると、GoogleのGemini CLIですよね。 Gemini CLI | Gemini for Google Cloud | Google C…

Pythonのグラフ描画ライブラリー、MatplotlibのQuick start guideをやってみる(後編)

これは、なにをしたくて書いたもの? こちらのエントリーの後編です。 Pythonのグラフ描画ライブラリー、MatplotlibのQuick start guideをやってみる(前編) - CLOVER MatplotlibのQuick start guideの後半をやってみます。スタイルの設定などが主なテーマ…

Pythonのグラフ描画ライブラリー、MatplotlibのQuick start guideをやってみる(前編)

これは、なにをしたくて書いたもの? Pythonのグラブ描画ライブラリーといえば、Matplotlibが代表的なもののひとつだというイメージがあります。 今まで可視化まわりをちゃんと扱ってきていなかったので、少しちゃんと学んでみようかなと思いまして。 まずは…

人気のソフトウェアのOSS代替をまとめたOpenAlternativeというサイト

このブログは性格上よく商用製品やクラウドのOSS代替を扱っていますが、そのまとめをやっているOpenAlternativeというサイトが あることに気づきまして。 Open Source Alternatives to Popular Software GitHubリポジトリーもあります。 GitHub - piotrkulpi…

Semgrepでルールセットやルールを適用する

これは、なにをしたくて書いたもの? Semgrepを扱ったこちらのエントリーの続きです。 SASTツール、Semgrep Community Editionを試す - CLOVER Semgrepを実行する際に指定するルールセットやルールの指定方法を見ていきます。 ルールセットやルールの指定方…

Semgrepでの出力フォーマットを変更する

これは、なにをしたくて書いたもの? 前のエントリーでSemgrep Community Editionについて扱いました。 SASTツール、Semgrep Community Editionを試す - CLOVER ここで書こうとした内容なのですが、ちょっと長くなったので分割することにしました。 Semgrep…

SASTツール、Semgrep Community Editionを試す

これは、なにをしたくて書いたもの? SemgrepというSASTツールをちょっと試してみようかなということで。 Semgrep SemgrepはSASTツールの一種です。Webサイトはこちら。 Semgrep App Security Platform | AI-assisted SAST, SCA and Secrets Detection Semgr…

Claude Code Routerを使って、Claude CodeをOllama+Qwen 2.5 Coderで動かしてみる

これは、なにをしたくて書いたもの? Claude Code Routerという、Claude Codeのリクエストをいろいろなモデルにルーティングできるものがあるようだったので、ちょっと Ollamaを使って試してみました。 ローカルLLMではものすごく時間がかかるんだろうと思っ…

Claude Codeのネイティブ版をインストールする

これは、なにをしたくて書いたもの? Claude Codeの推奨方法がネイティブインストールになったということなので。 Quickstart / Step 1: Install Claude Code ちょっとどういうものか見てみたくなりまして。 動作というよりは、バイナリーの話です。バイナリ…

Pythonアプリケーションに対して、opentelemetry-instrumentを使わずにOpenTelemetryのゼロ計装を行う

これは、なにをしたくて書いたもの? 前に、PythonのOpenTelemetry計装ライブラリーの導入方法がわからなかったので、ちょっと調べてみました。 PythonのOpenTelemetry計装ライブラリーの導入方法がよくわからなかったので、pipとuvを使ってFastAPIで試して…

Development Container(Dev Container)をCLIで使ってみる

これは、なにをしたくて書いたもの? 個人的にはあまり使ってきていないのですが、Development Container(Dev Container)について1度見ておこうと思いまして。 Development Container(Dev Container) Development ContainerのWebサイトはこちら。 Develo…

Pythonの静的型チェッカー、Pyrightを試す

これは、なにをしたくて書いたもの? 以前、Pythonでの型ヒントとMypyについて調べてみました。 Pythonで型ヒント(Type Hints)を試してみる(+Mypy) - CLOVER もうひとつ押さえておいた方がよさそうな型チェッカーとしてPyrightがあるようなので、こちら…

スクリプト向けのdocker image lsのフィルタリングとフォーマット

これは、なにをしたくて書いたもの? docker image lsの結果のフィルタリングとフォーマットを方法を少し覚えておこうかなと思いまして。 だいたい、ちゃんと覚えずにgrepやperlでやるような力技に頼っていたので。 ドキュメントで見る 参考にするのはこのあ…

Sonatype Nexus Repository 3へローカルディレクトリーのアーティファクトをデプロイ(deploy:deploy-file)するPythonスクリプトを書く

これは、なにをしたくて書いたもの? 以前、Groovyでこういうスクリプトを書きました。 Nexus 3向けにMavenのローカルリポジトリのファイルをリモートリポジトリにデプロイするスクリプトを書く - CLOVER 最近ではGroovyを使っていないので、こういうのはPyt…

Remminaの「すべてのキーボードイベントを取得する(Grab all keyboard events)」を活用する

Remminaで接続した時に、Alt+Tabのようなキー操作をクライアント側とリモート側で効くタイミングを切り替えられたらなと思って いたのですが、「すべてのキーボードイベントを取得する(Grab all keyboard events)」でできそうです。 この部分ですね。 オ…

RemminaでWindowsにRDP接続する時に、CtrlキーとCapsLockキーを入れ替える

Ubuntu Linux上で一時的にWindowsを使いたい時に、よくVagrant(libvirt Provider)を使っています。 仮想マシンへの接続にはRemminaでRDPを使っています。 この時、仮想マシン側でCapsLockの挙動がおかしくてとても困っていたのですが、解消できたのでメモ…

SnakeYAML/SnakeYAML Engineを使って、JavaでYAMLを扱う

これは、なにをしたくて書いたもの? YAMLというファイルフォーマットはよく扱っていますが、そういえばYAMLをプログラムで扱うことをあまりやってこなかったので、 1度ライブラリーを調べる意味も含めて見てみました。 今回はSnakeYAMLを扱ってみようと思い…

Ubuntu Linux 24.04 LTSにDuckDBをインストールしてみる

これは、なにをしたくて書いたもの? 前々からちょっと気になっていた、DuckDBを少し使ってみようと思いまして。 今回はUbuntu Linux 24.04 LTSにインストールしてみます。 DuckDB DuckDBのWebサイトはこちら。 DuckDB – An in-process SQL OLAP database ma…

Java 9以降の変更点のサマリーをドキュメントで見る

前に、Javaの新しいAPIについてはJavadocで確認できるようになっていることを紹介しました。 Java 11から17までのJEP、新しいAPIのまとめ - CLOVER 言語の変更点については、こちらのドキュメントを見るとまとまっていてよさそうです。 Java 11。 Java言語の…

Ubuntu Linux 24.04 LTSにOpenJDK 25をインストールする

これは、なにをしたくて書いたもの? OpenJDK 25が2025年9月16日にリリースされました。 The Arrival of Java 25 JDK 25 Documentation - Home Ubuntu Linuxにもそのうち使えるようになるだろうとは思っていましたが、現行のLTSである24.04に入るのには時間…

商用版のMinIO AIStorではなく、AGPL版のMinIOをダウンロードする

AWS

これは、なにをしたくて書いたもの? Amazon S3互換のオブジェクトストレージといえば、MinIOが有名かと思います。 このMinIOのダウンロードページを見に行った時に、AGPL版のダウンロード方法がわからなくなったのでメモしておきます。 AIStor? MinIOのダ…

Ubuntu Linux 24.04 LTSのaptパッケージでインストールしたOpenJDKをSDKMANで管理する

これは、なにをしたくて書いたもの? 自分は、Java系のツールのインストールにSDKMANを使っています。 Home | SDKMAN! the Software Development Kit Manager ただOpenJDKはUbuntu Linuxのパッケージからインストールしていて、このバージョン切り替えを自前…

cloc、scc、tokeiでソースコードの規模を計測する

これは、なにをしたくて書いたもの? 個人的にはあまりやらないのですが、ソースコードの規模を計測するツールを動かしておこうかなと思いまして。 いわゆるSLOC計測ツール ソースコードの規模を計測するツールとしては、このあたりが有名のようです。 cloc…

Batsのbats_load_library関数で、ロードするライブラリーのパスを簡潔に指定する

これは、なにをしたくて書いたもの? 前にBashのテスティングフレームワークである、Batsのチュートリアルを試しました。 Bashのテスティングフレームワーク、Batsを試す - CLOVER この時、bats-assertおよびbats-supportをロードするのにload関数で絶対パス…

Sonatype Nexus 3でコンポーネントをREST APIで削除する

これは、なにをしたくて書いたもの? Sonatype Nexus 3を使ってリポジトリーにアップロードをしていると、時々削除したくなります。 特にSonatype Nexus自体の環境を作っていたり、コンテナイメージを作成するテストをしている時などに。 Sonatype NexusのWe…

PythonでProtocol Buffersを扱う

これは、なにをしたくて書いたもの? PythonでProtocol Buffersを扱ってみようかな、ということで。 Javaでなら以前扱ったことがあります。とはいえ、久しぶりに触るので情報も見返してみましょう。 Protocol Buffers Protocol BuffersのWebサイトはこちら。…

wgetで簡易的にファイル同期したい

前に、wgetを使ってWebサイトをミラーするエントリーを書きました。 wgetでWebサイトをダウンロードする - CLOVER ところで自分はあるサーバーで以下のようにPythonで簡易HTTPサーバーを起動して、ここからファイルをダウンロードするといったことを よくや…

Sonatype Nexus 3でランダムに生成されるadminユーザーのパスワードを固定する

これは、なにをしたくて書いたもの? Sonatype Nexus 3をインストールして起動すると、adminユーザーのパスワードがランダムに生成されてsonatype-work/nexus3/admin.passwordに 保存されます。 これを固定できないかなと思いまして。 Sonatype Nexus 3でラ…

shfmtでシェルスクリプトのフォーマットを行う

これは、なにをしたくて書いたもの? shfmtを使うと、シェルスクリプトのフォーマットができるようです。今回はUbuntu Linux 24.04 LTSに導入してみます。 shfmt shfmtは、以下のGitHubリポジトリーに含まれるツールのひとつです。 GitHub - mvdan/sh: A she…