今回は横瀬 明仁 (著)の”現場で使えるDjangoの教科書 実践編”をレビューします。
対象読者
以下の様な人にはおすすめです。
- 認証系、ファイルアップロード系、Ajax対応について知りたい
- ユニットテストについて知りたい
- サーバーを構築し、デプロイしたい
- 基礎編(前作)を読んだのでさらに詳しく学びたい
全体構成
全8章から構成されています。
第1章~4章
- 第1章 開発のヒント(認証まわりをサクッと実装)
- 第2章 開発のヒント(Bootstrap4対応)
- 第3章 開発のヒント(Ajax対応とJSONレスポンス)
- 第4章 開発のヒント(ファイルアップロード)
第1章〜4章は開発のヒントとして4つのトピックに分けられています。
基本編と異なり、特定のトピックを深掘りして解説しています。”開発のヒント”というタイトルの通り、熟読するよりは「類似した機能を実装したいけど役立ちそうな情報ないかな?」という時に読むと良いかもしれません。
第1章はDjangoで提供されている認証機能を使った方法と、allauthというパッケージを使った認証機能を使った方法が紹介されています。
第2章はBootstrap4対応となってますが、現在はBootstrap5がリリースされているため異なるバージョンを使う場合は注意が必要です。
第4章ではPDFやCSV、画像などのファイルをアップロード、不正チェック、保存する方法について書かれています。ファイル保存先として、AWSのS3を使う方法も書かれています。
第5章 ユニットテスト
製品の性能を保証するためにユニットテストは欠かせないです。
Djangoはユニットテストをサポートしているため手軽にユニットテストが書けます。この本ではユニットテストの使い方が簡単に書かれています。
ユニットテストの考え方までは書かれていません。ユニットテストを含めソフトウェアテストに関する知識を得たい場合は他の方法で学んだほうが良いでしょう。
第6章 デプロイ
デプロイに関しては現場によって開発者が担当する場合や、インフラ系の人が担当する場合など様々ある思います。
開発
DigitalOceanというクラウドを使ってデプロイする方法を紹介しています。クラウドと言えばAWSが有名ですがDigital Oceanは安く、シンプルなため解説がしやすいという理由で使われています。
WebサーバにはNginx + Gunicornの組み合わせを使っています。
認証鍵の作成、sshログイン、サーバの初期設定、DBの初期設定、Gunicornの設定、Nginxの設定などデプロイに最低限必要な作業は網羅しています。
現場によっては、Dockerやk8sを使ったり、複数サーバ、複数DBを使う必要があるかもしれません。しかしデプロイに関する情報は基本的な内容なのでこの様な高度な構築方法でも応用が効き役立ちます。
感想
個人的には第6章のデプロイが一番役立ちました。デプロイに関してここまで詳細に解説している本は他に滅多にないと思います。
第7章 セキュリティのTIPSや第8章 高速化のためのTIPSはここでは取り上げませんでしたが、サクッと重要なポイントを知りたい場合は非常に有用だと思います。
コメントを残す