「動かして学ぶ!Rust入門」著者のmebiusbox様へインタビューしてみた。

2023.05.09

Zennで大きな反響があった「Rust入門」の著者であるmebiusbox様が執筆された動かして学ぶ!Rust入門が翔泳社より出版されることになり、出版を記念して著者の方へインタビューを行いました。

フリーソフトウェアの開発から技術記事の執筆へ

— この度は翔泳社から「動かして学ぶ!Rust入門」が出版されるとのことで、おめでとうございます! mebiusboxさんは普段どのような活動をおこなっているんですか?

mebiusbox: 普段はコンピュータグラフィックスの分野で技術的な研究をやっていて、関連する数学とか技術を文章にまとめて、GitHubで公開しているんですよ。 昔はフリーソフトウェアを作っていたんですけど、最近はコミュニティサイトで技術情報をシェアすることが増えてきましたね。

昔作ってたフリーソフトウェアは、ファイル関連のものが多くて、ファイルの削除をしたり、CD-ROMやDVD-ROMの中身をカタログにするソフトを作っていたりしてたんです。でも、今はもうあまりそういうのを使ってなくて、技術の資料を書くことがメインになってる感じですね。

— なるほど。ちなみにmebiusboxさんは開発者としてのご経歴は何年ぐらいなんですか? その中で技術記事の執筆を行うきっかけなどがあれば教えて下さい。

mebiusbox: 開発者としての経験は20年以上ですかね。その中で時代の変化によって元々はフリーソフトウェアの開発から、技術記事の執筆に活動が変わっていったという感じですね。

元々の技術記事を書くきっかけは、自分の勉強したことを備忘録としてまとめるためだったんですよ。昔はマークダウンで書いてたんですけど、表現力がイマイチでPDFで出力したかったんです。で、それをGitHubで公開してたんですけど、あんまり見てくれる人がいなくて。

そしたら、技術記事プラットフォームが出てきて、そこで記事を公開するようになったんです。そうすると、ずっと多くの人に見てもらえるようになりましたね。

本を執筆したいと以前から考えており、今回の出版で念願が叶いました。

— 確かに、今回出版された「動かして学ぶ!Rust入門」の前身になったZenn Bookの「Rust 入門」も反響がすごかったですよね。本を執筆されたきっかけとかってなにかあったんですか?

mebiusbox: 本を書くきっかけは、実は以前からずっと本を出したいという気持ちがあったんです。 そのため、50~100ページくらいのドキュメントを作成し、GitHubで公開することで出版に向けた練習も重ねていました。

その当時の資料もなるべく本でそのまま出しても問題ないレベルで体裁や内容を執筆することを心がけていましたね。 Web上の記事とかも有益な記事はたくさんあると思いますが、やはり情報が分散してしまう側面もある。なので、本として体系的にまとまっている内容というものは技術書として非常に価値があると思っています。

技術者として本を読む側でしたが書く側にもなってみたいといった思いもあったので、今回の出版で念願が叶ったといったところです。

— なるほど!ちなみに記事とか本ってどんなときに書かれることが多いですか?

mebiusbox: 記事や本を書く理由は様々あるんですが、「自分への備忘録」「コミュニティーへの貢献」あとは「メンバーの教育コンテンツ」としても書くことが多いですね。

共通する記事を書くメリットとしては、本や記事って自分が理解していないと何も書けないので自分自身がどれだけ理解しているかを確認できることがあります。

執筆をしながら理解しているところや深堀りが必要なところを情報収集しながら執筆していますね。

最近だと、ChatGPTとかで内容をまとめることはできるようになってますが、やっぱり自分で考えを整理して記事を書く力は練習しないと身につかないところなので、他の人にしっかり伝わる内容であることを意識して書いています。

翔泳社の方から出版の声をかけていただき、分かりやすさにこだわり一気に書き上げました。

