Совместное использование состояний между окнами без задействования сервера
Как разделить состояние между несколькими окнами, чтобы создать иллюзию целостной картинки? Поговорим о приемах, с помощью которых можно реализовать такую задумку.
Создаем первый «Astroвной» проект
Сделаем блог с «островом интерактивности», полем поиска в реальном времени и индексатором. Подключим настаиваемую интеграцию для индексирования каждого поста и расширения поведения на этапах процесса сборки.
Как определить и протестировать SLO
SLO - уровень удовлетворенности пользователей производительностью сервиса. Предлагаем подробное руководство по определению и тестированию SLO для REST API с помощью Grafana Labs K6.
Как улучшить производительность Jest в средах CI с использованием TypeScript
Являетесь поклонником Jest? Узнайте, как можно улучшить тестирование проектов и избежать ошибок, связанных с памятью.
Что я понял за год работы программистом в стартапе
Год назад я стал разработчиком в Foxintelligence, стартапе в Париже. До этого я работал в двух компаниях в качестве администратора проектов в отделах информационных...
Организация “глобальных” провайдеров во Flutter Riverpod с помощью миксинов
Изучите методы структурирования области применения провайдеров в Riverpod с помощью миксинов. Такой подход имеет как минимум 5 преимуществ и оказывается особенно полезным при масштабировании приложения и увеличении количества управляемых провайдеров.
9 мифов об интерфейсах для людей с ограниченными возможностями
Большинство дизайнеров либо вообще не знают о доступности, либо неверно её понимают: к примеру, им может казаться, что ориентация на доступность подавляет их креативность...
Волшебство веб-разработки: создаем цифровую страну чудес
Почувствуйте магию веб-разработки: узнайте, что представляют собой ее компоненты и инструменты, чтобы разработать свою первую веб-страницу. Пусть веб-разработка станет вашим холстом для цифрового творчества.
Автоматизация: друг или враг дизайнера?
В начале XIX века Британия находилась в процессе трансформации в результате промышленной революции. Отрасли производства, как, например, обрабатывающая или текстильная, сильно изменились благодаря инновациям...
Как работать с <qr-code> — настраиваемым элементом HTML с возможностью анимации
Рассказываем и показываем, как работать с элементом для создания стилизованных, современных qr-кодов с поддержкой SVG логотипов. В конце материала — таблица сравнения с другими подобными элементами для фреймворков фронтенда.
Запускаем Rocket REST API на AWS
Поэтапно развернем приложение Rust на AWS: запустим экземпляр EC2, подключимся по SSH, соберем, настроим и запустим проект как службу systemd. Что нужно при развертывании реального приложения Rocket для продакшена?
AlterNats — эффективный PubSub-клиент среды .NET. Как реализовать оптимизированное программирование сокетов в .NET 6
Как эффективно программировать сокеты? Рассказываем об основных принципах использования промежуточного ПО NATS.
Что значит быть креативным дизайнером
На главных страницах таких сайтов, как Dribbble или Behance, красуются яркие, уникальные и прекрасно выполненные работы. Несмотря на то, что эти сайты рекламируют себя...
Реализация React Query в веб-приложении
Воспользуйтесь пошаговым руководством по интеграции в базовое веб-приложение библиотеки React Query. Она упрощает получение данных и управление состояниями в React-приложениях, делая код более эффективным и удобным.
6 интересных веб-технологий в 2019 году
Фреймворки для фронтенд-разработки
1. React.js
С помощью React.js разработчики могут создавать повторно используемые компоненты (reusable components), каждый из которых будет со своим собственным “state”, то есть “внутренним состоянием”....
Как обрести уверенность дизайнеру
Дизайнеры часто сталкиваются с такими проблемами, как отсутствие уверенности и синдром самозванца. Как же стать уверенным в себе специалистом по дизайну?
Неуверенность в проделанной работе...
Обзор курса “Полное введение в React” от Frontend Masters
Стоит ли тратить время и деньги на изучение курса “Полное введение в React, v8” от Frontend Masters? Ответить на этот вопрос поможет подробный обзор курса с оценкой его содержания, структуры, подхода к обучению и результатов, которых можно достигнуть.
Фрагменты в React
При работе с React лучше использовать многоразовые компоненты с помощью таких инструментов, как Bit, чтобы избежать необходимости переписывать их каждый раз. К тому же, приятно...
Дизайнер и код
Чуть ли не каждую неделю выходят публикации с размышлениями о том, должен ли современный дизайнер понимать код. Наша индустрия наконец-то накопила достаточно опыта, чтобы...
Интуитивно понятное объяснение конструкции Async/await в JavaScript
Как избежать "ада обратных вызовов"? Всегда ли полезны промисы? В чем сила синтаксической конструкции Async/await? Ответим на эти вопросы и научимся проектировать мощные асинхронные конвейеры для эффективной обработки данных.
AEGIS — система аутентификации платформы Ankorstore
Как убрать задачи аутентификации с фронтенда и бэкенда приложения и устранить технические недоработки, связанные с масштабированием? Изучим механизмы аутентификации и наиболее важные рабочие процессы обработчика токенов в AEGIS.
Проект инженерии данных с DAG Airflow «от и до». Часть 2
Проверим корректность данных, отправим письмо и сообщение в Slack с информацией об адресе почты и пароле. Объединим все части проекта, создадим и запустим DAG Airflow со всеми задачами.
Комплексное руководство по Node.js для разработчиков всех уровней
Создание качественных приложений на Node.js - отдельный вид искусства. В этой статье поговорим о распространенных практиках архитектуры и написании кода, а также дадим полезные советы по обеспечению производительности и безопасности приложений.
Ключевые понятия JavaScript, которые должен знать каждый разработчик — часть 3
В этой заключительной части рассмотрим оставшиеся 10 из 32 ключевых понятий JavaScript. В их число входят коллекции, генераторы, промисы, синтаксис async/await, структуры данных, алгоритмы и другие не менее важные понятия.
Дашбордное решение Apache Superset
Подробно опишем процесс установки: запуск дополнительных контейнеров в поде и развертываниях, аннотации, метки, настройка ресурсов, конфигурации, ограничения топологии и компонентов. Дополнительно подключим к Superset все источники данных, установив отдельные коннекторы баз данных.
Запуск Puppeteer в Akka.js
Мечтаете создать многопоточное приложение для командной игры? Читайте о том, как использовать для этого модель акторов и правильно запустить Puppeteer в Akka.js.
Как организовать Express-контроллеры для крупных баз кода
Три года назад я начал разработку Express.js API для одной компании. Тогда я подумал: какой должна быть идеальная архитектура контроллеров для правильной организации разрастающейся...
Ключевые понятия JavaScript, которые должен знать каждый разработчик — часть 2
В первой части были представлены первые 11 из 32 ключевых понятий JavaScript. В этой части будут раскрыты следующие 11 понятий, включая побитовые операторы и буферы массивов, DOM и деревья макетов, фабрики и классы, ключевое слово this и методы call, apply, bind и др.
Из финансов в разработку: как стать инженером-программистом
Переход из финансов в веб-разработку - рисковое путешествие. Эти советы от того, кто уже преодолел этот путь, могут пригодиться.
Экспериментируем с пользовательскими функциями JavaScript на Trino
Как было бы здорово адаптировать Javascript к данным, а не приспосабливать данные к JavaScript. Что если создать простой коннектор Trino для выполнения произвольного Javascript на всей области данных? Действительно ли это хорошая идея? Выясним это вместе!
7 стратегий ускорения приложений React Native
Хотите разрабатывать эффективные приложения, приносящие радость пользователям? Воспользуйтесь стратегиями и инструментами, которые ускорят ваши приложения и обеспечат безупречный пользовательский опыт.
Обнаружение компонентов с Bit ✨
Представляем обновленный способ обнаружения и обмена компонентами
С момента первого релиза Bit в 2018 году, тысячи команд и разработчиков начали использовать его при создании приложений...
Как интегрировать Cypress в Angular: полное руководство
Интеграция Cypress в Angular упрощает и оптимизирует тестирование веб-приложений. Предлагаем пошаговое руководство по настройке Cypress в проекте Angular, а также обзор ключевых и дополнительных возможностей Cypress как надежного и эффективного инструмента тестирования.
NestJS и PostgreSQL: руководство по настройке
Это пошаговое руководство предлагает эффективный способ конфигурации NestJS с PostgreSQL. Описанный в нем подход оптимизирован для выполнения в облаке благодаря использованию Neon - бессерверной платформе Postgres, позволяющей быстро создавать надежные и масштабируемые приложения.
Несложное WebGPU-программирование с использованием taichi.js
Фреймворк taichi.js позволяет создавать захватывающий графический контент без освоения сложного WebGPU-программирования. Убедитесь в этом на примере игровой программы "Жизнь". Потребуется менее 100 строк кода, чтобы разработать распараллеленную WebGPU-программу с 3 конвейерами вычислений и конвейером рендеринга.
Как создать самообновляющийся заголовок Twitter с динамическим контентом
Представьте, что заголовок вашего профиля в Twitter сам отображает свежие статьи блога или недавних подписчиков, а вам это не стоит ни копейки. Заманчиво? Уже не терпится все рассказать!
Как хранить и кодировать видео посредством Ruby on Rails, Lambda и S3
Рассмотрим простой, но масштабируемый подход, который позволит дополнить приложение такой полезной функциональностью, как загрузка и обработка видео.
Rust против JavaScript: повышение производительности на 66 % с помощью WebAssembly
Веб-воркеры и WebAssembly могут значительно повысить производительность приложения на JavaScript. Докажем это на практике, используя в качестве примера алгоритм Фибоначчи.
Как Signal управляет состоянием приложения
Signal - мощный инструмент для фронтенд-разработки. Раскройте для себя механизм его работы, чтобы понимать, как происходит сохранение, обновление и вычисление состояния приложения. Вы также узнаете, как осуществляется мемоизация тяжелых вычислений, избавляющая от многократного пересчета.
Meteor вместо Next.js: создаем NFT-маркетплейс
Хотите создать собственную версию NFT-маркетплейса, добавив в него новые функциональные возможности? Узнайте о том, как, используя Meteor вместо Next.js в качестве фреймворка, можно разрабатывать Web3-приложения.
Руководство по AWS: настройка экземпляра EC2 для развертывания приложений Java
Запустим и настроим экземпляр EC2 для среды Java на AWS. Установим в нем дополнительное ПО, протестируем.
Зачем усложнять разработку с AWS Lambda?
Время подискутировать! Автор рассматривает наметившуюся тенденцию усложнять бессерверную разработку с помощью AWS Lambda и высказывается за сохранение простоты и модульности данного сервиса.
5 практик, которые облегчат работу с Next.js 14
Освоение этих 5 практик подготовит к созданию надежных и эффективных приложений с обновленной версией Next.js 14. Вы научитесь работать с изображениями, обращаться с переменными среды, управлять кэшированием, получать данные в серверных компонентах, использовать клиентские и серверные компоненты.
5 важных принципов работы с хуками в React
Хуки в React - отличные вспомогательные функции, предлагающие множество возможностей. Изучите эти 5 ключевых принципов работы с хуками, чтобы прокачать свой уровень и перестать следовать непродуктивным паттернам.
Новая эра Angular: беззоновое обнаружение изменений
Команда Angular уверенно развивает фреймворк, снабжая его продвинутым инструментарием. Очередным новшеством стала функция provideZonelessChangeDetection, которая позволяет обнаруживать изменения с помощью беззонового подхода.
Лучшие практики именования переменных в JavaScript
Изучите 12 проверенных практик именования переменных в JavaScript. Следуя им, вы сможете создавать более чистый, хорошо читаемый и удобный в обслуживании код, который принесет пользу как вам, так и членам вашей команды.
Хуки Mongoose: все, что нужно знать
Узнайте, какими бывают типы хуков Mongoose, в чем преимущества их использования и каковы они в действии. В качестве бонуса получите ценные рекомендации по применению хуков, которые помогут раскрыть весь потенциал приложений, управляемых данными.
ReacType (v21): низкий барьер входа и высокая планка разработки на React
Представляем вашему вниманию новую версию инструмента для прототипирования ReacType (v21). В этом обзоре подробно разберем его основные преимущества и перспективы развития.
Google OAuth для реализации на Ruby
Будем реализовывать единый вход Google OAuth для веб-сайта. Библиотека google-api-client устарела (о чем упоминается в Google Identity Document). Правда, есть еще одна подходящая для...
Загрузка файлов в хранилище Cloudflare R2: простое руководство
Разберемся с процессом загрузки файлов Go в Cloudflare R2. Пройдем его поэтапно, снабжая фрагменты кода пояснениями, весь код - в конце.
Разработка веб-дэшбордов с использованием React, Material UI, Tailwind CSS и Nivo. Часть 2
В этой части серии статей создадим персонализированную цветовую схему и глобальные стили приложения. Будем использовать Tailwind CSS в качестве фреймворка для работы со стилями веб-приложения.
Современный подход к разработке Angular
Создавайте современные компонуемые приложения Angular с помощью Bit. Благодаря своим мощным возможностям, бесшовной интеграции с Angular и готовой поддержке Ripple CI, Bit - идеальное решение для разработчиков, стремящихся повысить свой профессиональный уровень и создавать качественные веб-приложения.
Синхронизация слайд-шоу между сеансами на Ruby on Rails и Hotwire
Сделаем навигацию: турбофреймами настроим переход между фотографиями, турбостримами синхронизируем окна.
Как компания Airbnb стала лидером в UX дизайне
От маленькой гостиницы, открытой в арендованном доме основателя, до многомиллиардной компании в сфере гостиничного дела - одним из ключевых элементов успеха Airbnb стал дизайн. Узнаем секреты компании и подробно изучим этапы ее развития.
Encore.ts — в 9 раз быстрее Express.js и в 3 раза быстрее Bun +...
Авторы Encore.ts — нового фреймворка для бекэнда на TypeScript показывают бенчмарки и рассказывают о причинах производительности продукта с открытым исходным кодом. Кроме прочего, Encore.ts на 100% совместим с Node.js. Подробности читайте по ссылке ниже.
Eloquent: 40 методов ORM для разработчиков Laravel
Изучим малоизвестные, но красивые методы. Покажем, для чего и когда они применяются, как ими совершенствуется рабочий процесс, упрощается код, повышаются продуктивность разработчиков, производительность, скорость и эффективность приложения.
Загрузка больших видео с помощью Node.js
Предлагаем полное руководство по обработке загрузки больших видео в приложениях Node.js. В отличие от традиционного процесса загрузки, предлагаемое решение позволяет эффективно и надежно загружать большие видеофайлы с обратной связью для пользователей в режиме реального времени.
Атомарный дизайн: структурирование приложений React
Изучим подход к проектированию приложений с разбиением дизайн-систем на пять уровней. Рассмотрим принципы, на которых он основывается.
Как оптимизировать настройку приложений React Native
Собственный CLI делает настройку приложений React Native быстрее и удобнее. Узнайте о том, как создать интерфейс командной строки с помощью Node.js, а также упаковать проект и опубликовать его на npm.
Баланс между креативностью и удобством
Дискуссия «креативность против юзабилити» длится уже более ста лет. Как я уже писал, она тесно связана с технологическими разработками и промышленными революциями. Чтобы достичь...
Node.js — не однопоточная система
А вы раскрыли для себя секрет потрясающей производительности Node.js? Знаете, какую роль в этом играет библиотека libuv? В любом случае предлагаем углубиться в архитектуру Node.js, чтобы понять, как однопоточной программе удается развивать молниеносную скорость.
Двоичный интерфейс приложения — родственник API с нижнего уровня
Краткое ознакомление с ABI для тех, кто хочет более глубоко разобраться в принципах работы программного обеспечения. Здесь мы рассмотрим, что это за интерфейс, как он устроен, и в каких случаях играет важную роль.
17 промежуточных программ для эффективной FastAPI-разработки
Ознакомьтесь с промежуточным ПО, ставшим неотъемлемой частью FastAPI-разработки. Эти встроенные модули, а также сторонние и пользовательские промежуточные программы помогут расширить функциональные возможности приложений, обеспечить их эффективность и безопасность.
Реализация ролевого управления доступом (RBAC) в Node.js и Express App
Пошаговое руководство поможет за считанные минуты внедрить и протестировать ролевое управление доступом (RBAC) в приложение Node.js и Express. Библиотека Permify позволит упростить управление разрешениями и создать устойчивую и безопасную среду приложения.
Как работает React Fiber Reconciler?
Вселенная React не перестает развиваться. Представляем вашему вниманию функцию React Fiber Reconciler, которая предлагает новый способ обработки процессов и виртуального дерева DOM.
Реализация паттерна доступа к данным при работе с Drizzle
Поговорим о том, почему подход, основанный на использовании данных, является секретным оружием успешных бэкенд-проектов. Овладеть им поможет Drizzle - система, которая упрощает и ускоряет моделирование данных, позволяя минимизировать ошибки.
Основные языки веб-разработки
Ознакомьтесь с основными языками веб-разработки: HTML, CSS и JavaScript. Разобравшись в этих базовых технологиях, вы сможете сами создавать функциональные и визуально привлекательные сайты.
Заменит ли аутентификация по лицу традиционную систему веб-аутентификации
Беспокоитесь о дополнительном уровне безопасности для своих веб-приложений? Новая SaaS-платформа FaceIO, предоставляющая библиотеку аутентификации по лицу, поможет решить эту проблему. Предлагаем подробный гайд по установке и использованию FaceIO.
Проектирование устойчивых API: постигаем искусство ограничения скорости
Чрезмерное количество запросов от клиентов может негативно влиять на работу сервера. Рассмотренные в статье алгоритмы помогут управлять скоростью, применяя ограничения, и улучшить пользовательский опыт и производительность системы.
Функции call, apply и bind: использование и сравнение
Изучите практические способы управления контекстом в JavaScript. Эффективное использование функций call, apply и bind обеспечит ожидаемую их работу в различных объектах и скриптах, повысит надежность и гибкость кода.
Расширение Chrome для поиска акций на eToro с помощью скринера акций FINVIZ
Больше не нужно переключать вкладки, чтобы узнать, есть ли конкретная акция на eToro. Представляем вашему вниманию расширение, которое сделает эту работу за вас!
Изучаем gRPC и Flutter для разработки современных приложений
Научимся работать с файлом .proto, генерировать код Dart с protoc и модифицировать приложение Flutter для применения gRPC вместо HTTP. А также взаимодействовать с API-интерфейсом и напрямую с gRPC.
React в плагине Sketch: проблема загрузки исходных данных
Вы наверняка сталкивались с проблемой загрузки исходных данных, когда UI React рендерится без данных Sketch при первом открытии окна плагина. Вот как можно решить эту проблему.
Производительность фронтенда: лав-стори для разработчиков
Бытует мнение: "Сайт, запускающийся с пустого body, никогда не достигнет высоких показателей Lighthouse". Проверим это утверждение. Предлагаем ознакомиться с технологией производительности фронтенда приложения Neo.mjs, которая принесет множество приятных открытий.
Технические долги при проектировании компонентов с помощью Angular
Изучите три стратегии реализации пользовательских компонентов: превалирование ControlValueAccessor, использование FormControl в качестве входных данных и обертывание компонентов. Чтобы эффективно применять эти стратегии, рассмотрите технические долги, связанные с каждой из них.
Что ищут работодатели в вашем UX/UI портфолио
Подробно изучим нюансы создания UX/UI портфолио. Узнаем, на что обращают внимание рекрутеры, какие ошибки допускают дизайнеры при создании портфолио и как их исправить.
Создание computedAsync для вычисления значений сигналов в Angular
Предлагаем руководство по обработке асинхронных операций с помощью сигналов и RxJS в Angular. Вы научитесь создавать функцию computedAsync для вычисления значений сигналов, а также узнаете, как использовать эту функцию из библиотеки ngxtension.
Уязвимости для SQL-инъекций
Рассмотрим сценарии использования SQL-инъекции с практическими примерами. Разберем стратегии защиты.
Переход с Webpack на Rspack
Подумываете о переходе с Webpack на Rspack? Настоятельно рекомендуем попробовать! Только сначала изучите опыт тех, кто это уже сделал. Вас впечатлит как повышение производительности разработки, так и удобство сопровождения проекта при переходе на Rspack.
Что следует учитывать при разработке дизайна для людей с дислексией?
Рассмотрим термин дислексия. Изучим стратегии, которые помогают сделать дизайн более доступным для пользователей с дислексией. Узнаем о плагине Stark.
Микрофронтенды: 9 шаблонов для каждого разработчика
Рассмотрим способы интеграции микрофронтендов: преимущества, ограничения, практические рекомендации. Чтобы выбрать оптимальный подход, представим ключевые аспекты каждого шаблона.
Используем ShakaPlayer в LightningJS
Хотите интегрировать ShakaPlayer в приложение Lightning для управления воспроизведением? Изучите краткое руководство по расширению стандартного медиаплеера в Lightning и использованию его с ShakaPlayer.
Совместное использование данных WebSocket в режиме реального времени в нескольких окнах браузера
Платформа Neo.mjs предлагает демо-версию многоэкранного приложения - визуально привлекательного, интерактивного и высокопроизводительного. При одновременном использовании несколькими участниками одних и тех же данных, оно позволит сэкономить трафик и сократить утечки памяти.
OutSystems: взаимодействие в реальном времени
Рассмотрим три решения проблемы клиент-серверного взаимодействия. Подготовим для приложения систему обмена сообщениями, реализацию на сервере и клиенте: определим схему, создадим источник данных, подключим их распознавателями и задействуем коннектор AWS AppSync с соединениями по веб-сокетам.
JavaScript-анализ: выявление и устранение уязвимостей в веб-приложениях
Предлагаемое четкое руководство по тестированию на проникновение в веб-среду. Оно поможет успешно выявлять и эффективно устранять уязвимости, связанные с нарушенным контролем доступа и недостаточной проверкой доступа.
Angular: как с функцией inject() сэкономить 1000 строк кода
В чем преимущества функции inject() по сравнению с конструкторами? Рассмотрим реальный пример, ссылки на коммиты - внутри.
9 плагинов в Figma, которые были популярны в 2024 году
Рассмотрим 9 плагинов в Figma, их особенности и способы интеграции в рабочий процесс.
Создание интерактивных аналоговых часов с помощью Vue3
Разработка крутых виджетов доступна каждому при овладении базовым специальным инструментарием. Этот гайд поможет создать привлекательные интерактивные часы, используя потенциал Vue3.
Нужно ли дизайнеру уметь писать код?
Что важнее для дизайнера - писать код или уметь работать с ним? А может, достаточно овладеть навыками командной работы? Порассуждаем на эту тему.
За хорошим UI следует хороший UX
Пересмотрим взаимосвязь UI и UX. Изучим понятие эффекта "эстетики в юзабилити" и его влияние на UX, а также элементы, связанные с этим эффектом.
Прогрессивное совершенствование и JavaScript-фреймворки: сложные взаимоотношения
Рассмотрите ключевые шаблоны, инструменты, сценарии использования и бизнес-ограничения при создании пользовательских интерфейсов для веб-приложений. Это позволит выбрать наиболее приемлемый подход при разработке бизнес-проекта.
Полное руководство по кэшированию Laravel
На примерах изучим cache:remember, самый применяемый в проектах метод кэша. Узнаем, как эффективно кэшировать данные, оптимизируя производительность и пользовательское взаимодействие, снижая нагрузку на базу данных и убыстряя отклик.
Как интегрировать уведомления в реальном времени с Laravel и Pusher
Добавим мгновенные обновления и интерактивный функционал в приложение Laravel. Следуя пошаговым инструкциям, настроим уведомления.
Angular: наведение мостов между HttpClient и Signals
В последнее время экосистема Angular претерпела серьезные изменения. Разберемся с тем, как взаимодействовать с сервисами на базе HttpClient при подключении их к компонентам на основе сигналов, а также с тем, какие подводные камни могут таить промисы.
5 правил ESLint для применения новейших возможностей Angular
Использование этих пяти правил ESLint значительно оптимизирует разработку Angular-приложений. Они не только обеспечат соблюдение лучших практик, но и помогут поддерживать согласованность кода, особенно в объемных кодовых базах с большим количеством участников.
Lego-build: новое решение старой проблемы
Lego-build - новый гибкий инструмент для фронтенд-разработчиков. Какую проблему он решает и чем превосходит существующие решения? Рассказывает один из его создателей.
Angular-приложения универсальной сборки
Ознакомьтесь со способами перехода от создания жесткого кода для каждой среды к универсальной сборке, которую можно использовать везде. Представленные здесь решения подходят в случаях, когда требуется гибкость конфигурации и независимое управление фронтенд-приложением.
React-приложение с шаблонами «Репозиторий» и «Адаптер»
Хотите обеспечить поддержку чистого, модульного и тестируемого кода? Изучите руководство по созданию React-приложения с использованием шаблонов проектирования "Репозиторий" и "Адаптер". Такой подход облегчает управление данными и взаимодействие с API по мере роста приложения.
Компоненты высшего порядка в React Virtualized
Компоненты высшего порядка (HOC) предлагают полезные функции, способные существенно поднять уровень пользовательского опыта. Познакомимся с ними поближе и узнаем, когда и какой компонент лучше использовать, чтобы получить от него максимум преимуществ.
Проблема IDOR: несанкционированный отзыв сессии пользователя
Codecov - отличный инструмент покрытия кода, но и он не лишен уязвимостей. Проблема IDOR - небезопасной ссылки на объект - может приводить к закрытию сессий легитимных пользователей. Расскажем поэтапный алгоритм реализации IDOR и ее последствия.
В гостях у GitHub Package Registry
Сервис управления пакетами GitHub Package Registry был разработан и представлен в середине 2019 компанией Microsoft. Его создание, наряду с приобретениями GitHub и NPM, говорит...
Полезные Python модули, которыми мало кто пользуется
Python — это прекрасный язык с множеством встроенных модулей, цель которых — помочь нам писать более красивый и качественный код.
Цель
В данной статье мы будем работать с малоизвестными методами...
Реактивное программирование или сопрограммы: между молотом и наковальней?
Выбор между привычным и экспериментальным в программировании сродни положению между молотом и наковальней. Одна из таких дилемм - противопоставление реактивного программирования и сопрограмм. Предлагаем вникнуть в суть конкурентных концепций, изучить их достоинства и подводные камни.
Интерактивные отчеты в Jupyter Notebook
Jupyter Notebook - важный инструмент для специалиста по науке о данных. С его помощью можно выполнять базовые задачи, такие как очистка данных, визуализация, создание...
Проблема IDOR: несанкционированный отзыв сессии пользователя
Codecov - отличный инструмент покрытия кода, но и он не лишен уязвимостей. Проблема IDOR - небезопасной ссылки на объект - может приводить к закрытию сессий легитимных пользователей. Расскажем поэтапный алгоритм реализации IDOR и ее последствия.