技術書典3東京ラビットハウスとして参加して、簡単JavaScript AST入門という本を頒布してきました。

買ってくださった皆さん、立ち寄ってくださった皆さん、協力してくださった皆さん、同人誌を書いている同志の皆さん、そして運営の皆さんに感謝申し上げます。ほんとありがとうございます。技術書典3もとても良いイベントでした。

今回は少しでも皆さんの参考になればと思い、参加レポートを書きました。

どんな本?

ASTというのはコンパイラの内部表現で、ソースコードを扱いやすくしたツリー構造のデータです。他の言語だと利用者には縁の薄いものですが、JavaScriptの世界では「さまざまなウェブブラウザで動作するJavaScript」をはき出すために、ソースをソースに変換するトランスパイルという技術が発展したため、ASTを扱うエコシステムが発達したのでそれを解説した本です。

JSならASTを使ってカジュアルにメタプログラミング(ソースコードを変換)、あるいは解析すら簡単にできるのです。(というよりある程度の解析はツールが勝手にやってくれる)

詳しくは最新試供品 (第三章まで含んだ太っ腹版です) を読んでみてください。要望が多いようでしたら、電子版の頒布も考えます。

リザルト

今回200部(予備込み206)刷って150以上捌けました。(正確な数字は荷物が届いて無くて調べてないんだけど、よく考えると金額の増減で調べられるんだよなぁ…忘れてた)。サークルマイページでの被チェック数は最終105でした (前回は108)。

CloudGarageさんの次のリリースパーティーとかに持ち込んだりする為に今回はわざと少し多めに残してる感じです。なので当日に頒布しようと思ってた数-1は捌くことが出来ました。(あと1部売れてたら、完売と宣言するつもりだったw)

追記: 今数えたら手元には15冊+見本用2冊が残ってます。当日知り合いにあげたり、トレードに使った分差し引くと170部弱売った感じかな。

ちなみに同人誌書いたら、必ず手元に最低一部、出来れば数部残しておきましょう。名刺代わりにとても良い武器になるので、絶対残しておきましょう。

部数について

前回の技術書典2は紙を100部、電子を100用意してました。紙は12時半に完売。そのあとは電子版を頒布してましたが、紙を望む声がものすごく多かったため今回は全部紙にしました。(前回は経験値が少なくて何部売れるかの予想精度が低かったので少なめに印刷していました。)

ちなみにその時の100という根拠ですが、技術書典1に知人のサークルに委託でElectron本を頒布したところ30部出たので、技術書典2では会場の規模の変化や内容をきっちり作り込んだこと、テーマのキャッチー度合いと、場所チート(会場入り口、真っ正面)があったので、100は問題なく完売できるだろうし、電子は低コストだったので売れ残ってもいいや位の感覚でした。

今回の200というのは、前回の経験、宣伝ツイートの食いつき具合、被チェック数の伸び具合、前回のModern JavaScriptや商業版の最新JavaScriptでの経験をつぎ込んでることなどから、少なくとも半分の100は前回と同じかそれ以上のペースで売れるなーという確信がありました。

テーマが多少ニッチではあるので、その後どうなるかの予想がまったくつきませんでした。と言っても、100頒布できればペイはできるようにしてありましたし、最悪余ったらComic ZINさんに委託する気満々でした。

今回はお二人ほど、何回もタイムリープして天候が変わるようにチャレンジしていたようですが、残念ながら何回やっても雨になってしまうらしく、台風という状況で技術書典2よりも来場者が少ない状況でした。そういう意味では保険をかけた状態で良かったです。最初300刷るのも考慮に入れてたんですが、300だとさすがに悲惨な事になってました。晴れてたらワンチャン?

執筆の話

当初の予定では9月中に書き終わるつもりでした。で、10月7日が最終締め切りのつもりでした。色々あって9月と10月初めがほとんどつぶれてしまったので、執筆開始が10/7でした。まぁそれまでに技術調査はある程度済ませてはいたんですけど、それでもまだ技術調査の半分くらいが残ってました。まぁ大まかな全体像は既にもくもく執筆会で考えられてたんですけどね。

