PyodideでSympyのparse_latexを使いたい

SymPy はPython上で数式を扱うモジュール。 SymPyに含まれるparse_latex関数を使うと、LaTeXの書式で書かれた数式も読み込める。 これをPyodideで使いたいと考えていた。 少し試しただけですが、実用にはまだ厳しいかもと思いました。 parse_latexはデフォル…

Pyodide上でdocutilsを動かしてみる

docutilsはreStructuredTextをPythonで扱うためのモジュール。 Pyodide上でdocutilsを動かせば、ブラウザ上だけでreStructuredTextを扱えるかなと思って試していました。 コード pyodide-docutils.html: <html> <head> <script src="https://cdn.jsdelivr.net/pyodide/v0.24.1/full/pyodide.js"></script> </head></html>

PythonのcProfileモジュールを使ってプロファイル取得とSnakeVizによる可視化

先日のPyCon Kyushu Kagoshima 2024で登壇したcProfileの資料の内容から抜粋しつつ、cProifleの使い方について少し書いてみます。 tokibito.hatenablog.com Pythonのプロファイルとは Pythonの実行に関する統計情報 関数がどれだけ呼ばれたか 実行時間どのぐ…

PyCon Kyushu Kagoshima 2024に参加しました

2024/5/25にPyCon Kyushu Kagoshima 2024が鹿児島県で開催され、参加してきました。 kyushu.pycon.jp 私はPythonのプロファイラの使い方の紹介をしました。 speakerdeck.com イベント参加者数が予想以上に多くて、賑わっていたように思います。 鹿児島はアー…

Djangoのプロジェクトにヘルスチェック用のエンドポイントを提供するdjango-health-check

ウェブアプリの外形監視をするときには、外形監視用のエンドポイントURLを用意することが多いと思います。 外形監視用のエンドポイントでは、アプリからデータベースなど各種ミドルウェアへの接続が正常であるかなどをチェックしますが、チェック項目はサー…

Djangoで動的にフォームクラスを作成する

Djangoのフォーム機能は通常、 django.forms.Form クラスを継承して定義をします。 フォームを使う | Django ドキュメント | Django リクエスト時に動的にフォームクラスを生成したい場合もあるので、今回はそれをやってみます。 フォームクラスを動的に生成…

札幌で温泉合宿をやっていた 2024/04

4/19~4/21に札幌で合宿をやっていました。いつもの id:tomio2480 主催の会です。 前回: 札幌で温泉合宿をやっていた - 偏った言語信者の垂れ流し 合宿では、 Django Meetupの資料 を直しつつ、いつも通り飯を作っていました。

DjangoMeetupTokyo #13を開催しました

2024/4/13にDjangoMeetupTokyo #13を開催しました。 DjangoMeetupTokyo #13 - connpass 前回同様、もくもく会+ハンズオンの型式での開催をしました。 中級者向けハンズオン 前回同様、私が資料を準備して、中級者向けハンズオンをやりました。 DjangoMeetup…

Dartの開発環境を準備する

社内ライブラリのDart版の動作検証をするために、Dartの開発環境を準備する必要があったので、自分用にまとめておく。 DartSDKのインストール Dartのコードを実行、ビルドするためにはSDKをセットアップする。 Get the Dart SDK | Dart 今回はUbuntu環境だっ…

Pythonのdataclasses.dataclassを使う

Pythonのdataclasses.dataclassは普段からたまに使っていますが、良く使っている書き方を人に紹介するためにメモを残します。 dataclasses - データクラス - Python 3.12.2 ドキュメント dictと相互変換するクラス オブジェクトとdictで相互変換するクラスを…

Djangoテンプレートで継承を利用して各ページ共通のヘッダーやフッターを設定する

Djangoフレームワークのテンプレートの継承について、基本的な内容です。 base.html というファイルを作って、共通部分をまとめる話。 検索用に記事をまとめておきます。 ※この記事は 力強くアウトプットする日の 20240301 のアウトプットです。 テンプレー…

よくつかうsshコマンドのオプション

SSH

sshコマンドのオプションは、特定の環境下で作業する際にはよく使うのだけど、しばらく使わないと忘れてしまって毎度しらべているので、自分用にまとめておく。 ※この記事は 力強くアウトプットする日の 20240216 のアウトプットです。 ssh(1)のドキュメント…

DjangoMeetupTokyo #12を開催しました

2024/1/28にDjangoMeetupTokyo #12を開催しました。 DjangoMeetupTokyo #12 - connpass 去年の夏以来の開催でしたが、今回は前回の倍ぐらいの参加者が集まりました。 コロナ禍が落ち着いてきて、勉強会などのイベントで基本的に制限がなくなったので、コロナ…

Djangoのキャッシュフレームワークを使った場合のキーと値の取り扱い

Djangoフレームワークには、データをキャッシュする仕組みを抽象化、共通化したキャッシュフレームワークが含まれています。 Django's cache framework | Django ドキュメント | Django どのようなキーと値が保存されるのか キャッシュフレームワークのAPIで…

terapyon channel podcastにゲストで呼ばれてきました

