Pull to refresh
17
0
@middle_java @TorinoSM

Java Backend Developer

Send message

Аутентификация в Edge и передача идентификаторов, не использующих токены

Reading time13 min
Views2.3K

Как может подтвердить большинство разработчиков, работа с протоколами безопасности и идентификационными токенами, также, как и с аутентификацией пользователей и устройств, может быть сложной задачей. Представьте, что у вас есть несколько протоколов, несколько токенов, более 200 миллионов пользователей и тысячи типов устройств, и проблема при этом может расширяться. Несколько лет назад мы решили разобраться с этой проблемой, запустив новую инициативу, и в итоге создали новую команду, чтобы перенести сложную обработку аутентификации пользователей и устройств, а также различных протоколов безопасности и токенов на границу сети, управляемой набором централизованных сервисов и одной командой. В процессе мы изменили end-to-end передачу идентификаторов внутри сети сервисов, чтобы использовать криптографически верифицируемый объект идентификатора, не использующий токены.

 Далее вы узнаете больше об этом путешествии и о том, как мы смогли:

Уменьшить сложность для владельцев сервисов, которым больше не нужно знать и отвечать за терминацию протоколов безопасности и работу со множеством токенов безопасности,

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

Улучшить возможности аудита и криминалистического анализа.

Перевод @middlejava

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

Еще 5 причин выбрать Apache Pulsar вместо Apache Kafka

Reading time7 min
Views13K
Apache Kafka — крайне популярное в настоящий момент решение для обмена сообщениями. Тем более интересно посмотреть какие альтернативы для нее существуют. Особенно декларируемые, как более интересные по ряду параметров.

Под катом — перевод статьи-сравнения Apache Pulsar и Apache Kafka. Статья в некоторой степени рекламная, т.к. написана заинтересованным лицом, но как минимум, возбуждает интерес копнуть глубже. Поехали.

Переведено @middle_java
Читать дальше →
Total votes 7: ↑6 and ↓1+7
Comments9

Базовое руководство по созданию сбалансированных команд разработчиков

Reading time13 min
Views14K
Общался недавно с миддлом из команды разработки, которая состояла из 6-ти сеньоров и одного миддла. По словам миддла, расти в этой команде было очень сложно по ряду причин:

  • отсутствие техлида. Формально техлид был. С очень высоким техническим уровнем. Но как руководитель, который мог заниматься ведением и развитием своей группы, он был полный ноль: не умел декомпозировать задачи, распределять их в соответствии с уровнем каждого члена, не занимался обучением группы, контроль деятельности группы осуществлялся в диктаторском режиме, софт скиллы отсутствовали и т.п.
  • большой разрыв между скиллами миддла и сеньорами. То, что было непонятно миддлу, приходилось изучать на 95% самостоятельно, потому что у сеньоров не было времени и желания помогать миддлу в обучении, отсутствовало парное программирование (при этом код-ревью было отличным с технической точки зрения), в результате скорость работы миддла не удовлетворяла руководство, хотя качество его кода было высоким.
  • отсутствие командного духа. Обстановка в группе была нездоровой, общение не партнерское или менторское, а с унижениями, насмешками, ошибки на этапе разработки были непростительны и т.п.

Одновременно с этим были установлены высокие требования по скорости выпуска продуктов, что с учетом факторов, приведенных выше, приводило к перманентному перенапряжению всех разработчиков.

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

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

Переведено @middle_java
Читать дальше →
Total votes 12: ↑10 and ↓2+16
Comments30

Пример реактивного приложения Spring (релиз от 14.01.2020)

Reading time6 min
Views7.6K
Счастливого запоздалого Нового года, Spring коммьюнити!

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

Образец приложения BookStore Service Broker был обновлен для демонстрации интеграции нескольких различных проектов Spring, включая Spring Cloud Open Service Broker, Spring Data, Spring Security, Spring HATEOAS и, конечно, Spring WebFlux и Spring Boot. Все эти проекты имеют версии GA, включающие Реактивную поддержку и готовые к продакшену в ваших собственных приложениях и сервисах.

Переведено @middle_java
Читать дальше →
Total votes 5: ↑3 and ↓2+4
Comments4

Разработка MQ JMS приложения на Spring Boot

Reading time5 min
Views21K


Разработчики приложений, работающие на Java, при использовании интерфейса JMS, часто предпочитают работать со Spring Framework. Spring может упростить написание кода новых приложений, предоставляя шаблоны для общих паттернов (templates for common patterns) и успешно используется в течение многих лет с классами MQ JMS. Класс Spring JmsTemplate является ключевым интерфейсом, но он по-прежнему зависит от конфигураций и зависимостей в коде.

Spring Framework включает в себя различные модули для различных нужд. Одним из таких компонентов является Spring Boot. Spring Boot стартеры удобно подтягивают все зависимости и библиотеки авто-конфигураций, необходимые для использования конкретной технологии. Это позволяет очень легко начать работу с новым приложением и технологией, быстрее, чем работать непосредственно с классами, такими как JmsTemplate. Итак, как мы можем воспользоваться этим легким доступом для приложений MQ?

Переведено @middle_java
Читать дальше →
Total votes 8: ↑4 and ↓4+5
Comments0

Синхронный Запрос-Ответ с использованием Apache Kafka

