본문 바로가기

Main

(88)
Spring boot 로 구글 클라우드 저장소(GCS) 에 파일 업로드 하기 목차 1. 프로젝트 생성 2. 버킷생성 3. 사용자계정 생성 4. json 키 생성 5. 스프링부트 프로젝트에 설정 6. 코드 구현 7. 동작 및 확인 프로젝트 생성 먼저 구글 클라우드 플랫폼으로 접속하셔서 다음과 같이 진행합니다. 프로젝트 이름을 입력하시고 만들기 클릭! 그럼 맨처음 클릭했던 프로젝트 선택을 누르시면 다음과 같이 생성된 것을 확인하실 수 있습니다. 버킷생성 버킷에 관한 문서 https://cloud.google.com/storage/docs/buckets?hl=ko 더보기 버킷 이란? 버킷은 데이터를 담는 기본 컨테이너입니다. Cloud Storage에 저장하는 모든 컨테이너가 버킷에 포함되어야 합니다. 버킷을 사용하여 데이터를 구성하고 데이터 액세스를 제어할 수 있지만 디렉터리와 폴더..
스프링 시큐리티 적용하기 먼저 스프링 부트 프로젝트를 생성해줍니다. start.spring.io 에서 생성하셔도 되고, IDE를 통해서 바로 생성해 주셔도 됩니다. 저는 인텔리제이를 사용하고 있으므로 인텔리제이를 이용하여 프로젝트를 생성하겠습니다. JDK 는 Java 17 빌드 툴은 Gradle 을 사용하겠습니다. 이후 Next 스프링 부트 는 3.1.5 버전을 사용하고 원래 여기서 스프링 시큐리티 의존성을 추가해도 되지만, 기존 프로젝트에 스프링 시큐리티를 적용해야하는 상황을 주기위해 프로젝트 생성 후 추가하도록 하겠습니다. create 눌러 프로젝트를 생성합니다. build.gradle 에 스프링 시큐리티 의존성을 추가합니다. implementation 'org.springframework.boot:spring-boot-st..
스프링 어노테이션 안됨 오류 (적용이 안될때) / Gradle 문제 원인 사진 과 같이 갑자기 어노테이션이 적용 안될때가 있다. 이는 spring dependecy 가 제대로 적용되지 않고 있다는 뜻입니다. 여러 이유가 있겟지만 깃허브에 push 하거나 프로젝트를 껏다켯다 했을 때 등 발생할 수 있습니다. 문제해결 build.gradle 에서 dependencies 를 다시 실행시켜주시면 해결하실수 있습니다.
9. 커맨드 패턴 / Command Pattern 목차 1. 커맨드 패턴이란? 2. 커맨드 패턴 구조 3. 예시 커맨드 패턴 (Command Pattern)이란? 하나의 명령(기능)을 객체화한 패턴 객체는 전달할 수 있고 보관할 수 있음, 즉 명령 (기능) 을 전달하고 보관할 수 있게 됨 배치 실행, Undo/Redo, 우선수위가 높은 명령을 먼저 실행하기 등이 가능해 짐 커맨드 패턴 구조 (Command Patteren Structure ) 예시 이름 내용 Command Command 기능을 추상화 한 인터페이스 ClearCommand 지우기를 담당하는 클래스 PrintCommand 출력을 담당하는 클래스 ColorCommand 색상부여를 담당하는 클래스 CommandGroup 일괄 명령을 담당하는 클래스 Main 메인 클래스 예시 Command 인터..
8. 프록시 패턴 / Proxy Pattern 목차 1. 프록시 패턴 / Proxy Pattern 이란? 2. 프록시 패턴 구조 3. 예시 프록시 패턴 / Proxy Pattern 이란? proxy 는 대리인, 대변인 이라는 의미를 가지고 있습니다. 여기서 대리인, 대변인은 누군가를 대신해서 어떠한 역할을 수행하는 존재들 입니다. 프록시 패턴은 이와 마찬가지로 대리인을 통해 실행하도록하는 구조 디자인 패턴입니다. 프록시 패턴 구조 Proxy Pattern Structure 이름 내용 DIsplay 출력 기능의 정의한 인터페이스 ScreenDisplay 문자열을 출력해주는 기능을가진 클래스 BufferDisplay ScreenDIsplay 의 Proxy 클래스 Main 메인 클래스 예제 DIsplay 인터페이스 print 메서드를 정의합니다. publ..
7. 책임 연쇄 패턴 / Chain Of Responsibility Pattern 목차 1. 책임 연쇄 패턴 이란? 2. 책임 연쇄 패턴 구조 3. 예제 - URL 에서 프로토콜, 도메인, 포트를 분리하기 책임 연쇄 패턴 이란? 책임 이란 무언가를 처리하는 기능을 가진 클래스 여러 개의 책임들을 동적으로 연결해서 순차적으로 실행하는 행동 디자인 패턴입니다. 기능을 클래스 별로 분리하여 구현하도록 유도하므로 클래스의 코드가 최적화 된다는 장점이 있습니다. 책임 연쇄 패턴 구조 이름 내용 Handler 실행을 담당해줄 추상클래스 ProtocolHandler 프로토콜을 찾아줄 클래스 DomainHandler 도메인을 찾아줄 클래스 PortHandler 포트를 찾아줄 클래스 Main 메인 클래스 예제 - URL 에서 프로토콜, 도메인, 포트를 분리하기 Handler 추상클래스 Handler ..
6. 브리지 패턴 (Bridge Pattern) 목차 1. 브리지 패턴 (Bridge Pattern) 이란? 2. 브리지 패턴 구조 3. 예제 브리지 패턴 (Bridge Pattern)이란? 기능 계층과 구현 계층의 분리로 시스템의 확장성과 유지보수성을 높이는 패턴 입니다. 기능 계층과 구현 계층을 연결한다는 뜻으로 브리지 패턴이라고 불립니다. 기존 시스템에 새로운 기능을 추가해도 기능계층을 통해 기존에 작성된 작성된 코드의 변경을 최소화 또한 기존의 기능에 대해서도 구현계층을 통해 확장을 용이하게 해줍니다. 브리지 패턴 구조 (Bridge Pattern Structure) 이름 내용 DIsplay 초안 내용을 출력을 도와줄 인터페이스 Draft 초안을 적을 클래스 Publication 추가 요청에 관련된 초안 클래스 SimpleDisplay 간단하게..
5. 메멘토 패턴 (Memento Pattern) 목차 1. 메멘토 패턴(Memento Pattern) 이란? 2. 메멘토 패턴 구조 (Memento Pattern Structure) 3. 예제 메멘토 패턴 (Memento Pattern) 이란? Memento 는 "추억" 또는 "과거의 기억" 이라는 단어를 뜻합니다. 단어의 의미에 알맞게 메멘토 패턴은 객체의 상태에 대한 기억을 저장해 두었다가 필요할때 기억해둔 상태로 객체를 되돌릴 수 있는 행동 디자인 패턴 입니다. 이 기억은 다른 객체에서도 읽기 전용으로 접근할 수 있으며, 해당 기억은 오직 해당 객체만 할 수 있는 특징이 있습니다. 메멘토 패턴 구조 (Memento Pattern Structure) 이름 내용 Walker 걷기를 수행할 클래스 Memento 현재 위치를 기억하는 내부 클래스 Mai..