あとがき

近年、ソフトウェア開発を行う上で、ウェブの技術や知識を必要とする分野が増えています。本屋に並ぶプログラミング技術の書籍の多くはウェブサービスの開発をターゲットとしていますし、GUIのアプリケーションであっても、外部サービスを利用することも増えています。IoTなど、組み込み機器であってもインターネットに繋がることが増えています。

筆者がウェブに関係するコードを書くようになったのはPythonのウェブプラットフォームのZope2からで、その後Turbo GearsやTornado、Djangoなどのフレームワークに頼ってウェブサービスを作っていました。当初はプロトコルなどのレイヤーのことは気に留めずに、リファレンスを見て「フレームワークの使い方を調べる」ことが中心でしたし、他のサービスを使う時もPythonなど向けに提供されているSDKをインストールして使うことでなんとかしていました。何かこったことをしたくなってHTTPの関係することをしたい時は、その都度インターネットを調べる程度でした。

本書を書く直接のきっかけとなったのは、Google Chromeの開発者ツールの「Copy as cURL」という機能を見たことです。ブラウザがサーバーにファイルを取得しにいく時のHTTPアクセスを、curlコマンドの引数としてクリップボードにコピーする機能です。Chromeのこの機能を使えばユーザーがブラウザで行ったサービス利用の操作を元に自由にリプレイできるようになります。このコマンドからソースコードが生成できれば、非プログラマの間で一番普及していると思われるプログラミングの入門環境である、Excelの「ユーザの行動を記録してマクロ言語にする」仕組みがウェブでも実現できるのではと思い、cURL ...