— ありがとうございます。今回新たに出版される「動かして学ぶ!Rust入門」についてですが、今回出版されるにあたっての経緯はどんな流れだったんですか?

mebiusbox: 元々はZennに掲載した「Rust入門」を見た出版社の翔泳社から最初にメールで連絡があって「動かして学ぶ!Rust入門」の出版についてのお話しをいただきました。その後、リモートでの打ち合わせで出版への流れや内容をすり合わせて、そこから契約手続きや準備を済ませて、執筆を始めました。

— 執筆の期間はどのぐらいだったんですか?

mebiusbox: 実際に書くのにかかった期間は4ヶ月で、最初の3ヶ月は資料収集に費やしていました。元々資料を集めてそれから一気に書き上げるタイプだったので残り1ヶ月で一気に書き上げましたね。 執筆に集中していた1ヶ月の間は、空いた時間を全て使って執筆を行っていました。

その結果もあってか当初は250ページを予定していたんですけど、最後には400ページ以上になりましたw

当初はもともとのZenn Bookであった「Rust入門」の内容は80ページくらいで、残りのページをどうやって埋めるかといったところが課題でした。より深堀りした内容の執筆やコードサンプルを充実させていくと、結果的には出版された本は400ページを超える大ボリュームになりましたね。

執筆が一段落してからは編集者や関係者の方々と校正チェックを行ったんですが、それはかなり時間がかかって、全体で1300件にも及びました。このチェック作業が半年ぐらいの期間を占めていましたね。 校正チェックは、自分も関わりながら、編集者や関係者が一つ一つ丁寧に確認してくれました。そのおかげで、細かいところまでチェックができて、出版までの期間が1年近くかかりました。ただ、文章を書くだけなら、4ヶ月くらいでできたと思います。

計画から出版までの過程でいろいろあったけど、最終的には無事に本ができてよかったです。

— 執筆を行う際に、特に力を入れた点やこだわったポイントなどがあれば教えて下さい。

mebiusbox: 「動かして学ぶ!Rust入門」でこだわった点や力を入れた点は、やはり全体としてより分かりやすくするために、解説やコードサンプルにかなり力をいれたところですね。解説量自体もZennの本と比べて倍ぐらいになっています。

コードサンプルとしても200ページ分ぐらいは記載しているので、理解しやすいと思います。ちなみにコードのサンプルはダウンロード可能な状態で提供される予定で、私のGithubでも公開予定です。

あとは、ポケットリファレンスのような使い勝手で利用できるようにという点も意識しました。

分からないところがあったりしたときに、その部分だけを調べられるようになることも意識しています。 なので、全体の構成としてセクションを細かく分割しています。

内容の中でもRustの所有権の部分については特に力を入れて分かりやすくなるように執筆します。

— ちなみに次に書いてみたい記事や本とかってあったりしますか?

mebiusbox: Generative AIの分野やGo言語についての本は書きたいと思っていますね。 あとはZennで書いていたNotionに関する内容は本にまとめる予定です。

※既にNotion ワークフローとして出版されています。

— 最後になにか読者の方へ一言あればお願いします!

mebiusbox: 今回、翔泳社から出版される「動かして学ぶ!Rust入門」はZennでリリースした内容より、かなり詳細に説明していて理解しやすくなっていると思うので、本を是非読んでもらえると嬉しいです。 ZennでリリースしているRust入門は無料で公開しているので、バッジも是非お願いしますw

— (おまけ) 余談なんですが、mebiusboxさんってZennのかなり初期の頃から使ってくださっていますよね?

mebiusbox: 2021年頃から利用しているんですが、実はZennのサーバーを落としてしまったことがありますw 悪意があったわけではないんですが、「CGのための数学」っていうZenn bookをリリースしたときに数式がたくさん含まれていることからサーバーに負荷がかかってしまったことがありました。 その際の理由や対応については創業者のCatnoseさんが記事にまとめてくれているので、興味があったら是非読んでみてください。