Обновить
3
0
Никитин Иван Андреевич@in86

Интересующийся

Отправить сообщение

Graph Ql клиент. Быстрый старт

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели4.8K

Приветствую, коллега. Не так давно столкнулись с необходимостью реализовать взаимодействие с Graph Ql сервисом. Появилась задача аутентификации, настройки подключения, получения и передачи потребителям информации. В результате нашли много материалов, в которых описано, как развернуть Graph Ql сервис, как его использовать с базой данных. Например вот, и вот. Это подробные статьи, которые помогут решить сложные задачи. Но что делать, если стоит задача поменьше и хочется получить комплексное описание решения? Хочу предложить вариант, насытив его информацией, которая принесет пользу. Заказчик получит работающий сервис, разработчик необходимые знания и способ решения, который можно дополнять и улучшать для конкретных условий использования. Для погружения в Graph Ql и детали его использования есть статьи - вотвотвот и документация. Эта статья будет сосредоточена на задаче реализации клиента к Graph Ql серверу. Если для вас стоит подобная задача, то нам по пути.

Поехали ...

Spring. Аутентификация на reactive feign

Уровень сложностиСредний
Время на прочтение17 мин
Охват и читатели1.2K

В этой статье проведены параллели между обработкой ошибок в feign и reactivefeign клиентах на примере реализации starter, который реализует аутентификацию по OAuth 2.0 в spring reactive подходе. В этой статье не будет описания реактивного стека. Если Вы хотите разобраться, какие есть преимущества и зачем его применять, рекомендую посмотреть эту серию статей. В этой статье не будет сравнения реактивного и нереактивного подхода. Для этого есть такая статья. В этой статье я хочу показать, что перевод компонентов на реактивность - несложная задача по рефакторингу, которая не займет много времени. Добавить монетку в копилку того, что перевод на реактивность - процесс, основные затраты в котором нужно сделать на первом шаге, когда Вы решаетесь применять этот подход, а адаптировать существующие компоненты просто.

Читать далее

Spring Reactor. Эволюция сервисов. На пути к реактивности

Уровень сложностиСредний
Время на прочтение19 мин
Охват и читатели3.4K

Это статья описывает опыт миграции традиционного приложения java spring на Spring reactor стек. О специфике разрабатываемой информационной системы, уже подробно рассказывал. Кратко о системе - смешанная сервисно-микросервисная архитектура. Чтобы получить бизнес результат, требуется вызвать микросервис, который вызывает сервис, который вызывает набор микросервисов для формирования ценностного набора данных. Получается цепочка вызовов. Сервисы и микросервисы разрабатывались на традиционном технологическом стеке, без использования реактивного подхода.

Мое знакомство с реактивным подходом произошло в 2022 году. Плюсы и минусы я осознавал, как мог. В рамках разрабатываемой системы мне было сложно найти ему точку применения. Тогда сложилось понимание, что в существующих рамках реактивный подход не даст возможности эволюционных изменений. Если его применять, то применять ко всему и сразу, как постулирует реактивный манифест.  Даешь революцию! Это было заблуждение. Его я не смог разрушить, даже изучая документацию и статьи. Чего-то релевантного моей ситуации в открытых источниках я найти не мог. Этой статьей постараюсь предложить путь и убедить сомневающихся, что долго раздумывать не стоит. Делайте смелый шаг на пути к реактивному стеку.

Читать далее

Keycloak Starter. Удобный способ аутентификации и авторизации

Уровень сложностиСредний
Время на прочтение21 мин
Охват и читатели7.3K

Это статья-туториал. Рассмотрим в ней, как сделать компонент, который поможет забыть о необходимости дублировать механизмы аутентификации и авторизации. Цель статьи - реализовать starter, который можно будет легко и удобно подключить к Spring Boot проекту. Предлагаемая цель актуальна?

Читать

Настраиваем TLS контекст. КриптоПро в помощь

Уровень сложностиПростой
Время на прочтение17 мин
Охват и читатели4.6K