Reading time11 min
Views28K
Архитектуры, управляемые событиями (Event Driven Architecture), в целом, и Apache Kafka, в частности, привлекли в последнее время большое внимание. Для реализации всех преимуществ архитектуры, управляемой событиями, механизм делегирования событий должен быть по своей сути асинхронным. Тем не менее, могут существовать некоторые особые сценарии/потоки использования, в которых требуется семантика Синхронного Запроса-Ответа. В этом выпуске показано, как реализовать "Запрос-Ответ" с помощью Apache Kafka.

Перевел @middle_java
Читать дальше →
Total votes 6: ↑4 and ↓2+7
Comments1

Руководство по API Коллекций Vavr

Reading time14 min
Views8.5K
VAVR (известная ранее, как Javaslang) — это некоммерческая функциональная библиотека для Java 8+. Она позволяет писать функциональный Scala-подобный код в Java и служит для уменьшения количества кода и повышения его качества. Сайт библиотеки.

Под катом — перевод статьи, систематизирующей информацию по API Коллекций Vavr.
Читать дальше →
Total votes 10: ↑8 and ↓2+6
Comments0

Тестирование многопоточного и асинхронного кода

Reading time6 min
Views20K
Привет! На неделе встала задача написать интеграционный тест для Spring Boot приложения, использующего асинхронное взаимодействие с внешними системами. Освежил много материала про отладку многопоточного кода. Привлекла внимание статья «Testing Multi-Threaded and Asynchronous Code» by Jonathan Halterman, мой перевод которой приведен ниже.
Читать дальше →
Total votes 28: ↑26 and ↓2+24
Comments17

Понимание брокеров сообщений. Изучение механики обмена сообщениями посредством ActiveMQ и Kafka. Глава 2. ActiveMQ

Reading time27 min
Views129K
Продолжение перевода небольшой книги:
«Understanding Message Brokers»,
автор: Jakub Korab, издательство: O'Reilly Media, Inc., дата издания: June 2017, ISBN: 9781492049296.

Предыдущая часть: Понимание брокеров сообщений. Изучение механики обмена сообщениями посредством ActiveMQ и Kafka. Глава 1. Введение
Читать дальше →
Total votes 9: ↑9 and ↓0+9
Comments1

Понимание брокеров сообщений. Изучение механики обмена сообщениями посредством ActiveMQ и Kafka. Глава 3. Kafka

Reading time20 min
Views103K
Продолжение перевода небольшой книги:
«Understanding Message Brokers»,
автор: Jakub Korab, издательство: O'Reilly Media, Inc., дата издания: June 2017, ISBN: 9781492049296.

Предыдущая часть: Понимание брокеров сообщений. Изучение механики обмена сообщениями посредством ActiveMQ и Kafka. Глава 2. ActiveMQ
Читать дальше →
Total votes 15: ↑15 and ↓0+15
Comments6

Понимание брокеров сообщений. Изучение механики обмена сообщениями посредством ActiveMQ и Kafka. Глава 1

Reading time7 min
Views107K
Всем привет!

Начал перевод небольшой книги:
"Understanding Message Brokers",
автор: Jakub Korab, издательство: O'Reilly Media, Inc., дата издания: June 2017, ISBN: 9781492049296.

Из введения к книге:
"… Эта книга научит вас рассуждать о системах обмена сообщениями на брокерах, сравнивая и противопоставляя две популярные технологии брокеров: Apache ActiveMQ и Apache Kafka. Здесь будут изложены примеры использования и стимулы разработки, которые привели к тому, что их разработчики использовали совершенно разные подходы к одной и той же области — обмену сообщениями между системами с промежуточным брокером. Мы рассмотрим эти технологии с нуля и выделим влияние различных вариантов дизайна на этом пути. Вы получите глубокое понимание обоих продуктов, понимание того, как их следует и не следует использовать, и понимание того, на что следует обращать внимание при рассмотрении других технологий обмена сообщениями в будущем ..."

Переведенные к настоящему моменту части:
Глава 1. Введение
Глава 2. ActiveMQ
Глава 3. Kafka

Перевод выполнен: t.me/middle_java

Буду выкладывать законченные главы по мере перевода.
Читать дальше →
Total votes 26: ↑23 and ↓3+20
Comments17

10 самых распространенных ошибок Spring Framework

Reading time16 min
Views17K
Привет, Хабр! Представляю вашему вниманию перевод статьи «Top 10 Most Common Spring Framework Mistakes» автора Toni Kukurin.

Spring, вероятно, один из самых популярных Java-фреймворков, а также могучий зверь для укрощения. Хотя его базовые концепции довольно легко понять, для того, чтобы стать сильным Spring разработчиком, нужно время и усилия.

В этой статье мы рассмотрим некоторые из наиболее распространенных ошибок в Spring, особенно касающихся веб-приложений и Spring Boot. Как говорится на сайте Spring Boot, он навязывает представление о том, как должны быть построены промышленные приложения, поэтому в этой статье мы попытаемся продемонстрировать это представление и дать обзор некоторых советов, которые хорошо вольются в стандартный процесс разработки веб-приложений на Spring Boot.
Если вы не очень хорошо знакомы со Spring Boot, но все же хотели бы попробовать некоторые из упомянутых вещей, я создал репозиторий GitHub, сопровождающий эту статью. Если в любом месте статьи вы почувствуете что потерялись, я рекомендую склонировать репозиторий на локальный компьютер и поиграть с кодом.
Читать дальше →
Total votes 28: ↑17 and ↓11+6
Comments6

Information

Rating
Does not participate
Registered
Activity