Web-разработка

Все что касается web-разработки: Front end, Back end, Full stack; HTML, CSS, JavaScript, фреймворки, технологии, безопасность и многое другое!

Web Development

6 интересных веб-технологий в 2019 году

Фреймворки для фронтенд-разработки 1. React.js С помощью React.js разработчики могут создавать повторно используемые компоненты (reusable components), каждый из которых будет со своим собственным “state”, то есть “внутренним состоянием”....
Глубокое погружение в Nuxt.js

Глубокое погружение в Nuxt.js

Подробное руководство даст полное представление о сильных и слабых сторонах Nuxt.js, вооружит эффективными решениями и ознакомит с лучшими практиками использования этого фреймворка. С таким багажом вы сможете легко создавать быстрые, SEO-дружественные и удобные для пользователя веб-приложения.
Design

Как обрести уверенность дизайнеру

Дизайнеры часто сталкиваются с такими проблемами, как отсутствие уверенности и синдром самозванца. Как же стать уверенным в себе специалистом по дизайну? Неуверенность в проделанной работе...
Как улучшить производительность Jest в средах CI с использованием TypeScript

Как улучшить производительность Jest в средах CI с использованием TypeScript

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

Фрагменты в React

При работе с React лучше использовать многоразовые компоненты с помощью таких инструментов, как Bit, чтобы избежать необходимости переписывать их каждый раз. К тому же, приятно...
AlterNats - эффективный PubSub-клиент среды .NET. Как реализовать оптимизированное программирование сокетов в .NET 6

AlterNats — эффективный PubSub-клиент среды .NET. Как реализовать оптимизированное программирование сокетов в .NET 6

Как эффективно программировать сокеты? Рассказываем об основных принципах использования промежуточного ПО NATS.
Design

Дизайнер и код

Чуть ли не каждую неделю выходят публикации с размышлениями о том, должен ли современный дизайнер понимать код. Наша индустрия наконец-то накопила достаточно опыта, чтобы...
Запуск Puppeteer в Akka.js

Запуск Puppeteer в Akka.js

Мечтаете создать многопоточное приложение для командной игры? Читайте о том, как использовать для этого модель акторов и правильно запустить Puppeteer в Akka.js.
Добавление личного домена в AWS WebSocket

Добавление личного домена в AWS WebSocket

Заключительная статья серии по WebSocket, в которой мы создадим собственный домен и организуем прямой доступ к WebSocket по его имени.
Реализация React Query в веб-приложении

Реализация React Query в веб-приложении

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

PHP: поймай меня, если сможешь

Рассмотрим механизмы управления ошибками и исключениями в коде: блоки try, catch, finally, типы-объединения. Изучим продвинутые техники для создания более надежных и сопровождаемых PHP-приложений.
Обзор курса “Полное введение в React” от Frontend Masters

Обзор курса “Полное введение в React” от Frontend Masters

Стоит ли тратить время и деньги на изучение курса “Полное введение в React, v8” от Frontend Masters? Ответить на этот вопрос поможет подробный обзор курса с оценкой его содержания, структуры, подхода к обучению и результатов, которых можно достигнуть.
AEGIS  -  система аутентификации платформы Ankorstore

AEGIS  —  система аутентификации платформы Ankorstore

Как убрать задачи аутентификации с фронтенда и бэкенда приложения и устранить технические недоработки, связанные с масштабированием? Изучим механизмы аутентификации и наиболее важные рабочие процессы обработчика токенов в AEGIS.
JavaScript

Как организовать Express-контроллеры для крупных баз кода

Три года назад я начал разработку Express.js API для одной компании. Тогда я подумал: какой должна быть идеальная архитектура контроллеров для правильной организации разрастающейся...
Bit

Обнаружение компонентов с Bit ✨

Представляем обновленный способ обнаружения и обмена компонентами С момента первого релиза Bit в 2018 году, тысячи команд и разработчиков начали использовать его при создании приложений...
Из финансов в разработку: как стать инженером-программистом