Эта публикация – практический кейс c кратким туториалом по реализации TLS-соединения, на основе российских стандартов шифрования, основанных на компонентах КриптоПро (CP). Статья не содержит рекламы или попытки сподвигнуть к выбору конкретных компонентов. Я столкнулся с задачей реализации шифрованного подключения к системам бюро кредитных историй (БКИ) в части оценки платежеспособности физических лиц. У меня было ограничение - необходимо было использовать КриптоПро (CP). В процессе реализации задачи открыл для себя несколько интересных моментов. Процесс их "открытия" был чарующим и загадочным. Чары мне обеспечил CP, а с загадками помогали службы поддержки БКИ и CP. Этой статьей хочу помочь сэкономить время и сделать прозрачным процесс реализации шифрованного подключения. В начале статьи дам небольшой теоретический экскурс. Если Вас интересуют детали реализации, то сразу переходите к разделу "Установка и настройка CP компонентов", код, приведенный в статье выложен тут. Приятного чтения.

Читать

Нагрузи меня, Gatling

Уровень сложностиСредний
Время на прочтение16 мин
Охват и читатели7.6K

Привет. Это статья-туториал про выбор технологии и реализацию проекта нагрузочных тестов для API REST микросервисов. Про себя и специфику продукта, над которым работаю, я подробно описывал тут, когда рассказывал о интеграционных тестах. Здесь этому уделять внимание не буду. Если решитесь продолжать, то Вас ждет длинное чтиво. Результатом потраченного времени и внимания будет понимание того, зачем нужно нагрузочное тестирование, с чего начать, куда двигаться дальше и шаблонный проект нагрузочных тестов, который Вы сможете адаптировать под себя. Все используемые мной технологии в этой статье несут печать Java экосистемы. Это тоже может повлиять на то, решитесь ли Вы продолжать. Поехали ...

Читать

Простой, полезный проект интеграционных тестов

Уровень сложностиСредний
Время на прочтение21 мин
Охват и читатели8.8K

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

По отзывам моих ревьюеров, эта статья ‑ «Инструкция по входу в автоматизированное тестирование и настройка фрейма».

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

Читать далее

Аналитика. Обзор, рекомендации, акценты применения

Уровень сложностиПростой
Время на прочтение13 мин
Охват и читатели6.7K

Всем, привет.  Для самых жаждущих и нетерпеливых эта в этой статье будет про:

Типы анализа, используемые для/около информационных технологий;

Систему координат типов анализа и для чего использовать каждый из них;

Специальные артефакты для каждого типа анализа;

То, как понять, что в компании/процессе/проекте нужно использовать конкретный тип анализа;

Акценты и навыки, нужные при использовании каждого типа анализа;

Для тех, кому интересно и хочется сложить причинно-следственные связи, проследить нить рассуждений, то давайте это сделаем. Я Иван. Люблю сферу информационных технологий и стремлюсь развиваться в дисциплинах, задействованных для создания информационных продуктов – анализе, проектировании, разработке. Эти дисциплины влияют друг на друга и на конечный результат - создаваемую информационную систему.

Рассуждая, что такое анализ, какой он бывает, какой тип, в каких условиях использовать и какие навыки нужны для того, чтобы его выполнять, я предположил, что будет полезным систематизировать имеющийся опыт и результаты обсуждения с коллегами, слушателями профессиональных программ развития НИУ ВШЭ, МИСИС, интернет университетов. Так появился следующий обзор. Надеюсь, он принесет вам пользу. Рассчитываю на обсуждение. Присоединяйтесь :-)

Читать

5 «Почему» для понимания архитектурных концептов при создании информационных продуктов

Время на прочтение16 мин
Охват и читатели7.2K

По традиции, для самых жаждущих и нетерпеливых, эта статья будет о:

С чего начинается построение любой архитектуры?

За счет чего реализуются потенциальные бизнес возможности?

Кто нужен для реализации намеченных возможностей?

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

Из чего должна складываться структура продукта и как он должен реализовывать функциональные требования?

Если нет интереса к предисловию, то переходите к первому "почему". Для тех, кто хочет сложить причинно-следственные связи - добро пожаловать.

К эссе

Retry or No?

Время на прочтение17 мин
Охват и читатели13K

В этой статье разберем вариант реализации функционала перезапроса сообщений из семейства resilience шаблонов. Мы поговорим о retry. Точнее обсудим:

1. Что такое устойчивость и какое влияние на нее имеет retry?

2. Анализируем, где применять retry;

3. Реализуем retry;

4. Пишем unit-тесты с wiremock;

5.Делаем starter;

Читать

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Бэкенд разработчик
Старший
От 450 000 ₽
ООП
Java
Java Spring Framework
Junit
PostgreSQL
Git
Docker
Kubernetes
Golang
Python