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

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

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

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

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

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

GitOps  —  это модное словечко в последнее время на слуху. Обозначает оно, по сути, декларативное управление ресурсами для такого представления текущего состояния, чтобы в...
Уменьшаем размер образа Docker для приложения Next.js

Уменьшаем размер образа Docker для приложения Next.js

Как избавиться от ненужных файлов в образе докера? Выполним контейнеризацию приложения и простую оптимизацию размеров образа Docker.
Раскройте возможности генераторов PHP

Раскройте возможности генераторов PHP

Как в PHP с версии 5.5 устраняется ошибка нехватки памяти? Пошагово рассмотрим применение генераторов, обратную отправку данных и возвращение значений. Приведем примеры практического использования.
Зачем использовать HttpClientFactory вместо HttpClient в .NET

Зачем использовать HttpClientFactory вместо HttpClient в .NET

Как показала практика, использование стандартного HttpClient чревато подводными камнями. Обойти их и получить весомые преимущества позволяет HttpClientFactory. Убедитесь в этом, отправившись в увлекательное приключение с примерами использования HttpClientFactory.
5 типичных ошибок веб-разработчиков

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

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

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

Предлагаем 32 ключевых понятия JavaScript, собранные из 50+ руководств. Они помогут усвоить премудрости JavaScript, чтобы создавать оптимизированный код и избегать ошибок. В этой части будут раскрыты первые 11 понятий, включая стек вызовов, примитивные типы, типы-значения, ссылочные типы, системы типизации, операторы равенства и др.
Меняем Async/Await на Promises.allSettled() для ускорения API-вызовов в Node.JS

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

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

10 высокотехнологичных ресурсов для веб-разработчиков

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

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

Погрузимся в мир анимации и создадим анимированный клип с 3D-моделью с помощью pyWeb3D.
Laravel: неизвестный, но эффективный способ реализации фильтров в Eloquent

Laravel: неизвестный, но эффективный способ реализации фильтров в Eloquent

Фильтровочный конвейер: как его задействовать для построения запроса пользователей в Eloquent с применением фильтрации? Научимся реализовывать простой и выполнимый процесс фильтрации с конвейером.
Аутентификация и авторизация пользователей в Angular 16 с помощью JWT

Аутентификация и авторизация пользователей в Angular 16 с помощью JWT

Предлагаем руководство по созданию надежной системы аутентификации и авторизации пользователей в Angular 16 с использованием JWT. Интегрировав несколько компонентов в маршрутизацию и конфигурацию модулей приложения, вы обеспечите его пользователям повышенную безопасность и комфортные условия работы.
Нововведения в Apache Airflow 2.0: смогут ли они удовлетворить текущие потребности инженерии данных

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

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

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

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

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

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

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

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

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

В данной статье автор делится своим опытом разработки дизайн-системы и предлагает идеи для автоматизации различных процессов проектирования. Особое внимание будет уделено простой, но очень...
Как с With() улучшить написание кода на Swift

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

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

WebAssembly с Go: вывод веб-приложений на новый уровень

Развернем интеграцию WebAssembly с Go в браузерах, настроим среду Go, преобразуем код Go в WebAssembly и выполним его в веб-контексте. В итоге получим интерактивную платформу с конкретными, мощными возможностями.
Web Development

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

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

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

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

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

Предыдущая часть: “PHP: типы констант” PHP поддерживает следующие типы операторов: арифметические операторы;операторы сравнения;логические (или реляционные) операторы;операторы присваивания;условные (или тернарные) операторы. Посмотрим, что делает каждый тип. Арифметические операторы Предположим, что переменная...
Управление Node.js 19 и NPM 9 с помощью NVM

Управление Node.js 19 и NPM 9 с помощью NVM

Обучающее практическое руководство по работе с менеджером версий Node.js - NVM.
Как создать сетевой API с помощью Express.js, Bun и MongoDB

Как создать сетевой API с помощью Express.js, Bun и MongoDB

С появлением Bun - среды выполнения JavaScript, заменившей Node.js, - создавать высокопроизводительные API стало гораздо проще. Предлагаем пошаговое руководство по разработке сетевого API с помощью Express.js, MongoDB и Bun.
Разбор методов Ruby

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

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

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

Краткий обзор достоинств и недостатков новой среды выполнения Deno, а также ее сравнение со всем известной и привычной средой Node.
Как проще всего выполнять запросы GraphQL в iOS

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

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

Как правильно обрабатывать события 

