Django 5.2で追加される複合主キーサポートを試す

Django 5.2 alpha 1がリリースされています。 Djangoのalphaリリースは、まだ開発中の扱いです。alpha, beta, rc, stable(=無印) の順でだいたいリリースされます。 Django 5.2 alpha 1 released | Weblog | Django リリースノートを見ると、 "Composite Pri…

macOSでmysqlclientのインストールでつまづいた

「macOS環境でmysqlclientのインストールがうまくいかない」とチーム内で相談があり、自分の環境でもうまくいかなかったので解決までのメモを残しておきます。 環境は、Mac mini 2023 Apple M2, macOS Sonoma 14.6, Python3.12です。 MySQLクライアントとpkg…

Pydanticのdataclassを試す

Pydanticは、Pythonでデータの検証(バリデーション)を実装するためのライブラリです。 基本的な入力型の検証はTypingを記述するだけで実装できるということで、最近の型ヒントを記述するPythonコードと組み合わせて使うことを想定しています。 docs.pydant…

terapyon channel podcast #104 ゲスト参加

terapyon channel podcast にkyさんと一緒にゲスト参加で話してきました。 podcast.terapyon.net トークの内容はDjangoとDSF、DjangoCongress JPのトーク募集などについてです。 DjangoCongress JP 2025 では、Python非同期Webのテーマでもトークを募集して…

Djangoから手軽にTailwindCSSをセットアップできるdjango-tailwindを試す

CSSフレームワークである TailwindCSS は、通常NodeJSを使ってCSSをビルドします。 Djangoから利用する場合、TailwindCSSのビルド環境を整備した上で、ビルドされたCSSをDjangoで読み込むように実装が必要になります。 django-tailwindを使うと、このセット…

DjangoテンプレートエンジンのDjango Cottonを試す

Djangoフレームワークにはテンプレートエンジンを別のものに切り替える機能があります。 Django Cottonというテンプレートエンジンを試してみたので、メモを残しておきます。 django-cotton.com GitHub - wrabit/django-cotton: Enabling Modern UI Composit…

DjangoCongress JP 2025のトークを募集中です

DjangoCongress JP 2025 を2025年2月22日(土)にオンラインで開催します。私もスタッフとして参加予定です。 djangocongress.jp 現在トークを募集中です。1人で複数件の応募もできるので、ネタがある人は是非たくさん送ってみてください。 DjangoCongress JP…

畑 2024

この記事は pyspa Advent Calendar 2024 の10日目の記事です。 今年も畑の成果報告です。 市内の民間の農園で4m×5mの小さい畑を借りています。 以前の畑についての記事 2023年 2022年 2018年 2017年 2016年 2024年の成果 今年は去年と比べると成果少なめです…

Djangoオンラインミートアップ#4 を開催しました

先日の告知 の通り、Djangoオンラインミートアップ#4を2024/11/22(金) に開催しました。 django.connpass.com 参加者や約20名程度で、会話が盛り上がっていました。 発表1: Djangoの開発環境で工夫したこと - pre-commit / DevContainer @Hiroki_Yoda さん …

告知: Djangoオンラインミートアップ #4

Djangoオンラインミートアップ#4 を 2024/11/22(金) 19:00~やります。 django.connpass.com Zoomアプリを使ったオンラインの会なので、お気軽にご参加ください(聞き専でも大丈夫)

ViteでビルドしているプロジェクトでBunを使ってみる

bunが速いらしいと色々なところで目にしてはいたのですが、導入面倒ならそこまでモチベーションあがらないかなと思って調べていませんでした。 Bun — A fast all-in-one JavaScript runtime BunでViteを動かすが簡単だというのを見かけたので、少し試してみ…

macOS使い始めでインストールしたツール

主にiOS, Android開発向けでインストールした各種ツール群のメモ。 AppStoreからインストール Xcode AppleDeveloper ダウンロードしてApplicationsにコピーでインストール Scroll Reverser マウスのスクロール方向を変更 Evernote Slack Chrome AndroidStudi…

FreePascalとDelphiでリフレクションとxUnitフレームワーク

DelphiとFreePascalで動作する自作ライブラリのテストコードを書くために、自作のxUnitフレームワークを使っています。 github.com 自作のテストフレームワークでは、 Test で始まるメソッド名をテストメソッドとして自動で実行するxUnitフレームワークでよ…

terapyon channel podcast #99 ゲスト参加

terapyon channel podcast にゲスト参加で話してきました。 podcast.terapyon.net 教育やDjangoの話題とか雑談。 前回 tokibito.hatenablog.com

FreePascalでリフレクションを実装する

リフレクションは便利なのでFreePascalでも使いたい。 Delphiの場合はRttiユニットがあるのでリフレクションは簡単に実装できるのですが、FreePascalには同等のユニットがありません。 昔作成してGitHubで公開していたテストフレームワークのほうにPullReque…

FreePascalのコンソールアプリでメモリダンプ

FreePascalのコンソールアプリで、デバッグするときにメモリダンプするユーティリティがほしかったので、ChatGPTにざっくり書いてもらって少し手直しして使っている。 コード memory_dump.pp: program memory_dump; uses SysUtils; procedure DumpMemory(add…

Djangoで作成したアプリを本番環境で動かすときにWSGIとASGIのどちらを使うのか

先日、 django-jaのDiscord で出た話題ですが、Djangoで作成したアプリを本番環境で動かす際のアプリケーションサーバーについてです。 具体的にはWSGIとASGIどちらを使うのか、そしてアプリケーションサーバーはどれがよいのか。 WSGIかASGIか DjangoをWSGI…

TechRAMEN 2024 Conferenceに参加しました

7/26(金)~7/27(土)に北海道旭川市で開催された TechRAMEN 2024 Conference に参加してきました。 techramenconf.net Djangoハンズオン 私は2日目にDjangoのハンズオンセッションの講師をしました。休憩入れて4時間ほど、ボリュームのある内容になりました。…

django-bootstrap5を使って手軽にBootstrap5をDjangoのフォームに適用する

Bootstrapはフロントエンド向けのツールキットです。 getbootstrap.com BootstrapにはCSSやJavaScriptが用意されていて、ウェブページに組み込む場合は、HTMLタグにclass属性を指定すると、用意されているデザインが適用される、というものです。 メジャーバ…

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 のアウトプットです。 テンプレー…