반응형 전체 글92 [프로젝트] 테스트 코드 적용 1. JUnit5 vs MockitoJUnit은 자바에서 가장 널리 사용되는 단위 테스트 프레임워크다.@Test, @BeforeEach, @AfterEach 등을 활용하여 테스트를 수행하는데 @Test가 단위 테스트 메서드를 정의하고 @BeforeEach는 각 테스트 전에 실행할 코드, @AfterEach는 각 테스트 후에 실행할 코드, @Nested는 내부 클래스를 활용한 그룹 테스트이다. Mockito는 단위 테스트에서 Mock 객체를 만들어주는 라이브러리다.실제 DB나 외부 API 없이 테스트할 수 있도록 지원한다.mocking을 통해 의존성을 분리하여 테스트를 수행할 수 있는데 @Mock은 Mock 객체를 생성하고 @InjectMocks는 Mock 객체를 주입받는 클래스를 설정하고 when().t.. 2025. 1. 30. [프로젝트] QueryDSL 적용 1. QueryDSL 적용하기QueryDSL은 자바에서 동적으로 타입 안전한 SQL 쿼리를 생성하는 라이브러리다.이는 주로 JPA와 함께 사용되며 기존의 JPQL을 대체하거나 보완하는 역할을 한다.QueryDSL은 컴파일 타입에 문법 오류를 검출할 수 있어서 코드를 안전하게 작성할 수 있다.이 라이브러리는 동적인 쿼리 생성, JOIN, 조건문 등을 유연하게 작성하게 해준다.정리하자면, QueryDSL을 사용하는 이유는 타입 안전성과 동적 쿼리 생성, 유연한 쿼리 작성이라고 할 수 있다. 1) QueryDSL 설정먼저 build.gradle에 QueryDSL 의존성을 추가한다.annotationProcessor "com.querydsl:querydsl-apt:5.0.0:jakarta"annotationPr.. 2025. 1. 29. [프로젝트] README 적용 1. README 구성이제 프로젝트 README를 작성해보려고 한다.README 구성은 아래와 같이 작성하려고 한다.---------------------------------------------------------------앱 이름 ---------------------------------------------------------------앱 설명---------------------------------------------------------------버전 정보 작성(JDK, Spring Boot 등)---------------------------------------------------------------사용된 third party + 사용된 기술들(redis, spring jpa,.. 2025. 1. 28. [프로젝트] Spring Security 1. 코드 리뷰feedback > 현재 testGetUser_Cacheable에서는 캐시와 관련 없는 테스트를 하고 있어서 가져온 캐시에 대한 값과 기존 넣은 값 비교로 바꾸자.result > 먼저 beforeCache를 추가해서 이전에는 beforeCache가 없었고 조회 후 afterCache에 null이 아닌 값이 있다는 것을 확인하였고 이전 데이터와 캐싱된 데이터가 같은 것을 테스트하도록 코드를 변경하였다. feedback > Principal을 이용한 인증 정보 조회를 적용해보자info > 일반적으로 Spring Security에서 로그인한 사용자의 정보를 가져올 때 Principal 객체를 사용한다. 예를 들어 아래와 같은 코드를 통해 @Controller에서 현재 로그인한 사용자의 이름을 가.. 2025. 1. 28. [프로젝트] CICD (Github Actions, EC2, Docker, Putty, SSH) 적용 1. EC2 인스턴스 생성하기먼저 AWS EC2 콘솔에 접속해서 EC2 인스턴스를 생성하려고 한다. 왼쪽 인스턴스를 클릭하고 인스턴스 시작을 누른다.Ubuntu와 t3a.small로 설정하였다. 인스턴스는 본인이 맞는 성능과 요금의 인스턴스 유형을 고르기 바란다.나같은 경우는 t3a.small을 선택하였는데 나중에 실제 서비스 운영까지 목표로 하고 있기 때문에 약간의 과금이 발생할 수 있다.(호달달)나는 우선 SSH 트래픽을 내 IP에서만 허용하였다.Key Pair 설정은 EC2 인스턴스에 접속하기 위해 사용되는 암호화된 파일이다.AWS는 보안 문제로 인해 인스턴스 접속 시 ID, PW 방식을 권장하지 않는다.그래서 나도 하나 만들어주기로 했다. 이 값은 잃어버리면 인스턴스에 접속할 수 없어서 잘 저장해.. 2025. 1. 23. [프로젝트] CICD 1. Feedback + Q&Aquestion > 지금은 Spring Security JSESSION으로 로그인 하는데 JWT를 사용하는 게 좋을지 Redis를 세션 저장소로 사용하는 거로 수정하는 게 좋을지 고민이다.answer > 여러 내용이라 찾아보고 더 추가하여 정리한 답변은 아래와 같다.A. Spring Security에서 OAuth를 적용할 때의 흐름은 일단 아래와 같다.1) 클라이언트가 OAuth 제공자(Google, Kakao, etc)에게 로그인 요청2) OAuth 제공자가 Access Token 발급3) 클라이언트가 발급받은 OAuth Access Token을 내 서버에 전달4) 내 서버에서 OAuth Access Token 검증 후 사용자 정보 추출5) 내 서버의 DB에 사용자 존재 .. 2025. 1. 23. 이전 1 ··· 5 6 7 8 9 10 11 ··· 16 다음 반응형