Template Callback Pattern in Spring 템플릿 콜백 패턴은 전략을 익명 내부 클래스로 구현한 전략패턴이다. 템플릿 콜백 패턴은 전략 패턴의 변형으로, 스프링 3대 프로그래밍 모델 중 하나인 DI에서 사용하는 특별한 형태의 전략 패턴이다. 템플릿 콜백 패턴과 전략 패턴은 전략을 익명 내부 클래스를 사용하는 점이 다르다. 결합도가 조금 증가하지만, 전략마다 팩토리 객체를 일일이 만들 필요가 없다. 유연하게 내부 구현체만 바꿔주면 로직 가능하다. 외부에서 어떤 전략을 사용하는지 감추고, 중요한 부분에만 집중할 수 있습니다. 스프링은 Template Callback Pattern을 DI에 적극 활용하고 있기 때문에, 스프링을 제대로 이해하고 활용하려면, 전략 패턴과 템플릿 콜백 패턴을 ..
[AWS] 한 EC2 인스턴스에 frontend, backend 전부 배포하기! - React + Spring boot 오늘은 하나의 EC2 인스턴스에 2개의 프로젝트를 배포하는 법에 대해 설명하겠습니다. 저도 EC2에 프로젝트를 배포하는 방법을 공부하기 위해 검색을 하고, 책까지 구매하여 공부하였으나, 두 프로젝트를 하나의 인스턴스에 넣고 배포하는 법에 대한 자세한 정보를 얻기는 어려웠습니다. (보통은 한 가지 프로젝트를 올리는 방법만 적혀 있습니다 ㅠ.ㅠ) 그래서 여기 저기서 정보들을 얻고 취합하고.. EC2에 배포한다는 것의 실제적인 의미를 파악하는 과정들을 통해 성공할 수 있었습니다. 기본적으로 EC2 인스턴스를 만든 후, putty를 통해 접속한 상황이라고 가정하겠습니다.(windows) 만드는..
FaaS와 비동기 처리로 브라우저의 부담 줄여주기 결론: 평균 30.0651초 -> 0.988초로 약 30배 속도 개선됨 1. 랭킹 페이지에서 순위권 유저 프로필 사진 보여주기 매니에서 프로모션을 위해 유저들간의 순위를 매기고 보여주는 랭킹 페이지를 구현하고 있었다. 예를 들어 친구 초대를 많이 한 사람, 이번 달 가장 많이 문제를 푼 사람 등 순위를 메겨 선물을 주는 프로모션을 진행할 수도 있기 때문이다. 한번에 1등 부터 100등까지 유저의 순위를 보여주도록 기획했는데, 로그인한 유저의 순위까지 보여주려면 100 ~ 101개의 유저 정보를 한번에 보여줄 수 있어야 했다. 문제는 순위별 유저들의 정보를 보여줄 때, 유저들의 프로필 사진을 전부 보여주어야 한다는 점이였다. 프로필 사진을 보여주는 것이 왜..
Java 실행 명령어와 cannot find symbol 에러 java 파일을 컴파일하고 실행할 때, java Main.java와 같은 명령어로 실행할 수 있습니다. 그런데 이번에 자바 공부를 하며 파일을 실행시키는 과정에서 아래와 같은 error: cannot find symbol에러를 마주했습니다. 아마도 실행시킨 파일인 TcpIpClientSeparate.java에서 이용한 Sender Receiver class가 같은 패키지 내의 TcpIpServerSeparate.java라는 다른 파일에 선언 되어 있는데, 이걸 불러오지 못 해서 발생하는 문제인 것 같습니다. 해당 에러를 해결한 내용들을 공유하기 위해 글을 써 본다. 다른 이유로 해당 에러를 마주한 사람은 굳이 읽을 필요가 없습니다. error..