2018/10/09(火)技術書典5で『ほぼPythonだけでサーバーレスアプリをつくろう』を頒布しました

2018/10/09 24:11

昨日、池袋で行われた技術書典5にサークル参加しました。技術書典は秋葉原で行われた第1回から参加していますが、サークル側で参加したのは今回が初めてです。次回以降、初めてサークル参加される方の参考になることもあるかもしれませんので、簡単に振り返ってみたいと思います。

本のテーマ

去年の夏ごろ、joeくんと組んでいるプライベートプロジェクトのThunder Clawで同人誌を出したい、ということになりました。Python → へび → へびつかい座 → シャイナさん → サンダークローという経緯で名前が決まったサークルなので、題材にする言語はPythonで即決です。

ちょうどそのころ、ChaliceというAWS向けマイクロフレームワークのGA版がリリースされました。いいタイミングなので、このChaliceを題材にしようということになりました。フロントエンドはTranscryptというaltJSがあるらしく、使ってみると実用に耐えるレベルで変換してくれました。また、Java製のSeleniumラッパーであるSelenideのファンである我々は、ほぼ同インターフェイスを持つPython製のラッパーSeleneをテスト編で取り扱うことも決めました。

そして申し込んだコミックマーケット93は落選。そして、満を持して申し込んだ技術書典4にも落選。原稿そのものは少しずつ進めましたが、日が経つにつれて主要なテーマが少しずつ変化していきました。最終的に、技術書典5で出した本の大きなテーマは以下の3つです。

  • Transcryptはいいぞ
  • Seleneはいいぞ
  • 実装とテストは開発の両輪である

乱暴な言い方をしてしまえば、サーバーレスはテーマを届ける手段であって執筆の目的ではなくなりました。というより、GA版からだいぶ時間が立ってしまったので、Chaliceを軸にすることができなくなった、とも言えます。

一方、Transcryptは相変わらずマイナーなパッケージで、まだこれをゴリ押しすることは可能だと判断しました。Seleneについても同様です。

Transcrypt怒涛のアップデート

会場が広くなって参加サークル数も増えた技術書典5には無事当選し、本を出せることになりました。前々から書き進めていたので、締め切りに苦しんだりすることはないだろう、そう思っていたのですが……。

Pythonもくもく自習室PyCon JP 2018でもネタにしたのですが、8月29日時点でアルファ版だったTranscrypt3.7が、30日と31日に4回のリリースを行い、一気にRC版、GA版をリリースしました。

これが後方互換性を保つバージョンアップであればよかったのですが、生成されるJavaScriptファイルの形式がまったく別物になってしまったため、Transcryptについて取り扱った5章はほぼ丸ごと書き換える羽目になりました。また、テスト編についても、Seleneを扱った第10章で大きな打撃を受けました。

もちろん、原稿だけであればなんとかなったでしょう。しかし、私は9月18日にPyCon JP 2018でTranscyptについて発表する予定でした。こちらのダメージのほうが深刻で、スライドの3分の2は書き直し、それも動作検証から行わなければいけません。そのため、原稿自体が2週間ほど滞ることになりました。

結局、本が出せたことからもわかるように締め切りには間に合ったのですが、当初は20%オフの入稿も検討していながら、最終的には通常入稿の締め切りギリギリになってしまいました。

はじめてのオフセット印刷

私とjoeくんはコミックマーケット79にサークル参加したことがありますが、当時の本はコピー紙でしたし、実際の作業もほとんどおぎたさんに任せっきりでした。

今回はページ数も多いですし、ちゃんと印刷所に頼もうということになりましたが、ホームページを見てもイマイチよくわかりません。悩むくらいなら聞いてしまえということで、御茶ノ水の日光企画さんに相談に行きました。

「何も知らないので教えてください」というスタンスでいろいろ聞きましたが、1時間以上かけて親切丁寧に教えてくださいました。初めて印刷所に頼む方は、絶対に話を聞きに行ったほうがいいです。我々はプログラミングのことは詳しいかもしれませんが、印刷に関してはほとんどの人が素人なのですから。

また、先方も快く教えてくれます。事前にいろいろなことを明確にしておけば、我々の手間も省けますが、先方の無駄な作業を減らすことにも繋がります。遠慮してあとから迷惑をかけるくらいであれば、余裕があるうちにわからないことは明確にしておきましょう。

また、日光企画さんは当日も設営中に印刷物の不備がないか確認に来てくださって、とても安心感がありました。ありがとうございました。次回も日光企画さんのお世話になろうと思います。

