Python
PyTorch で時系列データを学習させてみたかったので,このサンプルを参考に,long short-term memory (LSTM) cell を使った,Recurrent neural network を作成し,ある区間の sin 関数を学習させて,その続きを予測させてみました. sin 関数は,振幅と周波…
The mypy configuration file - mypy 1.5.1 documentation 上記のドキュメントに従って,mypy の設定ファイルで細かな調整をしようとしても,VS Code の mypy-type-checker にうまく認識されませんでしたが,以下のような設定を追加することで認識されるよう…
エクセルのN番目のセル番号を取得する関数は,少し変則的な表記であることを知りましたので,メモしておきます. エクセルのセル番号は以下のように増えていきます. 1,2,...,26 → A,B,...Z 27,28,29,...,701,702 → AA,AB,AC,..ZY,ZZ 703,704,705,...,18277,…
環境 検証に使用した環境は,以下の通りです. Python 3.11.3 (main, Apr 11 2023, 16:14:10) [GCC 10.2.1 20210110] on linux rustc 1.68.2 (9eb3afe9e 2023-03-27) on linux 文字列を数える Python ならば len() 関数を使うだけです. >>> len("りんご") 3…
Dev Container を利用して Docker 環境で開発をすると,それぞれのプロジェクトについて自由に依存関係を構成することが可能になり,大変便利です.しかし,開発に必要なライブラリを1個のコンテナに準備する必要があり,準備が大変でした.それでも一度全部…
www.youtube.com 2623561561 を素因数分解する動画がありました.手計算で頑張っていました.もちろん人間が素因数分解するには大変な計算量だということは分かりましたが,パソコンならばどれぐらいで実行できるのか気になったので試してみました. 最小の…
gRPC の通信の中身が気になったので,Wireshark でパケットキャプチャして観察しました. Wireshark のインストール Wireshark · Go Deep M1 MacOS 用の Wireshark が公開されているのでダウンロードしてインストールします.権限が不足している場合は "Inst…
gRPCが流行っているようなので,アプリケーションの開発に取り入れるために,Pythonで非同期処理に対応したgRPCを使用する方法について,検討してみます. 教科書を読む gRPCは様々な言語に対応しており,多くのライブラリが開発されているため,汎用性が高…
Pythonで実際に測定してみました. import datetime from benchmarker import Benchmarker def validate(): native_now = datetime.datetime.now() assert native_now.tzinfo is None # native_utcnow = datetime.datetime.utcnow() assert native_utcnow.tz…
結論はタイトルの通りですが,pythonで実際に測定してみました.16 bytes, 256 bytes, 4096 bytes, 65536 bytes, 1048576 bytes の長さの文字列を用意して,MD5, SHA256, SHA512 の3種類のハッシュアルゴリズムを使用してハッシュ値を取得するまでの時間を計…
Raspberry Pi Pico を購入しました.秋月電子通商通販で1個税込770円だったので,2個購入しました. セットアップ Get Started with MicroPython on Raspberry Pi Pico という本のPDFが,公式サイトから無料で配布されていたので,読みました.Raspberry Pi …
pigpio というライブラリは,Raspberry Pi の GPIO に対応しています. pigpio library このライブラリは,デーモンとインターフェイスから構成されていて,ネットワークを通じてデーモンを操作することができます.つまり,開発用の高性能なパソコンにイン…
Cloud SQLは, 豊富な拡張機能コレクション、構成フラグ、デベロッパー エコシステムを備えた、MySQL、PostgreSQL、SQL Server 向けのフルマネージド リレーショナル データベース サービスです。(https://cloud.google.com/sql?hl=ja) Cloud SQL で Postgre…
SQL では,NULLに比較述語を適用すると,常にunknownになります.これは分かりにくい印象がありますが,3値論理に準拠すれば明らかです. この性質により,例えば Django で以下のように apple_id に unique と null が共存できます.ここで,apple_id は必…
Djangoで非同期処理を実装するときに,非同期ではない関数を使用するためのアダプター関数 asgiref.sync.sync_to_async() が用意されています*1. sync_to_async()関数は,SyncToAsyncクラスを使って,スレッドプールで実行可能な非同期関数を作成する仕組み…
一般的にWebサーバーの開発は非同期処理と相性がよいです.Webサーバーは不特定多数の人から任意の時刻にリクエストを受信して処理し,レスポンスを返します.Webサーバーの処理の多くは,データベースなど外部のリソースにアクセスすることなので,I/O boun…
functions-framework-pythonの名前がややこしいという話です. GitHub - GoogleCloudPlatform/functions-framework-python: FaaS (Function as a service) framework for writing portable Python functions プロジェクトの名前はfunctions-framework-python…
Visual Studio Codeの拡張機能Remote - Containersを使用して,Dev ContainerでDocker Composeを使いPostgresデータベースを起動して,Pythonから操作してみます. 環境 MacOSからUbuntu ServerのDocker engineにリモート接続してVScodeで操作します. % doc…
SendGridの送信履歴は数週間しか残らないので,履歴を保存するために,Webhookを利用して自分のサーバーに記録する仕組みを用意しなければなりません. Google Cloud Functionsを利用して,かんたんにPythonで実装してみました.とりあえずverifyできるかを…
python-opencvのVideoCapture(index)を使えば,Webカメラを気軽に操作できますが,複数のWebカメラを扱う時にindexをどうやって指定するかが問題となります. MacOSならば,system_profilerコマンドがありますので,これを使えば正しいindexを取得できます.…
Pythonで少し複雑なデータをシリアライズする時に便利な関数を作成しました.MessagePackとJSONに対応しており,srslyというシリアライズのライブラリを使用しています. import datetime import decimal import json from srsly import msgpack # # Message…
Pythonのdatetimeを用いて,日時をISO 8601で表現します. aware (タイムゾーンあり) か native (タイムゾーンなし) を意識し,isoformat()とfromisoformat()の動作を確認するユニットテストを作成しました. import datetime import unittest class ISOForm…
自分用のvenvまとめです. 環境 % sw_vers ProductName: Mac OS X ProductVersion: 10.15.7 % python3 --version Python 3.9.7 venvの初期化 venvはpythonに最初から入っているので,すぐに使える. プロジェクトのディレクトリに移動して,以下のコマンドを…
正規表現には肯定先読み (?=...) と肯定後読み (?<=...) と呼ばれる機能があり,先頭/末尾ではない文字列を検索するのに有用なので紹介します. 肯定先読みや肯定後読みを文章で説明するよりも,Pythonのunittestとしてソースコードで表現する方が分かりやす…
以下の関数でメモリ使用量(RSS)が取得できます. import platform import resource def get_maxrss() -> float: system = platform.system() r = resource.getrusage(resource.RUSAGE_SELF).ru_maxrss if system == "Darwin": return r / 1024 / 1024 # byte…
mypyが”Relative import climbs too many namespaces"とエラーして,気づくのに時間がかかったのでメモしておきます. プロジェクトは以下のような構成です. src └──b.py a.py b.pyの中身は以下の通りです. from ..a import foo foo() 原因は単純で,src/…
以下のようなPythonスクリプトを見かけました. a = [1, 2, 3, 4, 5] a = [a*2 for a in a] print(a) 最初に宣言した変数aと同じ名前の変数aをリスト内包表記内で使用しています. 初めて見た時は意味がわからなかったのですが,問題なく動作します. [2, 4,…
Djangoのrunserverコマンドを使用して開発している時に,たくさんのリクエストを行うとデータベース接続数が次第に増えていき, FATAL: sorry, too many clients already` というエラーが発生する現象に遭遇した時のまとめです. 環境 Django 3.1.6 'CONN_MA…
Pythonのloggingはとても便利です. logging --- Python 用ロギング機能 — Python 3.9.1 ドキュメント logging.debug(msg, *args, **kwargs)関数には便利なキーワード引数が存在します. stack_info logging.info("test", stack_info=True) これだけで,スタ…
以下の記事がとても有用だったのでメモします. Why am I getting an UnboundLocalError when the variable has a value? - Programming FAQ - Python 3 以下のスクリプトは実行されます. x = 10 def bar(): print(x) bar() 10 x=1を追加すると,UnboundLoc…