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

В этой статье я расскажу про неочевидные примеры неправильного проектирования аргументов функций. Про необязательные параметры в JavaScript, передачу флагов, нарушениях интерфейсов и использовании оператора rest не по назначению.
А вот и лето. А вот и дайджест Хекслета. У нас уникальный май: мы выпустили уникальный курс по СИКП на Java, закончили базовый курс для профессии «Верстальщик» (тоже уникальный). А ещё переехали на новый сервер, улучшили IDE-редактор и, конечно же, провели много прямых эфиров и написали много статей.
Подробнее обо всех обновлениях читайте в этой статье. Напоминаем, что свои предложения по улучшению платформы вы можете направить на support@hexlet.io, а также написать нам в slack-комьюнити в канале #hexlet-feedback.
Наши студенты считают проекты одной из самых важных особенностей Хекслета. Проекты — это реальные задачи, выполняемые студентами на собственном компьютере, а не в тренажере или в учебной среде. Для его выполнения нужно не только написать законченную программу или сервис, но и самостоятельно настроить всю рабочую среду — это тоже важная часть обучения.
Мы собрали отзывы наших студентов о проектах Хекслета, сложностях, с которыми они сталкивались при их выполнении, а также работе с нашими менторами.
Продолжаю вести отчеты по прогрессу на Хекслете в профессии Фронтенд JavaScript.
Это перевод статьи Николаса Закаса, создателя ESLint и популярного автора, о дефолтном экспорте в JavaScript. Повествование ведётся от лица автора оригинальной публикации.
Надеемся, что ваши самоизоляционные майские праздники проходят успешно. Напоминаем, что с 9 по 11 мая мы работаем в режиме ответа на экстренные вопросы, во все остальные — как обычно. Если вы пропустили наши новости, то в этом дайджесте — полный список апрельских изменений.
В этом выпуске: крупные изменения в тарифных планах Хекслета и структуре прохождения проектов, адаптив для Code-basics, 100% профессии «Python-программист» и курс по Django, новые курсы и упражнения, обновление блога и море контента.
С 27 апреля проекты в профессиях «Фронтенд JavaScript» и «Бэкенд JavaScript» будут доступны только на плане «Премиум». Помогать студентам и проверять проекты будут персональные наставники.
Пока в мире всё неспокойно, и каждый день что-то происходит, неизменным остаётся одно — выход дайджеста Хекслета. Мы работаем в своём режиме: делаем новые курсы и улучшаем платформу. Если кратко: новый курс по Django, 29 практических испытаний, второй проект в профессии «Верстальщик», обновление уроков «Циклы JS» в Code basics, технические изменения платформы, календарь вебинаров в апреле, 16 статей в блоге Хекслета и скидки на конференции. Все подробности — в этом дайджесте.
Всем привет. Расскажу, как благодаря обучению на Hexlet я попал в большой коммерческий проект. Скажу честно, не сразу удалось собрать волю в кулак и нормально учиться. Пару раз бросал — то рекурсия, то функции взрывали мозг. Но в итоге я с ними справился.
Программисты каждый день пользуются сторонними библиотеками в своих программах, например, http-клиентами или парсерами. Помимо выполнения основных функций, все эти библиотеки как-то обрабатывают возникающие ошибки. Причем чем больше в библиотеке побочных эффектов — сетевое взаимодействие, работа с файлами — тем больше внутри кода, отвечающего за ошибки, и тем он сложнее.
В некоторых языках, таких как Python или JavaScript, переменные или константы, определенные на уровне модуля, могут быть импортированы в других частях программы. С одной стороны, это открывает больше возможностей по сравнению с языками, где любые данные должны находиться внутри функций, классов и так далее. С другой стороны, становится гораздо легче писать плохо поддерживаемый код.
В динамических языках есть два основных подхода при проектировании входных параметров функций: первый – использовать явные, позиционные аргументы, и второй – передавать структуру, внутри которой должно находиться все то, что ожидает функция. Явный и неявный способы передачи одинаково часто встречаются в реальном коде и, при этом, не всегда понятно, какой способ стоит предпочесть для конкретной функции. Именно об этом мы и поговорим.
Всем привет! Было трудно вспомнить и структурировать все периоды и моменты, потому что мой путь в профессию довольно сильно растянулся. Статья получилась не самой короткой, так как я постарался рассказать обо всех аспектах пути продолжительностью почти в 4 года. Как говорится, запасайтесь чаем, приятного чтения :-)
Кроссплатформенность — способность программы запускаться на разных платформах, например, разных операционных системах. Это довольно важное качество для программ, которые нужно запускать и в Windows, и в Linux. Причем как со стороны пользователей (все хотят кроссплатформенный фотошоп), так и со стороны разработчиков. Последнее часто встречается в веб-разработке, где часть команды может использовать одну операционную систему, а часть другую.
Кроссплатформенность программы зависит от разработчиков. В статье мы разберем несколько типичных ошибок программистов, которые ухудшают кроссплатформенность или вообще убирают ее.
Создатель Yarn и Babel Себастиан Маккензи (Sebastian McKenzie) долго работал над универсальным инструментом для JavaScript-разработчиков. 26 февраля он представил проект Rome. «Все дороги ведут в Рим», — таков девиз создателей инструмента.
Нормализация данных — подход, с помощью которого можно не только упростить логику кода, но и сделать сам код короче. Его принцип работы состоит в приведении данных к общему виду перед основным алгоритмом обработки этих данных. Посмотрим, как это работает на простом примере.
Весна, весне дорогу и дорогу дайджесту новостей Хекслета! Рассказываем, что нового произошло в прошлом месяце — о решении изменить стоимость тарифных планов, митапах и предстоящих событиях. Напоминаем, что с 5 марта на Хекслете для тарифного плана «Профессиональный» и проектов будут изменены цены. Вы успеете активировать подписку и забронировать проекты по прежней стоимости. На курсах Python, JavaScript и PHP масштабное добавление практических упражнений - 22 испытания. Подробнее о февральских изменениях читайте в статье.
Свитч — очень простая конструкция, которую изучают программисты в самом начале своего пути. Она ни у кого не вызывает вопросов, но с ней связана одна интересная деталь, которую очень часто упускают из виду и, в итоге, используют свитч неправильно. Это дефолтное поведение.
TypeScript (TS) позволяет использовать аннотации типов в коде JavaScript. TS даже может проверять код при сборке, благодаря чему вы увидите ошибки до того, как они попадут в продакшен. Вы избавитесь от undefined is not a function
навсегда.
CodePen — онлайн-редактор для фронтендеров. Это песочница, в которой можно работать с HTML, CSS и JavaScript. Читайте подробное руководство по этому инструменту.