Блог: Код

Как использовать аннотации типов в файлах JavaScript
TypeScript (TS) позволяет использовать аннотации типов в коде JavaScript. TS даже может проверять...

Как пользоваться CodePen: подробное руководство для новичков
CodePen — онлайн-редактор для фронтендеров. Это песочница, в которой можно работать с HTML, CSS и...

Совершенный код: избавляйтесь от строк
Веб-программирование насквозь состоит из манипулирования строковыми данными. Данные в базе, данны...

Как использовать коды завершения в Bash-скриптах
Инструменты автоматизации и мониторинга удобны тем, что разработчик может взять готовые скрипты, ...

Онлайн-профессии не приносят лёгких денег, нужно пахать: интервью с Татьяной Михальченко
Пообщались с неординарным представителем рынка онлайн-образования. Это Татьяна Михальченко, она у...

Как правильно использовать семантические теги article и section: нюансы HTML5 и доступности сайтов
Проблема: визуальное отображение заголовков внутри `<section>` создаёт иллюзию логической иерархи...

Как использовать CSS-спрайты для увеличения скорости загрузки веб-страниц
Спрайты существуют не первый день. Разработчики игр активно используют этот инструмент, чтобы уск...

Новые возможности PHP 7.4: стрелочные функции, распаковка в массивах, типизированные свойства
В конце 2019 года вышла новая версия PHP. В этой статье пойдёт речь о возможностях PHP 7.4.

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

Преждевременная оптимизация: абсолютное зло или иногда полезная практика?
Мы обратились к опытным программистам и попросили ответить на один вопрос: «Дональд Кнут называл ...