Из финансов в разработку: как стать инженером-программистом

Переход из финансов в веб-разработку - рисковое путешествие. Эти советы от того, кто уже преодолел этот путь, могут пригодиться.
Экспериментируем с пользовательскими функциями JavaScript на Trino

Экспериментируем с пользовательскими функциями JavaScript на Trino

Как было бы здорово адаптировать Javascript к данным, а не приспосабливать данные к JavaScript. Что если создать простой коннектор Trino для выполнения произвольного Javascript на всей области данных? Действительно ли это хорошая идея? Выясним это вместе!
Как создать самообновляющийся заголовок Twitter с динамическим контентом

Как создать самообновляющийся заголовок Twitter с динамическим контентом

Представьте, что заголовок вашего профиля в Twitter сам отображает свежие статьи блога или недавних подписчиков, а вам это не стоит ни копейки. Заманчиво? Уже не терпится все рассказать!
Как интегрировать Cypress в Angular: полное руководство

Как интегрировать Cypress в Angular: полное руководство

Интеграция Cypress в Angular упрощает и оптимизирует тестирование веб-приложений. Предлагаем пошаговое руководство по настройке Cypress в проекте Angular, а также обзор ключевых и дополнительных возможностей Cypress как надежного и эффективного инструмента тестирования.
Meteor вместо Next.js: создаем NFT-маркетплейс

Meteor вместо Next.js: создаем NFT-маркетплейс

Хотите создать собственную версию NFT-маркетплейса, добавив в него новые функциональные возможности? Узнайте о том, как, используя Meteor вместо Next.js в качестве фреймворка, можно разрабатывать Web3-приложения.
Проект инженерии данных с DAG Airflow «от и до». Часть 2

Проект инженерии данных с DAG Airflow «от и до». Часть 2

Проверим корректность данных, отправим письмо и сообщение в Slack с информацией об адресе почты и пароле. Объединим все части проекта, создадим и запустим DAG Airflow со всеми задачами.
Комплексное руководство по Node.js для разработчиков всех уровней

Комплексное руководство по Node.js для разработчиков всех уровней

Создание качественных приложений на Node.js - отдельный вид искусства. В этой статье поговорим о распространенных практиках архитектуры и написании кода, а также дадим полезные советы по обеспечению производительности и безопасности приложений.
Зачем усложнять разработку с AWS Lambda?

Зачем усложнять разработку с AWS Lambda?

Время подискутировать! Автор рассматривает наметившуюся тенденцию усложнять бессерверную разработку с помощью AWS Lambda и высказывается за сохранение простоты и модульности данного сервиса.
Ключевые понятия JavaScript, которые должен знать каждый разработчик — часть 3

Ключевые понятия JavaScript, которые должен знать каждый разработчик — часть 3

В этой заключительной части рассмотрим оставшиеся 10 из 32 ключевых понятий JavaScript. В их число входят коллекции, генераторы, промисы, синтаксис async/await, структуры данных, алгоритмы и другие не менее важные понятия.
Google OAuth для реализации на Ruby

Google OAuth для реализации на Ruby

Будем реализовывать единый вход Google OAuth для веб-сайта. Библиотека google-api-client устарела (о чем упоминается в Google Identity Document). Правда, есть еще одна подходящая для...
7 стратегий ускорения приложений React Native

7 стратегий ускорения приложений React Native

Хотите разрабатывать эффективные приложения, приносящие радость пользователям? Воспользуйтесь стратегиями и инструментами, которые ускорят ваши приложения и обеспечат безупречный пользовательский опыт.
Новая эра Angular: беззоновое обнаружение изменений

Новая эра Angular: беззоновое обнаружение изменений

Команда Angular уверенно развивает фреймворк, снабжая его продвинутым инструментарием. Очередным новшеством стала функция provideZonelessChangeDetection, которая позволяет обнаруживать изменения с помощью беззонового подхода.
Ключевые понятия JavaScript, которые должен знать каждый разработчик — часть 2

Ключевые понятия JavaScript, которые должен знать каждый разработчик — часть 2

