Controller Advice Spring Framework에서 Controller Advice는 전역적으로 발생하는 예외를 처리하고, 요청 및 응답에 대한 공통적인 기능을 제공한다. 이를 통해 코드의 중복을 줄이고, 애플리케이션의 유지보수를 용이하게 만든다. 사용사례 기존에는 아래처럼 모든 예외처리를 직접 Controller 로직단에서 처리...
카카오로 부터 사용자의 정보를 가져온 다음의 로그인 로직을 검증하려고 하는데 매 테스트 마다 카카오에게 사용자 정보를 요청하는 과정은 불필요하다고 생각했습니다. 그래서 고민하던중 mocking이라는 기법을 알게 되었다. Mocking 이란 Mocking은 소프트웨어 테스트에서 의존성 객체를 대체하여 실제 구현 대신 모조 객체(mock object...
서비스를 개발하다 보니 서비스내에서 성공만 검증하는게 아니라 실패했을때의 예외도 검증해야 더 안정적인 코드가 된다고 생각하여 예외까지 검증을 하였다. assertThatThrownBy 으로 검증 @DisplayName("SNS로 등록된 사용자가 있을 경우 일반 로그인이 되지 않는다.") @Test void normalLoginIfSnsUserE...
AS-IS 인덱스로 하나하나 꺼내여 검증 기존에는 아래와 같이 하나하나 꺼내여 검증을 하니 assertThat메소드도 불필요하게 많이 사용하게 되었다. @DisplayName("럭키즈에서 저장해둔 미션들을 가져온다.") @Test void getLuckMissions() { IntStream.rangeClosed(1, 5).forEach(...
Junit이란? JUnit은 Java 프로그래밍 언어로 작성된 단위 테스트 프레임워크로, 소프트웨어의 각 모듈이나 기능을 독립적으로 검증할 수 있도록 돕습니다. 간단한 사용법, 강력한 기능, 그리고 자동화 테스트를 지원함으로써, JUnit은 Java 개발자들 사이에서 널리 사용되는 도구가 되었습니다. 주요특징 단위 테스트 도구 ...
Stack의 LIFO(Last In First Out) 특성을 이용하여 오른쪽으로 열린 괄호일시 Stack에 반대괄호를 넣어두고 하나씩 꺼내어 검증하는 식으로 구현하였다. public class 괄호회전하기 { static int answer = 0; static Stack<Character> stack = new Stack&l...
build.gradle JWT Token을 검증하기 위해선 Spring Security를 사용해야한다. implementation 'org.springframework.boot:spring-boot-starter-security' Spring Filter Filter는 Spring DispatcherServlet에 요청이 들어오기 ...
개발환경 Spring boot 3.1.3 Java 17 build.gradle 아래 JwtToken 라이브러리를 받아준다. implementation 'io.jsonwebtoken:jjwt-api:0.11.5' implementation 'io.jsonwebtoken:jjwt-impl:0.11.5' implementation '...
JWT (Json Web Token) JWT란 Json Web Token으로 말그대로 JSON형식의 토큰에 대한 표준 규격이다. 주로 사용자의 인증정보를 담아 서버와 클라이언트가 안전하게 주고 받기 위해서 사용된다. 클라이언트가 로그인시 서버는 JWT Token을 발급해주고 클라이언트는 해당 JWT Token을 저장하고 서버에 데이터를 요청할 때 ...
0.213 /bin/sh: ./gradlew: Permission denied ------ Dockerfile:9 -------------------- 7 | COPY . /home/project/FileTransfer 8 | 9 | >>> RUN ./gradlew clean 10 | RU...