terapyon がやっている terapyon channel podcast にゲストでお呼ばれして、しゃべってきました。 #88 tokibitoさんをゲストに JMOOCの無料Python講義のリニューアルとプログラミング教育 | terapyon channel podcast 話題は先日のJMOOCの教材作成についてや…

Pythonの入門者向け動画教材 2023年改訂版

JMOOCで2020年に公開していたPythonの入門者向けの動画教材ですが、昨年の11月に内容を更新したものを公開していました。 まだ記事にしていなかったので、ここでも書いておきます。 Python入門2023改訂版 - Python3.11対応版 Pythonによるプログラミング入門…

Pyodideを試す

Pyodideは、CPythonをWebAssembly(WASM)/Emscriptenにポーティングしたソフトウェア。 PythonがWASMとして動作するので、ブラウザ上でPythonを動かせる。 pyodide.org ドキュメントには実際に動作するREPLのリンクがある。 https://pyodide.org/en/stable/…

Djangoのシグナル機能(django.dispatch.Signal)

Djangoには、フレームワーク内での各種アクションの発生を他の機能へ通知する、シグナル(Signals)という機能があります。 Signals | Django ドキュメント | Django シグナルの機能を使うと、Djangoアプリケーション間のモジュールの依存関係を緩くできたり、…

畑 2023

この記事は pyspa Advent Calendar 2023 の3日目の記事です。昨日は tokoroten の「2023年活動報告」でした。 今年も畑の成果報告です。 市内の民間の農園で4m×5mの小さい畑を借りています。以前は2016年~2018年に3年間借りていて、その後、去年から借りて…

Co-KoNPILe東青梅合宿

2023/11/23~11/25の2泊3日でCo-KoNPILeの合宿をやっている cokonpile.connpass.com 東青梅駅近くの古民家の宿を貸し切り。 自分のアウトプットは、合宿飯を作ること。 そこそこ予定していたものを作れました。

DjangoのフォームをDjango shellでデバッグする

Djangoフレームワークには、ウェブ用のFormを作る機能があります。 フォームを使う | Django ドキュメント | Django フォームを定義して実際にブラウザ上で表示するためには、ビューやテンプレートを用意する必要があるのですが、少しフォームを試したいだけ…

PyCon APAC 2023へのポスターセッション参加とDjango利用状況アンケート結果

2023/10/27~10/28の2日間、PyCon APAC 2023に参加してきました。 今回はdjango-jaのポスターセッションをしました。 ポスターセッションは、所定の展示スペースに収まるサイズのポスターを作って、展示しておき、Breakの時間帯にはポスターの前に待機して、…

Djangoのテンプレートローダーを自作する

Djangoフレームワークのテンプレートエンジンは、『テンプレートをロードする処理』を自分で実装した処理に差し替えるための設定が用意されています。 django.template.loaders.base.Loader を継承したクラスを実装し、 settings.py で TEMPLATES を設定する…

DjangoCongressJP 2023に参加しました

2023/10/7にDjangoCongressJP 2023が開催され、参加してきました。 django.connpass.com 私は、登壇者として、また、スタッフとしての参加となりました。 登壇者として Djangoテンプレートエンジンの使い方や、カスタマイズについて発表しました。 初心者~…

Django利用状況アンケート2023

Djangoの利用状況に関するアンケートを実施しています。 Djangoを使っている方は、ぜひご協力ください。 回答受付期間は、2023/10/2~2023/10/16。 forms.gle 集計結果はインターネット上で公開し、また今月のPyCon APAC 2023のポスターセッションでも発表予…

django-extensionsの runscript コマンドでスクリプトを実行する

django-extensionsには、スクリプトファイルを実行するための runscript というコマンドが用意されている。 このコマンドを使うと、Djangoのコンテキスト(つまり、Djangoのsettings.pyが適用された、 django.setup() を実行済みの状態)で、Pythonのスクリ…

DjangoCongress JP 2023のチケット販売が開始されました

DjangoCongress JP 2023 のチケット販売が開始されました。私はスタッフ兼登壇者として参加します。 django.connpass.com パーティーでは色々な人と話せるのでおすすめです。久しぶりにパーティー有りの会なので楽しみです。

Djangoのcacheフレームワークで複数の値をまとめて取得、更新する

試したバージョンはPython3.10, Django 4.2.4, pymemcache 4.0.0 Djangoのキャッシュフレームワークを使うと、memcachedやRedisなどをキャッシュサーバーとして利用できる。 複数の値をキャッシュサーバーから読み書きする際、 cache.get() cache.set() を何…

ワイルドカードのサブドメイン名をnginxのルーティングに利用する

DNSのサービスで *.example.com のようにワイルドカードのサブドメインを設定し、nginxでワイルドカード部分の文字列を見てルーティング先を切り換える、といった構成を行ったので、メモを残します。 ドメイン名の設定 ムームードメインのムームーDNSを利用…

DjangoMeetupTokyo #11 と DjangoCongressJP 2023 CfP

8/6(日)に DjangoMeetupTokyo #11 を麹町でやりました。 DjangoCongressJP 2023 のCfPの応募のきっかけになれば、と思って開催した次第です。 久しぶりのDjangoのオフラインの会は楽しかったので、やってよかったです。 会場を提供は eLV の方からでした。あ…