hsk

python

【Python】フォーマッター (black) で差分が出た

vscode で python の開発をしていますが、自動フォーマットで black を使っています。 新しい開発環境を作った際、既存のソースをそのまま保存したとき差分が大量出てきて原因の特定に苦労したことがあったのでその内容を備忘録として...
django

【Django】migration 実行時のテーブルのカラムの順番について

Django では model から migration したテーブルを見るとカラムが model の定義順に並んでいないことがあります。 テーブル定義書があるならその順番になっていて欲しいし、データを確認する上でもカラムの並び順は大切です...
flutter

【Flutter】file_picker ではファイル名でキャッシュされる

Flutter の file_picker ( を使用した際に、選択したファイルと異なるファイルが選択された不具合が発生したので紹介します。 file_picker のキャッシュ処理の仕様と特定の端末の仕様の合わせ技による不具合で原因の特定...
django

【Django】IPアドレスを取得する

Django でリクエストのあったクライアントのIPアドレスを取得する方法の紹介です。 リバースプロキシも対応しています。 IPアドレスを取得 def get_client_ip(cls, request): if not request ...
django

【Django】テーブル更新時にユーザーIDを自動で保存する

テーブル定義に作成者や更新者のフィールドを持つことがあると思います。 データの追加、更新時に毎回更新する必要があり、処理を実装するたびに毎回記述するのはコストが掛かる点と実装漏れ等の観点から処理を統一することが望まれます。 そのため、 Dj...
django

【Django】テーブル更新時に日時を自動で保存する

テーブル定義に作成日時や更新日時のフィールドを持つことがあると思います。 データの追加、更新時に毎回更新する必要があり、処理を実装するたびに毎回記述するのはコストが掛かる点と実装漏れ等の観点から処理を統一することが望まれます。 そのため、 ...
python

【Python】クラスの変数を取得する

Python でクラスの変数などを取得する方法について説明します。いわゆるリフレクションについてです。 クラス情報の取得 以下コードでクラスの情報が取得できます。 import inspect inspect.getmembers(obj,...
python

【Python】Enum を拡張して便利に使いたい

Python で Enum を拡張して便利に使う方法について説明します。 自分的には区分値などを定義するときに重宝しています。 拡張 Enum 以下のように Enum を継承したクラスを作成します。 from enum import Enu...
django

【Django】FBV と CBV どちらを採用するか

Django の View の定義には FBV (Function Based View) と CBV (Class Based View) について説明します。 FBV 関数型の View です。 シンプルに定義することができ手軽に実装が...
flutter

【Flutter】Flutter で Chrome (Edge) を選択してデバッグ実行ができない

Flutter で Chrome を選択してデバッグ実行ができませんでした。その内容について説明します。動作確認環境:Windows 10実行環境: VSCode エラー内容 コンソールには以下の内容が出力されていました。 Launchin...