본문 바로가기

분류 전체보기139

Spring Context는 모든 빈들을 프록시로 만들까??? 내가 얼핏 듣기로는 스프링 컨텍스트가 프록시로 만든다는 말을 들은 적이 있는데.. 확실하지가 않다.. 모든 빈들을 프록시로 만드는 건지.. 그래서 간단하게 테스트 해보았다. @Component public class Service { public void test(){ System.out.println("test"); } } @Configuration public class Config { @Bean public Service service(){ return new Service(); } } public static void main(String[] args) { ApplicationContext applicationContext = new AnnotationConfigApplicationContext(.. 2024. 2. 22.
프록시??? 스프링 AOP?? 트랜젝션?? (1) 이전 개인프로젝트때 동시성 해결하기 위해 aop와 Redisson을 활용하여 해결한 적이 있다. 그때 이때 aop 프록시와 동시성메서드 트랜젝션 프록시?라고 해야하나 아무튼 두개의 트랜 젝션의 레벨이 동일하여 내가 원하는 대로 호출이 안되는 상황이 있었다. 그래서 동시성 메서드 트랜젝션을 제거하였더니 잘 호출되었다. 이때는 동일한 레벨트랜젝션이라 무엇이 먼저 호출될지 모른다로 이해하고 끝났다... 근데 계속 프로젝트 하다보니... 프록시가 뭔데,,? 그게 트랜젝션이란 뭔상관이고, aop랑은 무슨 상관인데..? 라는 물음표들이 머리속을 꽉채웠다... 그래서 이번 기회에 차분히 정리해보려고 한다. 프록시 공부하기전 나에게 프록시 은 단순히 가짜객체의 느낌이었다.근데 공부해보니 그 방향보다는 프록시 이란 "대.. 2024. 2. 22.
[개인프로젝트] 코드 커버리지?? 개인프로젝트때 왠만하면 진짜 꼼꼼하게 테스트 코드를 작성했다. 물론 초반에는 왜 테스트코드를 작성해야되지..? 에 대한 의문이 있었지만.. 작성하면서 느낀점은 1. 작성한 코드가 의도한 대로 작동하는지 검증할 수 있다. -> 테스트코드를 통해서 동작하는 방식과 결과가 내가 작성한 대로 나오는지 활인할 수 있다. 2. 코드를 수정할때 변경에 대한 영향도를 쉽게 파악할 수 있다. -> 아무래도 후반에 리팩토링후 테스트코드 돌릴때 에러가 나올때가 있었다. 근데 만약 내가 테스트코드 안짜놓고 어플리케이션을 돌렸다면어렵게 어디서 에러가 나오는지 찾을 수없을거같다. 즉 테스트코드 덕분에 수정으로 인한 영향력을 빠르게 파악할 수 있었다. 나의 경우 유닛 테스트코드를 많이 짰다. 개별코드 단위가 내가 의도한대로 작동하.. 2024. 2. 22.
[개인프로젝트] ElasticSearch와 Mysql 쿼리 실행시간 (2) (인덱스 걸기) 이전블로그에서 mysql 인덱스 안걸려있고 full scan으로 했으때의 elasticsearch와의 검색 실행시간 차이를 알아보았다. 이번에는 mysql에 인덱스를 걸었을때의 상황을 비교해보겠다. 간단하게 데이터베이스에서의 인덱스란 미리 정렬된 정보를 저장하여, 원하는 데이터를 찾는 것이다. 즉 검색 속도를 향상시킬 수 있다. 이부분에 대해서 추후 더 자세하게 알아볼 예정이다. 일단 실행시간 보기전에 알려드릴점... 첫번째원래 이전 블로그에서는 distance가 3km였는데 0.5km로 바꾸었다. 그 이유는 mysql이 인덱스를 타지 않고 full scan을 해서이다. 20만개 데이터중 쿼리를 나리면 2/3이상의 데이터가 결과값으로 나오다보니 full scan을 타버렸다. 그래서 인덱스를 타기 위해 범.. 2024. 2. 19.
2024-02-19 일주일 회고록 드디어 협업 끝났다... 데모데이가 1/25이었지만... 팀원분들이 기능 구현하는데 늦어져서 어제 끝났다... 조금 억울하기도 했고 막판에는 너무 힘들었다... 물론 같은 팀원이라서 도와줘야하는건 맞지만... 그냥 도와준게 아니라 다 해준느낌이라.. 조금 억울했다.. 그래도 나중에는 내 경험이 되니라.. 내 양분이 되꺼라... 생각하고 완료시켰다. 원래는 협업프로젝트까지 코드커버리지 적용하고 싶었는데 그거까지 하기엔 팀원분들도 지쳐보여서 여기까지 완료하기로 했다.. 취준취준 취준 쉽지않다. 확실히 취업시장이 얼어있긴한가보다. 그래도 이력서 쓰고 있는데..나는 도데체 지원동기를 어떻게 써야할지 모르곘다.. 그냥 일하고 싶다고...일... 이런느낌인데 회사지원동기를 쓰라니... 이게 마음에서 가끔 울어나오는.. 2024. 2. 19.
[개인프로젝트] ElasticSearch와 Mysql 쿼리 실행시간 (1) 멘토링받다가 ElasticSearch 왜 사용했어요?? 질문하셨다. 그래서 mysql 인덱스를 사용하지 않는다는 가정하에 간단하게 말씀드렸다. 멘토님의 답변.. 인덱스 쓰면 생각보다 쿼리 빠르게 나온다고.! 그래서 이번 기회에 간단하게 테스트 해보려고 한다. 산책 대행자를 검색하기 위해서 거리기준, 이름으로 기준을 정하였다.(mysql 인덱스 설정안되어있음) 처음 테스트할때는 Elasticsearch와 mysql에 10000개의 데이터를 임시로 넣었다. 10000개로 테스트 Mysql SELECT ST_Distance_Sphere(Point(127.0637948147,37.3232) ,Point(users.user_lnt,users.user_lat)) AS distance FROM users WHERE .. 2024. 2. 15.
728x90