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

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

JavaScript

Инкапсуляция состояния в JavaScript без использования классов в 2019 году (с приватными полями!)

По возможности я стараюсь избегать использования классов в Javascript, поскольку для меня более предпочтителен функциональный стиль, а не объектно-ориентированный. Однако существует одна вещь, которую...
Обзор синтаксиса PHP

Обзор синтаксиса PHP

Данный раздел даст вам представление об основах синтаксиса PHP. Он очень важен для понимания базовых особенностей языка.
Основы разработки приложений: уровень клиента

Основы разработки приложений: уровень клиента

Современное веб-приложение - сложный программный продукт. Обратившись к эволюции веб-приложения, в процессе которой значительно повысилось качество этого продукта, можно лучше понять принципы его работы на уровне клиента.
Как эффективно использовать TDD в React

Как эффективно использовать TDD в React

Представляем пошаговую методику разработки кода на основе тестирования (Test-Driven Development). Эти 5 простых шагов помогут вам воспользоваться преимуществами TDD.
Маршрутизация 101 в Angular 9+

Маршрутизация 101 в Angular 9+

Чему мы научимся? Показывать и скрывать компоненты, используя вместо свойств input/output маршруты.Поддерживать взаимосвязь этих компонентов, передавая по маршруту данные.Настраивать маршруты в модуле маршрутизации.Использовать routerLink для...
Angular

Прототипирование без API

Я из тех, кто обычно очень нетерпелив, когда менеджер раскрывает функции нового продукта. После спринта я задаю этот ужасающий, трепещущий вопрос: … API уже готов?.. И ответ...
Как реализовать feature gate в React

Как реализовать feature gate в React

Предлагаем доступное руководство по реализации feature gate. Этот простой, но мощный механизм позволит легко управлять выпуском новых функций.
Kubernetes: сэкономьте до 50% с вытесняемыми объектами

Kubernetes: сэкономьте до 50% с вытесняемыми объектами

Контейнеры существуют долгое время и Kubernetes меняет не только технологический ландшафт, но и организационное мышление. Все больше компаний переходят к облачным технологиям и спрос...
Web Development

Как создать двойной слайдер для переключения между формой входа и формой регистрации

Описание проекта Прежде чем мы приступим к написанию кода, я хотел бы разбить нашу главную задачу на отдельные компоненты. Это поможет сделать код более понятным. У...
Wasp  -  DSL-язык для современных веб-приложений

Wasp  —  DSL-язык для современных веб-приложений

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

Спасение жизней с помощью Scrum

Историки могут пересмотреть прогресс человечества и обозначить чёткую линию между временем “до появления Scrum” и “после появления Scrum”. Это первая из двух статей, которую я...
Layout

Layout для Material-UI

Material-UI — одна из самых популярных библиотек компонентов react. Однако невозможно найти ни одной инструкции или статьи о том, как создать layout на основе этих...
7 советов по очистке кода React

7 советов по очистке кода React

В этой статье собраны семь практических рекомендаций, помогающих создавать чистый и поддерживаемый код React.
UI/UX дизайн прайс-листа и таблицы тарифных планов

UI/UX дизайн прайс-листа и таблицы тарифных планов

10 лучших советов по оформлению тарифной сетки: согласованность цен с характеристиками, легкость визуального сканирования и другие практики.
Kubernetes: безопасное управление секретами с GitOps

Kubernetes: безопасное управление секретами с GitOps

GitOps  —  это модное словечко в последнее время на слуху. Обозначает оно, по сути, декларативное управление ресурсами для такого представления текущего состояния, чтобы в...
Nexus  -  новый визуализатор дерева компонентов для Next.js

Nexus  —  новый визуализатор дерева компонентов для Next.js

Познакомимся с мощным фреймворком для разработки полного цикла от лица его создателей. Выясним его основные характеристики, принцип работы с кодовой базой и многое другое, а также узнаем, какой функционал планируется реализовать в будущем.
Топ-5 способов стилизации React-приложений в 2024 году

Топ-5 способов стилизации React-приложений в 2024 году

