안녕하세요. 저는 현재 java/spring 환경에서 upbit API를 활용하여 트레이딩 시스템을 개발하고 있습니다. 트레이딩 시스템은 현재 1차 배포까지 완성이 되어 트레이딩을 진행하고 있으며, 그간에 있었던 내용중 공유하고자 하는 내용이 있어 글을 작성합니다. 현재 트레이딩 시스템의 가장 주요한 난제는 알고리즘 최적화입니다. 적절한 알고리즘에 따라 필요하지 않은 로직은 수행하지 않고 시간을 많이 잡아먹는 로직, 혹은 코인에 대해 트래킹이 필요하고 왜 그랬는지 대처를 해야 좀더 적절한 대응이 가능하게 됩니다. 그 중 가장 기본은 각 코인당 발생하는 동일한 service를 태웠을 때 허용 가능한 시간동안의 로직을 수행했느냐를 체크하는 것이 필요했습니다. @Slf4j @RequiredArgsConstru..
DZone이라는 사이트에서 번역해서 가져온 글입니다. 간단히 읽어보시고 원문을 읽어보고싶으시면 아래 url로 들어가셔서 바로 보시면 될것 같습니다. 참고문 정도로 보시면 좋겠습니다. 원문 : dzone.com/articles/what-is-spring-aop-1 AOP에 대해서는 자주 논의되지는 않지만 스프링에서 굉장히 많은 부분에 걸쳐서 사용되고 있습니다. 이번 포스팅을 통해서 AOP에 대해서 익숙해지고 현업에서도 활용할 수 있을 것입니다. 여러분은 AOP에 대해서 알고 계신가요?? 혹시 들어보셨다면 현재 진행하고있는 프로젝트에 쓰고 계신가요?? 만약 아니라면 집중해주세요! 요즘 스프링부트나 최첨단 프레임워크를 활용해서 진행하는 프로젝트들이 굉장히 많습니다. 한편으로는 매우 잘된일같지만 다른 한편으로는..
AOP 어플리케이션에서의 관심사의 분리(기능의 분리) 즉, 핵심적인 기능에서 부가적인 기능을 분리한다. 분리한 부가기능을 애스펙트(Aspect)라는 독특한 모듈형태로 만들어서 설계하고 개발하는 방법 AOP 사용이유 회원이라는 기능이 있고 회원만이 접근할 수 있는 url이 존재, 그 곳을 접근할 때는 회원의 session정보가 존재해야했음. AOP pointcut 기능을 이용해서 모든 요청이 서블릿으로 들어올 때 before pointcut을 걸어두어 회원의 session정보가 존재하는지 검사. package com.test.genius.code.pointcut; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.htt..