PythonでWebアプリケーションをよく作るマンです.
来週(7/19)に発売となる, 「実践Django Pythonによる本格Webアプリケーション開発」の書籍レビューに参加させていただきかつ, 執筆者の@c_bata_さん, 出版元の翔泳社様のご厚意により一冊いただきました.
芝田さん, 翔泳社の皆様ありがとうございました🙇♂️
原稿の査読・レビューで読ませてもらったり(コメントさせてもらったり), こうして届いた初版を改めて読んで,
Djangoをやる方はもちろん, Djangoを抜きにしてもWebアプリケーション開発をされる方にめちゃくちゃオススメしたい!
と思いました, レビューさせてもらったときからすごく良かったんですよ, それぐらい興奮しました*1.
このエントリーでは,
という話をしたいと思います.
「実践Django Pythonによる本格Webアプリケーション開発」はDjangoに限らず, Web開発で網羅的に使えるノウハウ・考え方が詰まった良著です.
本の紹介・自分の感想を軽く踏まえつつ, 想定読者別のオススメな読み方を紹介します.
翔泳社の紹介サイトによると,
本書は、業務で必ず役に立つ実践的なDjangoの解説書です。
モデルやビュー、テンプレートといった基本コンポーネントの解説はもちろん、Djangoの実践的なテストテクニック、ユーザーモデルのカスタマイズ方法、認証処理のベストプラクティスなど、Web開発において必ず知っておくべき内容を幅広く取り上げました。
また実際に業務でWebアプリケーション開発に取り組む際には、これらの理解だけでは不十分なこともしばしばあります。
N+1問題の理解や対策方法、RDBのインデックスチューニングによるSQLの最適化、Web APIの実践的なページネーションの実装方法、CSRFやSQLインジェクションのような攻撃を防ぐためのセキュリティに関する知識など、高度かつ重要なトピックをDjangoのコントリビュート経験もある筆者が分かりやすく解説します。
ホントこの通りで, Pythonを代表するWeb Framework「Django」に関する書籍で, Webアプリケーションを開発する方向けの本です.
昨今はPythonでの仕事やWebアプリ開発の機会増えてるなと思いますが, その中でもよく使われるDjangoに特化した本であるととともに,
を網羅的かつ, ちょうどよいボリュームで扱っており,Djangoに関係なくWebアプリケーション開発者にオススメしたい書籍です.
全てのWebアプリケーション開発者!...と言っちゃうのは流石に雑すぎるので, ちょこっと体系的にまとめてみました.
「Pythonの読み書きがほどほど出来て, 何かしらのFrameworkでWebアプリケーションを作っている」が前提としてありつつ,
で分かれそうだなと思ってこの区分にしてみました.
Djangoを触ったこと無いもしくは, Webアプリケーション開発そのものが初心者という方が該当するかなと.
おそらくこの辺のフェーズの方々は,
あたりが関心事かなと思います.
自分のオススメとしては,
で必要な事は覚えられそうな気がします.
公式のチュートリアル*2じゃなくて, オリジナルなアプリケーション(この場合は実践Djangoのサンプル)を作ることで,
が覚えられるので良いと思います.
また, すでにDjango以外でWebアプリケーション開発に慣れている方は知っているFrameworkや開発手法と比較しながら覚えるでいいと思います.
Djangoを使ったWebアプリケーション開発の経験がある方, となります.
この辺になると,
などなど, 書籍のタイトル通り実践的な内容が気になる感じだと思います.
これも自分のオススメとしては,
といった使い方がいいのかなと思います.
自分が「実践Djangoすばらっ」ってなったのがまさにこの辺でして, ORMとかクラスベースのビューとか静的ファイルの配置・パス通しあたりはいつも忘れるので, そんな時に頼りにできる!!と思ったりしました(し実際そういう使い方できそうです).
Djangoの本は何冊か読ませてもらいましたが, 実践的なTipsや求めているものの探しやすさは自分が過去読んだ書籍の中でもナンバーワンかもです.
以上が「実践Django」の感想ですが, せっかくなので自分が考えている・思っている「プロとして学ぶ・実践すべきWebアプリケーション開発」もちょこっと触れたいと思います.
上げればたくさんあるのですが, 敢えて2つに絞ると
この2つかなと思います.
「どうやったら一人前にエンジニアできますか?」
「Pythonでご飯食べたいのですがどうすれば」
と聞かれる機会まあまあありますが, どっちもプロとして給料もらって開発者になるという意味なら,
仕事でも個人開発でもなんでもいいので経験を積め
と答えるようにしています.
Hello worldとかチュートリアルをちょこっとやるんじゃなくて, アルバイト的に仕事をするでも自分の企画を形にするでもいいのでひとまず何か作ってみようと.
先程の感想で「Django触ってない方は, ひとまず「Ch. 1 コードスニペット共有サイトの開発」を読んで写経する」とオススメしたのもこの「経験値を積む」タスクの入り口としていいなと思ったからです, コードスニペット共有サイトの難易度はちょうどよいと思います.
ちょこっと仕事でWebアプリケーション作ったり, 何かの機会で新規プロダクト・サービス立ち上げの機会ができると,
みたいな話で盛り上がると思います. 自分を含めこの話題好きな人多いですよね???
プロとしてこの辺を選ぶ時*5は,
など, 考えることがいっぱいあります.
ここにはプラクティスは無い*7と私は思っていて(なぜならその時々の状況で判断・決断の条件が違うからです), 結局の所
手段を提案・主体的におすすめするなら覚悟を持って進めような(勧めような)!!!
かなと思っています.
個人的には,
ようにしています.
Djangoを選択した場合は実践Djangoを参考にするとして, 他の言語・Frameworkのときもいい感じにできるように学べるといいのかなと思います.
というわけで, 「実践Django Pythonによる本格Webアプリケーション開発」の紹介とちょっとした雑談でした.
本当に素晴らしい書籍なので, PythonとくにDjangoで仕事をする機会がありましたら手に取ると良いかなと思います.
個人的にはまたDjangoで新しいプロダクト開発したいと思っております!*8
*1:レビューしながら, 「そうだよ!そこが大事なのよ!!」とか家で一人声を出しながら食い気味に読ませていただきました苦笑. 発売前に原稿が読めて幸せでした(感謝)
*2:Djangoそのもののチュートリアルの他,Django Girlsのチュートリアルなんかも有名ですね.
*3:Ch.1の内容が「少しずつ作りながら動かす」が一貫してやれていて, ホントに良い構成です.
*4:個人で開発する時は別にいいのですが, 複数人のチーム開発ではマストな考え方・ノウハウで, プロとしてメシを食うときは必ずといっていいほど問われる内容となります.
*5:個人プロダクトなどで制約がない時はこの限りでは有りません
*6:扱い方次第ですが, 減価償却が決まってるものなら理解できると思います(資産計上って意味で)
*7:探しがちになりますが, 無いと思ったほうがスッキリしますしその都度考える・悩むほうが結果的にいい感じになると自分の経験上でもそう思ってます.
*8:弊社(JX通信社)でDjangoはよく使ってるのですが, 私コントリビュートできてないんですよね...実は本格的なDjangoアプリ開発から2年くらい遠ざかってます苦笑
引用をストックしました
引用するにはまずログインしてください
引用をストックできませんでした。再度お試しください
限定公開記事のため引用できません。