Аватар пользователя Kirill Mokevnin
18927

mokevnin

Kirill Mokevnin

На Хекслете с 12 июля 2014

CTO at hexlet.io

Ульяновск, Ульяновская область, Россия

Как искать техническую информацию главное изображение
Код Без стека

Поиск ответов на вопросы и решение проблем с помощью Гугла — важнейший навык для программиста. Большинство проблем, с которыми сталкивается новичок, уже решены и описаны. Нужно лишь научиться находить эти решения и ответы.

Аватар пользователя Kirill Mokevnin
Kirill Mokevnin
18 декабря 2024
26 Время чтения статьи ~5 минут Читать дальше
Что такое трекинг ошибок главное изображение
Код Без стека Тестирование

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

Аватар пользователя Kirill Mokevnin
Kirill Mokevnin
18 декабря 2024
1 Время чтения статьи ~4 минуты Читать дальше
Среды разработки: какие они бывают и чем отличаются друг от друга главное изображение
Код Без стека

Сооснователь Хекслета Кирилл Мокевнин рассказывает, какие бывают среды разработки, как проводится контроль и испытание фичи и что такое интеграция.

Аватар пользователя Kirill Mokevnin
Kirill Mokevnin
21 марта 2023
153 Время чтения статьи ~5 минут Читать дальше
Как эффективно читать профессиональную литературу главное изображение
Мотивация Без стека

Cооснователь Хекслета Кирилл Мокевнин рассказывает, как эффективно читать профессиональную литературу и каким образом правильно выбирать книги.

Аватар пользователя Kirill Mokevnin
Kirill Mokevnin
14 декабря 2022
325 Время чтения статьи ~3 минуты Читать дальше
Анатомия проектов Хекслета главное изображение
Код Без стека

По мнению наших студентов, одна из самых сильных черт Хекслета – проекты. Это специальные задачи, приближенные к реальной жизни, выполняемые вне среды Хекслета на собственном компьютере.

В этой статье расскажем, как устроены проекты, сколько времени нужно на их выполнение и почему плохой код не пройдет. В тексте приведены впечатления наших студентов о процессе работы над проектом.

Аватар пользователя Kirill Mokevnin
Kirill Mokevnin
29 апреля 2022
206 Время чтения статьи ~9 минут Читать дальше
Чем отличается обучение на Хекслете от других школ главное изображение
Мотивация Без стека

Студенты Хекслета постоянно подчеркивают уникальность его программ обучения. Особенно те, кто пробовал разные форматы и курсы, которых сейчас очень и очень много. Основной тезис: «Хекслет дает сильную базу и учит думать». Что это значит и как это влияет на конечный результат? Ниже вся правда о курсах Хекслета.

Аватар пользователя Kirill Mokevnin
Kirill Mokevnin
09 января 2021
140 Время чтения статьи ~12 минут Читать дальше
Совершенный код: состояние в модулях главное изображение
Код JavaScript

В скриптовых языках, подобных JavaScript, внутри файлов (но вне определений) можно писать любой код: определения функций, вызовы функций, определения и изменения переменных. Такая свобода упрощает разработку, например, создание одноразовых скриптов для каких-то простых или не очень задач. С другой стороны, при неаккуратной разработке появляются ошибки, значительно усложняющие код и его поддержку. Они так часто встречаются в продакшен коде, что об этом нужно поговорить отдельно.

Аватар пользователя Kirill Mokevnin
Kirill Mokevnin
26 июня 2020
143 Время чтения статьи ~5 минут Читать дальше
Совершенный код: библиотека или своё решение главное изображение
Код JavaScript Без стека

Стоит или не стоит ставить библиотеки ради нескольких простых функций? Не проще ли их написать самим? Эти вопросы регулярно возникают у начинающих разработчиков. На Хекслете их задают практически все кто проходят проекты. Давайте разбираться.

Аватар пользователя Kirill Mokevnin
Kirill Mokevnin
20 июня 2020
156 Время чтения статьи ~4 минуты Читать дальше
Совершенный код: плохие и хорошие практики при проектировании параметров функций главное изображение
Код JavaScript

В этой статье я расскажу про неочевидные примеры неправильного проектирования аргументов функций. Про необязательные параметры в JavaScript, передачу флагов, нарушениях интерфейсов и использовании оператора rest не по назначению.

Аватар пользователя Kirill Mokevnin
Kirill Mokevnin
20 июня 2020
181 Время чтения статьи ~6 минут Читать дальше
Совершенный код: обработка ошибок в библиотеках главное изображение
Код JavaScript Без стека

