본문 바로가기

Spring7

Spring GCP Credentials 파일 여러개 적용하는 방법 Spring에서는 GCP를 사용하고자 할때 credentials.json 파일을 property로 입력하여 사용합니다. 하지만 여러개의 credentials 파일을 사용하여 GCP를 사용하는게 불가능한데요. (음 제가 그냥 모르고 있는 건지도...) 오늘은 여러개의 GCP Credentials 파일을 적용하는 방법에 대하여 알아보겠습니다. 사실 여러개의 권한을 가지는 credential 계정을 발급받으면 되지만,,, 그냥 한번 들여다 봤습니다. GCP 예제는 사용하시는 분이 많으신지는 모르겠지만, 제가 사용하던 BigQuery를 기준으로 설명하겠습니다. 1. GCP의 기본 설정 및 BigQuery 예제 기본적으로 GCP credentials 는 위의 코드처럼 설정합니다. package com.exampl.. 2022. 3. 7.
전략 패턴(Strategy Pattern) 우아콘2020에서 프론트 서버의 구조를 보던중에 문득 DIP(의존성 역전 원칙)와 관련있는 전략 패턴이 등장하여 다시한번 기억하고자 이 글을 작성합니다. 흔히 우리가 많은 곳에서 쓰고 있지만 디자인 패턴 측면(좀더 이론적인??)에서 접근해보고자 합니다. 추가로 Spring boot 예제도 구현해보겠습니다. 전략 패턴 어느 한 객체가 특정 컴포넌트에 의존하게 되면 후에 해당 객체에 기능이 추가되고 변하게 되었을 때 유연한 대처(소스코드 변경 및 컴포넌트 변경 대처 등)를 하기가 어렵습니다. 다음은 특정 컴포넌트 A에 의존적인 객체(Context)를 나타냅니다. 이러한 문제를 해결하기 위해 다음과 같이 특정 컴포넌트들의 의존성을 역전시킨 전략패턴을 사용할 수 있습니다. 위 그림과 같이 전략 패턴은 추상화 계.. 2021. 6. 24.
Spring boot의 Resource Server 구현 이전 시간에 이어 Resource Server를 구현하여 Authorization Server로 부터 받은 access token의 유효성을 체크해보겠습니다. Resource Server는 이전 시간에 개발한 Authorization Server로 부터 받은 access token이 필요하므로 Resource Server를 구현하기 전에 Authorization Server를 먼저 구현하시는 걸 추천합니다. 프로젝트 생성 Authorization Server와 같이 start.spring.io 사이트를 이용하여 다음과 같이 프로젝트 설정을 하고 intellij로 해당 프로젝트를 시작하겠습니다. 프로젝트 설정이 완료되면 다음과 같이 추가 의존성 라이브러리들을 추가해줍니다. dependencies { imp.. 2021. 6. 24.
Spring boot의 Authorization Server 구현 이전 시간에 이어 Authorization Server를 구현하여 access token을 생성하는 것까지 구현해보겠습니다. IDE는 intellij를 사용했고 jdk는 8버전, gradle, jwt를 사용하였습니다. 프로젝트 생성 spring boot 프로젝트 설정은 start.spring.io 를 이용하였습니다. intellij를 사용하시면 메뉴의 new project를 클릭하여 Spring Initializr를 사용하시도 됩니다. 스프링 부트 설정은 아래 그림을 참고하여 설정하시고 다운받은 프로젝트를 intellij를 통해서 로딩합니다. 프로젝트 기본 설정이 완료되면 build.gradle.kts의 dependencies에 다음 코드를 추가합니다. dependencies { ... implement.. 2021. 6. 24.