【技術書典5】執筆から入稿までをちょっとまとめておく
長かったーーーーー。
無事、入稿が終わって 10/08 には物理本を頒布できます。
入稿完了したあああああ🎉 当日頒布できます!💪
— at_grandpa@技術書典5-け33 (@at_grandpa) 2018年10月2日
前回の「におうコードの問題集」(84ページ/1000円)から大幅パワーアップして、今回は倍の160ページ/1500円です!新刊&既刊の同時購入の方は2000円です。全てPDF付きです。
長かった〜〜😂当日お待ちしています!https://t.co/PsjvKWvfbJ #技術書典 pic.twitter.com/3lgVfSTylR
台風25号さんには来場をご遠慮願いたいです。(来たら来たで「やっぱり技術書典だな」となりますが)
目次
頒布情報
新刊と既刊、合計2種類を頒布します。
- 【新刊】「におうコードの問題集 〜セキュリティホールに立ち向かう編〜」
- 160ページ
- 1,500円
- 緑色表紙
- 【既刊(技術書典4)】「におうコードの問題集 〜バリエーションに立ち向かう編〜」
- 84ページ
- 1,000円
- 青色表紙
- 新刊&既刊の同時購入
- 2,000円
詳しくは下記リンクからどうぞ。目次と簡単な内容を載せています。
新刊は「より問題集っぽく」しました。 前回に引き続き、 @mamerimochi さんが描いてくれたキャラクターがかわいくて、書いてて楽しかったです。
締切駆動開発
自分の中で、技術書典のテーマは「しっかり理解しておくべきだが曖昧な知識」から選んでいます。
技術書典で本を出すということは、「人に説明できるレベルまで理解した上で言語化してアウトプットする」をしなければならず、しかもそれを「絶対的な締切までに行う」ということを実現しなければなりません。これはある意味では強制的に勉強できる環境であり、効果は大きいと思います。とはいえ、興味のない分野を選んでしまうとそれはそれで地獄なので、絶妙なテーマを選ぶようにしています。
それが今回は「セキュリティ」でした。 下手なことを書くとマサカリが飛びまくる分野ですが、そうやって萎縮しているといつまで経っても身につかないので、思い切って書きました。もし購入された方で指摘点がある方は、下記のリポジトリに是非issueを立ててください。
修正した場合は、電子版への反映とブログでの告知をしようと考えています。
こうして締切駆動開発を行うと、いままで曖昧だった知識がパッと明るくなり、さらに興味が出てくるという好循環になっています。そういう意味でも技術書典はいいなぁと思っています。
Re:VIEW+CSS組版
詳しいことは下記の記事を御覧ください。
この記事の環境で最後まで書ききったので、率直な感想と試行錯誤の結果を書きます。
- CSSで組版できるのは嬉しい
- 「全部いい感じ」ではない
- どうやって「いい感じ」にしたか
- 出力された html を ruby + nokogiri に通す
- このフィルタで無理やり解決
- nokogiri神...!
- 上記の問題は全て解決した
- 出力された html を ruby + nokogiri に通す
- vivliostyle + puppeteer
- dockerでvivliostyleサーバー立てて、puppeteerコンテナからアクセスしてPDF出力
- 100ページあたり超えてくると、全部レンダリングする前にPDF出力してしまう問題
- puppeteerの
page.waitForSelector()
とかいろいろ試したがなかなかうまくいかない- 「DOMが構築されるまで待つ」とかはできるが、CSSの
counter()
の処理を待つってできない? - 結局よくわからず、sleep入れて解決
- 「DOMが構築されるまで待つ」とかはできるが、CSSの
- puppeteerの
- もっと早く出力してほしい
- 上記のsleep合わせて、2分くらいかかる
- 先日の自分「入稿は明日昼12:00だぞ!!2分長い!!」(全部自分のせい)
- 上記のsleep合わせて、2分くらいかかる
- vivliostyle-viewer と PDF 出力結果が異なる
- vivliostyle-viewer側のデザインが崩れる
- フォントの問題もありそう
- pdf出力に必要なフォントは dockerイメージ内にインストールしているが、ローカルにはなかったりする
- 入れればうまくいったのかなぁ
- 闇が深そうだったので手を付けなかった
- 詳しい原因は特定しておらず
- pdf出力に必要なフォントは dockerイメージ内にインストールしているが、ローカルにはなかったりする
- 結局、修正してはPDF出力し(2分待つ)、また修正 ... という地獄
- ここはなんとかしたい
- もっと早く試行錯誤すればよかった
- 毎回言ってる
- 上記のようなことがあったので
- 終盤、PDFがうまく出力されないのは精神衛生上良くない
- なんとかやりきったが、睡眠時間が犠牲に
このあたり改善していって、技術書典6ではさらに利便性やデザインを洗練させていきたいですね。
印刷部数
毎回話題になる印刷部数ですが、ふとしたときに下記の計算方法を思いつきました。
- 本の値段を決める
- 被チェック数の冊数売れたと仮定して合計金額を出す
- その合計金額で印刷できる分だけ印刷する
#被チェック数 からの印刷部数の算出だけど、「『被チェック数の数だけ売れた場合の金額』で印刷できる部数」がシンプルでいいんじゃないかと思った。
— at_grandpa@技術書典5-け33 (@at_grandpa) 2018年10月2日
上ブレ下ブレ加味して「被チェック数分売れる」と仮定し、それで元が取れる冊数だけ印刷すれば、爆死は避けられるんじゃないかと。 #技術書典
例を挙げます。これは今回の自分の新刊の印刷部数を決めるときに計算した実際の数字です。
- 本の値段は1,500円
- 被チェック数は 10/02 時点で92 なので、92冊 * 1,500円 = 138,000円
- ねこのしっぽさん & 印刷方法などのオプションを加味して、138,000円で印刷できる部数は300冊
ということで、今回は300冊を印刷しています。この計算方法は、以下のことから結構良い方法なんじゃないかと思ってます。
- 被チェック数は開催直前に急上昇するが、現時点から下がることはないだろう
- つまり、「現時点の被チェック数 * 値段」までなら回収できると仮定
- その合計金額を上限としてコストかければ、爆死はしないはず
- かつ、この合計金額から冊数を出すと、意外と強気な数字が出てくる
- 爆死を回避でき、強気な冊数でいけるという精神衛生上良い印刷部数になる
これにはzinさんやBOOTHさんの「配送料無料委託」がないとできなかったかもしれません。 あと、「いつ時点の被チェック数を参考にするか」ですが、これはもう「決め」かなと思います。 自分は入稿直前の数字にしました。
ここまで言っておいてなんですが、結局は当日までわからないんですよね。 この記録をもとに、当日どうだったかはまたレポートします。 そして、技術書典6への参考になればと思います。
ちょっとしたこだわり
今回の新刊は「問題集」なので、目次から内容はわからないようにしています。「あぁ、アレね」とわかった上で問題を解いても意味がないと思ったので。(これだけはどこかで言っておきたかった)
どんな内容かを目次から知りたい方には申し訳ございません。
楽しみましょう!
当日は「け33」でお待ちしています。とりあえず、リアルでみなさんとお話したいので、寄っていただけるだけでも結構です。あと、非公式アフターにも参加するので、いろんな話ができたらなーと思っています。
当日、お会いしましょう!