오늘 배운 것 :

 

OOP 리마인드

 

IntelliJ 스크레치 파일 만들어서 노는 법

Intellij 메뉴에서 File > New > Scratch File → Java 선택

 

Spring Boot에서 AOP를 위해 Proxy 사용하는 법

@Aspect & @Around, Before, After, AfterReturning, AfterThrowing

@Around("이 안에는 AOP 하려는 클레스 경로 EL 넣으면 됨")

(포인트컷 EL도 있는데 필요할 때나 찾아보자)

ResponseEntity로 API별로 예외처리 한글로 커스텀해서 던질 때도 AOP 적용해서 

@ControllerAdvice, @RestControllerAdvice 어노테이션 달고

Exception 클레스 만들어서 HttpStatus, errorCode,  errorMessage 멤버로 만들어서 정의해놓고 던지면 됨

 

Transaction

AS-IS: 기존 동작
TO-BE: 변경 동작

@Transactional 붙여주면 지가 알아서 메소드 내에서 ACID 원칙 잘 지킴

 

현업에서 DB는 고장날 가능성이 있으므로 여러개 씀
쓰기가 가능한 메인 DB는 Primary, 읽기만 가능한 보조 DB는 Replica라고 부름

@Transactional(readOnly = false)
기능을 사용해 무엇을 사용할지 endpoint를 정해놓고 바꿀 수 있음

 

수십년 동안 통용되던 용어가 '노예제'와 관련된다는 이유로 대체됨
 마스터 (Master) → Primary
 슬레이브 (Slave) → Replica, Secondary

(네이밍 멋있어 진 듯)

 

- OOP VS AOP
    - OOP 는 핵심기능을 모듈화
    - AOP 는 부가기능을 모듈화
        - 부가기능의 예
            - API 시간 측정, 트랜잭션, 예외처리, 로깅 등
    - AOP 는...
        - OOP 를 "대체": X
        - OOP 를 "보완": O

 

 

느낀 점:

 

처음 보는 객체 너무 많고 intelliJ 환경설정 너무 어렵고

미니 프로젝트 하면서 숙련시켜야 할 듯

 

 

아쉬웠던 점:

 

틀딱클립스를 살려주세요

'TIL' 카테고리의 다른 글

#54  (0) 2022.10.26
#53  (0) 2022.10.25
#51  (0) 2022.10.10
#50  (0) 2022.10.09
#49  (0) 2022.10.08

+ Recent posts