今週やったこと
Djangoを使った開発環境でマスターデータを作成した
マスターデータを作成する必要があったので、Djangoだとどういう方法が便利か調査と実装を行いました。
調査したところDjangoのloaddataコマンドを使う方法が便利そうだったので採用しました。
方法としてはマスターデータ用のJSONを書き、それをDjangoアプリケーションのfixtureディレクトリに配置するとpython manage.py loaddata fixtureファイル名
で実行できました。
開発用の端末にDBeaverをインストールした
しばらくSQLクライアントソフトは使っていなかったのですが、開発中のAPIの動作やローカル環境のデータを確認する際にDjangoの管理画面でデータを見るよりもSQLを実行した方が生産性高そうだったのでDBeaverをインストールしました。
結果的にかなりデータの確認がしやすくなりましたし、しばらくSQLを書く機会が減っていたので開発業務の中で日常的にSQLを使う方が生産性の面でもエンジニアとしてのスキル面でも良いと思いました。
今週学んだこと
Djangoのモデルについて
DjangoでDB設計したりモデルを実装する際に以下を学びました。
ForeignKeyフィールドでon_relatedのオプションにSET_NULLがある
外部キーを削除する際に紐づいているレコードは削除されないで残っていてほしいケースがあったので、on_delete=models.CASCADE
以外の方法を探したところSET_NULL
だと紐づいているレコードの外部キーフィールドがNULLになるという情報が見つかりました。
OneToOneFieldのドキュメント
一対一の概念自体は一応把握しているもののDjangoでまだ使ったことがなかったのでOneToONeFieldのドキュメントをざっと読みました。
面白かった動画・記事など
Pythonの仮想環境について
仮想環境をなんとなくしか理解していなかったのですがこちらのスライドが理解深める上でかなり参考になりました。
まだ実際に手を動かして挙動の確認まではしていないので少しずつ試してみたいです。
AWS SSO関連
マルチアカウントやSSO周りについていろいろ調べました。
以下が印象的でした。
これから MVP を作ろうとしているような初期の段階に必要かというと、そうではないかも知れません。ですが多くの場合、マルチアカウントが必要ではないと感じさせる理由は「その瞬間の手間だけ」です。私は、ほぼ全てのスタートアップにとってマルチアカウントは有用である考えています。より正確に言うと、全てのスタートアップが(出来るだけ早く)マルチアカウントでの運用に備えるべきと考えています。
AWS Control Towerも一度使ってみたいのでまずは仕様などを一通り調べてみたいと思います。