JPA - 데이터베이스와 SQL
·
Java & Spring/Spring
□ 데이터베이스(H2)- DB(H2) 사용 방식 3가지Server Mode직접 엔진을 설치하여 사용하는 방식.애플리케이션과 상관 없는 외부에서 DB 엔진이 구동된다.데이터가 애플리케이션 외부에 저장되므로 애플리케이션을 종료해도 데이터가 사라지지 않는다.In-memory Mode엔진을 설치하지 않고 애플리케이션 내부의 엔진을 사용하는 방식.build.gradle 및 application.properties 설정을 통해 실행 가능하다.애플리케이션을 실행하면 DB 엔진이 함께 실행되고 애플리케이션을 종료하면 DB 엔진이 함께 종료된다.데이터가 애플리케이션의 메모리에 저장되기 때문에 애플리케이션을 종료하면 데이터가 사라진다.Embedded Mode엔진을 설치하지 않고 애플리케이션 내부의 엔진을 사용하는 방식.b..
[TIL](2024)09.23 ~ 09.27
·
Java & Spring/TIL
09월 23일 (월)- 오늘 한 일메뉴 코드 수정테스트코드 작성 및 테스트코드 학습09월 24일 (화)- 오늘 한 일프로젝트 마무리시연영상 제작09월 25일 (수)- 오늘 한 일프로젝트 발표- 회고이번 프로젝트를 진행하며서 JWT의 흐름과 Cookie에 담아 사용하는 것을 팀원이 구현하고 공유해줘서 조금 더 알게되었다.팀에서 Redis를 사용하여 장바구니 구현(TTL)을 시도해보았으나 아쉽게 성공하지못했다.SQLDelete를 사용하여 논리적 삭제를 진행하는 방법을 이번 프로젝트에서 구현해보았다.Test코드 작성 시 Mock생성등 테스트 진행하는 방법이 조금 익숙해졌다, 반복숙달해야겠다.09월 26일 (목)- 오늘 한 일JPA 데이터베이스 와 SQL 학습09월 27일 (금)- 오늘 한 일JPA 쿼리 파일 ..
테스트코드 작성에 사용되는 메서드 및 애노테이션(1)
·
Java & Spring/Spring
1.  @Mock역할: 실제 객체의 **모의 객체(Mock Object)**를 생성합니다. 모의 객체는 실제 동작을 하지 않고, 정의한 대로 동작하도록 설정할 수 있습니다.사용 목적: 외부 의존성을 실제로 동작하지 않게 하고, 테스트하고자 하는 클래스의 동작만 확인할 수 있도록 하기 위해 사용합니다.예를 들어, 데이터베이스 호출이나 외부 서비스 호출을 모킹하여 테스트의 속도를 높이고, 외부 의존성 없이 순수하게 비즈니스 로직만을 테스트할 수 있습니다. 2.  @InjectMocks역할: @Mock으로 생성된 모의 객체를 해당 클래스의 의존성으로 주입합니다. 즉, 테스트할 클래스의 인스턴스를 생성하고, 이 클래스가 의존하는 다른 객체를 모킹된 객체로 자동으로 주입해줍니다.사용 목적: 테스트하려는 클래스의 ..
[TIL](2024)09.19 ~ 09.20
·
Java & Spring/TIL
09월 19일 (목)- 오늘 한 일팀 프로젝트 발제 및 팀 회의, 배달 어플 만들기배달 어플 내 메뉴 생성 구현 담당09월 20일 (금)- 오늘 한 일메뉴 구현 CRUD 구현- 회고메뉴가 가게부분과 연관관계가 걸려있어 상상?하면서 구현해야해서 조금 어려웠다.
43일차 - 알고리즘 코드카타
·
Java & Spring/코딩테스트
- 회고83. 귤 고르기 : https://school.programmers.co.kr/learn/courses/30/lessons/138476 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr import java.util.*;class Solution { public int solution(int k, int[] tangerine) { Map map = new HashMap(); for (int i : tangerine) { if(!map.containsKey(i)){ map.put..
47일차 - Controller 테스트
·
Java & Spring/Spring
1. 가짜 인증 처리(MockSpringSecurityFilter)코드 보기import jakarta.servlet.*;import jakarta.servlet.http.HttpServletRequest;import org.springframework.security.core.Authentication;import org.springframework.security.core.context.SecurityContextHolder;import java.io.IOException;public class MockSpringSecurityFilter implements Filter { @Override public void init(FilterConfig filterConfig) {} @Overr..
42일차 - 알고리즘 코드카타
·
Java & Spring/코딩테스트
- 회고82. 멀리 뛰기 : https://school.programmers.co.kr/learn/courses/30/lessons/12914 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr - 풀이 과정class Solution { public long solution(int n) { long answer = 0; long[] arr = new long[3]; arr[0] = 1; arr[1] = 2; if(n == 1){ return 1; }e..
46일차 - 테스트 코드 애노테이션
·
Java & Spring/Spring
□ Before & After 테스트@BeforeEach : 각각의 테스트 코드가 실행되기 전@AfterEach : 각각의 테스트 코드가 실행된 후@BeforeAll : 모든 테스트 코드가 실행되기 전@AfterAll : 모든 테스트 코드가 실행된 후코드 보기public class BeforeAfterTest { @BeforeEach void setUp() { System.out.println("각각의 테스트 코드가 실행되기 전에 수행"); } @AfterEach void tearDown() { System.out.println("각각의 테스트 코드가 실행된 후에 수행\n"); } @BeforeAll static void beforeAl..
[TIL](2024)09.09 ~ 09.13
·
Java & Spring/TIL
09월 09일 (월)- 오늘 한 일JWT 학습, 구현 및 실행해보기09월 10일 (화)- 오늘 한 일프로그래머스 코딩테스트 1문제 진행 및 회고테스트 코드 학습09월 11일 (수)- 오늘 한 일Controller 테스트 학습09월 12일 (목)- 오늘 한 일테스트 코드 개인 과제 진행프로그래머스 코딩테스트 1문제 진행 및 회고- 회고개인 과제를 진행하면서 역시나 JWT부분에서 막히는게 많았다. JWT복습을 진행해야겠다.09월 13일 (금)- 오늘 한 일테스트 코드 개인 과제 마무리(필수)
JWT 구현 및 사용
·
Java & Spring/Spring
1. build.gradle 의존성 추가implementation 'io.jsonwebtoken:jjwt-api:0.11.2'runtimeOnly 'io.jsonwebtoken:jjwt-impl:0.11.2'runtimeOnly 'io.jsonwebtoken:jjwt-jackson:0.11.2' // JSON 처리 2. application.properties, secret key 추가jwt.secret.key=7Iqk7YyM66W07YOA7L2U65Sp7YG065+9U3ByaW5n6rCV7J2Y7Yqc7YSw7LWc7JuQ67mI7J6F64uI64ukLg== - JWT 토큰 생성3. JwtUtil 생성코드 보기import io.jsonwebtoken.Claims;import io.jsonwebtoken..