저는 CI/CD 를 구축하기 위해서 EC2를 사용하였습니다. 어떤 프로젝트를 사용할 지에 따라 사용해야 하는 Computing 서비스가 달라지는데 , 저는 현재 기본적인 CI/CD 구축을 목표로 하고 있으므로 비용적인 부담이 덜하는 EC2를 바탕으로 구현해보았습니다. 일단 CI/CD를 구축하기 위해선 사용하고자 하는 EC2에 기본적인 설정들이 되어있어야 합니다. 저는 Spring Boot 를 사용한 프로젝트에 대해서 CI/CD를 구축할 것이므로 EC2에 JAVA 등이 설치되어 있어야 합니다. 또한 GitHub Actions를 활용하여 CI/CD를 구축할 것이기 때문에 EC2에서 배포 스크립트를 실행할 수 있도록 필요한 권한과 환경을 설정해야 합니다. EC2에서 프로젝트를 배포하는 방법부터 살표보겠습니다...
#registrationspring.security.oauth2.client.registration.서비스명.client-name=서비스명spring.security.oauth2.client.registration.서비스명.client-id=서비스에서 발급 받은 아이디spring.security.oauth2.client.registration.서비스명.client-secret=서비스에서 발급 받은 비밀번호spring.security.oauth2.client.registration.서비스명.redirect-uri=서비스에 등록한 우리쪽 로그인 성공 URIspring.security.oauth2.client.registration.서비스명.authorization-grant-type=authorization..
내용 출처 : 개발자 유미(유튜브)자료 출처 : https://www.devyummi.com/page?id=66934f448a005e7d8f32213a OAuth2 Code Grant 방식의 동작 순서로그인 페이지성공 후 코드 발급 (redirect_url)코드를 통해 Access 토큰 요청Access 토큰 발급 완료Access 토큰을 통해 유저 정보 요청유저 정보 획득 완료 1. 로그인 페이지사용자가 서비스에 접근하면 로그인 페이지로 리다이렉트됩니다. 이 페이지는 보통 OAuth 제공자(예: Google, Facebook 등)가 호스팅합니다. 2. 성공 후 코드 발급 (redirect_url)사용자가 성공적으로 로그인하면, OAuth 제공자는 미리 지정된 redirect_url로 사용자를 리다이렉트시킵..
출처: 개발자 유미(유튜브) 1. JWT 발급과 검증발급검증로그인에 성공한다면 jwt가 발급된다반면에 특정한 기능이나 접근엔 jwt가 유효한 지 검증하는 단계가 필요하다. 2. JWT 생성 원리다음 사진은 JWT를 나타내는 문장이다. JWT는 Header, Payload, Signature로 구성돼있다. jwt임을 알려주는 역할을 한다또한 인코딩 될 때 사용한 암호화 알고리즘을 알려준 사용자가 입력한 정보(username, password)를 담고 있다. Haeder와 Payload를 Base64방식으로 인코딩 시키고 암호화키를 합쳐서 암호화시킨 알고리즘을 뜻한다암호화된 알고리즘 : BASE64(Header) + BASE64(Payload) + 암호화3. 특징jwt는 내부 정보를 단순 BASE64 방식..
김영한님의 강의를 공부하다 보니 h2에 익숙해졌던 나는 mysql의 필요성을 깨닫고 jpa와 연동을 시도했습니다.하지만 생각보다 연동이 쉽지 않았고, 오랜 시간 끝에 연동에 성공했습니다.나와 같은 상황에 처한 분들에게 조금이라도 도움이 되고자 jpa와 mysql 연동 방법을 정리해 보았습니다. 1. Mysql Server , Mysql Workbench 설치 이 두개의 설치는 간단하니 다음 글을 통해서 설치해주세요. https://shinysblog.tistory.com/20 MySQL(workbench) 다운로드 및 설치 방법MySQL 다운로드와 workbench를 설치하는 방법을 알려드리겠습니다. dev.mysql.com/downloads/windows/installer/8.0.html MySQL ..
김영한님 스프링 강의를 공부하던 중 정상적으로 쿼리가 나가지만 디비에 반영되지 않았다. 이러한 문제를 해결하기 위해 구글링 하던 중 새로운 데이터베이스를 생성하고 실행을 통해 문제 해결이 가능함을 깨달았다. 순서는 크게 다음과 같다 1. DB 생성 2. DB 실행 1. DB 생성 1-1). 저장한 설정 새로운 DB를 생성할 땐 저장한 설정을 Generic H2(Embedded) 로 설정해준다 1-2). JDBC URL jdbc:h2:~/(원하는 파일명) 을 입력한다 그 다음 연결 버튼을 누르면 새로운 db가 생성된다 C:\Users\(사용자 이름) 경로에 위와 같이 새로운 db 파일이 생긴다 2. DB 실행 2-1). 저장한 설정 새로운 DB를 실행할 땐 저장한 설정을 Generic H2(Server) ..
package hello.core.singleton; import hello.core.Beanfind.ApplicationContextExtendsFindTest; import org.junit.jupiter.api.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.Bean; import static org.junit.jupiter.api.Assertions.*; class StatefulServiceTest { @Tes..
Spring data jpa 리포지토리에 구현 클래스 없이 인터페이스 만으로 개 발을 완료할 수 있습니다. 그리고 반복 개발해온 기본 CRUD 기능도 스프링 데이터 JPA가 모두 제공합니다. 순서 인터페이스를 만든다 인터페이스가 인터페이스를 상속한다 SpringDataJpaMemberRepository 가 (JpaRepository, MemberRepository)를 상속 SpringDataJpaMemberRepository가 JpaRepository 를 상속하게 되면 스프링 데이터 jpa 가 (JpaRepository를 import 하는 것을 볼 수 있음 > 이는 스프링에서 제공해 주는 기술로 인터페이스를 구현하여 스프링 빈에 등록하는 기술을 제공 ) 4. SpringDataJpaMemberReposi..
api 방식은 직접 입력한 데이터를 직접적으로 표현하는 방식 객체가 전달 받았을 때 json 형태로 데이터를 만들어서 http 응답에 반환하는 것이 기본 정책 기존에선 viewResponse 였지만 ResponseBody 의 경우 HttpMessageConverter 가 작동함 문자를 전달 받으면 StringConver 가 동작하여 문자를 전달해줌 객체면 JsonConverter 가 json 방식으로 바꿔줌 문자열을 입력 받는 경우 객체를 입력 받는 경우 정적 컨텐츠 : 파일을 그대로 내려준다 탬플릿 엔진 방식 : 템플릿 엔진을 모델 뷰 방식으로 쪼개서 뷰를 템플릿방식으로 프로그래밍 된 html을 고객에게 전달 api : json 방식으로 객체를 반환하는 것
컨트롤러 템플릿 구조 localhost:8080/hello-mvc 의 입력을 받으면 톰캣 서버를 통해 스프링 컨테이너에 전달 컨트롤러에서 hello-mvc의 해당하는 메서드를 실행함 HelloController를 보면 hello-mvc 는 name 을 파라미터로 받는다 (model 에 키 값과 전달받은 파라미터 값들을 매칭하는 모델 생성) 그리고 return hello-template > /templates/hello-template.html 실행한다. 파라미터 값이 전달되면 th:text 출력 실행 파라미터 값 전달하는 경우 파라미터 값을 전달하지 않는 경우
정적페이지의 경우 톰캣 서버에 localhost:8080/hello-static.htrml 을 넘겨줌 우선적으로 스프링 컨테이너에 전달해줌 > 근데 hello-statifc.html이 없음 스프링 컨테이너에 없으면 resorce에 가서 static/hello-static.html을 실행시킴