Два блокнота для кодера: как запоминать и то, что ты строишь, и то, чему учишься
Узнайте о практичной системе из двух блокнотов для программистов, которая разделяет рабочие заметки и учебные конспекты, превращая ваш журнал по коду в мощный инструмент роста, решения проблем и долгосрочного запоминания.
Вступление: почему ваши текущие заметки не работают
Вы проходите туториал, чините мерзкий баг или наконец-то понимаете, как работает dependency injection. Вы хотите это запомнить. Даже делаете заметки.
Через две недели вы сталкиваетесь с похожей проблемой, смотрите на экран и думаете: «Разве я это уже не решал?» Начинаете рыться в логе команд, случайных сниппетах и скриншотах. Находите… хаос.
Проблема чаще всего не в том, что вы не ведёте заметки. А в том, что вы смешиваете два совершенно разных типа мышления в одном месте:
- Мозг «просто сделать, чтобы работало» (краткосрочный, тактический)
- Мозг «я хочу реально это понять» (долгосрочный, концептуальный)
Когда они живут в одном блокноте, они конкурируют. Быстрые фиксы закапывают глубокие инсайты. Туториалы тонут в логах багов. В итоге у вас получается хронологический дневник вместо инструмента для роста.
Лучший подход: относиться к своим заметкам так, словно у вас два мозга программиста, и каждому дать свой отдельный блокнот.
Система из двух блокнотов: «Сборка» и «Обучение»
Думайте об этом как о ментальном разделении:
- Блокнот 1: рабочие (build) заметки — про код, который вы пишете сегодня
- Блокнот 2: обучающие (learning) заметки — про идеи, которые вы хотите помнить завтра
1. Блокнот «Сборка»: оперативная память вашей кодерской жизни
Ваш рабочий блокнот — это место, где вы фиксируете:
- Над чем вы сейчас работаете
- Баги и неудачные попытки
- Дизайн-решения и компромиссы
- Команды, конфиги и разовые скрипты
Это ваш черновик и лабораторный журнал. Ему не нужно быть красивым или вечным. Он должен быть честным и «здесь-и-сейчас».
Типичные записи могут выглядеть так:
- «Пробовал обновиться до React 19. Упал SSR. Ошибка: X. Откатился. Гипотеза: Y.»
- «Проблема с производительностью — N+1 запрос. Временное решение: индекс по колонке Z.»
- «Задеплоил v1.2.3 — переименовал env-переменные в CI. Не забыть обновить staging.»
Вы фиксируете контекст вокруг решений, чтобы будущий вы понимал, почему всё устроено именно так и как вы к этому пришли.
2. Блокнот «Обучение»: ваш долгосрочный мозг
Ваш учебный блокнот — это место, где вы отслеживаете:
- Концепции и теорию (например, CAP-теорема, event sourcing, dependency injection)
- Паттерны и антипаттерны, которые постоянно встречаются
- «Выводы и уроки», извлечённые из проектов и багов
- Обобщаемые практики, чек-листы и ментальные модели
Если рабочий блокнот отвечает на вопрос: «Что я сделал сегодня?», то учебный отвечает: «Что я хочу помнить в долгую?»
Здесь вы превращаете сырой опыт в повторно используемое знание.
Хватит просто логировать — начните думать: как осознанно вести журнал
Большинство журналов по коду превращаются в поминутный дамп мозга. Это лучше, чем ничего, но этого мало.
Относитесь к заметкам как к инструменту для рефлексии и решения проблем, а не просто как к журналу событий.
В рабочем блокноте это значит:
- Записывать гипотезы до того, как что‑то пробуете
- Фиксировать неудачные попытки и почему они не сработали
- В конце сессии подводить краткий итог: что вы поняли
В учебном блокноте это значит:
- Спрашивать себя: «Какой принцип за этим стоит?»
- Замечать и записывать паттерны, которые повторяются в разных проектах
- Превращать разовые уроки в правила, чек-листы или эвристики
Простая рефлексия в конце дня:
Рабочий блокнот: Что я пробовал? Что сработало? Что не сработало? Что меня удивило?
Учебный блокнот: Что я сегодня узнал такого, что хотел бы объяснить будущему коллеге (или себе в будущем), даже если текущий проект исчезнет?
Этот небольшой сдвиг — от «просто логировать» к «думать» — очень быстро даёт эффект.
Структурируйте учебные заметки: от набросков к базе знаний
Если ваш учебный блокнот — это просто куча случайных страниц, вы забудете большую часть записанного. Нужна структура, чтобы идеи связывались между собой и периодически всплывали.
Ниже — два проверенных подхода, которые можно адаптировать под себя.
Вариант 1: заметки в стиле Zettelkasten (атомарные и связанные)
Zettelkasten — это умное немецкое слово для коробки с маленькими, связанными друг с другом заметками. Полную систему осваивать не обязательно; достаточно взять основные идеи:
- Делайте атомарные заметки: одна концепция — одна заметка (например,
Что такое идемпотентность?) - Используйте ссылки, чтобы связывать родственные заметки (например,
идемпотентность→HTTP-методы→REST-дизайн) - Даёте каждой заметке понятный заголовок, который отвечает на конкретный вопрос или формулирует конкретную мысль
Со временем вы строите не стопку грязных документов, а сеть взаимосвязанных концепций.
Вариант 2: метод Cornell (записать, прояснить, подытожить)
Метод Cornell отлично подходит для туториалов, докладов и курсов:
- Правая часть: подробные заметки (шаги, примеры, сниппеты кода)
- Левая часть: ключевые слова и вопросы (например, «Почему тут используют монорепы?»)
- Низ страницы: краткое резюме своими словами
В цифровом виде это легко имитировать с помощью заголовков:
# Концепция: Message Queue (очереди сообщений) ## Заметки - Producers отправляют сообщения в очереди, consumers обрабатывают их асинхронно… ## Вопросы / Ключевые слова - Backpressure - At-least-once vs exactly-once delivery ## Резюме Очереди сообщений развязывают производителей и потребителей, позволяя системам масштабироваться и устойчиво переживать сбои за счёт…
Суть не в конкретном формате. Суть в том, чтобы:
- Выделять отдельные концепции
- Задавать вопросы
- Пересказывать своими словами
Инструменты, которые помогают «двухмозговой» системе заработать
Это всё можно делать ручкой в тетради, но цифровые инструменты вроде Obsidian или Notion делают систему гораздо мощнее.
Настройте два пространства
В выбранном инструменте создайте:
- Пространство Build (Сборка)
- Ежедневные заметки (например,
2026-01-04) о том, над чем вы работали - Отдельные страницы для текущих проектов
- Ежедневные заметки (например,
- Пространство Learning (Обучение)
- Страницы‑концепции (например,
Основы индексирования в базах данных) - Тематические хабы (например,
Производительность backend,Стратегии тестирования)
- Страницы‑концепции (например,
Держите их раздельно, но сделайте так, чтобы было легко ставить ссылки между ними.
Используйте бэклинки, теги и шаблоны
-
Бэклинки (обратные ссылки): помогают увидеть, «где ещё я это упоминал?»
- Из журнала бага: ссылка на
Ошибки типа Off-by-Oneв учебном блокноте - Из
Стратегии кеширования: видно все рабочие заметки, где всплывали проблемы с кешем
- Из журнала бага: ссылка на
-
Теги: группируют связанные заметки без жёсткой структуры папок
#bug,#pattern,#refactor,#frontend,#performance- Пример: заметка с тегами
#bugи#sqlпоявится и в обзоре багов, и в конспектах по базам данных
-
Шаблоны: стандартизируют записи
Шаблон рабочей заметки:
# Build Log – YYYY-MM-DD ## Что я делал - ... ## Проблемы / Баги - Проблема: - Симптомы: - Гипотеза: - Эксперименты: - Решение: - Ссылка на концепцию: [[Здесь связанная концепция]] ## Решения - Решение: - Альтернативы: - Обоснование:Шаблон учебной заметки:
# Концепция: [Название] ## Что это ... ## Зачем это нужно ... ## Пример ... ## Связано - [[Связанная концепция 1]] - [[Связанная концепция 2]]
Сделайте обучение наглядным, удобным для навигации и повторения
Чтобы действительно запоминать то, что вы изучаете, блокнот должен быть удобен для повторного просмотра и исследования.
Организуйте туториалы как wiki-страницы
Вместо одной огромной страницы «Конспект по курсу Kubernetes» разбейте материал на части:
Kubernetes — PodsKubernetes — ServicesKubernetes — DeploymentsKubernetes — Типичные грабли
Затем свяжите их из центральной хаб-страницы:
# Kubernetes — учебный хаб ## Базовые концепции - [[Kubernetes — Pods]] - [[Kubernetes — Services]] - [[Kubernetes — Deployments]] ## Практика - [[Kubernetes — Troubleshooting]] - [[Kubernetes — Типичные грабли]]
Используйте визуализацию там, где она помогает
- Грубые схемы архитектуры
- Sequence diagrams для ключевых потоков (например, логин, оплата)
- Простые таблицы для сравнения подходов (например, REST vs GraphQL)
Визуальные образы дают мозгу больше «крючков», за которые можно зацепить идею.
Пересматривайте, рефакторьте и поднимайте инсайты на новый уровень
Учебный блокнот — это не «однажды написал и забыл». Он должен развиваться.
Раз в неделю (или с комфортной частотой):
- Просмотрите свежие рабочие заметки.
- Спросите себя: «Есть ли тут повторяющаяся тема?» (например, баги с авторизацией, ошибки в SQL, race conditions)
- Вытащите из этого концепции в учебный блокнот.
- Превратите «тот странный баг с JWT» в заметку‑концепцию:
JWT: истечение срока и рассинхрон часов
- Превратите «тот странный баг с JWT» в заметку‑концепцию:
- Повышайте инсайты до чек-листов и best practices.
- Из серии багов с авторизацией →
Чек-лист изменений в auth перед деплоем - Из проблем с производительностью →
Чек-лист по оптимизации API
- Из серии багов с авторизацией →
Эти чек-листы затем управляют будущей разработкой:
- Перед крупным деплоем проходите по
Deployment Checklist - Перед мёрджем новой фичи пробегайтесь по
Security Gotchas
Ваши сегодняшние проблемы становятся завтрашними защитными барьерами.
Замкните цикл: связывайте рабочие заметки с концепциями
Настоящая сила системы появляется, когда вы связываете два блокнота.
Каждый раз, когда вы решаете конкретную проблему, задавайте вопрос:
«С какой концепцией связан этот баг или решение?»
Примеры:
- «Баг с кеш-инвалидацией» → ссылка на
Стратегии кешированияиПаттерны устаревших данных - «Race condition в асинхронном коде» → ссылка на
Управление конкурентностьюиИдемпотентные операции - «Больная миграция схемы» → ссылка на
Лучшие практики миграции баз данных
Теперь, когда вы пересматриваете концепцию, вы видите и реальные кейсы, где она имела значение. Это в разы лучше закрепляет знания, чем абстрактная теория.
И наоборот, когда вы сталкиваетесь с новым багом, вы можете:
- Найти в учебном блокноте похожие концепции
- Пройти по бэклинкам и посмотреть, как вы уже решали родственные проблемы
Ваши блокноты начинают ощущаться не как архив, а как расширение вашего «кодерского» мозга.
Заключение: строите сегодня, учитесь для завтра
Разделить заметки на рабочий блокнот и учебный блокнот — это не лишняя бюрократия, а усилитель.
- Рабочий блокнот сохраняет контекст, эксперименты и решения, чтобы вы могли «отлаживать» собственную историю.
- Учебный блокнот превращает разрозненный опыт в паттерны, чек-листы и ментальные модели, которые со временем накапливаются и усиливают друг друга.
- Структурированные заметки и инструменты вроде Obsidian или Notion помогают связывать эти два мира так, что реальные баги подкрепляют абстрактные идеи.
Не нужен идеальный процесс. Начните просто:
- Создайте два пространства: Build (Сборка) и Learning (Обучение).
- Заведите по одному простому шаблону для каждого.
- В конце каждого дня переносите минимум один инсайт из Build → Learning.
Если делать это стабильно, вы перестанете по кругу переучивать одни и те же вещи — и начнёте кодить, опираясь на всю мощь вашего двухблокнотного мозга.