В первой части были представлены первые 11 из 32 ключевых понятий JavaScript. В этой части будут раскрыты следующие 11 понятий, включая побитовые операторы и буферы массивов, DOM и деревья макетов, фабрики и классы, ключевое слово this и методы call, apply, bind и др.
Руководство по AWS: настройка экземпляра EC2 для развертывания приложений Java

Руководство по AWS: настройка экземпляра EC2 для развертывания приложений Java

Запустим и настроим экземпляр EC2 для среды Java на AWS. Установим в нем дополнительное ПО, протестируем.
Хуки Mongoose: все, что нужно знать

Хуки Mongoose: все, что нужно знать

Узнайте, какими бывают типы хуков Mongoose, в чем преимущества их использования и каковы они в действии. В качестве бонуса получите ценные рекомендации по применению хуков, которые помогут раскрыть весь потенциал приложений, управляемых данными.
Как хранить и кодировать видео посредством Ruby on Rails, Lambda и S3

Как хранить и кодировать видео посредством Ruby on Rails, Lambda и S3

Рассмотрим простой, но масштабируемый подход, который позволит дополнить приложение такой полезной функциональностью, как загрузка и обработка видео.
Синхронизация слайд-шоу между сеансами на Ruby on Rails и Hotwire

Синхронизация слайд-шоу между сеансами на Ruby on Rails и Hotwire

Сделаем навигацию: турбофреймами настроим переход между фотографиями, турбостримами синхронизируем окна.
Разработка веб-дэшбордов с использованием React, Material UI, Tailwind CSS и Nivo. Часть 2

Разработка веб-дэшбордов с использованием React, Material UI, Tailwind CSS и Nivo. Часть 2

В этой части серии статей создадим персонализированную цветовую схему и глобальные стили приложения. Будем использовать Tailwind CSS в качестве фреймворка для работы со стилями веб-приложения.
Современный подход к разработке Angular

Современный подход к разработке Angular

Создавайте современные компонуемые приложения Angular с помощью Bit. Благодаря своим мощным возможностям, бесшовной интеграции с Angular и готовой поддержке Ripple CI, Bit - идеальное решение для разработчиков, стремящихся повысить свой профессиональный уровень и создавать качественные веб-приложения.
Как оптимизировать настройку приложений React Native

Как оптимизировать настройку приложений React Native

Собственный CLI делает настройку приложений React Native быстрее и удобнее. Узнайте о том, как создать интерфейс командной строки с помощью Node.js, а также упаковать проект и опубликовать его на npm.
UX

Баланс между креативностью и удобством

Дискуссия «креативность против юзабилити» длится уже более ста лет. Как я уже писал, она тесно связана с технологическими разработками и промышленными революциями. Чтобы достичь...
Как компания Airbnb стала лидером в UX дизайне

Как компания Airbnb стала лидером в UX дизайне

От маленькой гостиницы, открытой в арендованном доме основателя, до многомиллиардной компании в сфере гостиничного дела  -  одним из ключевых элементов успеха Airbnb стал дизайн. Узнаем секреты компании и подробно изучим этапы ее развития.
Загрузка файлов в хранилище Cloudflare R2: простое руководство

Загрузка файлов в хранилище Cloudflare R2: простое руководство

Разберемся с процессом загрузки файлов Go в Cloudflare R2. Пройдем его поэтапно, снабжая фрагменты кода пояснениями, весь код  -  в конце.
Двоичный интерфейс приложения - родственник API с нижнего уровня

Двоичный интерфейс приложения — родственник API с нижнего уровня

Краткое ознакомление с ABI для тех, кто хочет более глубоко разобраться в принципах работы программного обеспечения. Здесь мы рассмотрим, что это за интерфейс, как он устроен, и в каких случаях играет важную роль.
Осваиваем NestJS: построение эффективного бэкенда REST API

Осваиваем NestJS: построение эффективного бэкенда REST API

