2019/08/26(月)『ほぼPythonだけでサーバーレスアプリをつくろう』が出版されます
8月30日、私とjoeくんにとって初めての商業誌『ほぼPythonだけでサーバーレスアプリをつくろう』が発売されます。
Kindle版
プリントオンデマンド版
この本は技術書典5で頒布した同名の同人誌を底本にしたものです。もっとも、商業版の出版にあたって原形をとどめないくらい文章に手を入れているので、変わっていないのはタイトルとジョン湿地王先生の表紙イラストくらいのものなのですが。
この本はインプレスR&DさんのNextPublishingという仕組みで出版されているので、普通の本屋さんの店頭に並ぶことはありません。興味を持たれた方は販売サイトでご購入いただければ幸いです。
対象読者
この本は次のような方を読者と想定して書かれています。
何らかの言語でのプログラミング経験がある
「ほぼPython」を銘打ってはいますが、Python言語そのものの解説は行いませんので、Pythonの基本的な文法を理解している、もしくは他言語の経験があって自力で調べられる(なるべく注釈で公式ドキュメントのURLを記載するようにしています)ことが望ましいです。プログラミング自体が初めての方は少し難しいかもしれません。
Amazon Web Servicesを利用したサーバーレスアプリの開発に興味がある
1章~6章の実装編は、今いろいろな意味で熱いAWSにロックインされた内容になっています。ご了承ください。
Webアプリに対してのテスト手法に興味がある
7章~12章のテスト編は、サーバーレスアプリに限らず、Webアプリ全般に通じる内容になっています。QAエンジニアのjoeくんの担当パートですが、この部分はむしろアプリエンジニアの方にこそ読んでもらいたいと思っています。
本書のテーマ
この本は次のようなテーマで書かれています。これは同人版から変わらないスタンスです。
Pythonは機械学習やデータサイエンス専門の言語ではない
「Pythonが好きです」と言うと「機械学習をやられるんですか?」と聞かれることが増えました。この本には「そうじゃないんだ……」という思いが込められれています。
同人版のポスターには「Pythonは機械学習だけじゃないんだよ」と大きく書きました。商業版の表紙にも「Pythonは機械学習だけじゃない!」と入れていただきました。この本でPythonのさまざまな可能性を知っていただければ嬉しいです。
ちゃんと実装してちゃんとテストしようぜ!
実装とテストはどちらも大切なものです。人によってメインで扱う専門が異なるにせよ、ITエンジニアリングに関わるのであれば、どちらのことも知ってもらいたいと思っています。この本でアプリエンジニアにはテストのことを、QAエンジニアの方には実装の雰囲気を知ってもらえると嬉しいです。
同人版との違い
文章を全面的に書き直したため、内容にも同人版との差異があります。
Pipenvからvenvに移行した
同人版ではPipenvを採用していました。pipenv runコマンドを使えば、MacやLinuxとWindowsのコマンドの差異を吸収できると考えたからです。
とはいえ、それ以上のメリットも感じられなかったため、商業版は標準機能で提供されているvenvを採用しました。Windowsをお使いの方はコマンドを読み換える必要が出てきますが、それもactivate、deactivateくらいのものだと思います(ただし、本の中では仮想環境でLinuxを入れることを推奨しています)。
また、同人版ではすべて一つの仮想環境で開発を進めましたが、商業版では以下のそれぞれで仮想環境を分けています。
- バックエンド(およびユニットテスト)用
- フロントエンド用
- APIテスト用
- UIテスト用
CodePiplineを利用したCI/CDの章を書き下ろした
6章を頑張って書き下ろしました。バックエンド、フロントエンドともに、本のとおりに作業をすればAWS上でCIを回すことができます。
雰囲気でpytestをやるのをやめた
昨年出版された『テスト駆動Python』という素晴らしい本があるのですが、同人版の頒布後にこの本を読んで、「俺たちは雰囲気でpytestをやっている」ことを思い知らされました。正しい知識を学び直したことにより、テストコードの書き方はずいぶん改善されたと思います。
サポートサイトを用意した
サンプルアプリの全コードを提供するGitHubリポジトリを用意しました……じゃなくて用意しています……。間に合うかな……。
なお、テスト編では紙幅の都合で一部のコードを省略していますが、実装編に関しては全てのコードが本の中に書かれているので、とことん写経派の方も安心です。
パロディネタをほぼ全面的に削除した
この本には最初から忍殺ネタはなかった。いいね?
大事なお知らせ
BOOTHの同人版は8月29日で販売を終了します。すでに購入された方の再ダウンロードはできるようにしたいと思っていますが、できるのかな……。詳しい方がいらっしゃったら教えてください。