Расчёт цвета: динамическое цветовое оформление на чистом CSS
В статье рассказывается, как с помощью кастомных свойств CSS и функции `calc()` воссоздавать `lig...

Вышел Poetry 1.0.0: новости Python
Команда Poetry 12 декабря сообщила о выходе Poetry 1.0.0. Разработчики благодарят сообщество и по...

Nbdev: используйте Jupyter Notebook для решения любых задач
Nbdev — система для исследовательского программирования. Этот подход базируется на утверждении, ч...

Продвинутый Python, часть 3: классы и метаклассы
Это завершающая статья цикла «Продвинутый Python», в которой пойдёт речь о классах и метаклассах....

Совершенный код: нисходящее и восходящее проектирование
К написанию кода можно подходить с двух позиций: сверху-вниз (нисходящее) и снизу-вверх (восходящ...

Идиоматический Redux: Redux Toolkit 1.0
В конце октября 2019 года вышел Redux Toolkit 1.0. Один из авторов проекта проекта и автор оригин...

Использование нескольких версий Python на unix-подобных операционных системах
Возможные способы установки нескольких версий среды исполнения Python на одну машину под управлен...

Как Immer покоряет React
Неизменяемость меняется. Ладно, как минимум меняется реализация неизменяемости в React. Шутки в с...

Изучаем продвинутые возможности Python, часть 2: замыкания, декораторы, модуль functools
В первой части серии публикаций о продвинутых возможностях Python мы познакомились с итераторами,...

Введение в интерфейсы WebAssembly
Эта статья знакомит читателя с интерфейсами WebAssembly.

Что такое WebAssembly: революционная технология для веба и не только
Вы наверняка слышали, что WebAssembly очень быстрый. Но что это значит, и что это за технология в...

Знакомимся с продвинутыми возможностями Python: итераторы, генераторы, itertools
В Python есть много возможностей, которые привлекают математиков. Вот некоторые из них: встроенна...

HTTP/3: прошлое, настоящее и будущее
В середине сентября в Google Chrome Canary в качестве эксперимента добавили поддержку протокола H...

Что такое Mailtrap, или Как тестировать письма на стадиях разработки и предпродакшена
Обзор посвящён сервису Mailtrap. Это инструмент для тестирования писем, который защищает ваших кл...

Что такое GraphQL: с основ до первых запросов
Это руководство по GraphQL. Из него вы узнаете базовую теорию, а также научитесь писать простые з...

Ликбез по пакетам и шпаргалка по модулям в Python
Статья рассказывает об устройстве пакетов и модулей языка Python и раскрывает некоторые тонкости,...

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

Что используют PHP-программисты: какие IDE и редакторы, средства отладки, тестирования и виртуализации востребованы профессионалами
Мы попросили опытных PHP-программисты рассказать, какие инструменты они используют для работы пря...

Не сушите код, нарушайте принцип единственной ответственности, переписывайте всё: (без)вредные советы программистам
Если последуете совету сушить код, то есть будете соблюдать принцип DRY, у вас появятся функции с...

Оформляем таблицы с помощью CSS: как работать с полями, границами и свойством z-index
Ещё несколько лет назад фронтенд-разработчики активно использовали табличную вёрстку для создания...

Предварительная версия TypeScript 3.6: что нового
Команда TypeScript сообщила 16 августа о выпуске предварительной версии (release candidate) TypeS...

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

Почему Django — лучший фреймворк для разработки сайтов
Django считается лучшим веб-фреймворком, написанным на Python. Этот инструмент удобно использоват...

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

Понимаем сленг программистов: мини-словарь для начинающих разработчиков
Начинающие разработчики не сразу понимают старших товарищей. Фразы вроде «я апишку свитчнул» или ...

Совершенный код: проектирование функций
Создавать функции легко, но создавать их _правильно_ — гораздо сложнее, чем кажется. Плохо спроек...

Какой PHP-фреймворк выбрать: сравниваем Symfony, Laravel и Yii2
В этой статье рассматриваются три наиболее популярных PHP-фреймворка: Symfony, Laravel и Yii2. Ав...

.flat() и .flatMap(): новые методы для работы с массивами в ECMAScript
Несколько месяцев назад в ECMAScript появились два новых метода для работы с массивами: Array.pro...

Селекторы атрибутов, ностальгический фреймворк, сироты и вдовы: 7 необычных приёмов и инструментов HTML/CSS
Эта статья для начинающих верстальщиков и будущих программистов. В ней вы найдёте несколько необы...

HighLoad++ Siberia 2019 - профессиональная конференция разработчиков высоконагруженных систем
Мероприятие пройдёт 24 и 25 июня в Новосибирске. Для студентов Хекслет действует скидка 50% на би...
.png)
Как избавиться от вложенных коллбэков: рассматриваем на примере приготовления гамбургера
Как избавиться от вложенных коллбэков? Рассматриваем ответ на примере алгоритма приготовления гам...

Совершенный код: злые однострочники
Программисты любят компактный код. Если он реализован грамотно, то такой код легко читается и не ...

Чему меня научил проект Brain Games: 7 главных открытий
Почему проект Brain Games — важный этап обучения.

Совершенный код: отделяем получение данных от их использования
Есть такой код, который я называю "код, который заставляет себя переписывать". Этот код не выгляд...

Набираем группу на проект профессии “Python-программист”
Он стартует уже сегодня, 6 мая.

Архитектура и ООП
Изначально этот материал планировался, как урок в PHP курсе по полиморфизму. Но он, в конце концо...

Bootstrap или свое решение
В сообществе Хекслета иногда возникают жаркие споры на тему использования таких решений, как Boot...

PHP: PsySH или Что такое REPL, Exploratory development
Традиционные инструменты, используемые до REPL в PHP - это var_dump()+die() и XDebug. REPL (Read,...

Как стать мидлом или сеньором-разработчиком, обучаясь на любых курсах по программированию?
Если учиться каждый день в поте лица целый год или даже два

Совершенный код: ошибки именования в программировании I
Ниже представлена подборка типичных ошибок, которые допускают программисты при именовании перемен...