-
Junit5
java ·lombok또는 @Override 등에서 사용하고 있는 애노테이션 프로세서는,
소스 코드에 메타데이터를 추가하는 기능을 제공한다. 메타데이터는 코드에 대한 추가 정보를 제공하며, 소스 코드를 자동으로 생성하거나 다른 코드와 상호작용할 때 유용하다. -
Annotaion Processor
java ·lombok또는 @Override 등에서 사용하고 있는 애노테이션 프로세서는,
소스 코드에 메타데이터를 추가하는 기능을 제공한다. 메타데이터는 코드에 대한 추가 정보를 제공하며, 소스 코드를 자동으로 생성하거나 다른 코드와 상호작용할 때 유용하다. -
클래스 프록시
디자인 패턴 ·자바의 Proxcy는 오직 인터페이스만 적용할 수 있다.
그래서 이번에는 cglib과 bytebuddy를 이용해 클래스 프록시를 구현하는 방법을 알아본다. -
Proxy 패턴
디자인 패턴 ·프록시 패턴(Proxy Pattern)은 코드의 기능을 대리자가 실행하게 해, 코드의 흐름을 제어하면서 객체지향 5원칙중 OCP와 DIP를 적용해 의존성을 낮춘 디자인 패턴이다
-
Dynamic Proxy
java ·런타임에 특정 인터페이스들을 구현하는 클래스 또는 인스턴스를 만드는 기술
-
Reflection
java ·Reflection이란 “Class”에서 사용하는 API 명칭으로, Java 프로그램에서 클래스, 메서드, 필드 등의 객체를 동적으로 검사하고 조작하는 데 사용되는 기능이다.
-
JavaAgent
java ·JVM에서 프로그램이 실행되는 동안 클래스 파일을 수정하거나, 프로그램의 동작을 모니터링하거나, 디버깅하는 등의 작업을 할 수 있게 해주는 기능이다.
-
bytebuddy
java ·런타임에 Java 클래스를 동적으로 생성하고 조작할 수 있는 Java 라이브러리다.
ASM을 기반으로 만들어졌으며, 학습 비용이 높은 ASM에 비해 훨씬 사용하기 쉽다. -
Code Coverage
java ·테스트코드 실행시 소스코드가 얼마나 실행되는지 백분율로 나타내는 지표다.
테스트되지 않은 영역을 식별하는데 유용하며, 코드 유지 관리할때 도움을 준다. -
java 8 annotaion
java ·java 8 부터 annotaion을 타입 선언부에 선언이 가능하고, 중복해서 사용 가능해졌다.