Все статьи | Блог студента

Хекслет + Codewars = Liuboff

Статья написана студентом Хекслета. Мнение автора может не совпадать с позицией редакции
Хекслет + Codewars = Liuboff главное изображение

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

Последовательность vs. работа на опережение

Например, мне очень нравится Хекслет в связке с Codewars. На Хекслете все очень подробно, последовательно и системно, и это просто дофаминовый рай. Задания в рамках курсов и испытаний всегда учитывают, что студент знает на данный момент, а что нет. И каждая решенная задача приносит чистое удовольствие: вот я не умела и уже умею.

На Сodewars все по-другому. Там, конечно, есть возможность выбирать задачи по теме и по уровню сложности, но я использую метод по умолчанию — автоматический рандом с легкой поправкой на уровень уже решенных задач, естественно в сторону усложнения. Практика показала, что даже базовых знаний Python (в рамках первого блока на Хекслете) для решения задач достаточно. Просто приходится много выкручиваться или, наоборот, решать слишком уж в лоб.

Поэтому сервис иногда сам просит меня оптимизировать решение, но чаще всего мне просто становится стыдно, когда я сравниваю свое решение с лучшими решениями этой задачи от других людей. И вот за это я Codewars люблю. Не то, чтобы мне очень нравилось страдать после каждой решенной задачки, просто это задает перспективу и идет работа на опережение: у меня создается ощущение нехватки определенных знаний. После такой встряски нежная и последовательная подача этих знаний на Хекслете воспринимается с ещё большей благодарностью.

Теория переводит навыки на следующий уровень

Например, как это работает. Именно Codewars заставил меня обратить внимание на то, что не всякое решение — это хорошее решение. И я поняла, что совершенно ничего не знаю о вездесущих алгоритмах, их сложности и оптимизации. И тут выручил Хекслет.

Я люблю просматривать списки доступных курсов, и недавно нашла в Песочнице курс по «Введению в алгоритмы для Python». Он помечен как устаревший и больше не поддерживается, но для меня оказался очень полезным. Этот курс наглядно показывает, в чем суть оптимизации и почему одни алгоритмы лучше других. Курс теоретический, и мои знания Python от него не улучшились (поэтому Codewars пока на том же уровне), изменилось другое. Уже после половины курса я чувствую, как много непонятных моментов по работе уложилось в систему и разрешилось.

Как аналитик, я часто работаю с базами данных. И, например, раньше я не понимала, зачем оптимизировать SQL-запросы, чем так плохо использование команд сортировки в них и когда вообще их можно применять, а когда нет. Теперь же я, как минимум, знаю, что для обычных полей в базе данных сортировка происходит линейным методом, что очень затратно при больших массивах данных. Зато для проиндексированных полей сортировка происходит двоичным методом и не требует практически никаких дополнительных ресурсов. (Про индексацию я знала, про её эффекты не задумывалась.) Кроме того, теперь я понимаю, что поля с часто интересующими меня показателями и нужно индексировать, а это уже оптимизация всей БД.

Итог

В общем, Codewars помог мне увидеть проблему, а Хекслет помог решить её быстро и легко. Тот же курс по алгоритмам и оценке их сложности оказался мне полезен в текущей работе. Плюс в будущем, благодаря нему, я уверена, мне будет сильно интереснее разбираться в более сложных структурах данных и алгоритмах Python уже на практике.

Но, конечно, такие отклонения от программы полезны, только когда эта программа есть, иначе можно годами «исследовать мир», никуда толком не продвигаясь.

Аватар пользователя ema
ema 23 ноября 2020
Рекомендуемые программы

С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.

Иконка программы Фронтенд-разработчик
Профессия
Разработка фронтенд-компонентов веб-приложений
8 декабря 8 месяцев
Иконка программы Python-разработчик
Профессия
Разработка веб-приложений на Django
8 декабря 8 месяцев
Иконка программы PHP-разработчик
Профессия
Разработка веб-приложений на Laravel
8 декабря 8 месяцев
Иконка программы Node.js-разработчик
Профессия
Разработка бэкенд-компонентов веб-приложений
8 декабря 8 месяцев
Иконка программы Верстальщик
Профессия
Вёрстка с использованием последних стандартов CSS
в любое время 5 месяцев
Иконка программы Java-разработчик
Профессия
Разработка приложений на языке Java
8 декабря 10 месяцев
Иконка программы Разработчик на Ruby on Rails
Профессия
Новый
Создает веб-приложения со скоростью света
8 декабря 5 месяцев