matobaの備忘録

和歌山と東京を往復しつつ活動するエンジニアの記録

Pythonプロフェッショナルプログラミング第3版の執筆に関わりました。

Pythonプロフェッショナルプログラミング 第3版(略して、PyPro3)の執筆に関わりました。今回は、書籍の紹介、僕の執筆への関わり方、そして、僕が書籍に思うことの話をします。

PyPro3が発売されました

Pythonプロフェッショナルプログラミング第3版

Pythonプロフェッショナルプログラミング第3版

改めまして、株式会社ビープラウドより、Pythonプロフェッショナルプログラミング第3版を2018月6月12日に発売しました。この書籍の改訂に関わらせてもらっています。そして、ありがたいことに、Amazonの『開発技法』カテゴリで売れ筋ランキング1位になったとの事です。

f:id:mtb_beta:20180614185333p:plain

これは何の本?

これは何の本かを、一言で言うと「仕事で使えるPythonによるシステム開発のノウハウ」を学ぶための本です。この本に対する想いや説明は、ビープラウド社長の id:haru860 が記事を書いているので、そちらを読むことをオススメします。

shacho.beproud.jp

『Pythonの文法を知ってる人がPythonを使って仕事でシステムを作ろうとしている』なら、この本が間違いなく役に立つはずです。

何が改訂された?

今回、発売されたのは第3版で、2015年に発売された第2版の改訂になります。『Pythonプロフェッショナルプログラミングは、2版を持ってるから買わなくていいかなー』と思う人もいると思います。そういう方の参考になるのが、id:shimizukawa の記事です。こちらには、第1版、2版と今回発売された第3版の差分が詳しく書いてあります。どこが新しく新設されたのか、どこが消えたのか、などの説明が図でわかりやすく説明されています。第1版、第2版をお持ちの方は、参考になると思います。

www.freia.jp

僕は何をしたのか

で、僕は何をしたかと言うと、僕は主に5章と11章の改訂を担当しました。5章は、課題管理とレビュー。11章は、Ansibleを用いた構成管理の自動化の話です。

この2つの章は、第2版からある章になるので、基本はバージョンアップで文章の加筆は少なめです。文章の変化としては、行間や背景の補足、時代に合わせた説明の変更、補足を追記、文章の入れ替えなどになります。

今回の改訂では僕がPyProから学んだこと、ビープラウドで先輩に教えてもらったこと、ビープラウドの仕事のこと、を後輩に説明することを意識して改訂しています。

もともと僕もPyProの読者だった

僕は、もともとPythonプロフェッショナルプログラミングの読者でした。2014年ごろに第1版を買って、一人で読んでました。当時、僕の周りにPythonを使う人はいませんでしたし、Pythonの話をできる人もいませんでした。周りの人に仕事でPythonを使いたいという話をして、『お前は何を言ってるんだ』などと反応をされたこともあります。

当時、一人で読むPyProは難しくて何を言ってるか理解できない事も多々ありました。そして、それらの疑問を聞ける人は周りにいませんでした。思えば、SNSで何とかなったかもしれないですが、僕は情弱でした。

僕は、DjangoをPyProで知りました。バージョン管理システムがわかってなかったところから、Mercuralを使ってバージョン管理を始めたのもPyProでした。ユニットテストを知ったのもPyPro。最新のWeb開発の手法を学んだのもPyPro。僕はたくさんのことをPyProから学んでました。

そして、今回、自分がいろんな事を学んだPyProの改訂に関わり、自分が教えてもらった事を追記しました。

PyProで勉強する人に向けて

まず、第1版、もしくは第2版を持っていて、これから勉強を進める人は、勉強する前に第3版に買い直すのをオススメします。第2版はPython2系が主流の頃書かれたこともあり情報が古くなっている箇所があります。それに同じ説明をしてるにしても第3版の方が洗練されているからです。第1版や第2版に書いてあった内容のうち、第3版で削除された内容もあります。執筆陣としては、今の時代に適さない、今だとこの方法は選択しない、と判断して削除しています。ですので、PyProで勉強する人は第3版で学びましょう。

PyPro3は、Pythonによるシステム開発の入り口になります。PyProでは、Pythonによるシステム開発の一連の流れが詰め込まれています。また、当然ですが、PyProに書いてあることがPythonで仕事するために必要な全てではないです。ライブラリにしてもフレームワークにしてもPythonにしても、それらを専門とする書籍や公式ドキュメントの方がより詳しいことを学ぶことができます。PyProを学んだ後も勉強することはあります。ただ、Pythonで仕事し始めたときに出てくる疑問にPyProは答えてくれると思います。

PyPro3執筆の最後に

PyPro3に書いてあることは、全てビープラウドでリアルに実践されている方法です。執筆メンバーの中で何度かあった話として、『自分たちが業務でやってることを書こう』と言うのがあります。なぜなら『知ってるけど実際に業務で使ってない』と『知っているし、実際に業務で使っている』には明らかな差があると考えているからです。そして、その差を言語化したのがPyProだと思います。ですので、これから実際に業務でPythonを扱う人にとって、PyPro3は役に立つ書籍になると思います。

Pythonプロフェッショナルプログラミング第3版

Pythonプロフェッショナルプログラミング第3版

余談ですが、ビープラウドでは、Pythonエンジニアを募集しています。

採用情報 | 株式会社ビープラウド

今回は、これで終わります。