AWS RDS MySQL の DB を本番→開発環境にコピーする Python スクリプト例。`mysqldump` + `mysql` でテーブル単位コピーを高速に行う。
datetime の Nヶ月前を、dateutil を使わずに取得する関数です。 Re:dash の Python Data Source で、dateutil が使えなかったため作成
IT監査の際、アプリケーションの規模を表す必要があったので、Django の総 URL 数を表示することでアプリケーションの規模とみなすことにした。
現在インストールされている Chrome のバージョンにマッチする chromedriver をダウンロードするスクリプトを書いた
Mac から `chrome` コマンドで Chrome を固定ウィンドウサイズで起動するシェルスクリプト。`--window-size` と `--window-position` を組み合わせる。
Mac で Big Sur 以前にあった `find` をクリップボードに送る Service (Quick Action) を作る手順。pbcopy と組み合わせる。
bottle で簡単な HTML アプリを作る時のテンプレートのコードです。
OpenVPN サーバを構築して、特定セグメントの全クライアントを VPN 経由で結ぶ設定方法。サーバ証明書発行から `client.ovpn` 配布まで。
Slack の Web URL を slack:// プロトコルに変換し、コマンドラインや Raycast / Alfred から特定チャンネルを直接開く方法。
macOS の WebKit (WKWebView や Safari) でファイルアップロード時に `multipart/form-data` の境界が崩れる問題のデバッグと回避策。
Mac で `mkdir -p` した直後の `cd` がディレクトリ作成のタイムラグで失敗するときに `mkdir -p ... && cd $_` で確実につなぐ書き方。
Djangoのログ設定。ファイルに出力せず、コンソールに出力する。
Django Allauth で、SocialAccount を指定せずにログイン後のリダイレクト先を共通設定で返すビュー実装。`LOGIN_REDIRECT_URL` の挙動と上書き方法。
Mac の HDMI ディスプレイが時々フリーズするときに試す対処。`displayplacer` でリフレッシュレートを変える、ケーブルを差し直す等。
Mac (Big Sur) で Google 日本語入力を使うと「フルディスクアクセス」許可を求めるダイアログが出る件と、許可しない場合の影響。
Python 用 PyCharm の Run/Debug Configuration が Python 3.6 で動かない (`fibers` 等のネイティブ拡張のロードエラー) ときの回避策。
`pipenv install` で `RuntimeError: location not created nor specified` が出るときの対処。`pipenv --rm` でいったん venv を削除して再作成する。
Django の Docker イメージを Alpine + uWSGI 構成から Debian + Daphne (ASGI) 構成に切り替える理由と、Dockerfile / Kubernetes マニフェストの書き換え例。
Kubernetes Ingress + uWSGI で遅いレスポンスがタイムアウトしないようにするために確認するタイムアウト設定一覧 (Ingress / uWSGI / Django / nginx 各層)。
Alpine Linux の Docker イメージで Python の `cryptography` を pip install するときに必要な `apk add` パッケージ一式と、よくあるビルドエラーの対処。