Elastic Search Elastic Search는 오픈 소스 분산 검색 및 분석 엔진으로, Apache Lucene 라이브러리를 기반으로 구축되었습니다. Elastic Search는 텍스트 검색, 분석, 로그 및 메트릭 데이터의 실시간 분석, 그리고 애플리케이션 성능 모니터링(APM) 등에 주로 사용됩니다. Elastic Search는 대규...
Big Query란? 빅쿼리(BigQuery)는 Google Cloud Platform(GCP)에서 제공하는 완전 관리형 및 서버리스 데이터 웨어하우스입니다. 대규모 데이터 분석을 위한 빠르고 경제적인 솔루션을 제공합니다. 빅쿼리를 이용하면 페타바이트 규모의 데이터를 초고속으로 쿼리할 수 있습니다. 빅쿼리에 대한 이해를 돕기 위해 아래에서 주요 개...
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...
싱글톤(Singleton) 패턴이란? 싱글톤(Singleton) 패턴의 정의는 단순하다. 객체의 인스턴스가 오직 1개만 생성되는 패턴을 의미한다. 웹어플리케이션은 하루에 수백 수만번의 요청이 들어올 수 있다. 그렇다면 아래 코드가 한번에 100번이 호출된다면 어떻게 될까? MemoryMemberRepository.class 객체가 100번이 생성...
Spring Container에 Bean이 정상적으로 등록이 되었는지 어떤 구현체가 의존되어 있는 지 확인해야할 때가 있을 수 있다. Bean주입은 실습을 해야하기에 AppConfig.class를 통해 Bean등록을 하였다. @Configuration public class AppConfig { @Bean public MemberServi...
DI(Dependency Injection) DI(의존성주입)이란 외부에서 실제 구현 객체를 생성하고 Service단에서 사용시 Service에 전달하여 구현 객체와의 의존관계를 연결해주는 것을 의존성 주입이라 한다. 말로는 이해가 잘 가지 않으니 아래 코드를 확인해보자. MemberServiceImpl.class에서 MemberRepositor...