Сегодня крошечная заметка о том, как закрепить и сохранить знания, полученные в процессе обучения с помощью foam и github.
Что такое github, думаю, объяснять не нужно. Foam - это методология персонального менеджмента знаний, которая позволяет построить собственный граф знаний. Но обо всем по порядку.
Изначально я планировал использовать данный блог как место для закрепления знаний. Большинство материалов, которые опубликованы здесь, не имеют научной значимости. Это просто “объекты” моего обучения, завернутые в формат статей. Вот с этим возникли трудности - статьи писать долго и скучно, слишком много работы над содержанием.
Конспектировать быстро, не вникая в качество заметок, позволяет Foam. Используя эту методологию, ты просто пишешь конспект того, что изучаешь, в удобных тебе местах оставляя ссылки на страницы этой же базы знаний. При этом создаются пустые страницы, а если материал уже изучен - ссылки на готовые статьи. Итогом такой работы является массив из объемных документов, заметок, списков и других тесно слинкованных страниц, по которому удобно перемещаться, постоянно расширяя свои знания за счет заполнения пустых указателей. А главное - никаких баз данных и серверной части!
Что понадобится?
- изучить довольно простенькую документацию foam. Вот ссылка на гитхаб-репозиторий
- настроить работу в редакторе кода. Я использую приложение для vs-code. Помимо того, что редактор реализует почти все возможности полноценной ide, данное приложение тянет за собой множество удобных инструментов раборты с markdown
- необходимо создать репозиторий на github и включить для него github pages
- чтобы вести разработку локально, необходимо установить ruby. установить jekyll (фреймворк для создания статических сайтов). Я работаю под linux, управление локальной разработкой довольно примитивно
- теперь надо развернуть репозиторий локально, установить foam-template, настроить тему вашего сайта (я использовал рекомендуемую как стандартную тему cayman), собрать сайт и сделать комит в репозиторий на github.
Кажется сложно? На самом деле нет. Все что вы делаете - это создаете репозиторий, в два клика на его базе делаете статический сайт, устанавливаете локально шаблон foam, немножко правите css-cтили, выполняете коммит и пуш на github и все ваши знания оказываются в сети. Еще один несомненный плюс такого подхода - вы полностью контролируете весь контент и в любой момент можете безболезненно переехать куда угодно вместе со всем “добром”.
Вот что у меня получилось. Это простой отсортированный список сильно связанных заметок. Тут уже можно что-то найти, особенно когда ты помнишь, что материал пройден. Я специально сделал ресурс в таксономии данного блога, чтобы не усложнять связность двух сайтов. Технически My knowlege base и My deep learning хостятся в разных репозиториях github и в любой момент могут быть разделены.
Немного советов по ведению базы знаний:
- делайте заметку каждый раз, как прошли новый материал, даже если это совсем небольшой объем
- ставьте больше ссылок на внутренние страницы
- не стесняйтесь ставить ссылки, которые ведут на пустые страницы - это поможет вам изучить материал в будущем
Если вы поняли идею и она вам понравилась, то желаю успеха.