Java Portal | Программирование
11.6K subscribers
873 photos
67 videos
29 files
701 links
Присоединяйтесь к нашему каналу и погрузитесь в мир для Java-разработчика

Связь: @devmangx

РКН: https://clck.ru/3H4WUg
Download Telegram
Техники аутентификации

> Аутентификация по паролю: Это самый простой способ аутентификации. Требуется пароль для конкретного имени пользователя. Если пароль совпадает с именем пользователя и оба значения соответствуют данным в базе, пользователь будет успешно аутентифицирован.

> Аутентификация без пароля: В этой технике пользователю не нужно вводить пароль; вместо этого он получает одноразовый пароль (OTP) или ссылку на зарегистрированный номер телефона. Также называется OTP-аутентификацией.

> 2FA/MFA: Двухфакторная (2FA) или многофакторная (MFA) аутентификация — это более высокий уровень защиты. Требует дополнительный PIN-код или ответы на контрольные вопросы для подтверждения личности пользователя.

> Единый вход (SSO): SSO (Single Sign-On) позволяет получить доступ к нескольким приложениям, используя один набор учетных данных. Пользователь входит один раз, и автоматически получает доступ ко всем другим веб-приложениям из той же централизованной директории.

Техники авторизации

> Контроль доступа на основе ролей (RBAC): Техника RBAC предоставляет доступ пользователям в зависимости от их роли или профиля в организации. Может использоваться как для взаимодействия между системами, так и между пользователем и системой.

> JSON Web Token (JWT): JWT — это открытый стандарт, предназначенный для безопасной передачи данных между сторонами в виде JSON-объекта. Пользователи проверяются и авторизуются с использованием пары закрытого и открытого ключей.

> SAML: SAML (Security Assertion Markup Language) — это открытый стандарт, обеспечивающий передачу авторизационных данных поставщикам сервисов. Эти данные передаются в виде подписанных XML-документов.

> Авторизация через OpenID: Позволяет клиентам проверять личность конечных пользователей на основе аутентификации.

> OAuth: OAuth — это протокол авторизации, который позволяет API аутентифицировать пользователя и предоставлять доступ к запрашиваемым ресурсам.

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
Введение в Springdoc OpenAPI в Spring Boot

Хотите автоматически документировать свои REST API на Spring Boot?

Используйте Springdoc OpenAPI для генерации интерактивного Swagger UI с минимальной конфигурацией. ✌️

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
Базовые понятия метрик производительности

> Latency (Задержка) – Время, необходимое для выполнения одного запроса или операции.

> Throughput (Пропускная способность) – Количество операций в секунду (например, запросов/сек, транзакций/сек).

> P95 / P99 – Перцентильные метрики, показывающие задержку в худших 5% или 1% случаев.

> Tail Latency – Задержка самых медленных запросов (например, 99-й перцентиль); критично для UX.

> Cold Start – Начальная задержка при запуске системы "с нуля" (например, AWS Lambda).

> Warm Start – Повторное использование уже инициализированного сервиса для снижения задержки старта.

> TTFB– Время между отправкой запроса и получением первого байта ответа.

> RPS – Часто используемая метрика пропускной способности API/сервера.

> QPS – Аналог RPS, но чаще применяется к базам данных и поисковым системам.

> Error Rate – Процент запросов, завершившихся ошибкой (например, 5xx или 4xx).

> Apdex Score – Метрика удовлетворённости пользователей: сколько запросов были быстрыми, терпимыми или медленными.

> SLA – Обещанный провайдером уровень доступности или производительности.

> SLO – Внутренняя целевая метрика производительности.

> SLI – Фактически измеренное значение (например, «99.95% запросов быстрее 500 мс»).

> Resource Utilization – Нагрузка на CPU, память, диск и сеть.

> GC Pause Time – Время, в течение которого приложение приостанавливается для сборки мусора.

> Throughput vs Latency Tradeoff – Увеличение числа запросов может снизить задержку... до определённого момента.

> Jank – Подвисания/дёргания при отрисовке на фронтенде (часто вызвано долгими задачами или перерасчётами стилей).

> CPU Throttling – Ограничения по CPU, например, в контейнерах или облачных окружениях.

