Pull to refresh
4
0

Пользователь

@Transactional в Spring и исключения

Level of difficulty Easy
Reading time 6 min
Views 6.7K
Java *
Case

Привет! В этой статье я бы хотел рассказать, как Spring'овая аннотация @Transactional ведет себя при возникновении исключений. Про это немало написано, в том числе на Хабре. Например, тут или тут. Поэтому, чтобы не повторяться, я не буду подробно расписывать как и почему исключения влияют на откат транзакций, а вместо этого просто покажу несколько примеров.

Читать далее
Total votes 14: ↑13 and ↓1 +12
Comments 0

Spring-потрошитель: жизненный цикл Spring Framework

Level of difficulty Medium
Reading time 8 min
Views 17K
Programming *Java *Debugging *Reverse engineering *
Sandbox

Ни для кого не секрет, что Spring Framework один из самых популярных фреймворков для приложений на языке Java. Он интегрировал в себя самые полезные и актуальные технологии, такие как i18n, JPA, MVC, JMS, Cloud и т.п.

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

Читать далее
Total votes 19: ↑15 and ↓4 +11
Comments 9

Инструменты тестировщика

Reading time 15 min
Views 130K
JUG Ru Group corporate blog IT systems testing *Web services testing *Mobile applications testing *Conferences
Какие инструменты нужны тестировщику? Об этом мы сегодня порассуждаем в этой статье, в основе которой — доклад Юлии Атлыгиной с прошлого Heisenbug. Видеозапись доклада доступна по ссылке.


Читать дальше →
Total votes 31: ↑25 and ↓6 +19
Comments 9

KeyCloak и микро-сервисы. Как облегчить жизнь программисту

Level of difficulty Medium
Reading time 12 min
Views 11K
Information Security *Java *Microservices *
Tutorial

Привет! Если ты так же как и я решил использовать keycloak для аутентификации и авторизации в своей микро‑сервисной архитектуре, то я расскажу вам как правильно настроить сам keycloak, его рабочую среду а в конце мы подключим Active Directory к нашему приложению.

Читать далее
Total votes 6: ↑5 and ↓1 +4
Comments 12

Аутентификация и авторизация в проекте с микросервисной архитектурой: стратегии, практический пример

Level of difficulty Medium
Reading time 10 min
Views 9K
Spectr corporate blog High performance *Programming *System Analysis and Design *Microservices *
Review

Привет! На связи Олег Казаков из Spectr.  Мы занимаемся разработкой цифровых сервисов, в том числе высоконагруженных систем с микросервисной архитектурой и большим количеством различных интеграций.

В статье расскажу об одном из кейсов при работе над проектом с микросервисной архитектурой — реализации единой системы авторизации и аутентификации.  Поговорим про теорию, рассмотрим различные стратегии реализации и особое внимание уделим паттерну API Gateway.

Читать далее
Total votes 12: ↑10 and ↓2 +8
Comments 7

Spring Boot. Настройка профилирования времени выполнения

Level of difficulty Easy
Reading time 9 min
Views 4.6K
АльфаСтрахование corporate blog Java *
Sandbox

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

Т.к. речь шла о сервисе, который был написан довольно давно, и в него многие месяцы не вносились изменения, повинуясь принципу “работает - не трогай”, я решил постараться сделать это, не прикасаясь к самому коду сервиса.

Читать далее
Total votes 7: ↑6 and ↓1 +5
Comments 13

Современные стандарты идентификации: OAuth 2.0, OpenID Connect, WebAuthn

Reading time 13 min
Views 59K
Information Security *Website development *System Analysis and Design *Development of mobile applications *IT Standards *
Пускать или не пускать? Вот в чем вопрос…

Сейчас на многих сайтах мы видим возможность зарегистрироваться или войти с помощью соцсетей, а некоторые сайты предлагают использовать внешние ключи безопасности или отпечатки пальцев. Что это? Стандарты с хорошо проработанной безопасностью или проприетарные реализации? Можем ли мы доверять этим технологиям и использовать их для разработки сайтов и в повседневной жизни? Давайте разбираться. Итак, сейчас существуют несколько стандартов и технологий для идентификации пользователей OAuth 2.0,OpenID Connect, WebAuthn, SAML 2.0, Credential Management API и др. В статье я расскажу о трех наиболее перспективных протоколах OAuth 2.0, OpenID Connect и WebAuthn. И чтобы понять как их применять на практике, сделаем три лабораторные работы. В качестве платформ для идентификации пользователей будем использовать GitHub и Google, на которых у большинства есть аккаунты.

