Когда я был мал — писал ужасные конспекты: они представляли из себя тетради с грязным текстом и плохой структурой. Практически бесполезные.
Потом, когда я открыл для себя MOOC видео курсы, продолжил использовать те же антипаттерны, что и в школьные времена, но уже не так безобразно: с помощью VimWiki и позже — с Jupyter.
Записи всё еще были плохо структурированы. Посмотрите на это: у меня даже мотивации не хватает на то, чтобы просто открыть и посмотреть на то, что там внутри:
В какой-то момент я понял какой метод ведения записей работает на мне лучше всего, чем и хочу поделиться.
Основная идея заключается в том, чтобы спроецировать нашу память в записи (а не память лектора), используя принципы разработки программ.
Необходимые условия
Полагаю вы уже знаете про базовые советы, вроде выражения мыслей с помощью своих слов (из своего словарного запаса, с более простой терминологией) или фокусировании на вопросах, ответах, выводах и доказательствах.
Также предполагаю что вы знакомы с техникой «чанкинга» из курса «Учимся учиться» или из книги «Думай как математик».
Сделайте так, чтобы хорошо читалось
Мы, разработчики программного обеспечения, очень серьезно относимся к качеству кода. Мы не любим код с запашком.
Мы общаемся с помощью кода и вкладываем дополнительное время и энергию в написание элегантного кода, чтобы потом его могли эффективно читать другие разработчики. В том числе и мы сами: в будущем мы в буквальном смысле становимся другими людьми.
Этот же подход мне показался удобным и для личных заметок: вы можете оптимизировать поиск и чтение заметок, применяя чуть больше усилий к написанию.
Сырой черновик
Запишите заголовок и источники (книги, статьи, научные работы, видеозаписи, что бы вы не использовали) в конкретный блок информации. Начните анализировать первый источник. Пока анализируете — добавляйте некоторые ключевые детали.
Рефакторинг
Теперь выделите ключевые слова, разбейте длинные предложения, используйте более сложную иерархию маркированных списков, добавьте подзаголовки. Используйте Бритву Оккама: уменьшайте запись несколько раз не теряя изначальный смысл.
Продолжайте изучать остальные источники и обновляйте соответствующие записи, добавляйте новую информацию и уточняйте старую.
Когда запись становится большой — делите ее на файлы или вовсе структурируйте с помощью папок.
Как выбрать структуру? Выбирайте такую, которая будет вам удобна: представьте что вы ищете что-то в своих записях. Как именно будете искать? Какой наиболее короткий путь к записи подойдет?
Добавьте подсказки себе на будущее
Надоело учиться и хочется уже начать что-то делать? Быть прагматичным — это хорошо. Добавьте предположения, которые возможно захотите исследовать в будущем, с помощью TODO-комментария.
Нашли клёвый ресурс на тему, которую уже отложили? Найдите соответствующую запись, добавьте источник и продолжайте делать то что делали.
TODO-комментарии считаются антипаттерном некоторыми разработчиками. Тем не менее, я всё же считаю их полезными для личных проектов и заметок.
Вам не надо продолжать свое исследование при очередном пересмотре заметки. TODO-комментарий — лишь знак того, что вы все еще чего-то недостаточно хорошо знаете и возможно захотите улучшить знание в конкретной области, в случае если встретите ее на практике.
Пересмотр и улучшение
Предположим что прошло какое-то время и вы решили воспользоваться своими записями. Вы решаете конкретную задачу и вам понадобилось что-то быстро найти. Возможность найти информацию быстро важна: она понижает вероятность потерять фокус на задаче, которую вы пытаетесь решить.
Попробуйте поискать в файлах:
Не нашли ничего? Возможные причины:
- опечатка при вводе поискового запроса — проверьте сначала это
- неверное ключевое слово — та же идея в прошлом была описана синонимом
- опечатка в самой записи
Пришло время улучшать. Найдите запись вручную и почините проблему с помощью
- исправления опечатки
- добавления ключевого слова
В следующий раз эту же запись получится найти быстро.
В особо странных случаях запись снова не получится найти. Например, недавно я искал кое-что связанное с математической статистикой:
Не нашлось. Написал неправильно?
Неа. Я нагуглил что-то, но что за… ерунду я нашел?
Так как я не носитель английского у меня заняло еще немного времени на осознание того, что всё-таки это была опечатка при вводе.
Опечатки редко используемых слов — это нормально, даже если вы не носитель языка. Возможное решение — добавить ключевое слово с опечаткой, чтобы потом можно было быстро найти такую запись.
Другой вариант — использовать какой-нибудь хитрый поисковик с поддержкой нечеткого поиска.
UPD: Оказывается в данном конкретном случае это всё-таки был вредный совет. Вместо того, чтобы торопиться записать ключевое слово с опечаткой, стоило сначала нормально разобраться во всех этих запутанных для меня терминах и дописать «quantile» в качестве валидного ключевого слова.
Обновите структуру заметок в соответствии с вашей памятью
Представьте что вы не смогли найти заметку быстро, даже когда попытались поискать ее вручную. Возможные причины:
- запись находится не на своем месте
- правильное место трудно определить
- куда бы вы положили записи про нотацию «большая О»: в математический анализ или алгоритмы?
Как это исправить?
- переместите блок или файл в правильное место
- добавьте ссылку с одной заметки на другую
Отрефакторьте еще раз
Предположим, что вы таки нашли что искали, но понять написанное с ходу не получается — тогда просто упростите это снова.
Еще одна типичная проблема — найти несколько заметок, которые на самом деле должны быть одной. Просто объедините такие фрагменты в одну заметку и положите в соответствующее место.
Найдите баланс
Как не переборщить с этим всем? Если вы ловите себя на том, что тратите время на поиски заметок, которые находятся не на своем месте — это знак того, что структура всё еще плохая. Просто исправляйте каждый раз, как встречаетесь с этой проблемой.
Если чувствуете что это тяжело или отнимает много времени — используйте что-то вроде «правила трёх»: если вы искали эту запись два раза не в том месте — оставьте как есть. На третий раз — отрефаторьте.
И в чем смысл?
Вы наверное сейчас скажете, что я вас не убедил, что вкладывание дополнительного времени
в написание качественных заметок так уж важно: мол это слишком скучно или неприменимо к области вашей работы/учебы. Может быть да, а может и нет.
Вспомните то время, когда вы занимались креативной работой, находясь в состоянии потока. Иногда вам нужно получить некоторую информацию и продолжить работу, не теряя фокуса. Можно взять эту информацию из Гугла, но иногда она слишком специфична: например ваши собственные выводы по поводу конкретной темы или вовсе проектно-специфичные вещи.
Так как в сети найти это нельзя — вы используете свои заметки. И тут решающий момент: если вы можете быстро найти эти заметки — тогда вы не потеряете фокуса на работе. А если нет — прервётесь и всё равно потеряете время на поиск. Технически это тоже самое что и быть прерванным кем-то.
А потом нужно возвратиться в свое креативное состояние сознания и продолжить работу. Только представьте сколько энергии это отнимает у вас.
Всё еще кажется что написание заметок таким вот образом отнимает слишком много времени? Но у вас ведь есть время на практику, да? Подумайте еще раз. Прерывания часто воруют у нас много времени из практики.
В любом случае это лишь стратегия: в каких-то случаях возможно она и неприменима, так что используйте с умом.
Чеклист
- Напишите сырой черновик с источниками и плохой структурой
- Периодически рефакторьте свои записи:
- Выделяйте ключевые слова
- Разбивайте длинные предложения
- Улучшайте иерархию маркированных списков
- Используйте подзаголовки
- Упрощайте текст, уменьшайте его
- Слишком длинные документы? — Делите их на файлы
- Слишком много файлов? — Улучшайте структуру каталогов
- Добавляйте TODO-комментарии
- Наслаждайтесь своей креативной работой без потери фокуса! «Хватайте» заметки когда они вам нужны:
- Не получается найти заметку быстро?
- Исправьте опечатки
- Добавьте ключевые слова (иногда неверно написанные ключевые слова)
- Заметка не на своем месте? — Переместите блок/файл в правильное место
- Место двусмысленно? — Добавьте ссылки из других мест
- Не можете понять что написали? — Отрефакторьте еще раз
- Нашли дубликаты/фрагменты одной и той же заметки в разных местах? — Объедините их
- Не получается найти заметку быстро?
Не так уж и сложно, правда?
Данная публикация является переводом собственной статьи.
Комментарии (55)
Arris
18.01.2018 13:50Теги?
alopatindev Автор
18.01.2018 19:55Общий ответ всем кто упомянул теги: спасибо, подобная идея приходила в голову. Теги — действительно интересная альтернатива жестким файловым структурам, в том числе глобально для всех файлов на диске.
Возможно из-за того, что такой софт пока не поставляется с популярными ОС, людям просто в голову не приходит, что это может быть удобным (не говоря уже про средних пользователей, не из IT: глянув на то, какую ерунду пишут в тегах в соцсетях можно сделать вывод, что мало кто вообще в курсе зачем на самом деле их изобретали).
В рамках статьи можно считать что «ключевые слова» (да и весь контент заметки) — это почти теги и есть: многое я ищу именно по ним. Иногда использую регэкспы, содержащие несколько «тегов».
Проблемы классических тегов: иногда нет времени/сил на то, чтобы быстро написать подходящие теги, поэтому в некоторых заметках либо не хватает релевантных тегов, либо их вовсе не будет там. Тем не менее фрагменты контента — это всё еще что-то, что можно использовать (просто не очень удобно,
git grep
меня автоматически в нужную заметку не отправит).brewer652
19.01.2018 01:04Если я не ошибаюсь, в macOS есть нечто подобное
QDeathNick
19.01.2018 13:31В винде ещё со времён семёрки тоже можно добавлять теги файлам и потом группировать их коллекции.
agorlov
18.01.2018 15:10+1Как и автор, собираю заметки. Сделал для себя веб-сервис заметок, может быть кому-то пригодиться.
Основные фичи:
— заводить/менять заметки;
— легко их находить (полнотекстовый поиск сделан на базе Sphinx Search);
— доступ персональный или публичный;
— markdown для разметки;
— прикреплять файлы.
По моему опыту, такая форма работы начинает приносить пользу после
того как база знаний наполнится.
Первые пол года, я по большей части, добавлял заметки. Примерно через год баланс изменился и я стал чаще искать информацию и это позволяет экономить время.
QDeathNick
19.01.2018 13:36Весь этот функционал есть в опенсоурсном dokuwiki
А так же там есть история, права и много чего удобного с помощью модов.
Я например немного допилил под себя, чтобы ещё со старых телефонов было удобно.
Пользуюсь уже лет 10, перешёл с evernote.
Но нужно где-то хостить, что может быть и минусом, но я считаю плюсом, что информация у меня хранится, а не у кого-то.NeuroHunter
20.01.2018 16:36Но там нет веб-клиппера и распознавания рукописного текста.
Да и за хостинг платить надо, а тот же Evernote/OneNote бесплатный.
evgenWebm
20.01.2018 19:07Полностью солидарен. Сам использую Вики для таких же нужд.
Но насчёт хостинга все решается легко и просто.
На виртуальной поднимаете ЛАМПу, настраиваете пробросить портов на виртуальную, после решитесь наподобие ddns.com(вроде так) и получаете в свободный доступ свою Вики. Заходим и радуемся.
А если есть постоянный айпи, то дднс не нужен от слова абсолютно.
Можно купить тогда домен ещё. Для поднятия Чсв и удобства)
З.ы. пишу с телефона если что.
frizzyTAIM
18.01.2018 15:50А делать все тоже самое в Evernote?
Там и поиск и теги и медиафайлы и куски кода и задачи можно привязать и кроссплатформено. Или это слишком просто будет?)Spiceman
18.01.2018 19:12+1У меня почему-то еверноут не зашел. Несколько раз пытался там вести заметки с кодом. В итоге, чтобы найти заметку нужно: 1. открыть эверноут, 2. вспомнить логин\пароль и ввести, 3. вспомнить куда поместил запись и найти ее, 4. понять, что это уже устарело или не совсем подходит под текущую задачу. 5. открыть поисковить, 6. ввести запрос, 7. найти что нужно. Поэтому сейчас пользуюсь только последними 3-мя пунктами.
Для каких-то записей не по работе просто пользуюсь обычной файловой системой: все по файликам и папочкам разложено. В эверноуте какая-то помойка скопилась, не понимаю, как им пользоваться.
dimm_ddr
18.01.2018 19:24У меня evernote в свое время намертво завешивал firefox. А заметки можно и в каком-нибудь sublime text/notepad++ писать. В первом точно есть плагин для markdown, во втором должен тоже быть, но я никогда не искал. Синхронизировать — через любой облачный сервис, размеры там вряд ли большие будут.
Dmitresso
19.01.2018 13:42Долгое время на работе писал заметки в простой текстовый документ с помощью Notepad++, но для чего-то чуть более серьезного чем «длинный curl-запрос под рукой» не хватает возможностей текстового редактора, нужен текстовый процессор. Для себя остановился на Google docs. Файлы — по тематике. Иерархия — либо в названии директорий, либо в названии файлов (база знаний пока не большая, ограничиваюсь названиями файлов по принципу «Big Theme | Subtheme | Subsubtheme», позже растолкаю по папкам). Стоит отметить, что документы, таблицы, презентации, формы и сайты Google не занимают место в хранилище (они являются лишь ссылками на сами файлы с информацией). Экспорт в DOCX, ODT, RTF, PDF, TXT, HTML, EPUB. Из минусов — нужно подключение к интернету (куда уж без него), хотя есть оффлайн-режим. Долгое время противился внутренне созданию подобной базы знаний, но некоторые вещи понимаются гораздо лучше в удачных формулировках, и это необходимо фиксировать в одном месте, чтобы освежить тему в голове пробежав материал глазами. А когда сам этому материалу задаешь структуру, конечно запоминается лучше. Вот для чего пока не нашел сервис — так для рисования mind карт. Кто-что использует под эти цели? Пробовал draw.io, google рисунки, но как-то не то.
MaryanYaroma
18.01.2018 22:16Тоже последние полгода веду записи в Evernote, — удобно, кроссплатформено и хранится удаленно. А раньше все в разных текстовых документах и личных блогах записывал.
oldbie
19.01.2018 11:20Не такой уж и кроссплатформеный, под Linux родного клиента так и нет. И это если вас не беспокоит то самое "хранится удаленно" да еще и в закрытых форматах. [/параноя]Все таки хочется иметь полный и эксклюзивный контроль над своими записями.
barsuksergey
18.01.2018 16:12Наверное, таким сложным способом получится записывать только очень важные заметки. Вроде затрат на создание приоритетной очереди с компенсацией в виде уменьшения сложности родительского алгоритма.
RomanArzumanyan
18.01.2018 16:55+3Когда я был мал — писал ужасные конспекты: они представляли из себя тетради с грязным текстом и плохой структурой
Не сочтите за ретрограда, но ИМХО, заметки в тетради — самые лучшие. Перед выплёскиванием потока сознания приходится тщательно этот поток обрабатывать. Ну и почерк вырабатывается понятный.MaryanYaroma
18.01.2018 22:17В тетрадях ссылки хранить неудобно.
timiskhakov
18.01.2018 23:32И поиск по тексту не работает.
sumanai
19.01.2018 16:24Всё это мотивирует их делать лёгкими для поиска и без постоянных отсылок на другие сайты, которые протухают, перемещают контент и прочее.
McKenlly
19.01.2018 01:02Абсолютно с вами согласен. Делать заметки проще и быстрее, тем более если возиться с тяжелой теорией. А вот если разбирать какой-либо код, то проще его комментировать. Я проучился так почти полтора курса и мне этого подхода было достаточно. Если что, нашел маленькую статью о пользе конспектирования материала на бумаге.
ovsale
18.01.2018 20:11+1на мой взгляд будущее в структурировании информации это иерархические теги. я уже 5 лет пишу программу для организации файлов, интернет ссылок, приложений при помощи иерархических тегов. все это время использую. нахожу любую информацию в 3 клика мышки. при том что в программу добавлено более 3000 объектов. не сочтите за рекламу. это будущее. tags4.info
Pilat
18.01.2018 22:53Проблема с иерархическими тегами — 1)у всех своя иерархия,
2) повторяющиеся похожие (например "продуктивность", "личная эффективность" в этой статье)
Есть же для книг иерархические каталоги, для тэгов должно быть что-то подобное
ovsale
19.01.2018 09:24мне кажется вы путаете структуру тегов созданных для своих файлов и теги которые авторы ставят под интернет публикациями.
у всех своя иерархия — именно! делайте любую. и это теги а не папки со всеми вытекающими бонусами:
www.youtube.com/watch?v=MYBnceFUxYgPilat
19.01.2018 15:39Вот эта "своя иерархия" и есть проблема. Даже две. Иерархия — это классификация, сама по себе очень сложная проблема (сложнее только выбор имён для переменных). Если делать только для себя — то ошибка в изначальной классификации приведёт к появлению лишних тэгов если классификация была неудачной; метод установки тэгов вводом с клавиатуры — приведёт к появлению лишних тэгов из-за опечаток или дубликатов почти похожих на существующие. Если использовать тэги вместе с кем-то, то всё ещё хуже — тэги обозначают понятия, а они у всех разные. Поэтому и на хабре среди тэгов куча дубликатов — нет уверенности, какой именно тэг надо ставить. В общем что-то вроде УДК (универсальный десятичный классификатор)
ovsale
19.01.2018 17:54я и говорю: вы говорите про теги под публикациями. а я говорю про теги для своих данных. мы о разном говорим. посмотрите видео.
QDeathNick
19.01.2018 13:59Может ли у вас тег принадлежать нескольким родителям?
ovsale
19.01.2018 17:53нет. это уже не иерархические теги это граф. граф конечно мощнее, но и существенно сложнее. выбирая между сложностью и универсальностью я выбрал среднее — иерархию тегов. мне известно одно приложение для организации информации в графах — www.thebrain.com
Dementor
20.01.2018 19:43TheBrain — крутая штука. Когда работал в одной фирме в начале нулевых, у нас была какая-то версия этой программы (не похоже на текущие скриншоты, соединительные линии были прямыми). Ее использовали как CRM-систему: Регионы -> Города -> Организации с аффилированными лицами -> Сотрудники -> Контакты. Выглядело очень солидно и найти информацию можно было несколькими кликами мышки. Я сделал им дополнительный раздел и внес базу знаний из нашей предметной области — тоже вышло очень круто. Спасибо, что напомнили! Схожу проверю какие еще функции они за десять лет успели добавить…
yesasha
20.01.2018 12:29Я тоже уже пару лет пытаюсь создать нечто, что помогло бы структурировать знания. И тэги и графы, всё проходил, одно сложно, другое слишком просто. Сейчас изучу то, чем Вы поделились. У меня уже накопились наработки на эту тему. И самое интересное, что я впервые сталкиваюсь с тем, что кто-то озвучил данную проблему! Обычно на вопрос о выборе программы для «заметок» советуют evernote или google keep, не понимая что в них может не устраивать! А тут прям все единомышленники собрались!
NeuroHunter
20.01.2018 16:42Вопрос про иерархические теги:
У меня есть теги #1, #1/#_1 и #2
Есть заметки %1, которой присвоен тег #1 и #_1 и %2, которой присвоены теги #2 и #_1.
Если я делаю поиск по #1, должна ли мне показаться при этом только заметка %1 (как имеющая явно присвоенный ей тег #1), или обе заметки %1 и %2 (т.к. %2 присвоен тег, являющийся потомком #1 в иерархии)?
homo_ludenus
18.01.2018 20:39Проблема заметок это не только их написание, но и последующая актуализация и поиск. Причём для меня структурирование на основе папок в корне неудобно, слишком жёсткая структура плюс проблемы с записями которые относятся сразу к нескольким категориям. Поэтому для себя был написан следующий велосипед с колёсами от БТРа: postgres где в одной таблице хранятся заметки а в другой теги к ним, причем как заметки так и теги имеют неограниченное количество вложений. Сами заметки это небольшие питоновские программы, это конечно небольшой изврат, но делает заметки весьма интерактивными. Как пример: нужно найти информацию по особенностям apache на centos которую я вроде читал на хабре; запрос по тегам — data=m.get([«apache», «centos», «habr»]); далее у объекта data можно вызывать список методов в которых записаны основные элементы статьи — data.apacheCommands(). Всё это позволяет очень быстро ориентироваться в практически любом количестве заметок.
QDeathNick
19.01.2018 14:06А у вас реализована возможность вложить тег сразу в несколько родительских тегов?
ainoneko
19.01.2018 09:32Неа. Я нагуглил что-то, но что за… ерунду я нашел?
А какую «ерунду» вы всё-таки искали?
Quantile или
Specialized quantiles:
- The 4-quantiles are called quartiles
- The 5-quantiles are called quintiles?
alopatindev Автор
19.01.2018 13:15Ого, спасибо за уточнение, не подозревал что их так много. Я такую кашу в голове заварил из этих терминов… А искал я quartile. Добавил обновление к посту.
c0ntr0ller
19.01.2018 13:02Я в заметках и по работе и в жизни использую Google Keep. Аналог тегов — ярлыки. Из плюсов — доступно на всех устройствах (насчет Apple не знаю), можно скидывать в G-документы, для списков есть механизм «отметок», есть архив, можно назначить напоминание. Из минусов пока только два — нет разделения на папки (когда заметок становится много, то приходится наводить порядок), и нет разметки текста.
Zebradil
20.01.2018 00:33Несколько интересных опенсорсных проектов для ведения заметок можно найти на гитхабе, если
поискать по тегу [evernote]
, например.
Сам пользуюсь simplenote — простой, теги есть, клиент для андроида, веб-версия. Впрочем, он не лучше остальных.
abwr
20.01.2018 03:25Вот мой вариант — альтернатива OneNote для Мака, но не бесплатная (купила по акции в Черную Пятницу за 11€), может хранить все в формате OneNote. Для тех, кому нужна именно древовидная структура и визуальный редактор (и приятный внешний вид) — самое то. Из минусов — поиск хоть и быстрый, но пока не проработан как следует — открывает старницу с исковой фразой, но не прокручивает до нее, только подсвечивает.
NeuroHunter
20.01.2018 16:32А распознавание рукописного текста там наконец-то починили? А то старый подход «обведи -> выбери „распознать“ » не на всех платформах поддерживается.
abwr
20.01.2018 23:14К сожалению, не было возможности протестировать, т.к. фича доступна только для Айпада, а его у меня нет, и в принципе неактуальна для меня. Развитие рукописного ввода, насколько я знаю, было в todo на 2017. А в мае 2017 была опубликована эта статья: help.outline.ws/customer/en/portal/articles/1690380-handwriting-tools-on-ipad, там написано про рукописный ввод, из нее можно предположить, что он работает.
NeuroHunter
20.01.2018 23:19Просто рукописный ввод — это вещь довольно бесполезная, если нет распознавания этого ввода для последующего поиска. В статье (и в документации на Outline в целом) об этом ничего не сказано. Обидно.
holgw
21.01.2018 15:46Веду собственные заметки и документацию в XMind. Схемы и карты памяти нагляднее и удобнее для навигации, чем карточки или чистый текст. В одном файле может быть неограниченное число структур и все они будут находиться в одном рабоче поле — для меня это достоинство, потому что при помощи колесика мыши и клавиши Ctrl можно в секунды перейти к нужному разделу. Гораздо быстрее чем лазить по карточкам в Trello или заметкам в Evernote.
PerlPower
Не раскрыта главная проблема конспектирования в ИТ:
Your __KONSPECTUQE__ was marked as deprecated and will be removed in next version.
dimm_ddr
Конспектировать все равно, но после нескольких случаев нахождения устаревшей информации — постараться отрефакторить еще и это. Можно удалять устаревшие вещи, можно править, можно просто помечать. В конце концов, если это была заметка об именно решении, то даже если оно устарело, то информация о том, что именно было сделано несколько лет назад все равно может пригодиться. То есть не то чтобы это была проблема.
Можно конечно сказать что можно сходу и не разобраться. Но то же самое верно и в отношении нагугленного, достаточно просто помечать дату записи и/или дату последнего редактирования и использовать здравый смысл при применении.