Немного поэкспериментируем. Возьмем простой дочерний компонент в двух вариантах (генерация события и использование функции в качестве входного параметра) и сравним их по ключевым показателям.
Добавление 3D-элементов на сайты с помощью Babylon.js и Vite

Добавление 3D-элементов на сайты с помощью Babylon.js и Vite

Хотите погрузиться в мир веб-разработки с 3D-элементами в 2024 году? Ознакомьтесь с актуальным решением по добавлению на сайты 3D-элементов, воспользовавшись пошаговым руководством по созданию базовой версии проекта Babylon.js + Vite.
PurePWA - радикальный поворот в веб-разработке

PurePWA — радикальный поворот в веб-разработке

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

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

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

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

Vue JS создан Эваном Ю и 234+ любителями в сообществе. Это прогрессивный фреймворк для создания пользовательских интерфейсов. Он состоит из простой базовой библиотеки, которая...
Интеграция Django с материализованными представлениями PostgreSQL

Интеграция Django с материализованными представлениями PostgreSQL

Предлагаем пошаговое руководство по интеграции Django с материализованными представлениями PostgreSQL. Вы узнаете, как настроить ORM Django на полную поддержку материализованных представлений с возможностью создавать и обновлять материализованные представления с помощью системы миграции Django.
JavaScript

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

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

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

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

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

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

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

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

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

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

Эффективное ведение журнала для приложений Spring Boot

Предусмотренные в Spring Boot стандартные методы ведения журнала далеко не всегда эффективны. Рассмотрим практическую реализацию эффективных вариантов регистрации ошибок и служебных данных в веб-приложениях.
API

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

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

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

Redis - идеальный выбор как для хранения структур данных типа "ключ-значение", так и для кэширования. Из этого простого руководства вы узнаете, как выполнить подключение бэкенда Node.js к Redis и кэшировать данные.
Шаблоны рендеринга Next JS: полное руководство

Шаблоны рендеринга Next JS: полное руководство

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

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

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

Работа с WebAssembly в Golang

WebAssembly - это удобный стандарт для компилирования приложений, который отличается быстротой и производительностью. Сегодня попытаемся создать проект, применив потенциал языка Go и технологии WebAssembly.
8 приложений и сайтов, за которые стоит заплатить: UX/UI edition

8 приложений и сайтов, за которые стоит заплатить: UX/UI edition

Предлагаем список полезных платных приложений и сайтов для UX/UI дизайнера и подробно рассматриваем их преимущества и особенности.
React

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

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

Как создать опрос удовлетворенности сотрудников с Angular и сохранить его результаты в коллекции MongoDB

Представляем вашему вниманию пошаговое руководство по созданию опроса удовлетворенности сотрудников с помощью Angular и SurveyJS - бесплатной библиотеки опросов с открытым исходным кодом.
Создание RESTful API-интерфейсов на C++

Создание RESTful API-интерфейсов на C++

Разберем ключевые компоненты RESTful API и преимущества C++ на примере приложения с базовыми CRUD-операциями. Научимся настройке сервера, обработке HTTP-запросов и парсингу JSON при помощи Boost.Beast и nlohmann/json.
Design Patterns

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

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

Быстрый веб-скрейпинг с библиотекой Polars

Рассказываем, как с помощью Polars выполнить простой и быстрый веб-скрейпинг с превращением таблиц с HTML-страниц в датафреймы Polars.
Создание готового к производству приложения React с помощью Next.js и Dokku

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

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

Что такое Recover в Golang?

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

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

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

Bun или Node: бенчмаркинг бессерверных сред выполнения на AWS Lambda

В начале сентября был анонсирован Bun - новый конкурент Node. Судя по анонсу, Bun - это модернизированная альтернатива Node с улучшенным опытом разработки JS-приложений и более высокой производительностью. Выяснить, так ли это, помогут результаты тестирования Bun и Node.
Построение бесконечного списка с помощью SwiftUI и Combine

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

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

Технологический стек для создания веб-приложений

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

Нужны ли нам веб-компоненты?

Возможности веб-компонентов, в частности повторно используемый код, значительно упрощают веб-разработку. Но могут ли они полностью вытеснить другие технологии, такие как React и Vue? Глубокий обзор веб-компонентов позволит честно ответить на этот вопрос.
Web-design

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

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

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

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

PHP: типы констант

Константа - это идентификатор (имя) для простого значения. Как следует из названия, их значение не может измениться в ходе выполнения скрипта, кроме магических констант, которые на самом деле не являются константами.
Как инженеру-программисту Reactjs перейти на Swift и SwiftUI