image
Читать дальше →
Total votes 19: ↑19 and ↓0 +19
Comments 21

Как устроена аутентификация в Micronaut: гайд по настройке

Level of difficulty Easy
Reading time 12 min
Views 1.7K
X5 Tech corporate blog Programming *Java *

Всем привет! Меня зовут Иван Зыков, я старший Java разработчик в компании X5 Tech. За моими плечами больше 5 лет опыта разработки.

Хочу познакомить вас с модулем аутентификации Micronaut и заодно продемонстрировать, как настроить OAuth2.0 у нескольких провайдеров.

Читать далее
Total votes 10: ↑10 and ↓0 +10
Comments 1

Использование SEDA со Spring Integration и Apache Camel

Reading time 13 min
Views 1.7K
Java *
Tutorial
Translation

SEDA, или Staged Event-Driven Architecture, представляет собой архитектурный стиль, предложенный Мэттом Уэлшем в его докторской диссертации. диссертация. Его основными преимуществами являются масштабируемость, поддержка высококонкурентного трафика и удобство эксплуатации.

В этом туториале мы будем использовать SEDA для подсчета уникальных слов в предложении с помощью двух разных реализаций: Spring Integration и Apache Camel.

Читать далее
Total votes 7: ↑7 and ↓0 +7
Comments 0

Может ли Java-приложение использовать больше памяти, чем размер кучи

Reading time 11 min
Views 8.5K
OTUS corporate blog Programming *Java *
Translation

Возможно, вы замечали, что Java-приложение может превышать лимит памяти, указанный в параметре -Xmx (максимальный размер кучи). Дело в том, что JVM помимо кучи использует и другие области памяти. 

Давайте начнем со структуры памяти Java-приложения и источников потребления памяти.

Читать далее
Total votes 22: ↑18 and ↓4 +14
Comments 1

Security микросервисов с помощью Spring Cloud Gateway и TokenReley

Reading time 8 min
Views 11K
Java *
Sandbox

Данная статья результат поиска некоего каноничного решения организации безопасности доступа к ресурсам в микросервисной архитектуре, построенной в экосистеме Spring. После прочтения десятка статей по данной тематике, к сожалению, не нашел то, что искал. Spring Security оказался одной из самых недопонятых технологий. Основная проблема у всех - изобретение своего велосипеда поверх стандартного функционала Spring Security. Зачастую, данные статьи сопровождаются комментариями никогда так не делать. И у многих, наверно, возникает вопрос, а как собственно можно делать. Ситуацию несколько прояснила официальная документация. Взяв её за основу, я хочу показать, как можно организовать безопасность микросервисов максимально простым и быстрым способом.

Читать далее
Total votes 3: ↑3 and ↓0 +3
Comments 12

DDD, HEXAGON, HIBERNATE, не считая JOOQ. Часть 1

Reading time 8 min
Views 4.5K
РСХБ-Интех (Россельхозбанк) corporate blog Programming *Java *System Analysis and Design *Microservices *
✏️ Technotext 2022

Статья написана для java разработчиков, создающих системы со сложной предметной областью. Система, как правило, представлена сетью микросервисов или модульным монолитом. В рамках такой системы обычно содержится большое количество сущностей (JPA/JOOQ), которые одновременно используют как технические, так и бизнес-сущности. Смена технологической базы по прошествии нескольких лет разработки для такой системы является очень дорогостоящим решением. Доработки бизнес-функционала занимают большое количество времени.

В первой части статьи проведем теоретический обзор основных терминов и паттернов гексагональной архитектуры и Domain Driven Design или сокращенно DDD.

Какие проблемы вы сможете решить, прочитав статью

Вероятно,

Читать далее
Total votes 11: ↑11 and ↓0 +11
Comments 3

Datafaker: альтернатива использованию производственных данных

Reading time 7 min
Views 2.5K
Java *
Tutorial
Translation

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

Но получить доступ к хорошим тестовым данным не всегда просто. Иногда данные являются весьма конфиденциальными, например, медицинские или финансовые данные. В других случаях данных недостаточно (например, при попытке нагрузочного тестирования), а иногда искомые данные трудно найти. Для случаев, подобных описанному выше, есть решение называемое  Datafaker.

Datafaker — это библиотека для JVM, предназначенная для генерации фиктивных данных, похожих на производственные данные. 

Эти данные могут быть сгенерированы как часть ваших модульных тестов или могут быть сгенерированы в виде внешних файлов, таких как файлы CSV или JSON, чтобы они могли служить в качестве входных данных для других систем. 

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

Читать далее
Total votes 4: ↑4 and ↓0 +4
Comments 0

