Скидки до 28% + 2-ая профессия бесплатно и подарки на 50 000₽

Главная | Все статьи | Дневник студента

Хекслет + Codewars = Liuboff

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

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

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

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

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

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

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

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

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

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

Итог

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

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

Аватар пользователя ema
ema 23 ноября 2020
7
Похожие статьи
Рекомендуемые программы
профессия
Верстка на HTML5 и CSS3, Программирование на JavaScript в браузере, разработка клиентских приложений используя React
10 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на Python, Разработка веб-приложений и сервисов используя Django, проектирование и реализация REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
Тестирование веб-приложений, чек-листы и тест-кейсы, этапы тестирования, DevTools, Postman, SQL, Git, HTTP/HTTPS, API
4 месяца
с нуля
Старт 26 декабря
профессия
Программирование на Java, Разработка веб-приложений и микросервисов используя Spring Boot, проектирование REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
новый
Google таблицы, SQL, Python, Superset, Tableau, Pandas, визуализация данных, Anaconda, Jupyter Notebook, A/B-тесты, ROI
9 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на PHP, Разработка веб-приложений и сервисов используя Laravel, проектирование и реализация REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на Ruby, Разработка веб-приложений и сервисов используя Rails, проектирование и реализация REST API
5 месяцев
c опытом
Старт 26 декабря
профессия
Программирование на JavaScript в браузере и на сервере (Node.js), разработка бекендов на Fastify и фронтенда на React
16 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на JavaScript, разработка веб-приложений, bff и сервисов используя Fastify, проектирование REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
новый
Git, JavaScript, Playwright, бэкенд-тесты, юнит-тесты, API-тесты, UI-тесты, Github Actions, HTTP/HTTPS, API, Docker, SQL
8 месяцев
c опытом
Старт 26 декабря