Skip to content

Python

pyOpenSSL で SSL/TLS サーバ証明書の有効期限を取得する

以前に 証明書の有効期限を確認する Python スクリプト というメモを書きました。 このメモでは pyOpenSSL を利用していました。 他にも Python から SSL/TLS サーバ証明書を取り扱いたい場合、以下のようなライブラリを利用出来るようです。

名称 最新バージョン リリース日
certifier 0.2.1 2019/06/28
pyOpenSSL 23.3.0 2023/10/26
ssl-certinfo 1.1.2 2022/07/03

pyOpenSSL 以外はあまりメンテナンスされていないようです。 以前のメモでは機能をメソッドとして実装していたのですが、クラス/プロパティとして実装した方が扱いやすかったので改造したサンプルスクリプトをメモしておきます。

Flet で GUI な Python アプリケーションを作成する

Python で GUI アプリケーションを作成する場合、以下のようなライブラリから何れかを選択するケースが多いと思います。

上記以外にも Flet を使うことも可能です。 Flet を利用する場合、GUI アプリケーションとして動作させることが可能ですが、Web アプリケーションとして動作させることも可能です。 今回は Flet 公式サイトに掲載されているサンプルアプリケーションを動作させるところまで試してみます。

2to3 で Python2 コードを Python3 コードへ変換する

2to3 を使うと Python2 ベースのコードを Python3 へ変換することが出来ます。 とは言え、2to3 も万能なわけではありませんので、2to3 が修正してくれなかった部分は手動で修正していく必要があります。 2to3 は pip でインストールすることが出来ます。

1
python3 -m pip install 2to3

DockerHub へイメージを登録する

DockerHub にイメージをアップロードするには GitHub と連携させるのが簡単です。 ですが、Changes to Docker Hub Autobuilds で下記のように書かれている通り、2021 年 6 月 18 日から DockerHub の無料アカウントでは GitHub 連携が出来なくなっています。

As many of you are aware, it has been a difficult period for companies offering free cloud compute [1]. Unfortunately, Docker’s Autobuild service has been targeted by the same bad actors, so today we are disappointed to announce that we will be discontinuing Autobuilds on the free tier starting from June 18, 2021.

GitBucket 4.40.0 の Docker コンテナを作成する

GitBucket 4.40.0 がリリースされていました。 4.40.0 - 22 Oct 2023 付の ChangeLog によると変更箇所は下記だそうです。

4.40.0 - 22 Oct 2023

  • Configurable default branch name
  • Support custom fields of issues and pull requests in search condition
  • Create pull request from default branch of forked repositories
  • News feed shows activities of all visible repositories
  • Drop Java 8 support
  • Improve git push performance

GitBucket のコンテナイメージは gitbucket/gitbucket で提供されているようです。 ですが、実際に起動してみるとバージョン 4.38.4 (2 Nov 2022) とやや古いように見えました。 その為、今回は最新のバージョン 4.40.0 をコンテナイメージ化してみます。 尚、作成したコンテナは DockerHub 内の下記 URL で公開しています。

hyperfine でコマンドのベンチマークを実行する

hyperfine を使うとコマンドのベンチマークを実行出来ます。 類似のツールに benchpoop があります。 poop は高機能なようですが、私の環境では動作させることが出来ませんでした。 今回は hyperfine を起動する手順まで、メモしておきます。 今回は Ubuntu 24.04 環境でテストしました。