Программисты каждый день пользуются сторонними библиотеками в своих программах, например, http-клиентами или парсерами. Помимо выполнения основных функций, все эти библиотеки как-то обрабатывают возникающие ошибки. Причем чем больше в библиотеке побочных эффектов — сетевое взаимодействие, работа с файлами — тем больше внутри кода, отвечающего за ошибки, и тем он сложнее.

Аватар пользователя Kirill Mokevnin
Kirill Mokevnin
20 марта 2020
46 Время чтения статьи ~6 минут Читать дальше
Совершенный код: интерфейсы модулей главное изображение
Код JavaScript Без стека

В некоторых языках, таких как Python или JavaScript, переменные или константы, определенные на уровне модуля, могут быть импортированы в других частях программы. С одной стороны, это открывает больше возможностей по сравнению с языками, где любые данные должны находиться внутри функций, классов и так далее. С другой стороны, становится гораздо легче писать плохо поддерживаемый код.

Аватар пользователя Kirill Mokevnin
Kirill Mokevnin
16 марта 2020
91 Время чтения статьи ~2 минуты Читать дальше
Совершенный код: явные и неявные параметры функций главное изображение
Код JavaScript Без стека

В динамических языках есть два основных подхода при проектировании входных параметров функций: первый – использовать явные, позиционные аргументы, и второй – передавать структуру, внутри которой должно находиться все то, что ожидает функция. Явный и неявный способы передачи одинаково часто встречаются в реальном коде и, при этом, не всегда понятно, какой способ стоит предпочесть для конкретной функции. Именно об этом мы и поговорим.

Аватар пользователя Kirill Mokevnin
Kirill Mokevnin
12 марта 2020
81 Время чтения статьи ~4 минуты Читать дальше
Совершенный код: поддержка кроссплатформенности главное изображение
Код JavaScript Без стека Веб-разработка

Кроссплатформенность — способность программы запускаться на разных платформах, например, разных операционных системах. Это довольно важное качество для программ, которые нужно запускать и в Windows, и в Linux. Причем как со стороны пользователей (все хотят кроссплатформенный фотошоп), так и со стороны разработчиков. Последнее часто встречается в веб-разработке, где часть команды может использовать одну операционную систему, а часть другую.

Кроссплатформенность программы зависит от разработчиков. В статье мы разберем несколько типичных ошибок программистов, которые ухудшают кроссплатформенность или вообще убирают ее.

Аватар пользователя Kirill Mokevnin
Kirill Mokevnin
06 марта 2020
63 Время чтения статьи ~4 минуты Читать дальше
Совершенный код: нормализация данных главное изображение
Код JavaScript Без стека

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

Аватар пользователя Kirill Mokevnin
Kirill Mokevnin
03 марта 2020
103 Время чтения статьи ~3 минуты Читать дальше
Совершенный код: дефолты в свитчах главное изображение
Код JavaScript Без стека

Свитч — очень простая конструкция, которую изучают программисты в самом начале своего пути. Она ни у кого не вызывает вопросов, но с ней связана одна интересная деталь, которую очень часто упускают из виду и, в итоге, используют свитч неправильно. Это дефолтное поведение.

Аватар пользователя Kirill Mokevnin
Kirill Mokevnin
27 февраля 2020
176 Время чтения статьи ~3 минуты Читать дальше
Совершенный код: избавляйтесь от строк главное изображение
Код JavaScript Без стека

Веб-программирование насквозь состоит из манипулирования строковыми данными. Данные в базе, данные в JSON (который тоже строка), данные в коде (SQL-запросы, списки). Часть этих строк на код не влияет, это просто данные, которые гоняются из базы пользователю и обратно. Другие данные задействованы в логике приложения и серьезно влияют на устойчивость к ошибкам и скорость их обнаружения.

Аватар пользователя Kirill Mokevnin
Kirill Mokevnin
16 февраля 2020
135 Время чтения статьи ~5 минут Читать дальше
Сложные простые задачи по программированию главное изображение
Код Без стека

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

Зачастую эти представления не совпадают с тем, как на самом деле работает механизм становления хорошего разработчика. Студенту может казаться, что его учат неправильно или грузят ненужными знаниями. Подобные ситуации случались с каждым и в школе и в университете. Они встречаются и у нас на Хекслете. В этой статье я объясню некоторые теоретические основы процесса обучения, которые позволят по-другому взглянуть на происходящее вокруг. Это поможет качественнее учиться и проще справляться с трудностями.

Аватар пользователя Kirill Mokevnin
Kirill Mokevnin
08 января 2020
442 Время чтения статьи ~10 минут Читать дальше