「Elixir Digitalization Implementors #1:発足LT会 」でLTした際の資料。 タイトルは「技術書典でElixirの技術同人誌3冊を出した話」
技術書典でElixirの技術同人誌3冊を出した話2020.09.30: Elixir Digitalization Implementors #1:発足LT会ry_kawamu: みずりゅ(@MzRyuKa)
View Slide
自己紹介みずりゅ(Twitter: @MzRyuKa) 神奈川在住のSIer。お仕事では主にRubyを利用。Elixirは趣味で2-3年程度。Qiitaでは「fukuoka.ex」にも所属。技術書典7、8、9で、1冊ずつElixir本を出しました。また、技術書典7で頒布した本を底本とした商業誌も1冊出版しています。
技術書典で頒布したElixir本技術書典7: Phoenix LiveVIewとNervesをさわるElixirへのいざない技術書典8: Elixirへのいざない2〜もっとNervesをさわる〜技術書典9: 錬金術師見習いエリィと歩むたのしいElixir 〜Elixirへのいざない外伝〜
Elixirの技術同人誌を書き始めたきっかけ2019年6月に開催された「Erlang & Elixir Fest 2019」に参加。そこで知った、Phoenix LiveViewとNervesの紹介で衝撃をうけた。「これはクルぞ!」 と。調べてみたら、日本語の情報は少なめで、まだ”これから”の印象。→ だったら、『技術書典7で自分が本を書いてみよう!』と思い立つ。
技術書典7: Phoenix LiveVIewとNervesをさわるElixirへのいざない1冊目。Phoenix LiveViewとNervesを紹介した日本語書籍としては初!(多分)また、この2大フレームワークを使うために、インストール方法、mixの使い方、Phoenixの簡単な使い方をあわせて記載しました。執筆期間は2ヶ月弱。なお、本書をきっかけにfukuoka.exなどのElixirコミュニティに参加も。苦労した点:入稿直後にLiveViewのバージョニングが始まる。これにより、GitHubのサンプルコード修正、正誤表でフォローなどが発生して、てんてこ舞いに。
技術書典8: Elixirへのいざない2 〜もっとNervesをさわる〜2冊目。IoTフレームワーク「Nerves」に焦点をあて、「ラズパイ+GPIO+簡単な電子回路」の組み合わせで、7セグメントLEDを操作する内容にした。前作の反省で、バージョンアップの激しかったLiveViewは一旦様子見。”関数型言語+IoT”という少し変わった観点で推してみた。苦労した点:執筆中にラズパイ/回路を焦がして急いで再購入。また、バージョンアップに伴い、Elixirのバージョン指定がシビアになったり、本家のNervesサンプルが旧バージョンの書き方だったりと、ギャップを埋めるのにてんてこ舞いに。
技術書典9: 錬金術師見習いエリィと歩む たのしいElixir 〜Elixir への いざない外伝〜3冊目。末尾再帰/並行性/マクロを扱い、初心者から一歩前に進むための本を目指して頒布。前作/前々作の反省を踏まえ、フレームワークからは一旦離れる事に。苦労した点:「プログラミングElixir」や「Elixir School」との違いを出すため”会話形式”で記述。ストーリー作りに手間とり、予定してたOTPやビヘイビアはカットした。また、家庭の事情で執筆時間が”深夜帯の2-3時間のみ”となっていた。
余談:商業誌「Elixirへのいざない」技術書典7で頒布した「Phoenix LiveVIewとNervesをさわるElixirへのいざない」を底本として、インプレスR&D社から2020年6月に出版。同人版ではPhoenixは1.4/Nervesは1.5だったが、商業誌版ではPhoenix1.5、Nerves1.6に対応。さらに、新機能Dashbordの紹介やTipsの追記なども行った。苦労した点:フレームワークのバージョンアップに伴い、すべてのサンプルコードを再確認。また、LiveVIewはPhoenix1.5で正式サポートされたので、導入方法についても修正したりと、やっぱりてんてこ舞いでした。※出版にあたり、Phoenix1.5リリースを待っていたりもしました。
ふりかえりQ:売れた?A:(自分は)売れてない。技術書典7では100冊弱、技術書典9では50冊弱。Q:じゃあ、なんで書いてるの?A: Elixirが好きだから 。執筆楽しい、アウトプットの1つ、名刺代わりなども。Q:いいことあった?A: 技術同人誌界隈/Elixir界隈の人に、認知してもらえたQ: 一番苦労した点は?A: 自分との闘い。執筆中、「この程度の内容で」や「誰が読むんだ」の思いに常に追われていた。「誰か一人にでもささればいい」と思って乗り切った。
まとめ● 予想はしていたものの、Phoenix LiveViewもNervesもバージョンアップ対応にかなり苦労させられた● 「この程度の内容で」や「誰が読むんだ」の思いに常に追われていた。それでも、書いて頒布した事で、得られたものは多かった。● 好きだから頑張れたっていうのはあったと思います。今後もElixirの技術同人誌は書いていく予定です。(直近では、既刊へ追記して改訂版をだす、予定)
これからもElixir界隈を盛り上げることにできる範囲で貢献していきます
おまけ:頒布物情報BOOTH、技術書典のページで購入可能です。(URLはBOOTH版)商業誌はインプレスR&DのサイトからAmazonなどの販売サイトへ移動できます。Phoenix LiveVIewとNervesをさわるElixirへのいざない:https://mzryuka.booth.pm/items/1562654Elixirへのいざない2〜もっとNervesをさわる〜:https://mzryuka.booth.pm/items/1759322錬金術師見習いエリィと歩むたのしいElixir 〜Elixirへのいざない外伝〜:https://mzryuka.booth.pm/items/2343031Elixirへのいざない:https://nextpublishing.jp/book/11841.html