HikariCp 설정 및 테스트
Mapper
Dto만
패키지구조
수평적 분할 / 수직적 분할
매퍼 인터페이스, xml 분리해서 저장
mybatis는 쿼리의 파라미터 1개만 받을 수 있어서 다중파라미터는 @Param으로 여러개 받거나 dto 객체로 받기 가능
mybatis는 GET/SET메소드를 통해 쿼리 파라미터를 세팅 할 수 있음
*website 성격
- sns: 무한스크롤 가능(삭제되는 데이터가 많으면 무한스크룰 적용 xx)
- 쇼핑몰: 데이터의 변경주기가 낮음 -> 캐싱활용시 성능확보가능
*브라우저 엔진
- CSS엔진
- 자바스크립트 엔진
- HTML 파서 / 렌더링 엔진 (Layout Engine 포함)
브라우저에서 Alet 사용하면 안됨(자제하자)
-> 모든 브라우저 엔진을 멈춰버림
자바스크립트 엔진이 두번 동작하면 "호이스팅"이 발생함
doA()
function doA(){
console.log("AAA");
}
자바 스크립트의 끊어내는 단위는 <script> </script>
*PRG패턴
서버사이드에서 INSERT / UPDATE/ DELETE 작업
*Query는 Get 방식
*회원가입은 입력과 결과가 분리되어있는 페이지
*리스트페이지는 입력과 결과가 합쳐저있는 페이지(검색창)
*서버사이드에서 기본적으로 사용하는것은 PRG패턴이다
*뒤로가기 문제(똑같은것 등록 못하게하는거)도 언젠가 겪을 수 있음
*쿼리스트링은 고정적인 값을 보여줄때 사용 EX)페이지번호
*유스케이스
무언가를 했을때 잘못했다 -> 대안
*실패에 대한 처리?
@ControllerAdvice: 스프링 MVC의 전역 예외 처리기
@ControllerAdvice는 스프링(Spring) 프레임워크에서 전역적으로 컨트롤러(Controller)에서 발생하는 예외를 처리하거나, 공통적인 모델 속성(Model Attributes)이나 데이터 바인딩 설정을 적용할 때 사용하는 매우 강력한 어노테이션입니다.
간단히 말해, 여러 컨트롤러에서 발생하는 예외를 각각 처리할 필요 없이, @ControllerAdvice가 붙은 클래스 하나에서 중앙 집중식으로 관리할 수 있게 해줍니다. 이는 코드 중복을 줄이고, 애플리케이션의 예외 처리 로직을 깔끔하게 분리하는 데 큰 도움을 줍니다.
@ControllerAdvice의 주요 기능
@ControllerAdvice는 주로 다음 세 가지 어노테이션과 함께 사용됩니다:
- @ExceptionHandler: 특정 예외가 발생했을 때 해당 예외를 처리하는 메서드를 지정합니다.
- @ModelAttribute: 모든 컨트롤러 메서드가 호출되기 전에 모델에 공통 데이터를 추가합니다.
- @InitBinder: 모든 컨트롤러 메서드가 호출되기 전에 데이터 바인딩을 위한 초기화 작업을 수행합니다.
가장 흔하게 사용되는 것은 @ExceptionHandler를 통한 전역 예외 처리입니다.
스프링프레임워크를 잘 사용하려면 "설계"가 중요
AI를 더 잘쓰기 위해서는 공부를 더 많이 해야함. 왜냐하면 보는 시야가 중요하기 때문이닷!