2023年12月5週目振り返り

今週やったこと

Djangoを使った開発環境でマスターデータを作成した

マスターデータを作成する必要があったので、Djangoだとどういう方法が便利か調査と実装を行いました。

調査したところDjangoのloaddataコマンドを使う方法が便利そうだったので採用しました。

docs.djangoproject.com

方法としてはマスターデータ用の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になるという情報が見つかりました。

docs.djangoproject.com

OneToOneFieldのドキュメント

一対一の概念自体は一応把握しているもののDjangoでまだ使ったことがなかったのでOneToONeFieldのドキュメントをざっと読みました。

docs.djangoproject.com

面白かった動画・記事など

Pythonの仮想環境について

仮想環境をなんとなくしか理解していなかったのですがこちらのスライドが理解深める上でかなり参考になりました。

speakerdeck.com

まだ実際に手を動かして挙動の確認まではしていないので少しずつ試してみたいです。

AWS SSO関連

マルチアカウントやSSO周りについていろいろ調べました。

aws.amazon.com

以下が印象的でした。

これから MVP を作ろうとしているような初期の段階に必要かというと、そうではないかも知れません。ですが多くの場合、マルチアカウントが必要ではないと感じさせる理由は「その瞬間の手間だけ」です。私は、ほぼ全てのスタートアップにとってマルチアカウントは有用である考えています。より正確に言うと、全てのスタートアップが(出来るだけ早く)マルチアカウントでの運用に備えるべきと考えています。

AWS Control Towerも一度使ってみたいのでまずは仕様などを一通り調べてみたいと思います。