当日の設営

これは言葉では難しいので写真を貼ります。

20181009-01.jpg

事前に準備したのは次のようなものでした。

  • 松井稼頭央レプリカユニフォーム(ホーム)
  • 松井稼頭央レプリカユニフォーム(ビジター)
  • あの布
  • 見本誌用イーゼル
  • 見本誌用ブックカバー
  • 見本誌用ラベル
  • お手製ポスタースタンド
  • 値札
  • 値札ホルダー
  • かんたん後払い用QRコード
  • スケッチブック
  • メモ帳
  • 筆記用具
  • 売上金を入れるホルダー
  • ハサミ
  • カッター
  • ガムテープ
  • らいにょん

ライオンズファン二人のサークルということで、先日引退を発表した稼頭央さんのユニフォームを着ました。先行のアプリエンジニアがビジター、後攻のQAエンジニアがホームです。

ポスタースタンドを机の上に置いたのは失敗だったかもしれません。落ち着いてきてからは、ポスターの後ろでお昼を食べたりできましたが、ピーク時に2人同時に前に出られなかったので、列をさばくスピードが少し落ちてしまいました。

なお、上の写真のどこかにらいにょんくんはいます。見つかりますか?

頒布冊数と被チェック数

13時ちょっと前に紙で用意した200部が完売しました。1分1冊よりも速いペースで売れ続けることは完全に想定外で、スペースまで来てくださったのに買えなかった方には申し訳ないです。

その後も17時の閉会まで電子版の頒布を続けましたが、売れたのは70部ほど。それまでのペースを考えれば半分どころのペースではありません。もちろん、序盤は人の多い時間帯だったということもあるのでしょうが、やはり紙の本を求める人が多かったということでしょう。紙はないのか、再版の予定はないか何度も聞かれましたし、そのたびに謝ることになってしまいました。

紙の在庫があればおそらく300部はさばけたでしょうし、400部刷ったとしても、完売は無理でも大惨事にはなっていなかったと思います。とはいえ、200部というのもかなり冒険したつもりだったので、これ以上刷るという選択肢はありませんでした。このあたりは経験を積んでいくしかないのでしょうね……。

最終的な被チェック数は231ということで、紙の本の部数よりも被チェック数が上回りました。被チェック数はあくまでも「チェックしてくれた」数なので、それだけの人が買ってくれるとは限りませんし、また、逆にそれだけの数があれば十分とも限りません。今回に関していえば、チェックしていないのに買ってくれた人が多かったのかなという印象です。

ただ、うちのサークルについては少し特殊な事情もありました。

まず、joeくんのブログ記事がバズったこと。もともとはわかめさんがブログ更新ツイートをリツイートしてくれたのが始まりだったんじゃないかと思っているのですが、それがはてぶのブックマーク数56につながり、スマートニュースからの流入もあったそうで、かなりの人に知ってもらうことができたと思っています。

また、joeくんがTest Engineers Meetupの登壇時、私がPyCon JP 2018の登壇時にそれぞれ冒頭に宣伝を挟み込みました。しかも、私の登壇はテーマがTranscryptなので興味を持ってもらいやすい状況でしたし、セッションの動画はYouTubeでも公開されています。私のセッションを聞いてきたという方も何人かいらっしゃったので、宣伝効果は高かったのではないかと思います。

もちろん、宣伝のために登壇するようでは本末転倒ですが、たまたまいい機会をいただけたのが頒布数にもつながったのではないかと思っています。

今後の予定と宣伝

コミックマーケット95に申し込んでいます。当選した場合は、合作ではなくjoeくんと私それぞれで薄い本を1冊ずつ出す予定です。さすがに140ページ級をほいほい出せるほど筆は軽くありませんので。

もちろん、来年春に行われるであろう技術書典6にも申し込むつもりです。こちらはまたアプリエンジニアとQAエンジニアという組み合わせならではの本が書ければいいなと思っています。

最後に一つ宣伝です。今回頒布した『ほぼPythonだけでサーバーレスアプリをつくろう』の電子版をBOOTHで販売しています。会場に来られなかった皆さん、来たけれどうちのスペースに気づかなかった皆さん、現地ではスルーしたけどやっぱり欲しくなった皆さん、もしよろしければどうぞ。よろしくお願いします。

ほぼPythonだけでサーバーレスアプリをつくろう - Thunder Claw - BOOTH(同人誌通販・ダウンロード)