日付 進捗
10/7 序章と第一章 (16P)
10/8 23P
10/10 37P
10/12 54P+表紙
10/13 73P
10/15 71P ここまではTODO残しまくりの雑なライティング
10/18 レイアウト修正や校正などが完了して入稿

10/15までは、がーーーーっと一気に書いて、そこからブラッシュアップしてました。

これは性質が違うものだからタイムスパンは違うけど、ぼくも考え方は全く同じで、まずがーっっと量を書く。書いて書いて書く。修正は後からじっくり。特に一端離れてから見直すと見通し良くなる。本を書くときの重要テクニックです。(本に限らない)

レビューア&校正

思いつきでレビューアを募集したところ応募をいただけまして、5人の方の応募がありました。

あかめさんは特に実際にBabelを触ってる人だったので、その方面でのご指摘を多くいただきました。あとの方はASTについて詳しくない視点での指摘で、どちらもすごく助かりました。レビューのおかげで本の出来が圧倒的に良くなりました。

10/17のもくもく執筆会☆出張版 REV.3 @ 東京秋葉原 〜技術系同人誌/商業誌・発表資料・ブログ〜では、いつもお世話になってるImpress R&Dの山城さん直々に校正をしていただけて完成です。

誰かにレビューしてもらうのはかなり有効ですね!

締め切り駆動執筆

もともと僕は何かやり出したらそればっかりというタイプかつ、0->1(スクラッチ)に特化しすぎてる人間というのがかみ合って、締め切り駆動執筆がうまく成功しました。ただ、このモードはうまくハマっただけなので、うまくハマらなかったら原稿を落とす可能性もありました。でも、前回までの経験と、事前の技術調査などから、まぁ落とす事はないだろうなという直感的な確信はありました。

ちなみにこのモード、せいぜい一週間が限度ですね。それ以上は何か削っちゃいけない領域の何かを削る感覚がありましたw。

フリーという名の半ニートなので執筆に集中できるんですが、気分転換にインク塗り遊びやラノベを堪能していたのでいちおう人間的な生活は最低限維持出来ていました。

反省点

ほんとはもっと書きたいことありました。もっとリファレンスとして強化したり、もっともっと深掘りしたり。まぁそこらへんを突き詰めたヤツがきっと年内には出せると思います。

次こそはもう少しでも余裕のある執筆スケジュールにしたいです!!!!!

ノウハウの話

技術書同人誌を書きましょう! - Qiitaでも書きましたが、早めに一冊の本を書き上げましょう。

  • 印刷できるPDFをとにかく一番早く作っておく (印刷までのフローを体験する)
  • 表紙はなるべく早めに作る

これをやっておかないと、土壇場になって「あれ?フォント埋め込みって何?本のサイズってA5?B5?そしてそれは何cmで何ピクセル?」みたいなところにめちゃくちゃ困る事になります。なので、これらの作業は最低でも締め切り一週間前には終わらせましょう。初挑戦の人は、「むしろ一番最初にやれ」です。

タイトルの付け方

技術書典2で頒布したModern JavaScriptですが、編集者の山城さんに「その名前だとわかりにくい」と言われました。「モダン」が何を指すかが人によって違うのとフックが無い点が問題です。

タイトルはフックが重要です。ターゲットは誰なのか。どういう人の心の琴線に響くのか。タイトルだけでダメなら帯を付けて補足を書く、ポップにでかでかと書く、呼び込みを頑張る、などなど必要です。

また表紙についても絵が綺麗なら売れるのはコミケの話です。技術書典は技術書を求めて来ているので絵が綺麗だったり可愛かったりするのは、そこまで優先順位高くありません。むしろその本にどういう情熱を注いでるのか、どういう人に読んで欲しいのかというメッセージ性の方が重要だと思います。