Использование библиотек для стилизации React-приложения может сэкономить много времени. Изучите возможности лучших из них: StyleX, Styled Components, Sass, Tailwind и Emotion. Алгоритмы реализации и демо-версии каждой библиотеки значительно облегчат работу.
Как разделить монолитное приложение на микрофронтенды

Как разделить монолитное приложение на микрофронтенды

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

Дизайн-система: иконки

В данной статье автор делится своим опытом разработки дизайн-системы и предлагает идеи для автоматизации различных процессов проектирования. Особое внимание будет уделено простой, но очень...
AWS WebSocket: написание документации с помощью Async API Spec

AWS WebSocket: написание документации с помощью Async API Spec

Третья статья из серии AWS WebSocket. В ней мы напишем познакомимся с удобным написанием необходимой документации для нашего WebSocket.
Раскрываем силу JavaScript: сокращение размера пакета NPM на 99%

Раскрываем силу JavaScript: сокращение размера пакета NPM на 99%

Ищете пути повышения производительности приложения? Ознакомьтесь со способами значительного улучшения метрик в Lighthouse и FCP в проектах с использованием пакета дизайн-системы.
Развертывание фронтенда и бэкенда приложения на Kubernetes

Развертывание фронтенда и бэкенда приложения на Kubernetes

Настроим полнофункциональное приложение Mongodb с доступом через браузер. Создадим с помощью внутренней службы под, сделав его доступным для другого компонента, и внешнюю службу для доступа к поду за пределами кластера или из внешних источников.
PHP: типы циклов

PHP: типы циклов

Циклы в PHP используются для выполнения одного и того же блока кода определенное количество раз. Рассмотрим 4 типа циклов: for, while, do…while, foreach.
Размеченные объединения в TypeScript

Размеченные объединения в TypeScript

TypeScript предоставляет специалистам продвинутые возможности для эффективной разработки. Одной из таких функций являются размеченные объединения. Поговорим об их преимуществах и о том, как их реализовать на практике.
React

Пишем кастомные React-хуки для GraphQL

Примечание: на данный момент хуки в React являются экспериментальными Недавно на React Conf 2018 был представлен выпуск новых API для React, что повлекло за собой...
Нововведения в Apache Airflow 2.0: смогут ли они удовлетворить текущие потребности инженерии данных

Нововведения в Apache Airflow 2.0: смогут ли они удовлетворить текущие потребности инженерии данных

Преимущества Airflow 2.0 по сравнению с предыдущими версиями Пользовательский интерфейс Интерфейс Airflow 2.0 выглядит свежим и современным по сравнению с предыдущими версиями. Его основное преимущество заключается...
Тренды UX/UI дизайна на 2024 год

Тренды UX/UI дизайна на 2024 год

Узнаем о новом тренде Bento UI. Познакомимся с трендами в пространственном дизайне, а также в сфере анимации и 3D. Рассмотрим инструменты с ИИ для дизайнеров. Узнаем о новых тенденциях и требованиях в сфере UX.
Создание кастомного навигационного представления в SwiftUI

Создание кастомного навигационного представления в SwiftUI

Зададим собственное навигационное представление с помощью двух generic-типов. Первый тип  —  Content, который применяется для передачи представлений внутри кастомного навигационного представления. Второй тип  — ...
Самые значимые психологические исследования в UX-дизайне

Самые значимые психологические исследования в UX-дизайне

В этой статье будут представлены психологические исследования, которые являются ключами к пониманию человеческого познания и поведения, а также основой понимания дизайна.
Шаблоны проектирования в React

Шаблоны проектирования в React

React - библиотека JavaScript, которая отличается гибкой архитектурой и функциональностью и, пожалуй, чаще других используется при создании пользовательских интерфейсов. Еще сильнее упрощают процесс разработки на React шаблоны проектирования.
Продвинутые техники PHP. Часть 2

Продвинутые техники PHP. Часть 2

Рассмотрим стратегии эффективной обработки ошибок, профессиональной отладки и возможностей PHP-фреймворков для быстрой разработки. Раскроем еще больше секретов PHP и пополним багаж знаний.
Как добавить аутентификацию Supabase к приложению на Vue

Как добавить аутентификацию Supabase к приложению на Vue

