CLOVER🍀

That was when it all began.

Python

Serenaのコンテキストとモードの意味を確認する

これは、なにをしたくて書いたもの? Serenaを使う時は、コンテキストの指定をしていることが多いと思います。 たとえばClaude Code向けだとclaude-codeというコンテキストを指定しているでしょう。 $ claude mcp add serena -- uvx --from git+https://gith…

Serenaをバージョンを指定してインストールする+Claude CodeのMCPサーバーとして登録する

これは、なにをしたくて書いたもの? Serenaは便利なコーディングエージェントツールキットですが、インストール方法に以下のように書かれているのが ちょっと気になります。 $ uvx --from git+https://github.com/oraios/serena serena これはSerenaのGitHu…

uvxを試す

これは、なにをしたくて書いたもの? uvxを使うとPythonパッケージが提供しているツールを簡単に使うことができます。 uvxではパッケージ名やバージョンを指定することができますが、インストール元としてGitリポジトリーも指定できます。 この時の動作がち…

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

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

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

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

SASTツール、Semgrep Community Editionを試す

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

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

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

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

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

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

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

PythonでProtocol Buffersを扱う

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

PrometheusでOpenTelemetryのメトリクスシグナルを直接受け取る

これは、なにをしたくて書いたもの? Prometheusといえばpull型のメトリクス収集ソフトウェアですが、リモート書き込みの他にOpenTelemetryのメトリクスシグナルを 直接受け取ることもできるようです。 ちょっと試してみましょう。 PrometheusをOpenTelemetr…

PythonのOpenTelemetry SDKを使って、メトリクスを送信する単純なスクリプトを作成する

これは、なにをしたくて書いたもの? OpenTelemetryを使っている時に、ちょっとした動作確認みたいなことをしたい時があったりします。 この時に、アプリケーションを作って計装ライブラリーをインストールして…みたいなことをしていると手間な気がするので…

OpenTelemetry SDKのExporterの種類を確認する(+Console Exporterを試す)

これは、なにをしたくて書いたもの? OpenTelemetry SDKで使えるExporterを確認しておこうかなと思いまして。 OpenTelemetry SDKの設定とExporterの設定 OpenTelemetry SDKは各言語ごとに設定がありますが、一般的なものやOTLP Exporterについてはこちらのペ…

PythonのOpenTelemetry計装ライブラリーの導入方法がよくわからなかったので、pipとuvを使ってFastAPIで試してみる

これは、なにをしたくて書いたもの? Grafana Tempoにトレースシグナルを送信しようとPythonで簡単なアプリケーションを作成したら、 OpenTelemetry計装ライブラリーの導入方法でちょっと苦労したのでちゃんと見てみようということで…。 Grafana Tempo 2.8+…

Sonatype Nexus 3でPyPiリポジトリーを作成して、uvでパッケージを公開する

これは、なにをしたくて書いたもの? Sonatype Nexus 3でPyPiリポジトリーを作成して、Pythonパッケージを公開してみます。 Pythonパッケージと配布まわり Pythonのパッケージと配布に関する知識がないので、まずはこちらを見ていこうと思います。 Pythonパ…

Pydanticで扱える型、フィールドの使い方を確認する

これは、なにをしたくて書いたもの? 前にPydanticを少し見てみました。 Pythonのデータバリデーションライブラリー、Pydanticを試す - CLOVER この時はGet Startedにほぼ習った感じでしたが、今回は扱える型について見ていこうと思います。 Types Pydantic…

Pythonのデータバリデーションライブラリー、Pydanticを試す

これは、なにをしたくて書いたもの? PythonのデータバリデーションライブラリーであるPydanticを、ちょっと見てみようかなということで。 FastAPIなどで目にしていたのですが、Pydantic自体についてちゃんと見ていませんでしたし。 Pydantic PydanticのWeb…

SQLModelを非同期IO(async、await)とMySQLを組み合わせて使う

これは、なにをしたくて書いたもの? 前にPythonのORMであるSQLModelを試してみました。 PythonのORM、SQLModelをMySQLで試す - CLOVER SQLModelは非同期操作もできるようなのですが、SQLモデルのドキュメントを見ても使い方がわからなかったので少しメモし…

PythonでMySQLに非同期にアクセスするaiomysqlを、MySQL 8.4で試す

