Размещайте вакансии
Нанимайте без комиссий
Два года коммерческого опыта. Сейчас я Java-разработчик среднего уровня в небольшой компании более года. Я работаю над безопасностью с помощью токенов, включая LDAP (OpenLDAP, Active Directory). В микросервисной архитектуре я настроил связь между сервисами через RabbitMQ, файловое хранилище Minio, немного Docker и Docker Compose. Работаю одновременно над 2-мя проектами - системой управления аукционами и системой обнаружения мошенничества для крупного европейского банка. Создавая функционал, если это требуется для задачи, я прохожу весь цикл: создание базы данных с помощью Liquibase; создание структур сущностей; Spring Rest Crud с полным описанием в чванстве, также защищенным пружинной безопасностью, которую можно расширить с помощью спецификации JPA; полная валидация входных данных, как regex, так и java для данных заполнения таблицы, также валидация включает некорректные запросы с детальной обработкой исключений и формированием массива пользовательских ошибок, чтобы не допустить 500 ошибок и подсказать пользователю, что нужно исправить в запросах.
Написал несколько модулей, которые помогали заказчику отслеживать изменения важных данных: Status Logger — отображает статус загрузки данных в процентах и список ошибок после загрузки; Report - формирует отчет об изменении отслеживаемых данных в формате html в табличной форме (подписка реализована через Rest API); Уведомление - отправляет отчет, сформированный модулем Отчет по протоколу SMTP, на электронную почту.
> Writing automated tests with Mockito
> REST API
> Implemented authentication
> Integrated JWT technology
> Introduced custom implementation of JWT validation with filters, providers, and result
handlers.
> Added a Liquibase migration based on SQL scripts to create a database structure
> Business logic was described in services with Rest access by roles
> Divided the project into microservices with rest communication between them
> Implemented authentication
> Integrated JWT technology
> Custom JWT validation with filters, providers, and handlers of result
> Configured LDAP(Active Directory)
> Customized/Universalized exception hendling
> Support for Liquidbase migrations using the XML standard with a description of rollbacks and
static filling of tables when they are created
> Covered the project with swagger with a detailed description of the work of endpoints and
each parameter, reflecting server security access to each controller, including roles to each
endpoint
> Introduced Minio file storage into the project
> Set up a flexible search with filtering, including nested objects using JPA Specification
> Configured friendly exception handling with exact list of request errors for response to
Frontend
> Database enriching with validation and deduplication
> Microservice for logging the status of the enrichin process
> XLSX file parsing
> Subscribing to object updates for further email notification of its changes
> Refactoring individual parts of services to a Stream API. Set up service communication using RabbitMQ