전체 글

이전글[https://techforme.tistory.com/34] 이전 글에서 프록시객체를 자동으로 생성해주는 ProxyFactoryBean 에 대해서 썼는데, 이로써 인터페이스로 추상화하고 구현하는 지루한 과정을 하지 않아도 되게 되었다. 그러나 이 방식에는 한계가 있었는데, 또 다른 인터페이스에 부가기능을 추가하고 싶은 경우 다른 ProxyFactoryBean 을 다시 추가해야 한다는 점이었다. 이번 글에서는 한번에 여러가지 클래스, 여러 메서드를 맵핑하여 일괄적으로 부가기능을 부여하는 BeanPostProcessor (빈 후처리) 기술에 대해서 소개하고, 나아가 AspectJ 프레임워크를 이용하여 AOP 를 적용하는 것 까지 이야기하여 주제를 마치려고 한다. 1. 개념 정리 1) BeanPost..
아이디어 아주 예전에 다익스트라 알고리즘 설명글을 살짝 본 것을 토대로 아이디어를 잡아서 해보려 했으나, 정점과 간선을 어떻게 다루어야 할지 방법이 잘 떠오르지 않았다. 결국 몇번 틀리고 나서(TLE, MLE) 해답을 보고 한참을 고민해서 AC 할 수 있었다. 항상 가장 최단거리의 간선을 먼저 선택해야 최단거리를 계속 갱신할 수 있기 때문에 간선을 선택하는 순서를 잘 고르는 것인 관건이었다. 이는우선순위큐를 활용해서 했다. 사실 해답을 보고도 한참을 고민하다가 머리 좀 식혀야겠다 하고 밥먹고 누워있다가 가만히 고민해보니 금방 정리가 됐었다. 알고리즘은 항상 자기 전이나 누워서 가만히 생각할 때 아이디어가 툭 튀어나온다. 문제풀이 다익스트라 + 우선순위 큐 #include #define INF 987654..
지난 글 [https://techforme.tistory.com/33] 지난번 트랜잭션 테스트를 위해 의도적으로 예외를 던지는 테스트 스텁을 Proxy 패턴, Decorator 패턴을 통해 구현하였다. 이 때 프록시가 적용되는 대상의 interface 를 구현 하거나 구현체를 상속하는 방식으로 프록시 객체를 생성하였는데, 상당히 번거로운 작업이었다. 만약 인터페이스의 구현체가 아니라면 해당 작업은 더욱 번거로워질 것이다. 이번 포스팅에서는 자동으로 프록시 객체를 생성하여 스프링 빈으로 등록해주는 ProxyFactoryBean 을 사용하여 이 문제를 해결해 볼 것이다. 개념 정리 FactoryBean 우선 FactoryBean 에 대한 설명이 선행되어야 할 것 같다. FactoryBean은 Bean 을 추..
Cypher
나 보려고 만든 블로그