들어가며 이 글은 1.템플릿 콜백 패턴으로 구현, 2. AOP 로 구현, 3. Spring Redission 의 한계와 극복 총 3편으로 이루어져 있습니다. 이번 글은 1.템플릿 콜백 패턴으로 구현 과 2.AOP 로 구현 을 기반으로 작성되었으니 먼저 읽어주시길 바랍니다. Spring Redisson 분산락(Distribute Lock) 좀 더 잘 써보기 (1/3) - 템플릿 콜백 패턴 들어가며 우선 이 글은 1.템플릿 콜백 패턴으로 구현, 2. AOP 로 구현, 3. Spring Redission 의 한계와 극복 총 3편으로 이루어져 있습니다. 여기서 사용한 예제코드에는 특정 문제가 있습니다. 해당 문제 jongmin4943.tistory.com Spring Redisson 분산락(Distribute ..
들어가며 이 글은 1.템플릿 콜백 패턴으로 구현, 2. AOP 로 구현, 3. Spring Redission 의 한계와 극복 총 3편으로 이루어져 있습니다. 이번 글은 1.템플릿 콜백 패턴으로 구현 에서 참고하는 부분이 있으므로 필요하시면 먼저 읽어주세요. Spring Redisson 분산락(Distribute Lock) 좀 더 잘 써보기 (1/3) - 템플릿 콜백 패턴 들어가며 우선 이 글은 1.템플릿 콜백 패턴으로 구현, 2. AOP 로 구현, 3. Spring Redission 의 한계와 극복 총 3편으로 이루어져 있습니다. 여기서 사용한 예제코드에는 특정 문제가 있습니다. 해당 문제 jongmin4943.tistory.com 여기서 사용한 예제코드에는 특정 문제가 있습니다. 해당 문제에 대한 이야..
들어가며 우선 이 글은 1.템플릿 콜백 패턴으로 구현, 2. AOP 로 구현, 3. Spring Redission 의 한계와 극복 총 3편으로 이루어져 있습니다. 여기서 사용한 예제코드에는 특정 문제가 있습니다. 해당 문제에 대한 이야기는 3편에서 할 예정입니다. 그리고 Spring Redisson 이 뭔지, 왜 쓰는지, 분산락이 뭔지 등등 에 대해서는 글이 너무 길어져 설명하지 않았습니다. 궁금하신분은 인프런의 "재고시스템으로 알아보는 동시성 이슈 해결방법" 강의 를 보시거나 해당 강의의 잘 정리된 블로그글을 첨부하니 참고해주세요. 사건의 시작 사내 그룹웨어에서 칸반 기능을 개발 하던 도중 사용 하시던 동료 두 분이 버그를 제보해주셨다. "저희 둘이 쓰는 칸반이 있는데 갑자기 순서가 이상해졌어요. 아마..
의문 자바 코드를 작성하다보면 종종 ArrayList 를 toArray 메서드를 이용해 배열로 바꿔야 할때가 있다. List temp = new ArrayList(); temp.add("test"); String[] strings = temp.toArray(new String[temp.size()]); 하지만 위의 코드는 Intelij 가 warning 을 만드는 코드이다. 실제로 Replace argument with empty array 를 클릭해보면 empty array 초기화로 코드를 바꿔준다. 왜 길이를 미리 정한 배열보다 길이를 0으로 초기화한 배열을 사용해야하는걸까? 검색결과 성능 차이 두가지에 대한 성능테스트는 stackoverflow 글에서 찾을 수 있었다. 해당 글을 보면 아주 재미있게..