Содержание
Представьте, что вы учите музыкальный фрагмент. Можно слушать запись и кивать — и можно сесть за инструмент и ошибиться на третьем такте. Ошибка на клавишах неприятная, но именно она показывает: пассаж ещё не в пальцах. С кодом та же история. Прочитать чужой pick_device — одно умение; набрать его без подсказки — другое. Этот гайд собирает и то, и другое: зачем набор руками, как ИИ помогает и мешает, как читать статьи со ссылкой в тренажёр, и какие режимы брать на разных фазах запоминания.
Что даёт набор руками
Когда вы печатаете строку за строкой, внимание цепляется за скобки, отступы, имена. Мозг не может «проглотить» блок целиком, как при чтении абзаца. Это не про рекорд скорости — про то, чтобы синтаксис перестал быть чужим шумом.
Копирование из статьи или из чата экономит минуты и крадёт тренировку. Вы получаете рабочий файл и пустую мышечную память. Завтра без вкладки снова споткнётесь на getattr(torch.backends, "mps", None). Тренажёр на этом сайте как раз про осознанную практику: короткий фрагмент, метрики точности, без запуска тяжёлых библиотек в браузере.
В проде мы не набираем библиотеки с нуля ради спорта. Учебный фрагмент из урока — как гамма: маленький, повторяемый, измеримый. Гаммы не заменяют концерт, но без них концерт разваливается. Старт: посадочная или сразу тренажёр.
Когда ИИ ускоряет — и когда мешает
ИИ хорошо закрывает пустое место на экране. Хуже он закрывает пустое место в навыке. Если модель пишет за вас каждый учебный файл, вы тренируете умение формулировать запросы — полезное, но другое. Осознанная практика — короткие повторы с обратной связью по точности, а не «модель сделала за меня».
ИИ уместен, когда вы уже держите контур: набросать черновик теста и править самим; разобрать трассировку стека, которую уже воспроизвели; перенести знакомый приём на другой язык. Он мешает на раннем этапе, когда ещё не чувствуются отступы Python или порядок cuda → mps → cpu: автодополнение прячет пробелы в понимании, и вы принимаете ответ, который «похож на правду», пропуская момент, где сами бы споткнулись.
Тренажёр набора — не среда разработки. Он не запускает ваш код и не подсказывает следующую строку. Он меряет, совпал ли ввод с эталоном из статьи. Зависимости и тесты остаются локально, если материалу они нужны. Разделение ролей намеренное: чат ускоряет работу; тренажёр тренирует внимание.
Как читать статьи и курсы с тренажёром
Код на сайте встречается в двух местах: в уроках курсов и в обычных статьях блога. Текст остаётся текстом — теория, команды, разбор. Рядом с фрагментами, которые стоит набрать руками, появляется явная ссылка «Тренировать» (или «Набрать в тренажёре»). У других блоков в учебных материалах часто есть мягкая ссылка на посадочную — «Тренажёр набора».
Ритуал простой:
- Прочитайте, зачем нужен фрагмент в этой статье.
- Откройте ссылку у блока — в тренажёре загрузится эталон.
- Наберите до полного совпадения; смотрите accuracy, не только WPM.
- Вернитесь к тексту. Если у материала есть репозиторий или локальные проверки — соберите файл у себя и гоняйте тесты там, не в браузере.
В курсах practice-блоки чаще привязаны к файлам урока: короткий кусок → набор → полный файл в репозитории. В обычных постах ссылка — способ не скользить глазами по коду, а закрепить синтаксис, даже если «лаборатории» рядом нет. Вывод терминала, bash-команды и служебные блоки без practice-метки остаются только с кнопкой копирования — их не нужно набирать как упражнение.
Тренажёр не ставит зависимости, не клонирует репозиторий и не заменяет терминал. Песочницы языка в браузере здесь нет намеренно: настоящая среда остаётся локальной. Сайт связывает прозу и набор; железо и пакеты — у вас.
Как устроено упражнение
- Выбираете язык, уровень и режим (и при необходимости ползунки: сколько скрыть, сколько секунд показать код).
- Берёте готовый пример из банка или генерируете новый; из блога код уже подставлен.
- Набираете в поле ввода. Символы сверяются с эталоном: зелёный — верно, красный — ошибка.
- Упражнение завершается только при полном совпадении с эталоном. Дальше — статистика, следующий пример или возврат к статье.
Метрики на панели: accuracy (доля верных символов среди уже набранных), WPM (скорость), число ошибок, время. Для учёбы важнее закрыть фрагмент без «прощения» опечаток, чем сорвать рекорд WPM. Из статьи кнопка «Тренировать» всегда открывает режим full — дальше режим можно сменить на панели настроек.
Режимы: от полной опоры к проверке без подсказки
Шесть режимов — не «сложнее = лучше», а разные фазы запоминания: сначала эталон целиком, потом убираются опоры.
full — первый проход
Эталон весь виден. Вы печатаете рядом, сверяясь глазами.
Когда: фрагмент из статьи впервые; незнакомый синтаксис; длинный кусок, где важно не потерять структуру.
Как: один спокойный проход до 100% accuracy. Не гонитесь за скоростью. Если споткнулись на имени функции — перечитайте эталон вслух, потом продолжите.
partial — повтор с дырами
Часть строк эталона скрыта (доля настраивается ползунком). Вы достраиваете недостающее по контексту соседних строк.
Когда: фрагмент уже набирали в full; хотите проверить связки «импорт → функция → return».
Как: 30–50% скрытого. Если часто гадаете — вернитесь в full. Если проходит легко — поднимите процент или перейдите в memory.
memory — по памяти
Эталон показывают на N секунд, затем прячут. Печатаете, опираясь на то, что успели схватить.
Когда: короткий фрагмент; готовитесь писать похожий код без статьи.
Как: 15–20 секунд на коротком блоке. Не смотрите во вкладку статьи — иначе режим бессмысленен. Ошибки в конце покажут, что не отложилось: скобки, имена, порядок вызовов.
fillblanks — заполнить пробелы
В эталоне вырезаны ключевые куски (часто имена, операторы, литералы). Нужно восстановить их точно.
Когда: синтаксис знакомый, но путаете детали API; точечная тренировка, а не весь файл.
Как: один проход; «дыры», которые давались труднее, выпишите в шпаргалку на день, не в вечный конспект.
hints — скелет
Видны подсказки и каркас, но не полный список для перепечатки. Ближе к задаче «восстановить реализацию по контуру».
Когда: уже уверены в full/partial; мост к самостоятельному коду в редакторе.
Как: не подглядывайте готовый файл в репозитории, пока не закончите попытку. После — сверьте и отметьте расхождения.
implement — по описанию
Показывают формулировку задачи, а не готовый код. Вы набираете решение с нуля; проверка — совпадение с эталонным решением в банке (жёстче, чем «идея верная»).
Когда: упражнение из менеджера тренажёра с описанием; проверка, можете ли воспроизвести паттерн без образца на экране.
Как: сначала full на том же примере, потом implement через день. Если не сходится посимвольно — это нормально: режим строгий; вернитесь к partial/memory, а implement оставьте на короткие канонические сниппеты.
Ритуал на неделю
| День | Режим | Цель |
|---|---|---|
| 1 | full | 1–2 фрагмента из статей до 100% accuracy |
| 2 | partial | те же фрагменты, ~40% скрыто |
| 3 | memory | короткие куски, 10–20 сек показа |
| 4 | fillblanks или hints | детали API / каркас |
| 5 | full из нового поста | расширение банка |
Из блога удобнее всего стартовать кнопкой «Тренировать» у блока — код уже в тренажёре. Банк упражнений и смена режима — на странице тренажёра.
Accuracy, WPM и рейтинг
- Accuracy — главный учебный сигнал. Цель прохода: 100%.
- WPM — вторичен. Растёт сам, когда пальцы перестают искать скобки.
- Ошибки — смотрите не «сколько», а где (отступы, кавычки, имена).
- Рейтинг на сайте смешивает скорость и точность; ник задаётся в виджете прогресса. Это мотивация, не экзамен.
Открыть практику: посадочная, тренажёр, рейтинг.



Комментарии