Supabase - достаточно популярный аналог Firebase, который становится все более востребованным. Разберем по шагам настройку аутентификации в веб-приложении c использованием этого серверного инструмента.
История создания одного бессерверного приложения рассылки с открытым ПО

История создания одного бессерверного приложения рассылки с открытым ПО

Когда не удается найти готовое решение - следует его создать. К такому выводу пришел автор статьи, и самостоятельно разработал бессерверное приложение для информационной рассылки со всеми необходимыми функциональностями. Расскажем, все как было!
Web Development

ТОП-5 проблем с доступностью, которые чаще всего игнорируют

Доступность стремительно становится одним из важнейших аспектов (если не самым важным) в использовании интернета. За 2017–2018 гг. в федеральном суде почти втрое увеличилось число...
Почему лучше использовать const, а не let в TypeScript

Почему лучше использовать const, а не let в TypeScript

Чем больше проект, тем сложнее разобраться в его коде. Как же сохранить чистоту кода, если одна переменная многократно перезаписывается? Используйте проверенную практику, выбирая const вместо let в TypeScript.
Как выбрать подходящую версию Node.js?

Как выбрать подходящую версию Node.js?

Node.js - популярный инструмент для разработки различных проектов. Поговорим о различиях между версиями LTS и Current в Node.js и о том, как выбрать подходящий вариант.
Меняем Async/Await на Promises.allSettled() для ускорения API-вызовов в Node.JS

Меняем Async/Await на Promises.allSettled() для ускорения API-вызовов в Node.JS

Узнаем, откуда берется замедление при одновременном изменении более 50 записей и как в 10 раз ускорить операцию массового редактирования записей. Используем promise, чтобы не ждать возвращения каждого запроса на изменение, прежде чем делать следующий, и сэкономить много времени.
Переиспользуем соединения OkHttp по-максимуму Журнал

Переиспользуем соединения OkHttp по-максимуму Журнал

Введение Мы на Booking.com знаем, как важна для наших пользователей производительность, в том числе сетевая. Недавно мы исследовали производительность сетевого стека нашего приложения для Android...
Циклы в JavaScript

Циклы в JavaScript

Рассмотрим циклы JavaScript, их типы, примеры использования и лучшие практики. Это поможет успешно управлять ходом выполнения программ, эффективно решая повторяющиеся задачи.
Как использовать React в приложениях Angular

Как использовать React в приложениях Angular

Если вы программист, будьте готовы столкнуться с самыми разнообразными кейсами в своей практике. Может случиться, что вам нужно будет воспользоваться React в приложении Angular. Сегодня расскажем, как это сделать.
Как тренды визуального дизайна развивались со временем

Как тренды визуального дизайна развивались со временем

Пользовательский интерфейс действует по принципу шутки: если её приходится объяснять, то она не удалась. Интуитивность  —  одна из основных концепций в области продуктового дизайна....
Разделение кода в Next Js

Разделение кода в Next Js

Приложение слишком долго загружается? Узнайте о решении этой проблемы с помощью разделения кода в Next JS, и ваша загрузка будет проходить значительно быстрее.
Как загрузить 3D-модель с помощью PyWeb3D

Как загрузить 3D-модель с помощью PyWeb3D

Познакомимся с библиотекой three.js с синтаксисом Python и научимся загружать 3D-модели, используя PyWeb3D.
Nodejs

Как создать Meetup+Slack приложение с помощью Standard Library и Node.js

Meetup — это популярный веб-сайт, на котором люди со схожими интересами объединяются в группы для организации тематических мероприятий в своих городах. После того, как мы успешно...
Управление состоянием в React: обзор

Управление состоянием в React: обзор

Разберемся, какие проблемы решаются управлением состояния, а также нужна ли продвинутая библиотека для структурирования кода или инструментов React достаточно для комфортной работы.
PHP: создание и публикация пакета composer

PHP: создание и публикация пакета composer

Научимся публиковать пакет официально. Пройдем все пошагово: от его подготовки до размещения на GitHub и регистрации в Packagist.
Vue

Знакомство с наблюдателями Vue JS

Vue JS создан Эваном Ю и 234+ любителями в сообществе. Это прогрессивный фреймворк для создания пользовательских интерфейсов. Он состоит из простой базовой библиотеки, которая...
Почему в React важен порядок вызова хуков?

