Zettelkasten и Obsidian: ваш помощник в структурировании знаний

Представьте себе систему, которая поможет вам организовать и связывать все ваши идеи, проекты и задачи так, как если бы у вас появился второй мозг. Узнайте, как Zettelkasten и Obsidian помогают программистам и исследователям максимально эффективно работать с информацией.

0ede9bbbec3b45c33fe5168a925812b5.webp

Что такое Zettelkasten?
Zettelkasten — это метод систематизации знаний, который помогает не только хранить информацию, но и выстраивать связи между идеями. Эта система была разработана немецким социологом Никласом Луманом, который, благодаря ей, написал более 70 книг и около 400 статей. По сути, Zettelkasten — это набор небольших заметок, каждая из которых посвящена одной конкретной идее. Важно не просто записывать факты, но и связывать их между собой, что помогает находить новые идеи и глубже понимать материал.

Луман изначально использовал бумажные карточки, но в современных условиях мы можем применять цифровые инструменты, такие как Obsidian, Roam Research и Zettlr. Эти программы делают работу с заметками ещё удобнее, позволяя легко создавать ссылки между ними и видеть взаимосвязи.

Темные крупные точки имеют больше связей чем маленькие. Серые точки — ещё не созданные заметки

Темные крупные точки имеют больше связей чем маленькие. Серые точки — ещё не созданные заметки

Почему я выбрал Obsidian?
Когда я начал работать с системой Zettelkasten, я остановился на Obsidian, и вот почему:

  • Контроль над данными: Все заметки хранятся локально в формате .md. Это даёт уверенность, что данные никуда не утекут, и доступ к ним не будет зависеть от внешних серверов.

  • Гибкость: Obsidian позволяет создавать ссылки между заметками, как это делается в Википедии. Это решило мою проблему с чрезмерно разрастающимися ментальными картами, которые становились слишком сложными для понимания.

  • Графы связей: Визуализация связей между заметками помогает не просто видеть отдельные фрагменты знаний, а понимать, как они связаны друг с другом. Это сильно помогает в систематизации сложных тем.

Мой путь с Zettelkasten: от хаоса к структуре
В самом начале у меня была информация, разбросанная по разным документам — от текстовых файлов до цитат в Telegram. Я решил всё собрать в одном месте, перенёс все данные в Obsidian и начал связывать ключевые моменты между собой. Например, заметка о когнитивных искажениях была связана с разделом о структуре мозга, что помогло глубже понять эти взаимосвязи.

Вид нескольких связанных между собой заметок по темам здоровья

Вид нескольких связанных между собой заметок по темам здоровья

Zettelkasten в обучении программированию

Zettelkasten помог мне не просто запоминать новые вещи, но и связывать их между собой, находя взаимосвязи. Вот несколько примеров, как я использую систему в изучении программирования:

  1. Асинхронное программирование и многопоточность:

    • Здесь я храню заметки, объясняющие работу асинхронности, таких как async и await в Python. Также собрал материалы по параллельным вычислениям, как использовать потоки и процессы. Эти заметки включают примеры работы с asyncio и ссылки на ресурсы с нестандартным применением методов асинхронного программирования.

  2. Алгоритмы сжатия данных:

    • В этой теме у меня есть заметки по алгоритмам сжатия, как Huffman coding и JPEG. Они помогают разобраться, когда и какой алгоритм использовать, а также содержат примеры кода и их применение в реальных проектах.

  3. Конкурентное программирование в C#:

    • Примеры использования библиотеки Task Parallel Library (TPL) для улучшения производительности задач, которые можно выполнять параллельно. Также собраны заметки по использованию Parallel.For и PLINQ.

  4. Часто используемые функции в Python:

    • В этой категории я храню заметки с примерами использования стандартных функций Python для работы со строками (split,  join,  replace) и списками. Эти функции часто пригождаются в повседневной работе.

  5. Основы работы с Git:

    • Собрал основные команды для работы с Git, такие как commit,  push,  pull, и примеры мёрджей и решения конфликтов. Очень помогает при командной разработке.

  6. Простые SQL-запросы:

    • Здесь находятся примеры базовых SQL-запросов, таких как SELECT,  INSERT,  UPDATE, что упрощает работу с базами данных и ускоряет написание кода.

Пример заметки в Obsidian.

Пример заметки в Obsidian.

Мой опыт: что я понял с помощью Zettelkasten

Использование Zettelkasten через Obsidian стало для меня отличным способом структурировать знания. Этот метод помогает мне глубже вникать в сложные темы и находить новые взаимосвязи. Например, изучая теорию игр, я смог связать её с решением оптимизационных задач в программировании, что открыло для меня новые подходы к решению проблем.

Со временем я понял, что классический метод Zettelkasten в его первоначальном виде мне не совсем подходит. Поэтому я адаптировал его под себя, отошёл от строгого правила «одного абзаца/предложения» и стал объединять часто повторяющиеся моменты в более крупные заметки. Это позволяет избежать дублирования понятий и улучшает связность информации, не нарушая логики самой системы.

Для меня Zettelkasten стал больше, чем просто метод — это гибкая основа, которая может быть изменена в зависимости от потребностей. Метод Zettelkasten — это отличная отправная точка, но то, каким он станет для вас, зависит только от ваших целей и предпочтений.

На данный момент у меня уже более 1000 заметок, и каждая из них связана с другими темами. Эта система помогает мне лучше усваивать знания и быстрее находить нужную информацию.

© Habrahabr.ru