스프링
ThreadLocal을 사용하여 로그 추적기의 동시성 문제를 해결했었다.
하지만, 여전히 Controller - Service - Repository에 불필요한 반복되는 코드는 남아있다.
이걸 똑똑하게 처리하기 위해 탬플릿 패턴을 적용하는 과정에 관해 학습했다.
탬플릿 패턴은 공통으로 사용되는 부분은 묶어놓고 매번 다르게 사용되는 부분에 관해서는
해당 탬플릿 패턴 클래스를 구현하는 쪽 클래스로 미룸으로 사용이 가능하다.
탬플릿 패턴은 내 블로그 포스팅에서도 담겨 있듯이 추상 클래스로 생성하여
공통된 부분에 관한 코드는 작성해놓고 하위 자식 클래스에서 사용되는 부분만
추상 메소드로 미룸으로 Override하여 동적 바인딩이 되도록 구성한다.
이때, 익명 내부 클래스를 사용하여 새로운 자식 클래스 파일을 생성하지 않아도 된다.
하지만, 이렇게 했을 경우 익명 클래스를 생성하는 부분에서 동일하게 코드가 길어진다.
따라서, 관련된 처리도 필요하다. 그 부분은 내일 학습할 것 같다.
Jenkins
- SonarQube 설치
- 프리티어에서 제공하는 t2.micro는 SonarQube를 감당할 수 없기에 t2.small(프리티어 X)로 구성했다.
- SonarQube7.x 버전에서 사용하는 가비지 콜렉터 Java 11 버전에서 더 이상 사용하지 않아 실행이 되지 않는 오류가 발생했다.
- 따라서, SonarQube를 그냥 9점대 버전으로 설치했다.
- Jenkins에서 Tomcat 서버에 배포
- Jenkins에서 Docker 서버에 배포
- AWS t2.micro 환경에서 구동한 Jenkins 서버 속도가 너무 느려서 진행이 너무 더디다. 흠..
이게 속도랑은 상관 없는 거 같긴한데...
알고리즘
- 코테 스터디를 진행했다(20:00 ~ 21:00)
- 푼 미션 문제를 토대로 각자 코드 설명
- 연습문제 공유
'개발 기록' 카테고리의 다른 글
2024-07-27 ~ 2024-07-29 학습일기 (0) | 2024.07.29 |
---|---|
2024-07-26 학습일기 (0) | 2024.07.26 |
2024-07-24 학습일기 (0) | 2024.07.24 |
2024-07-23 학습일기 (0) | 2024.07.23 |
정보처리기사 합격 (2024.06.18) (0) | 2024.06.25 |