これは、なにをしたくて書いたもの? MySQLに非同期アクセスするドライバーを少し確認しておいた方がいいのかなと思いまして。 今回はaiomysqlを試してみたいと想います。 MySQLに非同期アクセスできるドライバー PythonでMySQLに非同期アクセスできるドライ…

PythonのORM、SQLModelをMySQLで試す

これは、なにをしたくて書いたもの? PythonのORMをそろそろ試してみようかなと思いまして。 PythonのORMといえばSQLAlchemyが有名らしいのですが、FastAPIの作者がSQLAlchemyを使って作成している SQLModelというものがあるようなので、MySQLで試してみるこ…

Rustで書かれたPython用のリンター、フォーマッターであるRuffを使う

これは、なにをしたくて書いたもの? Pythonでソースコードを書くにあたって、そろそろリンターやフォーマッターを適用しておきたいなという気がしまして。 特にPython慣れしていないので、リンターに指摘して欲しいみたいなところがあります。 最近はRuffと…

mypy+types-PyMySQLでConnectionを扱う時にハマった話

これは、なにをしたくて書いたもの? こちらのエントリーを書いている時にmypyとtypes-PyMySQLでConnectionを扱う時にちょっとハマったので、単独のエントリーとして メモしておきます。 PyMySQLでinsert文(またはreplace文)を高速に実行するにはexecutema…

PyMySQLでinsert文(またはreplace文)を高速に実行するにはexecutemanyを使う

これはなにをしたくて書いたもの? 前にPyMySQLで大量にデータを登録しようとして、遅いな…?と思ってConnector/Jでバルクinsertを使うように切り替えたことがあるの ですが、PyMySQLでもexecutemanyを使えば同じことができそうだったので試してみることにし…

mypyの設定(チェックルール)を調べる

これは、なにをしたくて書いたもの? Pythonでソースコードを書く時にはできる限り型をつけていこうかなと思っているのですが、mypyについてはとりあえず --disallow-untyped-defsをつけて型指定がない場合にエラーにしているくらいだったので、もう少しちゃ…

Pythonのパッケージ&プロジェクト管理ツールであるuvをUbuntu Linux 24.04 LTSにインストールする

これは、なにをしたくて書いたもの? そろそろPythonのプロジェクト管理ツールをひとつ覚えてもいいのではと思っていたのですが、今から扱うならuvがよさそうだったので インストールしてみることにしました。 Poetryあたりは機会があったらまた試すとします…

Powertools for AWS Lambda(Python)を使って、AWS Lambda関数を書く時に型定義を利用する

これは、なにをしたくて書いたもの? AWS Lambda関数をTypeScriptで書く場合には、型定義を@types/aws-lambdaから使うことが多いと思います。 @types/aws-lambda - npm ではPythonの場合はどうしたらいいのだろうと調べてみたら、Powertools for AWS Lambda…

デプロイパッケージをコンテナイメージとしたAWS Lambda関数をローカルで動かす(curlでの動作確認+AWS SAM)

これは、なにをしたくて書いたもの? AWS Lambda関数のデプロイパッケージにはzipファイルとコンテナイメージがあります。 このうちzipファイルしか使ったことがなかったので、コンテナイメージを使ってみたいと思います。で、ローカルで動かしてみます。 AW…

ValkeyとRedisのクライアントライブラリーValkey GLIDEをPythonラッパーで試す

これは、なにをしたくて書いたもの? Valkeyのクライアントライブラリーとして、Valkey GLIDEというものがあるようなので試してみることにしました。 各言語のRedisクライアントが、どんどんredis Organizationに移っていっていたのでちょっと気になっていた…

PythonでUUID バージョン7、ULIDを扱う

これはなにをしたくて書いたもの? 前にJavaでUUIDが扱えるライブラリーを調べてみました。 JavaでUUIDを扱えるライブラリーを調べる - CLOVER この時はUUID バージョン6〜8はドラフト段階だったのですが、2024年5月にRFC 9562として公開されました。 RFC 95…

Mypyとスタブファイルとtypeshedと

これは、なにをしたくて書いたもの? 前に、Pythonでの型ヒントとMypyを扱ってみました。 Pythonで型ヒント(Type Hints)を試してみる(+Mypy) - CLOVER またPyMySQLを扱った時に、型情報としてtypes-PyMySQLをインストールしています。 PyMySQLを使って…