Уменьшаем размер образа Docker для приложения Next.js
Как избавиться от ненужных файлов в образе докера? Выполним контейнеризацию приложения и простую оптимизацию размеров образа Docker.
5 непростых вопросов по JavaScript
Разберем пять непростых вопросов: о сравнениях, пустых массивах, странном try catch, стрелочной функции и коварном JSON.stringify. Сможете ответить на них правильно?
11 инструментов для ускорения создания пользовательского интерфейса
Предлагаем подборку бесплатных инструментов для стилистического оформления пользовательских интерфейсов. Они помогут фронтенд-разработчикам и дизайнерам существенно сэкономить время и повысить производительность.
React: плюсы и минусы популярной библиотеки JavaScript
React - широко используемая и мощная библиотека JavaScript для создания пользовательских интерфейсов. Рассмотрим преимущества и недостатки этой библиотеки, которые стоит учитывать, прежде чем внедрять ее в проект.
Эти маленькие сниппеты кода изменили мир
Всего несколько коротких строк кода способны оказать огромное влияние на развитие интернет-технологий по всему миру. Вот несколько примеров.
4 типичные ошибки разработчиков Node.js
Растущее комьюнити Node.js - свидетельство надежности и эффективности этого инструмента. Однако не всем удается извлечь из него максимальную выгоду. Рассмотрим самые распространенные ошибки разработчиков Node.js.
12 генераторов CSS для работы в 2023 году
Рассмотрим инструменты для конструирования стильных профессиональных сайтов с применением градиентов, теней, трансформаций, анимации, фильтров и многого другого. С ними начинающие и опытные разработчики сэкономят время и силы.
8 неэффективных практик JavaScript, которых лучше избегать
Отказавшись от неэффективных практик программирования на JavaScript, вы всегда будете писать удобный и легко читаемый код. Это сэкономит вам и вашей команде много времени и обеспечит долгую жизнь вашим продуктам.
Самый уродливый шаблон React
Как обновлять состояние при изменении свойства? Что предпочтительнее: рекомендованный шаблон из новой документации или хуки?
Как использовать WebGL для интерактивной 3D-графики
Расширьте возможности веб-приложения за счет интерактивной 3D-графики. Предлагаем пошаговый гайд по 3D-моделированию с использованием WebGL (API JavaScript) и библиотеки Three.js.
Автоматическая караоке-система на основе React и Vercel
Подробное пошаговое руководство по созданию бессерверного приложения для того, чтобы повеселиться в хорошей компании.
Дата и время в JavaScript
Учимся работать с датой и временем в JavaScript: разбираемся с определением и способом создания объекта Data, его методами и форматами вывода.
9 проектов, которые помогут стать фронтенд-мастером в 2023 году
Какие технологии, фреймворки и генераторы статических сайтов востребованы во фронтенд-разработке в 2023 году? Выбрать наиболее подходящие помогут эти 9 проектов.
Как запустить несколько приложений React на одном порту Nginx с Docker
Разместим на одном порту два приложения React с Nginx и Docker. Настроим Docker, добавим конфигурацию Nginx глобально и файл docker-compose.yml.
Как развернуть приложение на Vercel
Быстро, доступно и легко! О чем идет речь? О развертывании приложения на платформе Vercel. Поделимся успешным практическим опытом и подробными пошаговыми инструкциями.
Утилиты, которые повышают эффективность приложения React на Typescript
Пользовательские утилиты могут значительно упростить написание и сопровождение кода. Они станут незаменимыми инструментами в вашем арсенале независимо от того, работаете ли вы над небольшим проектом или крупным корпоративным приложением.
Как создать эффективную систему логирования с использованием Aspect и Spring Cloud Sleuth
Логирование крайне важно для оперативного отслеживания ошибок в приложении и установления причины этих ошибок. Разберемся, как без особых усилий настроить фреймворк для логирования в приложении Spring Boot.
PHP: создание и публикация пакета composer
Научимся публиковать пакет официально. Пройдем все пошагово: от его подготовки до размещения на GitHub и регистрации в Packagist.
7 полезных репозиториев GitHub для JS-программистов
Репозитории GitHub - лучший способ изучать программирование (конечно, после чтения документации). Представляем подборку из 7 репозиториев, которые помогут улучшить знания JavaScript.
Next.js и React.js: что выбрать для проекта
Какой фреймворк - React.js или Next.js - стоит использовать в проекте, чтобы получить максимальную выгоду? Разберем оба фреймворка и определим, какие преимущества дает каждый из них.
Как анимировать 3D-модель с помощью PyWeb3D
Погрузимся в мир анимации и создадим анимированный клип с 3D-моделью с помощью pyWeb3D.
Обзор функциональностей CSS, которые появились в 2022 году
Познакомимся с новыми функциональностями CSS 2022 года. Они отражают современные тенденции в развитии языка и нацелены на улучшение стилизации веб-страниц.
Как создать опрос удовлетворенности сотрудников с Angular и сохранить его результаты в коллекции MongoDB
Представляем вашему вниманию пошаговое руководство по созданию опроса удовлетворенности сотрудников с помощью Angular и SurveyJS - бесплатной библиотеки опросов с открытым исходным кодом.
Почему не стоит писать простой код JavaScript?
Доводы, которые приведены в этой статье, заставят вас раз и навсегда отказаться от написания динамически типизированного кода JavaScript!
История создания одного бессерверного приложения рассылки с открытым ПО
Когда не удается найти готовое решение - следует его создать. К такому выводу пришел автор статьи, и самостоятельно разработал бессерверное приложение для информационной рассылки со всеми необходимыми функциональностями. Расскажем, все как было!
Как эффективно использовать TDD в React
Представляем пошаговую методику разработки кода на основе тестирования (Test-Driven Development). Эти 5 простых шагов помогут вам воспользоваться преимуществами TDD.
Основы создания сайтов
Разбираемся в базовых аспектах разработки сайтов: как они работают и из чего состоят. Предлагаем краткую инструкцию для начинающих.
Управление Node.js 19 и NPM 9 с помощью NVM
Обучающее практическое руководство по работе с менеджером версий Node.js - NVM.
Шаблон “Декоратор” в разработке на TypeScript
Овладейте полезным инструментом TS-разработчика - шаблоном проектирования "Декоратор". Он позволяет динамически расширять функциональность объектов, не усложняя читаемость кода.
Решение головоломки судоку на JavaScript с помощью хэш-карт и рекурсий
Если вы погружены в мир судоку, то наверняка ищете варианты ускоренного решения задач по программированию. Предлагаем ознакомиться с одним из них. Использование в нем хэш-карт и рекурсий значительно ускоряет решение головоломки.
Собеседование по Angular: ответы на часто задаваемые вопросы
Тщательная подготовка к собеседованию по Angular значительно повысит ваши шансы на успех. Чтобы произвести впечатление на интервьюера, нужно изучить не только основы, но и продвинутые концепции. Предлагаем ответы на главные вопросы собеседования и советы от профессионалов.
Как оптимизировать настройку приложений React Native
Собственный CLI делает настройку приложений React Native быстрее и удобнее. Узнайте о том, как создать интерфейс командной строки с помощью Node.js, а также упаковать проект и опубликовать его на npm.
Почему разработчики JavaScript используют инструменты на Rust
JavaScript - удобный язык программирования, который пользуется популярностью у многих разработчиков. Однако иногда его медлительность приводит к серьезным расходам. Подобных проблем можно легко избежать, если использовать более скоростной инструментарий.
Как загрузить 3D-модель с помощью PyWeb3D
Познакомимся с библиотекой three.js с синтаксисом Python и научимся загружать 3D-модели, используя PyWeb3D.
Интеграция ChatGPT с Node.js: руководство для начинающих
ChatGPT-3 позволяет добавить в приложение Node.js такие функции, как ответы чат-бота на вопросы пользователя, автоперевод, автореферирование и генерация связных текстов. Предлагаем пошаговое руководство по интеграции ChatGPT с Node.js.
Как добавить аутентификацию Supabase к приложению на Vue
Supabase - достаточно популярный аналог Firebase, который становится все более востребованным. Разберем по шагам настройку аутентификации в веб-приложении c использованием этого серверного инструмента.
Чистый код JavaScript: 8 простых приемов
Чистый код - результат нелегкого труда. Однако отладка грязного кода требует вдвое больше усилий, чем создание чистого. Поэтому каждому программисту стоит овладеть хотя бы элементарными приемами написания чистого кода.
Подстановка учетных данных 2.0: использование прокси-серверов и GUI-инструментов, обход CAPTCHA и системы безопасности Cloudflare
Приготовьтесь к путешествию в темный мир высокотехнологичного хакерства. Вы узнаете о новейших видах подстановки учетных данных, украденных киберпреступниками: использовании прокси-серверов и GUI-инструментов, обходе CAPTCHA и системы безопасности Cloudflare.
Проектирование архитектуры ПО React: лучшие практики
Рассмотрим общепринятые принципы разработки архитектуры ПО React, которые доказали свою эффективность. Они касаются выборки данных, управления состоянием, стилизации, работы с компонентами, а также тестирования и архитектуры приложений.
Как работает маршрутизация Express
Как в приложении Node.js происходит обработка клиентских запросов? Какая функция помогает обрабатывать тот или иной запрос? Чтобы ответить на эти вопросы, заглянем в "закулисье" маршрутизации фреймворка Express.
Профессиональная обработка ошибок в TypeScript
Обработка ошибок - важнейшая часть программирования на Type/JavaScript. Приложение может столкнуться с большими проблемами в будущем, если вы не уделите должного внимания выявлению и регистрации ошибок. Посмотрите, как это делают профи.
Супербыстрый веб-фреймворк Astro: подробный обзор
Обучающее руководство по работе с веб-фреймворком Astro, предназначенным для создания быстрых сайтов с большим количеством контента. Рассмотрим характеристики, установку, запуск Astro и разберем составляющие его исходного каталога: компоненты, макеты, страницы и директивы.
Почему стоит избегать метода push при разработке на JavaScript
Использование метода push может привести к изменению исходного массива. Такой код чреват потенциальными проблемами и, возможно, его придется даже переписывать.
8 полезных функций Angular, о которых стоит знать
Angular - достаточно большой и сложный фреймворк. В нем можно постоянно находить новые возможности. Представляем подборку полезных функций Angular, о которых вы, возможно, не слышали.
Как выглядит нескучный модульный лендинг React
Рассмотрим красивый шаблон лендинга с качественным кодом и улучшенной доступностью. Разберемся, что делает его структурированным, самодокументируемым и легко настраиваемым.
Реализация Redux на Rust
Создадим веб-приложение на Rust с помощью Yew и Redux, разберем его базовую структуру и то, как создаются действия и функция редьюсера. Рассмотрим также реализацию с макросом и перечислениями.
Почему лучше использовать const, а не let в TypeScript
Чем больше проект, тем сложнее разобраться в его коде. Как же сохранить чистоту кода, если одна переменная многократно перезаписывается? Используйте проверенную практику, выбирая const вместо let в TypeScript.
Эта информация навсегда изменит ваше отношение к коду JavaScript
К концу этой статьи вы превратитесь из простого пользователя JavaScript в того, кто глубоко его понимает и кого не удивляют его уникальные возможности. Это открытие расширит ваши знания и навыки, а также позволит использовать такие "фишки" JS, которых нет в других популярных языках.
Совместное использование кода в микросервисах и микрофронтендах: в чем разница
Принцип совместного использования кода сегодня активно используется при разработке как клиентской, так и серверной части приложений. Разбираемся в преимуществах, недостатках и особенностях такого подхода.
7 советов по очистке кода React
В этой статье собраны семь практических рекомендаций, помогающих создавать чистый и поддерживаемый код React.
Используем ShakaPlayer в LightningJS
Хотите интегрировать ShakaPlayer в приложение Lightning для управления воспроизведением? Изучите краткое руководство по расширению стандартного медиаплеера в Lightning и использованию его с ShakaPlayer.
Обзор JavaScript на основе диалога с ChatGPT
Предлагаем вам обзор JavaScript, составленный по материалам интервью с ChatGPT. ИИ-модель продемонстрировала свои уникальные возможности, предоставив развернутые естественные ответы на 12 непростых вопросов.
TypeScript: продвинутые типы и их скрытые возможности
Признанный во всем мире TypeScript поражает своими возможностями. Но все ли из них вам известны? Погрузитесь в систему TS, чтобы открыть для себя новые возможности использования свойств-аксессоров, условных типов, вывода и рекурсии типов.
8 полезных команд NPM для фронтенд-инженера
После ознакомления с этими техниками вам останется жалеть лишь об одном - о том, что не освоили их раньше. Одни из них помогут сэкономить много времени и сил, а другие просто поднимут настроение.
Советы по созданию хорошего дизайна API
Систематизируем некоторые общие правила дизайна API в современную эпоху, которые избавят от базовых "подводных камней" при их разработке.
7 способов сократить код JavaScript
Сокращение JS-кода - один из базовых методов его оптимизации. Им должен овладеть каждый профессиональный программист, поскольку компактный формат лучше читается и ускоряет загрузку страниц. Предлагаем 7 наиболее эффективных и часто используемых приемов сокращения JS-кода.
Как упростить автоматизированное тестирование компонентов React
Чтобы создать надежное ПО, нужен надежный тест. Рассказываем о тестировании приложений React: как устранить распространенные проблемы и ускорить этот процесс.
TypeScript: разница между типами any и unknown
Чем тип any отличается от unknown? Рассмотрим нюансы их использования в описании неизвестного значения и утверждении типа.
Кэширование с помощью Redis и Node.js
Redis - идеальный выбор как для хранения структур данных типа "ключ-значение", так и для кэширования. Из этого простого руководства вы узнаете, как выполнить подключение бэкенда Node.js к Redis и кэшировать данные.
10 самых серьезных ошибок в UX/UI-дизайне
Плохо продуманные интерфейсы сильно усложняют нашу жизнь. Если вы отвечаете за разработку интерфейса, старайтесь учитывать эти 10 самых вредных для пользовательского опыта ошибок.
Схватка “рекурсия против циклов” на арене JavaScript
Бой из пяти раундов между рекурсией и циклами за титулы "самый лаконичный", "самый понятный" и "самый быстрый." На кого в этих категориях поставите вы?
Как создать многопользовательский чат с помощью WebSocket за 10 минут
На сегодняшний день WebSocket - лучшее решение для веб-сервисов, работающих по технологии клиент-сервер в реальном времени. Предлагаем краткое руководство по созданию многопользовательского чата с помощью WebSocket.
Как использовать React в приложениях Angular
Если вы программист, будьте готовы столкнуться с самыми разнообразными кейсами в своей практике. Может случиться, что вам нужно будет воспользоваться React в приложении Angular. Сегодня расскажем, как это сделать.
Почему NestJS — лучший фреймворк Node.js для микросервисов
JavaScript является одним из самых популярных языков программирования, поэтому в качестве бэкенда часто выбирают Node.js. Сегодня поговорим о том, какой из фреймворков Node.js оптимален для микросервисов.
7 правил ESLint, рекомендуемых для проектов TypeScript/React
Хотите, чтобы на выполнение и проверку кода уходило меньше времени и сил? Ознакомьтесь с 7 правилами ESLint, рекомендуемыми для проектов TypeScript/React. Они существенно улучшат код и сэкономят ваше время.
Создаем первый «Astroвной» проект
Сделаем блог с «островом интерактивности», полем поиска в реальном времени и индексатором. Подключим настаиваемую интеграцию для индексирования каждого поста и расширения поведения на этапах процесса сборки.
5 тегов HTML, о которых вы могли не знать
Предлагаем вашему вниманию 5 недооцененных HTML-тегов. Не каждый разработчик знаком с ними, хотя они очень полезны и удобны. И вы наверняка пожалеете, что не знали их раньше.
Будьте благодарны за массивы JavaScript: сравнение с языком C
Изучение того, как массивы и простые методы типа .push() работают в языках более низкого уровня, может значительно углубить понимание JavaScript и вызвать признательность за его чудо-массивы.
Анализ работы Guess.js в приложении Angular
Познакомимся с библиотекой Guess.js и посмотрим, насколько качественно она выполняет предварительную загрузку страниц в приложении Angular.
7 самых популярных библиотек React
Оптимизируйте разработку с помощью наиболее востребованных библиотек React. По количеству звезд на GitHub они опережают остальные библиотеки, а значит на них стоит обратить внимание.
Разделение кода в Next JS
Приложение слишком долго загружается? Узнайте о решении этой проблемы с помощью разделения кода в Next JS, и ваша загрузка будет проходить значительно быстрее.
Как создать Chrome-расширение для приложения с прогнозом погоды
Хотите создать простое веб-приложение, чтобы быстро узнавать прогноз погоды? Воспользуйтесь доступным руководством по разработке Chrome-расширения для приложения с прогнозом погоды (с полным исходным кодом).
5 популярных пакетов и фреймворков Node.js
Трудно представить современного разработчика приложений, который никогда не слышал о Node.js. Сегодня рассмотрим наиболее популярные пакеты и фреймворки Node.js, которые помогают специалистам создавать проекты.
Как ускорить сайт с помощью Varnish HTTP Cache и Docker
Полная инструкция с наглядным описанием методики, необходимой конфигурации и настроек, а также бенчмарками.
Как создать планировщик по управлению недвижимостью с помощью Bryntum и ванильного JavaScript
Разработка приложения-планировщика - интересное занятие. Мало кто знает, что такой продукт можно создать и с помощью ванильного JavaScript. Сегодня посмотрим, как сконструировать планировщик по управлению недвижимостью.
Как сократить время начальной загрузки веб-приложения
Время начальной загрузки сильно влияет на первое впечатление пользователя о веб-приложении. Предлагаем руководство по оптимизации этого показателя.
Почему стоит использовать обратные вызовы и асинхронный код на NodeJS
Предлагаем вариант сценария, в котором повышение производительности приложения было достигнуто благодаря использованию событийного цикла в NodeJS.
Шаблон проектирования “Цепочка ответственности” в TypeScript
Нужно уменьшить зависимость между клиентом и обработчиками? Хотите реализовать принцип единственной ответственности, а заодно принцип открытости/закрытости? Во всех этих случаях выручит шаблон проектирования "Цепочка ответственности".
Как отследить событие закрытия браузера и вкладки с помощью JavaScript
Вам нужно отследить событие закрытия браузера или вкладки, чтобы предупредить пользователя о любых несохраненных изменениях на веб-странице? Предлагаем пошаговый алгоритм этой операции.
Детальное исследование 3 подводных камней React, с которыми сталкиваются разработчики
Прислушайтесь к советам опытного программиста. Они позволят понять, насколько хорош ваш код, а также помогут обойти 3 главных подводных камня программирования с React.
Как улучшить производительность Jest в средах CI с использованием TypeScript
Являетесь поклонником Jest? Узнайте, как можно улучшить тестирование проектов и избежать ошибок, связанных с памятью.
Как ускорить full-stack разработку, не создавая API
Разберемся, как повысить продуктивность за счет автоматизации всех взаимодействий между клиентом и сервером. Большая история проб, ошибок и поисков правильного решения в одной маленькой статье.
Meteor вместо Next.js: создаем NFT-маркетплейс
Хотите создать собственную версию NFT-маркетплейса, добавив в него новые функциональные возможности? Узнайте о том, как, используя Meteor вместо Next.js в качестве фреймворка, можно разрабатывать Web3-приложения.
Как использовать JavaScript для сокращения HTML-кода
Как написать эффективный и легкий для отладки код? Это задача, над которой бьются многие программисты. Одним из ее решений является использование JavaScript. Посмотрите, как это можно сделать, на примере создания сайта-блога.
Lego-build: новое решение старой проблемы
Lego-build - новый гибкий инструмент для фронтенд-разработчиков. Какую проблему он решает и чем превосходит существующие решения? Рассказывает один из его создателей.
Руководство по применению паттерна Event Bus в архитектуре React
Подробно разберем паттерн проектирования Event Bus, попрактикуемся в создании и задействуем его в React.
Продвинутые методы программирования на JavaScript: сравнение элементов двух массивов
Хотите писать более профессиональный код на JavaScript? Заметных успехов при сравнении двух массивов позволят добиться решения опытного разработчика.
Создание сайдбара с помощью HTML, CSS и JavaScript
Хотите разработать пользовательскую боковую панель с HTML, CSS и JavaScript? Этот простой и понятный гайд с примерами кода позволит вам создать с нуля боковую панель и настроить ее по своему усмотрению.
12 хуков React, которые должен знать каждый разработчик
Используйте эти хуки React, чтобы сэкономить время и повысить свою продуктивность. Некоторые из них реально меняют правила игры.
8 советов по разработке на JavaScript, которые освободят вас от переработок
Возьмите на заметку несколько полезных рекомендаций по разработке на JavaScript. Следуя им, вы будете прогрессировать, не перерабатывая при этом.
Создание готового к производству приложения React с помощью Next.js и Dokku
Хотите создать и запустить живое приложение React с минимальным бюджетом и возможностью масштабировать его в будущем? Воспользуйтесь руководством опытного разработчика ПО, успешно реализовавшего эту задачу.
Сравниваем REST, GraphQL и gRPC
Как лучше организовать обмен сообщениями между сервером и клиентом в приложении? Проведем детальное сравнение 3 наиболее популярных технологий разработки API.
Как использовать ESLint, чтобы повысить качество кода JavaScript и TypeScript
Улучшите качество кода JS/TS с помощью ESLint. Благодаря этому инструменту, код будет выполнен в едином стиле и без ошибок. Его будет легче просматривать и поддерживать, что благоприятно скажется не только на судьбе вашего проекта, но и на вашей карьере.
Как использовать типы пересечения в TypeScript: советы от профессионала
Предлагаем подробное руководство по использованию типов пересечения в TypeScript. Освоение этих типов позволит реализовать некоторые пользовательские виды утилит. Например, при реализации утилиты PartialByKeys можно сделать опциональными значения ключей, указанные в типе объекта.
Двоичный интерфейс приложения — родственник API с нижнего уровня
Краткое ознакомление с ABI для тех, кто хочет более глубоко разобраться в принципах работы программного обеспечения. Здесь мы рассмотрим, что это за интерфейс, как он устроен, и в каких случаях играет важную роль.
Как написать тест-раннер в 80 строк кода на JavaScript/TypeScript
Сделаем простой тест-раннер на nodejs с включением всех основных требований и почти без зависимостей. Разберем также самую интересную часть реализации - API на JavaScript из SWC.
Файл package-lock.json: полное руководство
Файл package.json - ключевой элемент баз кода для многих приложений, основанных на экосистеме Node.js. Это своего рода манифест проекта. Предлагаем подробный гайд по использованию этого файла и решению связанных с ним проблем.
7 способов создать приложение React
Представляем лучшие методы, фреймворки и инструменты для создания приложений React. Некоторые из них предназначены для небольших сайтов и оптимизированы под быстрый запуск, другие - для платформ глобального масштаба, а третьи подойдут для решения любых задач.
Как повысить производительность бэкенд-приложений
Предлагаем 10 рекомендаций по повышению производительности бэкенд-приложений с помощью таких техник, как кэширование, объединение запросов, многопоточность, сжатие и прочих.
Как с помощью Sentry реализовать захват исключений фронтенда
Как вовремя осуществить захват исключений? Как определить точное местоположение исключений и ошибок? Как своевременно получить уведомление после обнаружения аномалии? Все эти проблемы поможет решить Sentry - продвинутый инструмент отслеживания ошибок с открытым исходным кодом.
Почему сниппеты кода со StackOverflow могут повредить ваш проект
StackOverflow стал спасением для многих программистов, включая меня. Некоторые из нас никогда не посещали домашнюю страницу StackOverflow. Единственный способ, по которому мы попадали на...
В погоне за продуктивностью, или 9 полезных расширений для браузера
В данной статье речь пойдет о расширениях для браузера, способствующих повышению продуктивности разработчиков.
С недавних пор они стали незаменимыми помощниками в мой работе, поскольку действительно...
Go: стратегия встраивания и ограничение
ℹ️ В статье используется Go 1.13.
Процесс встраивания состоит в замене вызова функции на тело этой функции. И хотя такая оптимизация увеличивает размер двоичного кода,...
Как приобрести навыки, необходимые для выживания в мире современных технологий
5 способов, которые помогут перестать беспокоиться о будущем
Современный мир нестабилен и непрерывно развивается. Автоматизированные машины, данные и алгоритмы, компьютеры и код — изменения затрагивают все аспекты нашей...
7 способов повысить свою продуктивность в Python
Python — один из самых популярных среди языков современного поколения и наверняка останется таковым в ближайшие десять лет. Это фантастический язык программирования практически для...