Опыт автоматизации и CI/CD настраивал CI/CD-процессы с использованием Jenkins, GitLab CI и GitHub Actions автоматизировал этапы сборки, тестирования и развёртывания приложений создавал скрипты для автоматического…
Контекст: выбор технологии для быстрого создания MVP Основные критерии — скорость разработки, простота использования и возможность масштабирования Frontend: React (большая экосистема и быстрый старт), Vue…
Как обосновать выбор системы очередей для проекта? контекст: подбор системы очередей для асинхронной обработки и взаимодействия между компонентами RabbitMQ: надёжный брокер на основе AMQP-протокола с поддержкой…
В каком случае интерфейс равен nil? Интерфейс в Go включает две составляющие: тип и значение. Значение интерфейса считается nil только тогда, когда обе его части равны nil. Если тип определён, а значение равно nil,…
React key — уникальный идентификатор элементов списка Использовать случайные key не рекомендуется При случайной генерации ключ будет изменяться после каждого ререндера Изменение key → потеря состояния и повторный…
Почему ::before/::after работают эффективнее, чем 10 000 DOM-узлов? Псевдоэлементы CSS (::before/::after) формируют виртуальное содержимое, не добавляя в документ реальные DOM-узлы DOM-дерево не увеличивается, поэтому…
Почему []rune эффективнее прямой конкатенации строк? строки в Go неизменяемы при конкатенации создаются новые копии строк — это требует много памяти []rune представляет собой изменяемый массив символов (runes)…
Kotlin — современный язык JVM, полностью совместимый с Java Выразительный лаконичный синтаксис уменьшает шумовой код и количество ошибок Корутин обеспечивают удобную асинхронность и конкурентное выполнение Механизм…
В большинстве языков строки являются иммутабельными, то есть неизменяемыми При каждой конкатенации создаётся новый массив байт, куда копируются исходные данные Внутри цикла это приводит к постоянному выделению памяти…
Безопасность: JWT передаётся клиенту, поэтому его могут украсть Конфиденциальность: пароль внутри JWT раскрывает чувствительные данные Аутентификация: достаточно передавать идентификатор пользователя или claims…
Почему примитивные пропсы хорошо подходят для мемоизации в React? контекст: React, оптимизация рендеринга к примитивам относятся строки, числа и булевы значения они быстро и точно сравниваются по значению, без…