> I/O Wait Time – Время, которое CPU тратит в ожидании операций ввода/вывода.

> TTI – Сколько времени нужно, чтобы страница стала полностью пригодной для взаимодействия.

> CLS – Измеряет, насколько элементы смещаются при загрузке.

> FPS – Ключевая метрика визуальной производительности (особенно в играх и анимациях).

> Memory Footprint – Объём памяти, используемый системой/процессом при обычной нагрузке.

> Throttling & Backpressure – Механизмы замедления клиентов/систем при высокой нагрузке для стабилизации.

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
Инженеры из QA.GURU придержали пару мест на свой вебинар для продвинутых автоматизаторов!

Зарегистрироваться для бесплатного участия можно до конца недели.

Тема встречи: «Разработка автотеста с JUnit Extension: первый шаг за пределы рутинного тестирования».

Ждут тех, кто уже пишет на Java и хочет прокачаться в архитектуре автотестов.

Спикер — Дмитрий Тучс, Head of QA в Dodo Engineering, инженер с опытом с 2009 года. Член программных комитетов CodeFest, CodeTalks, EpicHey!, E-CODE. Бэкграунд в QA, Java, аналитике и проектном менеджменте с 2009 года.

Что будет на вебинаре:

— Учебный проект Niffler: микросервисная архитектура и ключевые технические решения.

— Разница между black box и white box тестами.

— Напишете JUnit Extension для генерации тестовых данных через API и демонстрационный тест.

— Соберёте каркас E2E-проекта: конфиги, page objects, API-клиенты, DTO и другие ключевые компоненты.

🎁 Участников встречи ждет полезный подарок, карьерный гайд.

Занимайте последние места!

Реклама. Рекламодатель: ИП Васенков Станислав Олегович, ИНН 774335827403, erid: 2Vtzqws57GJ
Решение задачи LeetCode #57 “Insert Interval” на Java

Читать подробнее

👉 Java Portal | #cтатья
Please open Telegram to view this post
VIEW IN TELEGRAM
Флаги управления памятью JVM

-Xms
— устанавливает начальный размер кучи (heap). Пример использования: -Xms512m. Это предотвращает частое перераспределение памяти при прогреве приложения, что может ускорить старт и стабилизировать поведение.

-Xmx — задаёт максимальный размер кучи. Пример: -Xmx2g. Критически важно для ограничения потребления памяти и предотвращения ошибок OutOfMemoryError (OOM), особенно в долгоживущих или нагруженных приложениях.

-Xmn — определяет размер молодого поколения (Young Generation) в куче. Пример: -Xmn256m. Точная настройка этого параметра позволяет оптимизировать частоту малых сборок мусора (Minor GC), что напрямую влияет на производительность.

-XX:MaxMetaspaceSize — ограничивает максимальный размер области метаданных классов (Metaspace). Пример: -XX:MaxMetaspaceSize=512m. Помогает избежать чрезмерного потребления памяти при интенсивной загрузке классов, особенно в приложениях с большим количеством библиотек или плагинов.

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Профилирование с помощью Spring Boot Actuator

Spring Boot Actuator предоставляет эндпоинты, такие как /actuator/metrics, /actuator/health и /actuator/heapdump.

В связке с Micrometer, Prometheus и Grafana позволяет визуализировать производительность вашего приложения.

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
🌐 WAICORE — хостинг, за который не надо переживать

Устали от лагов, сложных панелей и переплат? Переходите на VPS с AMD Ryzen 9 — быстро, просто, без нервов.

💬 Почему клиенты выбирают нас:
— Цена начинается от 2€
— Скорость канала до 10 Гбит/с
— Поддержка 24/7 — отвечаем быстро и без шаблонов

Приятный бонус: Бесплатный VPN — расширение для браузера в подарок каждому нашему юзеру

VPN | Расширение для браузера

📍 Локации: Германия (Франкфурт), Москва, Нидерланды (уже скоро) — стабильный пинг, DDoS-защита.

🔥 Успейте сегодня
Выбрать сервер | 💬 Наш канал
Please open Telegram to view this post
VIEW IN TELEGRAM
Пример Spring MVC: Hello World

Простое веб-приложение, в котором контроллер обрабатывает запрос, добавляет данные в модель и отображает их в представлении (view).

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM