스파르타 내배캠45 [TIL] #38. Validation [ Validation ] : HTTP 요청이 정상인지 검증Front 검증- 유저가 조작할 수 있기 때문에 보안에 취약- 그럼에도 필요하다 Server 검증- front 없이 서버에서만 검증 = 유저 사용성이 떨어짐.- API Spec을 정의해서 validation 오류를 response 예시에 남겨줘야 한다.- 서버 검증은 필수 Database 검증- Default, Not Null ,,, [ BindingResult ] : validation 오류를 보관하는 객체 @ModelAttribute를 이용해 매개변수를 바인딩할 때 발생한 오류를 보관하는 객체이다. - BindingResult 파라미터는 @ModelAttribute 파라미터 뒤에 와야 한다. [ Bean Validation .. 2024. 6. 18. [TIL] #37. MockMvc [ MockMvc ] : 실제 객체와 비슷하지만 테스트에 필요한 기능만 가지는 가짜 객체를 만들어서 애플리케이션 서버에 배포하지 않고도 스프링 MVC 동작을 재현할 수 있는 클래스 JUnit 5: 단위테스트 프레임워크JUnit5 = JUnit Platform + JUnit Jupiter + JUnit Vintage - JUnit Platform : 테스트를 시작하기 위한 런처 제공 - JUnit Jupiter : 테스트 작성을 위한 새로운 프로그래밍 모델과 확장 모델 조합 - JUnit Vintage : Junit 4와 Junit3가 잘 동작하도록 지원// build.gradledependencies { // JUnit5 testImplementation("org.springframewo.. 2024. 6. 18. [TIL] #36. AOP [ Spring AOP ] AOP (Aspect Oriented Programming): 관점 지향 프로그래밍: 어떤 로직을 핵심적인 관점/부가적인 관점으로 나누어서 보고, 그 관점을 기준으로 각각 모듈화하는 것 (모듈화 : 어떤 공통된 로직이나 기능을 하나의 단위로 묶는 것) 주요 개념Aspect : JointPoint + Advice -> 객체. 흩어진 관심사를 모듈화 한 것 (주로 부가기능을 모듈화 한다)Target : Aspect를 적용하는 곳Advice : 실질적으로 어떤 일을 해야할 지에 대한 것. 실질적인 부가기능을 담은 구현체JointPoint : Advice가 적용될 위치, 끼어들 수 있는 지점. 메서드 진입 지점, 생성자 호출 시점, 필드에서 값을 꺼내올 때 등 다양한 시점에 적용.. 2024. 6. 13. [TIL] #35. Test Code - 단위테스트 [ 단위테스트 ] : 작은 단위로 잘게 쪼개서 해당 단위가 잘 작동하는지를 검사Junit 5 : 자바용 단위 테스트 프레임워크 Before - Afterpublic class BeforeAfterTest { @BeforeEach void setUp() { System.out.println("각각의 테스트 코드가 실행되기 전에 수행"); } @AfterEach void tearDown() { System.out.println("각각의 테스트 코드가 실행된 후에 수행\n"); } @BeforeAll static void beforeAll() { System.out.println("모든 테스트 코드가 실행되기 전에 최초로 수행\n.. 2024. 6. 12. 이전 1 2 3 4 5 ··· 12 다음