突然ですが、みなさんは普段、どうやって得た知識をまとめているでしょうか?
また、どうやって知識を得ること自体へのモチベーションを保っているでしょうか?
学生の私がこの正月休みの間に発熱に苦しみながら知った、この2つの観点において有用そうな概念を紹介しつつ、それらを実践する方法、参考になるリポジトリ群についてまとめてみたいと思います。
概念
①Learn In Public
2018年頃にShawn Wangさんという人がエンジニア界隈で有名にした(らしい)、Learn In Publicという概念があります。
詳しくはご本人のブログへ。(日本語訳のリンクもあります。)
字面から分かる通り、学んでいる過程を公にしようということです。
この行動のさまざまな利点についてはリンク先に充分書いてありますが、個人的には、その公にしているプラットフォーム(個人ブログなど)を見ている誰かがいるかもしれないという心持ちがモチベーションにつながるという点で、とても有用な気がしています。
いっとき、GitHubでToday I Learned (TIL) リポジトリというのが流行りました。これも当然ながらこの精神に基づいた行動です。
②Digital Garden
Digital Garden(デジタルガーデン)というのがあります。
これに関することはほぼ全てこの記事が網羅していると思います。(歴史等も書いてあって面白いのでぜひ翻訳させてもらいたいくらいです。)
上記の記事では"公式定義"はないと述べていますが、大まかには、デジタルガーデンとは
- 記事を書いた時系列ではなく、内容や文脈で記事同士をリンクし全体を構成する
- 不完全である。「最終版」がなく、常に変化・成長するものである
- アイデアを試し、(フィードバックをもらい、)直すことができる
- 習慣になる。少量の努力で時間をかけて大きいものが育つ
- ひとつのガーデンの中で多様性があっていい
- ビデオにツイート、落書き、コードスニペットなど、何でもかんでも載せていい
- (公開する場合)既存SNS等のプラットフォームからは独立していることが推奨される
- 相互運用性のあるもの(例えばhtml&cssやmarkdown)で記述する
ようなものであるといえそうです。確かにお庭は、雑草が伸びすぎたら切らないとだし、定期的にお水をやらないといけないですよね。いつ新しい植物を持ってきて植えたかはいつか忘れられますから、大して重要ではありません。そんなイメージで、恒久的にちょいちょい手を入れていくメモの集合体、といえるでしょうか。上記の記事では、ガーデンの中の多様性について語っているところで、intercropping(間作:同じ畑で時期をずらしていろんな作物を育てる)という言葉も使われています。何だかちょっとワクワクします。
上のLearn In Publicに関する文章を書いたShawn Wangさんは、Digital Garden Terms of Serviceというものも公開しています。デジタルガーデンを訪れるお客さん、庭師双方の心得が書かれています。書くときは他人の気持ちを考えるとか個人的な会話を載せないとか、剽窃しないとか、インターネット上に文章を公開するにあたって当然であるべきことも含まれます。
学んでいる過程や自分の考え方を「デジタルガーデン」で公開しながら勉強すると複数のメリットがあるといえそうです。
実践
気持ち面
当たり前ですが完璧主義的な考え方をしていてはデジタルガーデンは公開できません。完璧主義から脱却したい人があえてデジタルガーデンをやってみるというのはとてもいいと思います。デジタルガーデンが育ったらそこのメモ書きを集めて、自分のブログサイトに完成した記事としてポストするというのもありだと思います。
ツール面
上に紹介させていただいたGithubのリポジトリ「TIL」を使って小さなアウトプットを習慣化するにもありましたが、GitHubのいわゆる草を生やすことがモチベ維持に繋がるので、個人的にはGitHubリポジトリで管理してGitHub Pagesで公開するといいと思います、楽だし!
個人の好みによりますが、私は内部リンクの繋がりを視覚的に理解できるグラフビューが後々役に立つと感じていて、markdownエディタとしてObsidianを使うといいと思います。
Obsidianは使い方に拘り始めるとキリがないツールですが、反対に極めてシンプルに使うこともできます。初めての方は以下のリンク先を参考にされるとよいです。
Learn In Public実践のためにサイトを公開したい場合、生成するサイトの方にもグラフビューがあるものを使うといいかと思います。これを実現できるのは色々ありますが、QuartzというObsidianフレンドリーの静的サイトジェネレータがおすすめです。(Obsidian公式もPublish機能を提供していますが結構お高いです。)
静的サイトジェネレータ+GitHub Pagesに慣れていない方は、こちらの拙記事を読んでいただけると嬉しいです。
先ほど記事を引用したMaggie Appletonさんのこちらのリポジトリでは、おすすめのツールや実際のデジタルガーデン例がまとめられています。
(やってみた)
早速自分もやってみました。Quartzも一瞬試したのですが、個人的にはちょっと変わったデザインのものを使ってみたかったので、AstroのSpaceshipというテーマをフォークし試しにサイトを構築してみました。
検索機能が壊れていて機能していないのでこれから直しつつ、内容を充実させてみようかなと思います。(まだまともなことを書いていません。。)
まとめ
特に学生の皆さんに試してみてほしいなと思います。ぜひ気軽な気持ちでやってみてください!