はじめに
頑張れば、何かがあるって、信じてる。nikkieです。
このブログでも何回か告知しましたが、12/14の技書博でPythonのargparseモジュールについての本を頒布してきました。
初頒布の身にとっては本当に素晴らしいイベントでした。
年を越して恐縮ですが、レポートをまとめます。
#技書博 参加者、スタッフの皆さま、1日ありがとうございました。
— nikkie 技書博のPython argparse本 boothにて頒布中 (@ftnext) 2019年12月14日
ゆったりしたスペースでチケット制によりお客さんもゆっくり流れ、お隣の電脳世界さんや買いに来てくださった方とPythonの話が直接できて、ものすごく学びがありました。
初めてのソロ参戦が技書博でよかったです。運営素晴らしかった
技書博の概要
技術書同人誌博覧会(技書博)は、エンジニア(おもにITエンジニア)が自身の知見を「本」という形で共有するために開催される、技術書オンリーイベント(同人誌頒布即売会)です。
参加サークルは100サークルほど、全参加者は670名くらいだったそうです。
サークル参加含め670名来場 #技書博
— ひろむぅ🐶💙🏮 @C97 お疲れ様でした (@nico_nico_dev) 2019年12月14日
頒布してみて
紙の本は40部 + 予備分1を頒布し、完売しました!
ごひいきいただき、ありがとうございます。
#技書博
— nikkie 技書博のPython argparse本 boothにて頒布中 (@ftnext) 2019年12月14日
argparse本 物理版、完売しました。
お買い上げいただいた皆様、ありがとうございます。
現在、電子版のダウンロードカード ¥500 のみ頒布しています。
よろしくお願いします! pic.twitter.com/oRvy2iJ2xT
今回は小さく始めることを意識しました。
- これまでの経験から100部頒布は相当大変という認識2です
- サークルや頒布物のチェック数もほとんどの期間1桁台でしたので、売れ残りを抱えないように部数を切り詰めました
- 内容はまだまだ書き足りないので、今後アップデートできるよう電子版の共有リンクを案内
- 即売会ごとにアップデートして頒布する考えなので、在庫はあまり抱えたくありません
- 同人誌執筆という活動を始めることを優先し、利益は追いませんでした。全部売れたら印刷費が回収できる価格設定です
- 書き続けることを実践し、内容が充実したらそのときに価格を考えます
頒布する時間がどんな感じなのか、イメージできていなかったのですが、買いに来てくださった方とコミュニケーションできて素晴らしい時間でした。3
直接いただいたフィードバックからいくつものインスピレーションをいただきました!
「技術同人誌としてアウトプットしたら当日は淡々と頒布するのみ」と結構ドライな想像をしていたので、頒布の場でいただけるフィードバックは嬉しく、「アウトプットしてよかった」と強く思いました。
技書博自体、流量の調整や読書室の設置など、ゆったり余裕を持って運営されていて、回遊しやすい環境だったのではないかと思います。
フィードバックで得たものがとても多かったので、今後の技書博でもぜひ継続して頒布していきたいです。
頒布中はお隣のサークル、電脳世界さん(Pythonの入門書やGitの入門書を頒布)のオーニシさんとも話が弾みました。
Python関係サークルを並べてくださった運営の方には感謝です。
懇親会LTで、技術書典と技書博の客層の違いの共有があったのですが、当初思っていたよりも紙の本の需要が高かった印象です。
私は常に持ち歩きたいので電子で買いたいのですが、技書博では紙が売れました。
紙+電子と電子のみを同じ価格で売ったことも理由だと思いますが、今回技書博に来場された皆さんは紙の本がお好きという印象です。
いただいた声から
印象に残ったもの(どちらかというと少数の声)を紹介します。
「」の内容は記憶ベースです。
- 「Sphinxで書いた本と聞いて買いに来ました」
- 「
-h
でプロセス終了するのでargparse
好きじゃないんですよね」-h
の挙動には慣れきっていて、そういう見方もあるのかと思いました-h
の後input
関数などでコマンド入力待ちに上書きするハックできるのかな?
- 「
click
使っています」- ありましたね、
click
! Welcome to Click — Click Documentation (7.x) - 今回のアウトプットは、Pythonとセットでインストールされる
argparse
を知らなくて、sys.argv
で受け取った入力を一生懸命検証していた過去の私に伝えたくて書きました - 標準ライブラリ
argparse
はインストール不要という点が気に入っているので、この本をclick
本にすることは考えていません - 付録として
click
に言及してもいいかもしれないなと思いました
- ありましたね、
- 「
argparse
のテストの仕方が気になって」「pytest
ではないんですね」- 標準ライブラリ
unittest
を使ってテストについて書きました - 私は
sys.argv
に引数を再現したリストを代入してテスト4しています- 執筆は時間切れとなってしまったので、必要な方に口頭で補足する形になりました
pytest
も付録で言及できるかも
- 標準ライブラリ
今後
実は時間切れとなっていて「まだまだ書き足りない!」という想いを抱いているので、当日いただいたフィードバックも参考に、電子版のリンク先をアップデートしていきます。
1冊書いてみて思うことは、「これは終わりではなく、始まりなのだ」ということです。
当初はもっと多くのことが盛り込めると思っていたのですが、見積もりが甘かったために盛り込めなかったことがたくさんあります。(あとがきより)
小さいアップデートを少しずつ積み重ねます!
また、3/1の #技術書典 8(2日目)にもサークル参加します。
アップデート版argparse本は少なくとも頒布したいと思っています。
今回の経験を踏まえて余裕を持ったスケジュールで内容のブラッシュアップを達成しつつ、レビューアーとしてもコミュニティに少しでも貢献できたらと考えています。
最後になりましたが、素晴らしいイベントを運営してくださった技書博スタッフの皆さま、当日か-01でフィードバックをくださった方々に重ねてお礼申し上げます。
ありがとうございました。
このエントリでargparse本に興味を持った方へ
『Pythonでコマンドラインツールを作る with argparse』はboothで頒布中です:
サンプルコードのリポジトリはこちらです:
-
見本や提出分も合わせて、50部印刷しました。予備が6部付きました↩
-
11時から17時までの6時間で100部売ろうとしたら、平均して3,4分に1冊ペースです(mochikoさんの 【ダウンロード版】技術同人誌を書いたあなたへ ~著者のしあわせなミライ~ - mochikoAsTech - BOOTH より)。技術書典6で合同誌の売り子を1時間程度経験して、3,4分に1冊ペースというのは相当なものだと実感しました↩
-
出展経験豊富なゆうげんさんにお越しいただき、コミュニケーションする魅力について教えていただきました。ありがとうございます。今回の技書博を通して私は魅了されました↩
-
「プログラムがどんな引数を必要としているのかを定義すると、argparse が sys.argv からそのオプションを解析する方法を見つけ出します。」argparse --- コマンドラインオプション、引数、サブコマンドのパーサー — Python 3.8.1 ドキュメント↩