Почему в React важен порядок вызова хуков?

Следование правилам использования хуков в React позволит оптимизировать процесс разработки и повысить эффективность React-приложений. Но прежде стоит выяснить, почему так важен порядок вызова хуков в React.
Как проще всего выполнять запросы GraphQL в iOS

Как проще всего выполнять запросы GraphQL в iOS

Такие сторонние библиотеки, как Apollo iOS client и AWS AppSync нужны для связи с сервером GraphQL в iOS-приложении, но они также вводят в ваш...
Совместное использование кода в микросервисах и микрофронтендах: в чем разница

Совместное использование кода в микросервисах и микрофронтендах: в чем разница

Принцип совместного использования кода сегодня активно используется при разработке как клиентской, так и серверной части приложений. Разбираемся в преимуществах, недостатках и особенностях такого подхода.
Проект инженерии данных с DAG Airflow «от и до». Часть 1

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

В реальном проекте валидации электронной почты проиллюстрируем потоковую передачу данных с отправителем и получением сообщений в теме Kafka для Cassandra и MongoDB. Наличие почты и пароля определим с помощью получателя и проверки данных.
Как с With() улучшить написание кода на Swift

Как с With() улучшить написание кода на Swift

Все мы писали код, в котором какая-то функция создавала и возвращала сконфигурированный объект. func makeButton(_ title: String?) -> UIButton { let button...
Разбор методов Ruby

Разбор методов Ruby

В Ruby много методов, которые применяются не очень часто, и о тех случаях, в которых они задействуются, многие просто не знают, потому что никогда...
Типы данных JavaScript

Типы данных JavaScript

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

Как это использовать: объявление функции и функциональные выражения

Первое отличие: название Если вы создаёте функцию с названием, то вам необходимо объявить функцию. В функциональных выражениях же название не обязательно. Объявление функции: function doStuff() {}; Функциональное выражение: const doStuff...
Плюсы и минусы Deno

Плюсы и минусы Deno

Краткий обзор достоинств и недостатков новой среды выполнения Deno, а также ее сравнение со всем известной и привычной средой Node.
4 типичные ошибки разработчиков Node.js

4 типичные ошибки разработчиков Node.js

Растущее комьюнити Node.js - свидетельство надежности и эффективности этого инструмента. Однако не всем удается извлечь из него максимальную выгоду. Рассмотрим самые распространенные ошибки разработчиков Node.js.
WebAssembly: секретное оружие в разработке высокооптимизированных и безопасных веб-приложений

WebAssembly: секретное оружие в разработке высокооптимизированных и безопасных веб-приложений

Многие эксперты связывают будущее эффективных и безопасных вычислений с WebAssembly. Узнайте, в чем заключаются достоинства этого секретного оружия веб-разработчика и почему оно заслуживает вашего внимания.
Создание пользовательских уведомлений с помощью AWS WebSockets

Создание пользовательских уведомлений с помощью AWS WebSockets

Четвертая часть серии статей по WebSocket. Здесь мы узнаем, какие бывают типы пользовательских уведомлений и реализуем их в своем проекте.
React

Поиск и использование компонентов с bit.dev для создания приложений

Bit упрощает использование компонентов из библиотек и приложений. Bit’s hub (bit.dev) облегчает поиск и взаимодействие с этими компонентами. В этой статье мы узнаем, как найти...
Топ-8 инструментов для Angular-разработки в 2023 году

Топ-8 инструментов для Angular-разработки в 2023 году

Предлагаем обзор самых продвинутых инструментов для современной Angular-разработки, включая Bit, PrimeNG, RxJS, NgRx. Они помогут проектировать более масштабируемые и надежные приложения Angular.
Как работает Supabase  -  альтернатива облачной платформе Firebase

Как работает Supabase  —  альтернатива облачной платформе Firebase

Supabase - инструмент с открытым исходным кодом, который не стоит игнорировать. Он не только доступнее и надежнее, чем Firebase, но и обладает впечатляющим спектром возможностей.
5 популярных пакетов и фреймворков Node.js

5 популярных пакетов и фреймворков Node.js

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

Улучшение производительности .NET Core API

Google предоставляет такую статистику посещаемости веб-страниц: 53% посетителей мобильных сайтов покидают страницу, если она загружается более трёх секунд.https://www.thinkwithgoogle.com/marketing-resources/data-measurement/mobile-page-speed-new-industry-benchmarks/ Это значит, что очень важно сделать ваш сайт...
Психологические принципы для продуктового дизайнера

Психологические принципы для продуктового дизайнера

Ни для кого не секрет, что основная часть создания успешного пользовательского опыта заключается в понимании желаний и потребностей аудитории. Таким образом, психология становится ключевым элементом...
Как масштабировать Angular без ограничений

Как масштабировать Angular без ограничений

Ограничения мешают успешному развитию продукта. Освободите свой разум от тормозящих стереотипов и приступайте к масштабированию проектов на Angular!
PHP: типы операторов

PHP: типы операторов

Предыдущая часть: “PHP: типы констант” PHP поддерживает следующие типы операторов: арифметические операторы;операторы сравнения;логические (или реляционные) операторы;операторы присваивания;условные (или тернарные) операторы. Посмотрим, что делает каждый тип. Арифметические операторы Предположим, что переменная...
Звучащий UI: роль звуков в интерфейсе

Звучащий UI: роль звуков в интерфейсе

Ежедневно для сбора информации и взаимодействия с окружающим миром мы используем комбинацию зрения и слуха. Однако в веб-интерфейсах эта комбинация всё ещё не отражена — большинство...
Почему разрабатывать веб-интерфейсы так сложно?

Почему разрабатывать веб-интерфейсы так сложно?

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

Компоненты Wrapper в Vue 2.6 и Vue 3.0

Поговорим о компонентах дизайн-системы, в особенности о компонентах wrapper. Как создать мощную структуру компонента wrapper? В примере будем использовать поле ввода и...
Как анимировать 3D-модель с помощью PyWeb3D

Как анимировать 3D-модель с помощью PyWeb3D

Погрузимся в мир анимации и создадим анимированный клип с 3D-моделью с помощью pyWeb3D.
5 советов по оптимизации производительности приложения NodeJS

5 советов по оптимизации производительности приложения NodeJS

Как оптимизировать производительность приложения NodeJS, чтобы максимально улучшить пользовательский опыт? Это один из самых частых вопросов на собеседовании. Ответить на него правильно помогут советы опытного бэкенд-инженера.
Создание приложения для отслеживания фильмов с помощью HTML, CSS и JavaScript

Создание приложения для отслеживания фильмов с помощью HTML, CSS и JavaScript

Ознакомьтесь с разработкой веб-приложения MovieVerse. Эта удобная платформа позволит пользователю без труда изучать обширную коллекцию постеров к фильмам, добавляя выбранные фильмы в список просмотра.
Разработка веб-дэшбордов с использованием React, Material UI, Tailwind CSS и Nivo. Часть 1

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

Представляем вашему вниманию серию статей, посвященных визуализации и ее применению в современном IT-ландшафте. В первой части цикла расскажем, как создать динамичное и отзывчивое приложение с использованием React, Material UI, Tailwind CSS и Nivo.
Программирование будущего: беспилотный автомобиль, управляемый JavaScript и ИИ

Программирование будущего: беспилотный автомобиль, управляемый JavaScript и ИИ

Пытаетесь разгадать магию беспилотных автомобилей? Присоединяйтесь к программистам, увлекающимся автоматизированными транспортными средствами. Они помогут написать код, превращающий автомобиль в самоуправляемое чудо техники.
Aurora UI  -  новый визуальный тренд в 2021 году

Aurora UI  -  новый визуальный тренд в 2021 году

UI-дизайн, особенно его художественная, визуальная сторона постоянно развивается. В то время как большинство современных продуктов повторяют одни и те же, проверенные и хорошо известные...
Как структурировать API-вызовы при автоматизированном тестировании с Playwright и JavaScript

Как структурировать API-вызовы при автоматизированном тестировании с Playwright и JavaScript

Разберемся, как наилучшим образом настроить авторизацию и другие предварительные шаги, которые повторяются сразу в нескольких тестах - и при этом сохранить читаемость и ясность кода.
Автоматическая караоке-система на основе React и Vercel

Автоматическая караоке-система на основе React и Vercel

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

Как работает маршрутизация Express

Как в приложении Node.js происходит обработка клиентских запросов? Какая функция помогает обрабатывать тот или иной запрос? Чтобы ответить на эти вопросы, заглянем в "закулисье" маршрутизации фреймворка Express.
Web-design

Проблемы при использовании отзывчивого веб-дизайна

Новый подход к решению старых проблем Отзывчивый веб-дизайн Поскольку прошло уже несколько лет с тех пор, как отзывчивый веб-дизайн был на слуху, вспомним, что это такое. Отзывчивый веб-дизайн...
Angular

Платформы Аngular в деталях. Часть 3. Визуализация Angular-приложений в терминале

Часть 1, Часть 2, Часть 3 В этой статье мы с вами приступим к процессу создания пользовательской платформы. Но прежде, пожалуйста, просмотрите ещё раз...
Построение бесконечного списка с помощью SwiftUI и Combine

Построение бесконечного списка с помощью SwiftUI и Combine

С момента представления SwiftUI на WWDC2019 его популярность резко возросла. В течение последних двух лет отдел разработки Apple внес в этот UI-фреймворк много улучшений....
Как работает проверка доступности API в Swift

Как работает проверка доступности API в Swift

Мы постоянно применяем проверки на доступность API, чтобы обеспечить откаты ПО для пользователей, использующих старые версии iOS. А задавались ли вы вопросом, как эту...
5 типичных ошибок веб-разработчиков

5 типичных ошибок веб-разработчиков

Учиться лучше на чужих ошибках. Изучите подборку из 5 частых ошибок разработчиков  -  это лучший способ избежать их в собственной практике.
Angular

Платформы Аngular в деталях. Часть 4. Визуализация Angular-приложений в терминале

Часть 1, Часть 2, Часть 3, Часть 4 В этой статье, последней из серии статей «Платформы Angular в деталях», мы с вами завершим процесс создания...
Vue

Какие нововведения для веб-разработки представит Vue 3.0?

В ноябре прошлого года создатель Vue, Эван Ю, продемонстрировал ключевые обновления на Vue 3.0, благодаря которым Vue станет более эффективным, модульным и простым в...
Software Development

Создаем голосовое приложения для Alexa и Google Home

Голосовые приложения полностью изменили наше общение с цифровым миром. Голос добавляет во взаимодействие человека и компьютера новое измерение, которое разработчики только начинают исследовать. В этой...
Создание готового к производству приложения React с помощью Next.js и Dokku

Создание готового к производству приложения React с помощью Next.js и Dokku

Хотите создать и запустить живое приложение React с минимальным бюджетом и возможностью масштабировать его в будущем? Воспользуйтесь руководством опытного разработчика ПО, успешно реализовавшего эту задачу.
SnowFlake

Запуск DBT в Azure Functions с помощью Snowflake

Практики DataOps очень быстро встают на вооружение в компаниях, работающих с данными, особенно в тех, которые переходят на Cloud Data Warehouses (облачные хранилища данных)....
Анализ работы Guess.js в приложении Angular

Анализ работы Guess.js в приложении Angular 

Познакомимся с библиотекой Guess.js и посмотрим, насколько качественно она выполняет предварительную загрузку страниц в приложении Angular.
Создание базовой чат-системы с использованием node.js и socket.io

Создание базовой чат-системы с использованием node.js и socket.io

Пошаговое руководство поможет создать простейшее чат-приложение с помощью серверной платформы node.js и библиотеки socket.io. Чат-бот сможет отвечать на заданные вопросы и послужит для заказа билетов, еды и прочих продуктов или услуг.
Проблема устаревших замыканий и способы ее решения в React. Часть 2

Проблема устаревших замыканий и способы ее решения в React. Часть 2

В этой части руководства вы узнаете, как не угодить в ловушку устаревших замыканий в распространенных скриптах React, таких как useCallback, React.memo, Ref.
Разработка масштабируемых фронтендов с помощью Feature-Sliced Design

Разработка масштабируемых фронтендов с помощью Feature-Sliced Design

Предлагаем пошаговое руководство по созданию современных фронтендов с помощью Feature-Sliced Design и Bit. Использование этого подхода позволит организовать приложение в четко структурированном виде, быстро ориентироваться в нем и лучше понимать его специфику.
PHP: массивы

PHP: массивы

Массив - это структура данных, которая хранит одно или несколько значений схожего типа в одном значении. Например, если вы хотите хранить 100 чисел, то вместо того, чтобы определять 100 переменных, можно определить массив длиной 100.
Кэширование с помощью Redis и Node.js

Кэширование с помощью Redis и Node.js

Redis - идеальный выбор как для хранения структур данных типа "ключ-значение", так и для кэширования. Из этого простого руководства вы узнаете, как выполнить подключение бэкенда Node.js к Redis и кэшировать данные.
Почему стоит использовать AVIF вместо JPEG, WebP, PNG и GIF в 2024 году

Почему стоит использовать AVIF вместо JPEG, WebP, PNG и GIF в 2024 году

Обсудим один из новейших графических форматов AVIF. На чем основана эта ультрасовременная технология? Каковы ее преимущества и проблемы? Почему, несмотря на возможные компромиссные решения, она значительно превосходит старые форматы JPEG, WebP, PNG и GIF?
Парсинг HTML из строки на Ruby On Rails

Парсинг HTML из строки на Ruby On Rails

На одном из этапов моего проекта в школе программирования Flatiron Bootcamp мне пришлось столкнулся с проблемой, совершенно отличающейся от того, что я видел раньше....
Автоматизация и масштабирование инфраструктуры приложений с Docker Swarm и AWS

Автоматизация и масштабирование инфраструктуры приложений с Docker Swarm и AWS

Выполним оркестрацию и развертывание высокодоступной, отказоустойчивой 3-уровневой архитектуры веб-приложения с Docker Swarm и тремя службами. Добавим четвертую службу и смоделируем сбой рабочего узла.
Построение архитектуры данных реального времени с помощью Apache Kafka, Flink и Druid

Построение архитектуры данных реального времени с помощью Apache Kafka, Flink и Druid

Обработка пакетных данных в режиме реального времени - одна из наиболее сложных задач. Каждый этап, от доставки и обработки данных до их анализа, занимает определенное время. К счастью, для устранения этих задержек есть такие инструменты, как Apache Kafka, Flink и Druid.
3D-формат в профессии дизайнера продукта

3D-формат в профессии дизайнера продукта

За время карантина у меня было много времени подумать о своих дизайнерских целях. Я точно осознал, что не хочу застыть на одном месте. Непрерывное...
Kotlin изнутри: как работают inline-функции

Kotlin изнутри: как работают inline-функции

Inline-функции могут как и увеличить код, так и повысить его производительность. Чтобы с выгодой использовать этот Kotlin-инструмент, необходимо понять принцип его действия, а заодно разобраться в том, зачем нужен crossinline и как работает reified.
Что выбрать: React Native, Flutter или нативный подход

Что выбрать: React Native, Flutter или нативный подход

Важнейшая проблема кроссплатформенной разработки решалась в мобильных фреймворках разными способами. Первоначально проект Apache Cordova (ранее PhoneGap) решил эту проблему внедрением webview-рендеринга. Затем в проекте...
Quarkus - горячий тренд Java-разработки

Quarkus — горячий тренд Java-разработки

С революционным фреймворком Quarkus разработка на Java станет еще проще, быстрее и эффективнее. Оцените его ключевые особенности и преимущества по сравнению со Spring Boot.
Реализация структурированной конкурентности в Java и Kotlin

Реализация структурированной конкурентности в Java и Kotlin

Направим наш пытливый ум в область изучения структурированной конкурентности, рассмотрим принципы ее реализации в Kotlin и Java, а по итогам научимся легко и безопасно запускать несколько программ.
Cначала Vue, потом React: совет начинающим разработчикам

Cначала Vue, потом React: совет начинающим разработчикам

По мнению автора, React категорически не подходит начинающим разработчикам, тогда как Vue является для них идеальным вариантом. В поддержку данного утверждения выдвигаются разные аргументы. Будем разбираться!