Среда NestJS - популярное решение для разработки эффективных приложений. Познакомимся с пошаговым гайдом по построению надежного бэкенда REST API с помощью этого фреймворка.
Расширение Chrome для поиска акций на eToro с помощью скринера акций FINVIZ

Расширение Chrome для поиска акций на eToro с помощью скринера акций FINVIZ

Больше не нужно переключать вкладки, чтобы узнать, есть ли конкретная акция на eToro. Представляем вашему вниманию расширение, которое сделает эту работу за вас!
React в плагине Sketch: проблема загрузки исходных данных

React в плагине Sketch: проблема загрузки исходных данных

Вы наверняка сталкивались с проблемой загрузки исходных данных, когда UI React рендерится без данных Sketch при первом открытии окна плагина. Вот как можно решить эту проблему.
5 практик, которые облегчат работу с Next.js 14

5 практик, которые облегчат работу с Next.js 14

Освоение этих 5 практик подготовит к созданию надежных и эффективных приложений с обновленной версией Next.js 14. Вы научитесь работать с изображениями, обращаться с переменными среды, управлять кэшированием, получать данные в серверных компонентах, использовать клиентские и серверные компоненты.
Заменит ли аутентификация по лицу традиционную систему веб-аутентификации

Заменит ли аутентификация по лицу традиционную систему веб-аутентификации

Беспокоитесь о дополнительном уровне безопасности для своих веб-приложений? Новая SaaS-платформа FaceIO, предоставляющая библиотеку аутентификации по лицу, поможет решить эту проблему. Предлагаем подробный гайд по установке и использованию FaceIO.
Создание computedAsync для вычисления значений сигналов в Angular

Создание computedAsync для вычисления значений сигналов в Angular

Предлагаем руководство по обработке асинхронных операций с помощью сигналов и RxJS в Angular. Вы научитесь создавать функцию computedAsync для вычисления значений сигналов, а также узнаете, как использовать эту функцию из библиотеки ngxtension.
Реализация паттерна доступа к данным при работе с Drizzle

Реализация паттерна доступа к данным при работе с Drizzle

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

Используем ShakaPlayer в LightningJS

Хотите интегрировать ShakaPlayer в приложение Lightning для управления воспроизведением? Изучите краткое руководство по расширению стандартного медиаплеера в Lightning и использованию его с ShakaPlayer.
Технические долги при проектировании компонентов с помощью Angular

Технические долги при проектировании компонентов с помощью Angular

Изучите три стратегии реализации пользовательских компонентов: превалирование ControlValueAccessor, использование FormControl в качестве входных данных и обертывание компонентов. Чтобы эффективно применять эти стратегии, рассмотрите технические долги, связанные с каждой из них.
Что ищут работодатели в вашем UX/UI портфолио

Что ищут работодатели в вашем UX/UI портфолио

Подробно изучим нюансы создания UX/UI портфолио. Узнаем, на что обращают внимание рекрутеры, какие ошибки допускают дизайнеры при создании портфолио и как их исправить.
NestJS и PostgreSQL: руководство по настройке 

NestJS и PostgreSQL: руководство по настройке 

Это пошаговое руководство предлагает эффективный способ конфигурации NestJS с PostgreSQL. Описанный в нем подход оптимизирован для выполнения в облаке благодаря использованию Neon - бессерверной платформе Postgres, позволяющей быстро создавать надежные и масштабируемые приложения.
Что следует учитывать при разработке дизайна для людей с дислексией?

Что следует учитывать при разработке дизайна для людей с дислексией?

Рассмотрим термин дислексия. Изучим стратегии, которые помогают сделать дизайн более доступным для пользователей с дислексией. Узнаем о плагине Stark.
Реализация ролевого управления доступом (RBAC) в Node.js и Express App

Реализация ролевого управления доступом (RBAC) в Node.js и Express App

Пошаговое руководство поможет за считанные минуты внедрить и протестировать ролевое управление доступом (RBAC) в приложение Node.js и Express. Библиотека Permify позволит упростить управление разрешениями и создать устойчивую и безопасную среду приложения.
Нужно ли дизайнеру уметь писать код?

