Всё готово!
Я только что закончил писать код, который будет записывать каждое моё действие в английском: каждое новое слово, каждую попытку вспомнить, каждую секунду практики.
Завтра начинается главное - первый день, когда я наконец начну учить язык не вслепую, а с полным пониманием, что и как я делаю.
Это будет честный эксперимент над собой.
Началось всё с простого инсайта, который пришёл ко мне, когда я писал код для сохранения практик.
Я осознал: не могу делать то, что сам ненавижу - очередной скучный тренажёр с искусственными упражнениями.
Вместо тренажёра я решил создать фитнес-трекер для языка. Инструмент, который:
- Контролирует выполнение практик.
- Отслеживает продвижение, показывая статистику.
- Хранит всё необходимое: чанки, предложения для письма.
- Анализирует данные и помогает корректировать обучение.
Именно такая программа позволит достичь цели - освоить язык в полной мере. "Система активностей" - это и есть сердце такого трекера. И её создание стало главным итогом этой продуктивной недели.
А теперь - к деталям: что сделал на этой неделе и как это работает.
Убрал дублирование в коде и расширил модель чанка.
Раньше у меня было две почти идентичные функции для обновления чанка. Теперь в этом нет необходимости, так как теги теперь создаются отдельным сервисом.
Объединил их в одну. Стало логичнее и проще для поддержки.
А ещё - добавил поле произношение.
Да, записать его для 3-4 слов в чанке может быть непросто, но для качественного запоминания это критически важно.
Сделал первую практику: заменил сложный алгоритм на список чекбоксов.
Я сознательно не стал проектировать универсальную систему практик. Вместо этого быстро сделал самое простое, что работает сейчас - список чекбоксов для запоминания чанка.
Почему чекбоксы? Потому что это самое простое решение, которое пришло мне в голову.
Раньше был интерфейс с переключением шагов. Теперь - простое и понятное правило: пока все галочки не стоят, практика не завершена.
Сначала - работающий механизм, потом - оптимизация.
Добавил возможность запоминать один конкретный чанк.
Иногда нужно отработать не то, что предлагает алгоритм интервальных повторений, а один конкретный чанк.
На реализацию этой точечной возможности ушло всего полчаса.
Ещё в версии программы со словами я хотел это сделать. Упражнение на запоминание работает по алгоритму интервальных повторений и показывает чанки в своём порядке. Но иногда хочется выбрать именно один чанк и практиковать именно его. Что я и реализовал.
Внедрил систему фильтров, чтобы не путаться в чанках.
Когда в базе накопилось около 50 чанков, я стал в них теряться. Решение оказалось на поверхности - простой фильтр по статусу, прогрессу в запоминании и тегам.
Фильтры - это не просто "удобно". Для трекера это необходимость. Как можно контролировать прогресс, если не видишь, что именно у тебя есть? Теперь я могу одним кликом показать только "сырые" чанки для добавления информации или только изученные - для повторения.
Опять же, я не стал придумывать что-то сложное. Просто фильтрую список и скрываю всё, что не подходит под условия.
Создал систему активностей.
Я не хотел начинать запоминать слова, пока не появится механизм сохранения данных о практиках. Так родилась система активностей - "чёрный ящик" моего трекера.
Её принцип прост: фиксировать каждое действие и его длительность. Сейчас она записывает три типа событий: добавление нового чанка, начало его изучения и выполнение практики на запоминание.
Каждая активность хранит ключевые данные: тип, время начала и завершения, продолжительность, связанный чанк, поле для дополнительных данных, которое пока остаётся пустым.
В этом и есть суть трекера. Это не тренажёр, который заставляет делать упражнения. Это инструмент, который честно показывает, что и сколько ты делал.
Теперь я могу наконец начать учить слова, зная, что каждое моё усилие будет учтено и превратится в статистику для анализа.
Следующий шаг - на основе этих "сырых" данных построить первую систему статистики.
Итоги недели.
Эта неделя оказалась самой продуктивной: я успел добавить три новые части системы, сделав их максимально простыми.
При этом, я наконец осознал, что создаю именно трекер, а не тренажёр.
Да, на этой неделе я опять не изучал Python и не изучал английский. Однако, система готова к первым практикам, и у меня больше не остаётся отговорок, чтобы не начинать их.
Следующую неделю я планирую посвятить её испытаниям.
Присоединяйтесь!
Подписывайтесь на мой Дзен-канал, где я делюсь итогами каждой недели и ключевыми идеями по разработке.
А что думаете вы? Если у вас есть опыт, мысли или вопросы по поводу изучения языка через чанки - оставляйте комментарии! Давайте обсудим разные подходы: что работает лично для вас, а что кажется искусственным?
Если пост оказался для вас полезным - поставьте лайк. Так я пойму, в каком направлении двигаться дальше, и буду чаще делиться подобными практиками.