Как инженеру-программисту Reactjs перейти на Swift и SwiftUI 

Узнаем, как плавно перейти с ReactJS на Swift и SwiftUI. Для этого сопоставим их наиболее распространенные шаблоны проектирования.
Интеграция Rust в Next.js: практическое руководство для разработчика

Интеграция Rust в Next.js: практическое руководство для разработчика

Как добавить Rust в свой инструментарий и проекты? Рассмотрим различные варианты развертывания кода Rust на Vercel с написанием конечных точек API, общие закономерности разработки API, проблемы применения Rust в продакшене. Весь код и примеры ― в шаблоне.
PHP: массивы

PHP: массивы

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

Почему стоит задуматься о разработке статических сайтов

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

Как с помощью Sentry реализовать захват исключений фронтенда

Как вовремя осуществить захват исключений? Как определить точное местоположение исключений и ошибок? Как своевременно получить уведомление после обнаружения аномалии? Все эти проблемы поможет решить Sentry - продвинутый инструмент отслеживания ошибок с открытым исходным кодом.
Путешествие в мир анимации с Lottie-React-Native

Путешествие в мир анимации с Lottie-React-Native

Вы создаете умопомрачительную анимацию с помощью After Effects и намереваетесь явить ее миру. Один из способов воплотить задуманное  —  использовать ее в качестве экрана-заставки...
Angular

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

Часть 1, Часть 2, Часть 3 В этой статье мы с вами приступим к процессу создания пользовательской платформы. Но прежде, пожалуйста, просмотрите ещё раз...
Software Development

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

Голосовые приложения полностью изменили наше общение с цифровым миром. Голос добавляет во взаимодействие человека и компьютера новое измерение, которое разработчики только начинают исследовать. В этой...
3 альтернативы репозитория в Laravel

3 альтернативы репозитория в Laravel

Рассмотрим преимущества и недостатки шаблона «Репозиторий». Изучим три альтернативы абстрагирования управления данными: заготовки Eloquent, пользовательские запросы и классы action.
Angular

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

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

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

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

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

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

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

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

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

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

Прощай, Adobe

Впервые я познакомилась с программами от компании Adobe примерно десять лет назад, когда, будучи подростком, открыла для себя Photoshop и магические свойства Clone Tool. Затем...
10 ключевых функций массивов JavaScript 

10 ключевых функций массивов JavaScript 

Умение эффективно работать массивами в JavaScript - одно из отличий профессионала от новичка. Изучите 10 основных методов массивов, чтобы подняться на новый уровень веб-разработки: создавать более понятный, эффективный и гибкий код, который позволит работать с данными без особых усилий.
Парсинг HTML из строки на Ruby On Rails

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

На одном из этапов моего проекта в школе программирования Flatiron Bootcamp мне пришлось столкнулся с проблемой, совершенно отличающейся от того, что я видел раньше....
Solibee: совершенно новая коллекция UI-компонентов для SolidJS

Solibee: совершенно новая коллекция UI-компонентов для SolidJS

Набор UI-компонентов, созданный командой Solibee, предлагает совершенно новый подход к веб-разработке SolidJS. С ним вы сможете просто и быстро создавать легкие приложения, экономя массу времени и сил. Но для начала узнайте, в чем отличие инновационного проекта от традиционных библиотек компонентов.
Осваиваем NestJS: построение эффективного бэкенда REST API

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

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

Конфигурация файла PHP.INI

Файл конфигурации php.ini является прямым методом влияния на функциональность PHP. Расскажем о его важных настройках, которые могут понадобиться для парсера PHP.
Доступная и масштабируемая 3-уровневая архитектура AWS

Доступная и масштабируемая 3-уровневая архитектура AWS

Построим структуру AWS, как трехуровневый торт: с уровнями веба, приложения и базы данных. Подготовим основу - виртуальное частное облако VPC, создадим подсети, шлюзы, маршрутную таблицу, шаблон запуска, группу автомасштабирования. Разберем значение и вклад каждого уровня.
3D-формат в профессии дизайнера продукта

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

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

Событийно-ориентированная разработка на основе браузерного расширения

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

Получение доступа к ID элементов в DOM в качестве переменных window/global

Первое, что я узнал, начав заниматься веб-разработкой: как управлять элементами по ID из JS, со ссылкой на элементы по ID <div id="so_many">So many to think...
Состояние гонки в Node.js: практическое руководство

Состояние гонки в Node.js: практическое руководство