Нужно ли дизайнеру уметь писать код?

Что важнее для дизайнера - писать код или уметь работать с ним? А может, достаточно овладеть навыками командной работы? Порассуждаем на эту тему.
За хорошим UI следует хороший UX

За хорошим UI следует хороший UX

Пересмотрим взаимосвязь UI и UX. Изучим понятие эффекта "эстетики в юзабилити" и его влияние на UX, а также элементы, связанные с этим эффектом.
Angular: как с функцией inject() сэкономить 1000 строк кода

Angular: как с функцией inject() сэкономить 1000 строк кода

В чем преимущества функции inject() по сравнению с конструкторами? Рассмотрим реальный пример, ссылки на коммиты  -  внутри.
OutSystems: взаимодействие в реальном времени

OutSystems: взаимодействие в реальном времени

Рассмотрим три решения проблемы клиент-серверного взаимодействия. Подготовим для приложения систему обмена сообщениями, реализацию на сервере и клиенте: определим схему, создадим источник данных, подключим их распознавателями и задействуем коннектор AWS AppSync с соединениями по веб-сокетам.
Изучаем gRPC и Flutter для разработки современных приложений

Изучаем gRPC и Flutter для разработки современных приложений

Научимся работать с файлом .proto, генерировать код Dart с protoc и модифицировать приложение Flutter для применения gRPC вместо HTTP. А также взаимодействовать с API-интерфейсом и напрямую с gRPC.
Основные языки веб-разработки

Основные языки веб-разработки

Ознакомьтесь с основными языками веб-разработки: HTML, CSS и JavaScript. Разобравшись в этих базовых технологиях, вы сможете сами создавать функциональные и визуально привлекательные сайты. 
Lego-build: новое решение старой проблемы

Lego-build: новое решение старой проблемы

Lego-build - новый гибкий инструмент для фронтенд-разработчиков. Какую проблему он решает и чем превосходит существующие решения? Рассказывает один из его создателей.
Полное руководство по кэшированию Laravel

Полное руководство по кэшированию Laravel

На примерах изучим cache:remember, самый применяемый в проектах метод кэша. Узнаем, как эффективно кэшировать данные, оптимизируя производительность и пользовательское взаимодействие, снижая нагрузку на базу данных и убыстряя отклик.
Как интегрировать уведомления в реальном времени с Laravel и Pusher

Как интегрировать уведомления в реальном времени с Laravel и Pusher

Добавим мгновенные обновления и интерактивный функционал в приложение Laravel. Следуя пошаговым инструкциям, настроим уведомления.
Загрузка больших видео с помощью Node.js

Загрузка больших видео с помощью Node.js

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

Магия Pry для отладки кода Ruby

Начну с ситуации, знакомой каждому программисту: вы приступаете к выполнению кода и вдруг к вашему полному недоумению получаете сообщение об ошибке, или еще хуже — код...
MongoDB: cортировка документов

MongoDB: cортировка документов 

Краткая инструкция по применению метода сортировки sort()
Code Review

Как писать понятный код

Вы пишите код для разработчиков или только для себя?   Обзоры кода во имя добра Я люблю обзоры кода ― разбирать чужой код и отдавать на обзор свой....
Cosmo Route  -  молниеносный маршрутизатор с открытым исходным кодом и поддержкой Federation V1/V2

Cosmo Route  —  молниеносный маршрутизатор с открытым исходным кодом и поддержкой Federation V1/V2

Elastic-лицензия Apollo Router мешает внедрению? Хотите работать еще быстрее? Для подобных случаев идеально подойдет Cosmo Router - быстрый маршрутизатор с открытым исходным кодом, совместимый с Federation V1/V2.
Топ-5 ошибок при объявлении функций в Python

Топ-5 ошибок при объявлении функций в Python

Функции являются критическим компонентом в любом программном проекте. Написанные должным образом, они представляют собой практичный способ написания читаемого и поддерживаемого кода. Однако, если функции...