見出し画像

Djangoでバックエンドを構築した件について振り返ってみる

こんばんは。関西在住の46歳のおっさんで、親の仕送りでキャバクラに通うクロちゃんと同い年みたいです。社長ですが客先に常駐して主にWEBシステムの保守や新規開発をしています。

新規案件としてDjangoでAPIやバッチを開発することとなったのですが、Djangoは未経験、Pythonもちょっと知ってるレベルでしたが、Spring Bootは経験あるし、Javaは知ってるから何とかなるかと思い、適当な感じで全然いけますよとハッタリをかまして受けました。

ただ、DjangoはSQL文を組まないので(Ruby on Railsもですよね)、癖が少し強いですね。慣れるのに大変でした。特に N+1 問題というパフォーマンスが意図せず劣化する問題に神経を使いました。ただ、慣れてしまえばSQLレスなので、その分の作業コストが減ります。

ユニットテストもSQLは不要で、Modelクラスでデータ作成コードをゴリゴリ書けるので、だいぶ楽ができます。

ただ、DjangoはOpenAPIのymlファイルからリクエストハンドラーやモデルを自動生成してくれないので(JavaやKotlinはGradleでサクッとコード生成してくれたので楽でした)、そこはデメリットとして感じました。Djangoも対応してくれたら嬉しいですね。

まとめると、パフォーマンスを意識したコードを組む必要があるのと、他言語だと自動生成してくれるコードを手書きとするデメリットはありますが、慣れてしまえば万人受けするPythonでSQLレスな爆速開発ができるという余りあるメリットがあります。ただ、やはり癖が強い。小規模開発向けですね。

次回もDjangoの仕事があれば受けたいですね。

この記事が気に入ったらサポートをしてみませんか?