Elastic Search Elastic Search는 오픈 소스 분산 검색 및 분석 엔진으로, Apache Lucene 라이브러리를 기반으로 구축되었습니다. Elastic Search는 텍스트 검색, 분석, 로그 및 메트릭 데이터의 실시간 분석, 그리고 애플리케이션 성능 모니터링(APM) 등에 주로 사용됩니다. Elastic Search는 대규...
Big Query란? 빅쿼리(BigQuery)는 Google Cloud Platform(GCP)에서 제공하는 완전 관리형 및 서버리스 데이터 웨어하우스입니다. 대규모 데이터 분석을 위한 빠르고 경제적인 솔루션을 제공합니다. 빅쿼리를 이용하면 페타바이트 규모의 데이터를 초고속으로 쿼리할 수 있습니다. 빅쿼리에 대한 이해를 돕기 위해 아래에서 주요 개...
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 '...