こんにちは、杉谷です。
少し前に開催されたScalaMatsuri2016に将軍スポンサーとして参加させていただいたいた際、スポンサーノベルティとしてScala同人誌の配布をさせていただきました。その際に得られた知見を共有します。
なぜ作ろうと思ったのか
ノベルティの定番といえばシール・ボールペン(最近だとフリクションが多め?)・メモ帳といったところでしょうか?
知名度のあるプロダクトや会社であればグッズとして嬉しさもあるとおもいますが、ぶっちゃけ知名度が全くない我々がそのような物を作って誰が喜ぶのか?と疑問に思ったので、もうすこし糧になりそうなものを、ということで同人誌を作ることにしました。
制作環境・制作フロー
制作ツールはGitbookを採用しました。 MarkDownでさくさくと書けることと、ブラウザでの閲覧も想定されていて制作がしやすいことが素敵でした。
ChefとVagrantを使って、数行叩けば以下の要件を備えたVMを立てられるように整えました
- 基本原稿ディレクトリにMarkdownファイルを書き足すだけ
- http://sepbook/ を開くとリアルタイムプレビューが表示される
- GitbookとNginxと、PDF出力用のフォントやライブラリが入ってる
- GitbookはVM起動時に自動起動
あとは執筆者のマシンとCI用の機材にこれをセットアップし
- 執筆者の名前でブランチを切る
- 執筆する
- masterにプルリクエストをする
- 各種レビュー(添削・内容の検証…)
- マージ
- CIがPDFを自動作成
- Slackに通知 & 回覧
というフローで進めました。
注意が必要だったこと
GitbookのPDFはなかなか上等な出力をしてくれるのですが、物理本化するにあたり以下に気をつける必要がありました。
- コードが横に広すぎるとはみ出てしまうので、適度に改行する
- 改ページがほどよくなるよう調整する
- リンク( [hoge](http://〜) )は使わず、URLを注釈等で記載する
編集方針
動機の一つに"我々の等身大を知って欲しい"ということで、各チーム一人執筆者を募り、それぞれのチームで実際に採用しているScalaネタで制作していくことにしました。 できあがった記事は以下の通りです。
- PYXIS事業でのデータパーティション設計事例
- IntelliJのショートカット+便利機能集
- Incoming WebHooksを使ってScalaでSlackに投稿してみる
- Beanstalk for Dockerを使ったPlay Framework実行環境構築
- Python学生からプロScalaエンジニアに
- GANMA!でのCache実装例
- Play Framework入門者向けプロジェクト分割
- ヘキサゴナルアーキテクチャを採用したプロジェクトの実装例
- Akka Schedulerの定期実行を使って自動的にInstagramから画像を取得し、Tumblrへ投稿
- scala DDD 依存性逆転の原則を採用してみた
- 今すぐ使える!Android開発に役立つKotlinの拡張関数10選
なぜかKotlinネタも混ざるくらい自由な品揃えとなりました。
レビューでは"てにおは"や誤字脱字、コードの正しさを確認するほか、"具体的な知識・知見が得られる記事であること"を重視しました。
合計ページ数は93ページでした(+表紙・裏表紙)。
お値段
キンコーズで700部刷りまして
一冊当たりのお値段は 590円/冊 でした。(ワーオ
流石に毎年やるにはグッとくるお値段ですが、「みたよ!よかったよ!!!」的なコメントをどしどし戴けると次回も頑張れるかもしれません!
評判
直接伺えた範囲では好評でした!(なぜかKotolinがよく刺さってたような)
ネット上ではそれほどご意見を見かけなかったので、アンケートフォームへのQRコードを張っておくとよかったかもしれません。
ダウンロード
配布した物とほぼ同等なものがこちらからダウンロード戴けます。
Scala将軍達の後の祭り
今週末の 3/26(土)に将軍スポンサー4社合同(サイバーエージェント・マーベリック・チャットワーク・セプテーニオリジナル)でイベントを開催します!
scala-syogun-matsuri.connpass.com
まだまだお席はありますので、よろしければ是非ご参加ください!