АОП в автоматизации тестирования
Код будет написан намеренно максимально просто, чтобы было понятно как использовать аспекты . Вы можете и должны их применять, чтобы сохранить чистоту кода. Создаем проект 'Gradle'
АОП в автоматизации тестирования
Код будет написан намеренно максимально просто, чтобы было понятно как использовать аспекты . Вы можете и должны их применять, чтобы сохранить чистоту кода. Создаем проект 'Gradle'
Spring Boot, AspectJ. Введение в аспектно-ориентированное программирование
Привет, меня зовут Николай Пискунов , я руководитель направления Big Data и автор медиа вАЙТИ . Недавно мне в руки попался старый проект, написанный на Spring Boot. В нем я нашел пару десятков эндпоинтов, в которых метод обрамлен logger. Логирование в таком виде — это важный элемент как для ПО, так и для безопасности, но оно делает код объемнее, его становится сложнее читать. В идеальном случае методы можно сократить буквально до пары строк, но для этого нужно отделить бизнес-логику от остального кода. Сделать это можно с помощью аспектно-ориентированного программирования (AOP) — языка для определения именованного аспекта. О нем и пойдет речь в этой статье.
https://habr.com/ru/companies/beeline_cloud/articles/869602/
#spring_boot #aspectj #aop #логирование #backendразработка #разработка_по #архитектура_приложений #инструменты_разработки #оптимизация_кода #производительность
How to Apply an AspectJ Pointcut to Every Method in a Package
[Перевод] Пример использования Spring Data и Redis для временного хранения персональных данных
Некоторые компании, работающие с персональными данными пользователей, сталкиваются с невозможностью хранить их в течение долгого периода времени из-за правовых ограничений. Такое часто можно встретить в финтехах. Позволяется сохранить данные на очень короткое время, которые также должны быть удалены сразу после использования в целях сервиса. Существует несколько вариантов решения этой задачи. В данном посте я показываю упрощенный пример микросервиса, работающего с чувствительной информацией, используя Spring и Redis .
https://habr.com/ru/articles/857518/
#java #spring #spring_boot #redis #aop #aspectj #testcontainers
Сокрытие конфиденциальных данных при логировании
Всем привет! Меня зовут Сергей Соловых, я Java-разработчик в команде МТС Digital. В этой статье я расскажу, как скрыть личные данные пользователей при организации логирования. Такая необходимость возникает при отслеживании запросов, анализе ошибок и диагностике проблем. Однако в процессе обработки персональных данных пользователей (паспортных данных, ИНН, СНИЛС и прочих документов, удостоверяющих личность) нужно учитывать, что их содержимое не подлежит разглашению. Это серьезный вопрос, который затрагивает множество аспектов: репутацию компании, доверие потребителей, законодательство. Так что задача разработчика не только связать логами всю цепочку прохождения запроса, но и исключить из них те данные, что не подлежат раскрытию. Сегодня мы не будем сильно погружаться в детали работы той или иной технологии, а просто рассмотрим несколько доступных решений.
@alexelcu If the #Kotlin ecosystem would be more open, other build tools could build it as well. For example, I'm trying to get incremental compilation support into Mill, but the API to do that is still private and only available to IntelliJ and Gradle.
Beside Kotlin Multiplatform, mixed #Java / #Kotlin / #Scala projects are a thing in Mill. In one project, we even have #AspectJ in the mix.
Использование библиотеки для профилирования в Spring Boot
Эта статья посвящена использованию библиотеки для профилирования методов в приложениях Spring Boot. Она предоставляет механизм для мониторинга времени выполнения методов, используя аннотацию @ActuatorProfiling и Spring Boot Actuator для экспонирования данных профилирования через настраиваемые конечные точки (эндпоинты). GitHub https://github.com/litefunction/spring-boot-starter-actuator-profiling Введение Профилирующее приложение предназначено для помощи разработчикам в мониторинге и анализе времени выполнения методов, аннотацией @ActuatorProfiling. Данные профилирования экспонируются через Spring Boot Actuator. Особенности • Профилирование времени выполнения методов. • Настраиваемые параметры профилирования. • Информация получения данных профилирования в actuator. • Потокобезопасное управление данными профилирования.
Логирование времени выполнения методов с помощью аннотаций (AspectJ)
Рассмотрим пример частного случая отладочного логирования времени выполнения методов на AspectJ. Для понимания как можно использовать AspectJ. Очень кратко, выжимка из кода.
A new version of Mill is out!
My favorite new feature in Mill 0.11.7, especially when working with large projects:
Type Filters on wildcard selectors.
https://mill-build.com/mill/Target_Query_Syntax.html#type-filters
Check out the full changelog, we have a lot of improvements:
The #JVM is an excellent platform for #monkeypatching
I want to demo several approaches for monkey-patching in Java in this post.
As an example, I’ll use a sample for-loop. Imagine we have a class and a method. We want to call the method multiple times without doing it explicitly.
Aspect Oriented programming
(2003) : Kiczales, Gregor et al
url: https://apps.dtic.mil/dtic/tr/fulltext/u2/a417906.pdf
#AspectJ #java #dissertation #ASP #aspect #DARPA #my_bibtex
Generating Aspectj Programs With Meta-Aspectj
(2004) : Zook, David and Huang, Shan Shan and Smaragdakis, Yannis
DOI: https://doi.org/10.1007/978-3-540-30175-2_1
#AOP #AspectJ #DSL #MAJ #java #meta #programming #type_inference
#my_bibtex
Dynamic weaving for aspect-oriented programming
(2002) : Popovici, Andrei and Gross, Thomas and Alonso, Gustavo
DOI: https://doi.org/10.1145/508397.508404
#AOP #AspectJ #PROSE #__printed #aspect #java #prototype #run_time #weaving
#my_bibtex