Код
Как использовать аннотации типов в файлах 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% на би...
Как избавиться от вложенных коллбэков: рассматриваем на примере приготовления гамбургера
Как избавиться от вложенных коллбэков? Рассматриваем ответ на примере алгоритма приготовления гам...
Совершенный код: злые однострочники
Программисты любят компактный код. Если он реализован грамотно, то такой код легко читается и не ...
Чему меня научил проект Brain Games: 7 главных открытий
Почему проект Brain Games — важный этап обучения.
Совершенный код: отделяем получение данных от их использования
Есть такой код, который я называю "код, который заставляет себя переписывать". Этот код не выгляд...
Набираем группу на проект профессии “Python-программист”
Он стартует уже сегодня, 6 мая.
Архитектура и ООП
Изначально этот материал планировался, как урок в PHP курсе по полиморфизму. Но он, в конце концо...
Bootstrap или свое решение
В сообществе Хекслета иногда возникают жаркие споры на тему использования таких решений, как Boot...
PHP: PsySH или Что такое REPL, Exploratory development
Традиционные инструменты, используемые до REPL в PHP - это var_dump()+die() и XDebug. REPL (Read,...
Как стать мидлом или сеньором-разработчиком, обучаясь на любых курсах по программированию?
Если учиться каждый день в поте лица целый год или даже два
Совершенный код: ошибки именования в программировании I
Ниже представлена подборка типичных ошибок, которые допускают программисты при именовании перемен...
Истории