본문 바로가기
개발 기록

2024-07-30 학습일기

by 진꿈청 2024. 7. 30.

스프링

저번에는 스프링의 템플릿 콜백 패턴에 관한 공부를 진행했다.

 

템플릿 콜백 패턴은 실제로 RedisTemplate, RestTemplate 등 스프링에서 실제로 많이 사용이 된다.

하지만, 이 콜백 패턴을 로그 추적기에도 적용하기엔 다소 아쉬운 점이 존재한다.

 

결국 템플릿 콜백 패턴을 적용해 익명 클래스를 만들던 뭘 하던 새롭게 도입했을 때,

너무 많은 코드의 수정이 필요하다. 

 

개발자는 너무나도 게으르다. 따라서, 더 편하기 위해 로그 추적기를 만들기 위해 프록시, 데코레이터 패턴을 사용한다고 한다.

프록시, 데코레이터 패턴을 사용해 코드를 아무것도 수정하지 않는다고 하는데 이것이 가능한 일인지는 아직 학습하지 못했다.

(아무것도 수정하지 않는다 -> 원본 코드를 전혀 수정하지 않고, 로그 추적기를 도입)

 

따로, 학습한 내용을 총 정리해 포스팅 하겠지만, 프록시를 사용하면 Client - Server 구조에서 Client - Proxy - Server 구조로 변경된다.

이때 Client는 자기가 전달한 무언가가 Proxy가 사용하는지 Server가 사용하는지 모른다.

 

즉, 이렇게 되면 ServerProxy는 같은 인터페이스를 사용해야 하며 클라이언트가 사용하는

서버 객체를 프록시 객체로 변경해도 클라이언트 코드는 변경하지 않고 동작이 되어야 한다.

(Spring에서 DI를 사용하여 클라이언트의 코드의 변경없이 유연하게 프록시를 주입할 수 있다.)

 

또한, 위의 특성들로 접근 제어, 캐싱, 부가 기능 추가 등 여러 일이 가능하다.

 

심지어, 프록시가 프록시를 호출할 수도 있다.

 

이걸 구현하는 과정은 내일부터 학습할 거 같다.

 

 

새롭게 또는 추가로 알게 된 어노테이션

  • @RequestMapping: 이 어노테이션만 있어도 Spring은 이걸 Controller로 인식한다고 한다.
  • @SpringBootApplication(scanBasePackages = "패키지경로"): 해당 패키지 경로만 빈으로 등록
  • @Import: 으로 등록할 Class를 등록한다.

 

Jenkins

이도원 강사님의 모든 Jenkins 수업을 다 들었기에 이젠 복습 겸 정리를 위해 블로그 포스팅을 진행했다.

 

https://hdbstn3055.tistory.com/143

 

[Jenkins] Ansible 기본 명령어

이전 글우리는 이전 포스트에서 Ansible를 리눅스 서버에 설치해보았고 정상 동작함을 확인했다.Ansible에서 /etc/ansible/hosts 경로에 여러 호스트를 등록할 수 있었고,해당 호스트들에게 아직은 설명

hdbstn3055.tistory.com

 

https://hdbstn3055.tistory.com/144

 

[Jenkins] Ansible Playbook 사용

이전 글이전 포스팅에서 우리는 Ansible의 기본 명령어인 -m 옵션을 활용해서 여러 모듈을 사용했다.하지만, 실제로는 -m 옵션을 주기보다는 Ansible Playbook를 사용한다.이번 포스팅에서는 Ansible Playbo

hdbstn3055.tistory.com

 

알고리즘

 

 

 

 

 

 

'개발 기록' 카테고리의 다른 글

2024-08-01 학습일기  (0) 2024.08.01
2024-07-31 학습일기  (0) 2024.07.31
2024-07-27 ~ 2024-07-29 학습일기  (0) 2024.07.29
2024-07-26 학습일기  (0) 2024.07.26
2024-07-25 학습기록  (0) 2024.07.25