Archive

Software Design 2022年1月号第2特集へ寄稿しました。

SNS上ではすでに告知していたことですが、Software Design 2022年1月号第2特集の「Pythonで自動化スクリプトシェルスクリプトもいいけどPythonもね」の第3章を寄稿しました。

きっかけ

今回、技術評論社の担当の方から私が過去(本当に結構前)に公開していたイベントの登壇資料を確認いただいて連絡を頂いたのがきっかけです。アウトプットしておくとどういう縁があるか本当にわからないですね。

お話を頂いたのが10月中旬ころで、実はこのとき「スラスラわかるPython 第2版」の出版間近で最後の追い込みがようやく落ち着くかどうかの段階だったため引き受けるかどうかはかなり悩みました。ただ、求められている内容がおそらく過去に公開していたスライドで扱う領域であろうことが読み取れたことと、書籍執筆のテンションが残っている状況であれば雑誌8ページ程度の量ならなんとかできそうだという結論になり引き受けることにしました。10月から11月にかけてプライベートの予定もかなり詰まっていたので、最初から締め切りを1週間伸ばしていただく形ではありましたが。

内容

私の担当した第3章「Web APIの活用」の内容は「インフラ、SRE、運用など自動化を担う人」「シェルスクリプトなどを書く機会の多い人」「個人の雑務の自動化に取り組みたい人」に向けたPython で Web API を扱うための基礎です。これは企画の対象読者から、普段必ずしもコードを書くことがメインの仕事ではない方が自動化の最初の一歩を踏み出すサポートとなる内容がいいなと考え、Web APIの利用ケースに特化した基本的な内容にしました。サンプルとして紹介するスクリプトも極力環境依存のないものを標準としたほうがよいと考え、メインストリームの話としては標準ライブラリのみを使うことを前提とし、PyPI経由でインストールが必要なライブラリの扱いはコラムとして、こういう手段もあるという紹介にとどめています。

シェルスクリプトとの比較やエラー処理のあたりはもう少し丁寧に扱い、最後のサンプルプログラムも最終的に Slack 通知をやるところまでは扱いたかったのが正直なところです。ただ、8ページという制約は実際に書いてみるとかなり盛り込める内容が限られてしまったため「この章でこれだけ押さえておけば、業務で利用しているサービスのWeb APIを使ったスクリプトを最低限書き始められる」内容に絞り込みました。

そのため、もちろん執筆者が違うというのもあるのですが第1章、2章とはだいぶテイストの違う内容になっています。(私が執筆している段階では1章、2章の内容はわからなかったのですが、見本誌で初めて拝見させていただきました。第2章で紹介されている logging まわりの話は意外と書籍ではなかなか見かけない内容なのでとても興味深く読ませていただきました。)

執筆話

先月terrapyon_channelにゲストで呼んでいただいた回 でも少し話しましたが、今回の執筆は Google Docs + Code Blocks + textlint:文章チェッカー の組み合わせで行いました。これはかなりいい意味で予想外に執筆体験が良かったです。

Google Docs の場合は基本的な文章作成は当然問題なくできますし、自動で保存されるので安心感もありました。サンプルコードの記載に関しても Code Blocks のおかげで全く問題なく記述もでき、 textlint:文章チェッカー で最低限の校正を行いながら作業できました。ブラウザを起動するだけで執筆を開始できたのも大きく、少し時間が空いたタイミングですべての執筆環境がすぐに整い書き始められました。正直なところ、下手に Markdown(restructuredtext, asciidoc) + git な環境でやるよりもとても快適でスピードを上げて執筆できたと思います。

コラボレーションに関してもバッチリで、Google アカウントを持っている人であれば誰でも招集でき、インラインコメントを通じて原稿の内容に関する議論もそのままできます。そのため書きはじめの段階で担当者の方をコメント可能な閲覧権限で招待し、最初のアウトラインの書き出し段階からチェックしていただくことができました。また、流石に雑誌の記事に乗せる文章を第三者レビュー無しでいくのは個人的に怖すぎたので pyhack 経由の知り合いのみなさま(@terapyon @takanory @kashew_nuts @soogie )や会社の同僚の @takapy0210 へ原稿内容のレビューをお願いしたのですが、google docs のリンクを渡すだけで始められたのでかなりスムーズに行えたと思います。(丁寧なレビュー、本当にありがとうございました)

もちろん提出に関してもそのままお渡しすればOKだったので、トータルの執筆体験としてはかなり良かったです。

雑感

今回、今までは基本的に読む側だった Software Design へ寄稿することができ、少しはこれまでの恩返しができたなかという気持ちになれました。お声がけくださった技術評論社Yさま、本当にありがとうございました。

https://imgur.com/pCpJ0OB.png