Security, Cloud с JWT и WebFlux

Reading time 5 min
Views 5.2K
Java *Microservices *
Sandbox

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

Читать далее
Total votes 8: ↑7 and ↓1 +6
Comments 5

Spring Data JPA: метод save и границы его применимости

Reading time 13 min
Views 9.9K
Росбанк corporate blog Java *

Привет! Меня зовут Семён Киреков, я Java-разработчик и тимлид в Центре Big Data @МТС Digital и Java-декан в МТС Тета — образовательном стартапе в рамках МТС. На митапе Росбанка и Jug.ru я рассказывал о том, как устроен метод Save в Spring Data JPA, почему он может вызвать лишний select, как решить эту проблему и при чем здесь доменные события Spring. Здесь я поделюсь этой информацией с вами.

Читать далее
Total votes 12: ↑11 and ↓1 +10
Comments 4

Многопоточность Java. #неОпятьАСнова #javaJunior #javaCore

Reading time 11 min
Views 27K
Java *
Sandbox

Эта статья, как и все последующие – моя попытка структурировать полученные знания в процессе изучения Java. Здесь тезисно собрана вся основная информация по теме и те формулировки, которые показались мне наиболее удачными и понятными.
Это мой конспект, если хотите.

Статья будет полезна тем, кто изучает или повторяет основы Java Core.
И тем, кто готовится к собеседованию.

Читать далее
Total votes 23: ↑21 and ↓2 +19
Comments 8

Обработка исключений в контроллерах Spring

Reading time 9 min
Views 64K
Programming *Java *
Sandbox
✏️ Technotext 2021

image


Часто на практике возникает необходимость централизованной обработки исключений в рамках контроллера или даже всего приложения. В данной статье разберём основные возможности, которые предоставляет Spring Framework для решения этой задачи и на простых примерах посмотрим как всё работает. Кому интересна данная тема — добро пожаловать под кат!

Читать дальше →
Total votes 11: ↑11 and ↓0 +11
Comments 8

Когда и как следует инвалидировать кэш

Reading time 11 min
Views 7K
Издательский дом «Питер» corporate blog Programming *Perfect code *Algorithms *Distributed systems *
Translation
image

В этой статье я опишу один способ, помогающий определить, когда инвалидировать записи кэша. В качестве примера я приведу специфическую конфигурацию, которая, тем не менее, должна получиться достаточно универсальной, а в заключении поста расскажу, как обобщить ее еще сильнее.
Читать дальше →
Total votes 7: ↑7 and ↓0 +7
Comments 2

Пришел, увидел, обобщил: погружаемся в Java Generics

Reading time 17 min
Views 263K
Сбер corporate blog Programming *Java *
Java Generics — это одно из самых значительных изменений за всю историю языка Java. «Дженерики», доступные с Java 5, сделали использование Java Collection Framework проще, удобнее и безопаснее. Ошибки, связанные с некорректным использованием типов, теперь обнаруживаются на этапе компиляции. Да и сам язык Java стал еще безопаснее. Несмотря на кажущуюся простоту обобщенных типов, многие разработчики сталкиваются с трудностями при их использовании. В этом посте я расскажу об особенностях работы с Java Generics, чтобы этих трудностей у вас было поменьше. Пригодится, если вы не гуру в дженериках, и поможет избежать много трудностей при погружении в тему.


Читать дальше →
Total votes 22: ↑18 and ↓4 +14
Comments 46

Как не попасть в ловушку ненужного обучения

Reading time 6 min
Views 14K
Selectel corporate blog Project management *Personnel Management *IT career

В наших головах прочно засела установка, что учиться надо всегда. Компании транслируют life-learning подход (обучение на протяжении всей жизни), в соцсетях продвигаются разного рода курсы, на собеседованиях спрашивают: «Чему вы научились за последнее время?»‎

Выходит, что освоение новых навыков и расширение знаний по уже имеющимся — один из основных параметров для роста в доходе и карьере. Проблема в том, что подход «век живи — век учись»‎ часто превращается в «учиться, чтобы учиться»‎ или «процесс ради процесса».

Меня зовут Алёна Стаценко, я методист образовательных программ Selectel. Уже 7 лет занимаюсь развитием и обучением сотрудников. Начала в сфере HoReCa, затем перешла в IT. Под катом я расскажу, как не попасть в ловушку ненужного обучения.
Читать дальше →
Total votes 59: ↑56 and ↓3 +53
Comments 67

Information

Rating
4,479-th
Location
Ижевск, Удмуртия, Россия
Date of birth
Registered
Activity