Специалисты, имеющие отношение к параллельному проектированию, иногда сталкиваются с так называемым состоянием гонок. Сегодня поговорим о том, чем чревато такое явление, что его вызывает и как с ним бороться.
Protractor мертв, да здравствует Cypress!

Protractor мертв, да здравствует Cypress!

24 апреля платформа Angular объявила об отказе от своего инструмента сквозного тестирования (E2E) Protractor. Остается неясным, готовит ли Angular преемника Protractor или поручит это...
Отложенная загрузка на уровне шаблонов в Angular

Отложенная загрузка на уровне шаблонов в Angular

Знакомьтесь с новой фичей Angular 17  —  Deferrable Views. Этот API для отложенной загрузки зависимостей шаблонов обеспечит беспрецедентный уровень эргономики. Чтобы оценить его преимущества, предлагаем сравнить новый и традиционный подходы к отложенной загрузке шаблонов.
Входящий веб-перехватчик в MS Teams

Входящий веб-перехватчик в MS Teams

Microsoft Teams с нами уже больше четырёх лет. Этот инструмент призван заменить программу-клиент «Skype для бизнеса» и был разработан в Microsoft как конкурент других...
Диспетчер загрузки на Swift

Диспетчер загрузки на Swift

В этой статье будет показано, как легко загрузить аудио- или любой другой медиафайл из URL-адреса и сохранить его в локальной базе данных. Возьмем в качестве...
Добавление личного домена в AWS WebSocket

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

Заключительная статья серии по WebSocket, в которой мы создадим собственный домен и организуем прямой доступ к WebSocket по его имени.
Подстановка учетных данных 2.0: использование прокси-серверов и GUI-инструментов, обход CAPTCHA и системы безопасности Cloudflare

Подстановка учетных данных 2.0: использование прокси-серверов и GUI-инструментов, обход CAPTCHA и системы безопасности Cloudflare

Приготовьтесь к путешествию в темный мир высокотехнологичного хакерства. Вы узнаете о новейших видах подстановки учетных данных, украденных киберпреступниками: использовании прокси-серверов и GUI-инструментов, обходе CAPTCHA и системы безопасности Cloudflare.
Почему стоит использовать обратные вызовы и асинхронный код на NodeJS

Почему стоит использовать обратные вызовы и асинхронный код на NodeJS

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

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

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

Прощай, Ramda

Несмотря на свои сильные стороны, Ramda не всегда подходит для написания эффективного и понятного кода. Рассмотрим случаи, когда стоит придерживаться современного нативного JavaScript и Lodash.
Kubernetes

Практичные Canary-релизы в Kubernetes с Argo Rollouts

Основанная на микросервисах инфраструктура Soluto, совмещенная со всеми инструментами CI/CD, позволяет осуществлять по несколько релизов в день, предоставляя пользователям новые возможности и внося исправления. При...
Design

Как добавить темную тему для сайта

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

PHP: строки

Строки представляют собой последовательности символов, например "PHP supports string operations". Строки с одинарными кавычками обрабатываются почти буквально. Строки с двойными кавычками заменяют переменные на их значения, а также особым образом интерпретируют определенные последовательности символов.
Как создавать доступные веб-приложения для дальтоников с помощью Chrome DevTools

Как создавать доступные веб-приложения для дальтоников с помощью Chrome DevTools

Хотя существует множество инструментов и техник, чтобы улучшить пользовательский опыт и сделать программы удобнее, о потребностях людей с дальтонизмом часто забывают. По данным сайта colourblindawareness.org...
Angular

Использование Angular Elements с расширением Chrome

Познакомьтесь с Angular Elements Angular Elements все еще широко не используется, хотя является мощным инструментом для создания независимых и автономных компонентов. Его можно использовать на любом...
Подробный разбор методов Ruby

Подробный разбор методов Ruby

Вы когда-нибудь задумывались о том, что происходит при написании кода на самом деле? Я много думаю об этом. И, будучи разработчиком Ruby, часто использую...
Интеллектуальная синергия: динамические отношения между искусственным и человеческим интеллектом

Интеллектуальная синергия: динамические отношения между искусственным и человеческим интеллектом

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

Как программирование избавляет от стресса

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

Топ-10 магических команд в Python, которые повысят вашу продуктивность

Python не только самый универсальный язык программирования, но и самый гибкий, когда речь заходит об интеграции новых функций. Магические команды являются одной из таких...
3 худших совета по осваиванию науки о данных

3 худших совета по осваиванию науки о данных

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

Порты Docker: что вы на самом деле открываете?

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