ぱっと見て「何の本」なのか。「どういうサークルなのか」をいかにして理解してもらうかです。

準備物

  • テーブルクロス
  • ポスタースタンド
  • ポスタースタンドの重し
  • ブックスタンド
  • 付箋
  • ボールペン
  • マッキー
  • はさみ
  • ガムテープ
  • マスキングテープ (養生テープ)
  • クリアファイル
  • お金取り扱う袋
  • 名札 (ステッカーで?)
  • ポップ
  • 既刊の見本誌
  • ゴミ袋 (ゴミの量によってはコンビニ袋でOK)

この中でガムテープだけ忘れてて、熊谷さんにお借りしました。(その節はありがとうございました)

本を一冊書き上げるという経験

単著で一冊本を書き上げるというのは、おそらく未経験者の人が考えるよりも遙かに大きなパラダイムシフトになります。実際に編集者の人の認識でも、一冊本を書き上げた人というのは最低限の必要条件だそうです。(書き上げてない人、構想だけの人はスタート地点に立てていません)

僕は最初のElectron本(電子のみ)と次のModern JavaScript(紙に印刷した)で積んだ経験値というのはかなり大きな自己資産だと感じています。もちろんその後の商業版や今回のAST本もそうなんですが。

プログラミングだけをするのと、ブログにそのノウハウをまとめて記事にするというのは違うものだというのは多くの人が知っていると思います。本を一冊書くという経験はとても大きなもので、しかも同人誌なら誰でも参加できるのです。サークルとして受からなくても、知り合いに委託したりできるでしょう。

アウトプットのメリット 僕が技術同人誌執筆をお勧めする理由

執筆会を活用しましょう

どんなに経験を積んでもわからない事なんてよくあるのです。ましや経験値の低い人はわからない事だらけです (僕もそうでした)。ならば執筆会に参加しましょう。相談できる人が大量にいるというとても希有な場です。

この二系統が、執筆会としては有名なところですがどちらも良い会です。

もくもく執筆会の方は、別に同人誌や商業誌を書くだけじゃありません。ブログやLTの発表資料だけ作ってても良いのです。ブログを書きながら同人誌について、相談をするというは、いいスタート地点ではないでしょうか。しかも、編集者の人、同人誌・商業誌を書いてる人が何人も参加しているので相談し放題ですよ!

次回は横浜で11/23ですが、もくもく執筆会 REV.4 @ 横浜 〜技術系同人誌/商業誌・発表資料・ブログ〜 - connpassで、アトラシアンさんのイベントスペースをお借りして開催されます。是非参加してみましょう!

技術書典というイベントの性質を理解する

技術書典は「技術書を目的にした」人のオンリーイベントです。コミケや超技術書典はそれ以外の人も来場しますが、少なくとも技術書典はそれ以外の人はまず来ません。コミケとは完全に戦い方が違うものです。

次回

次回はたかしすきー@10/22 技典3 か04 @takashiskiさんと合同参加になると思います。彼の相方が参加しなくなってソロだとつらいなーという話だったので。僕としてもワンオペじゃなくなるととてもありがたいのです!

僕の考え方と極端にコンフリクトしない方でしたら,合同誌や、むしろ東京ラビットハウスとして本を出したいという奇特な人いましたら、是非@erukitiまでお声がけください。東京ラビットハウスって、僕が同人誌を出すためのプレースホルダーみたいなサークルなんですが、仲間いたらうれしいなーと思ってたりします!

ちなみに次の本はまだ未定です。フレンズと学ぶモナド本書きたい気持ちも少し残ってます。ただまぁおそらく次回もJavaScript/TypeScript (あるいはFlow)にまつわる何かだと思います。もしかしたら「他の言語利用者向けのJS手引き」とか書いてるかもしれませんね!

技術季報のJavaScript特化みたいな本を定期的に出したい気持ちも少しあります。JSはほんといい子なんです!