개발/스프링 부트와 AWS로 구축하는 웹 서비스

개발/스프링 부트와 AWS로 구축하는 웹 서비스

8장. OCI 서버에 프로젝트를 배포해보자.

# OCI서버에 프로젝트 클론뜨기 sudo apt install git git --version mkdir ~/workspace && cd ~/workspace 가장 먼저, git을 설치해준 뒤 workspace 폴더를 만들어준다. git clone {github regository https address} 그리고, 생성한 github 레포지토리에 들어가서 https 주소를 복사하고 git clone 명령어를 통해서 로컬에 다운받는다. cd {프로젝트명} sudo chown +x gradlew ./gradlew test gradlew를 실행하기 위해서는 execute 권한을 주어야한다. gradlew를 통해서 전체 test를 수행해준다. git pull 앞으로 github의 최신 코드를 다시 로컬로 당..

개발/스프링 부트와 AWS로 구축하는 웹 서비스

6~7장. 서버 환경을 만들어보자 - Oracle Cloud Infrastructure

# OCI 장점과 단점 ## 장점 - aws와 달리 평생 무료다. - aws와 달리 인스턴스 여러개를 무료로 제공한다. - 프리티어로 aws보다 훨씬 좋은 성능을 제공한다. ## 단점 - 웹 접근성이 aws에 비해 별로 좋지 않다(회원가입부터 약간 힘들고, 로그인 시 매번 새로고침을 해줘야한다) - aws RDS와 달리 db 엔진을 선택할 수가 없다. => ATP라는 RDS와 비슷한 DB를 제공하지만, DataGrip과 연결이 매우 까다롭다. - ATP는 DB 접근이 3개월간 없을 경우, 영구삭제된다. 이런 단점이 있음에도 불구하고 OCI를 애용하는 이유는 성능이 넘사벽인데다가 aws와 달리 과금걱정이 전혀 없기 때문이다. GitHub - cloudcommunity/Cloud-Free-Tier-Compa..

개발/스프링 부트와 AWS로 구축하는 웹 서비스

5장 스프링 시큐리티와 OAuth2.0으로 로그인 기능 구현하기

# GCP 서비스 등록 ## GCP 애플리케이션 등록 먼저, GCP에 접속하여 프로젝트를 생성한다. API 및 서비스 > OAuth 동의 화면 을 선택한다. 앱 등록을 누르고, 위 화면 처럼 정보들을 입력해준다. 사용자 인증 정보에서 사용자 인증 정보 만들기를 누른 뒤, OAuth 클라이언트 ID를 선택한다. 어플리케이션 유형은 웹 애플리케이션으로, 이름은 적당히 정한 뒤, 승인된 리디렉션 URI를 http://localhost:8080/login/oauth2/code/google로 설정한다. 위 리디렉션 URI는 SpringBoot-Security에서 자동으로 세팅해놓은 URI로, {baseUrl}/{action}/oauth2/code/{regsitrationId}로 정의된다. 현재는 localhost..

개발/스프링 부트와 AWS로 구축하는 웹 서비스

4장 머스테치로 화면 구성하기

# Mustache 추가 및 index.html 추가 Mustache는 JSP처럼 Java코드를 html 상에서 작성하여 동작하는 템플릿 엔진 중 하나다. 대충 템플릿(미리 정의된 문법)에 따라 작성된 Java 코드를 포함하는 html 파일을 문법에 맞게 해석하여 다시 순수 html파일로 만들어주는 엔진이다. 어릴 때 처음 웹 공부할 때 이게 진짜 이해가 잘 안 되고 왜 쓰는지 이해가 안 됐는데, 이젠 뭐.. 당연하게 받아들인다. ## Mustache 설치 더보기 dependencies { implementation 'org.springframework.boot:spring-boot-starter-mustache:3.0.2' } ## index.html 작성 더보기 {{>layout/header}} 스프..

개발/스프링 부트와 AWS로 구축하는 웹 서비스

3장 스프링 부트에서 JPA로 데이터베이스 다뤄보자

# JPA, MYSQL 연결 책에서는 H2 Database를 사용하지만, 이미 MYSQL이 깔려있으므로 굳이 h2를 다시 깔 필요가 없어서 MYSQL을 사용했다. 더보기 implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'mysql:mysql-connector-java' build.gradle에 이렇게 추가해준다. 그리고 교재에는 따로 h2 연결 설정을 해주지 않던데... 원래 이래도 되는지는 모르겠으나(김영한님 강좌에서는 h2 설정을 따로 해줬었다), MYSQL은 설정을 해줘야하므로 설정해줬다. 더보기 spring: datasource: driver-class-name: com.mysql.cj.jdb..

개발/스프링 부트와 AWS로 구축하는 웹 서비스

2장 스프링 부트에서 테스트 코드를 작성하자

# 테스트 코드 작성 더보기 package com.thuthi.springboot; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } 더보기 package com.thuthi.springboot.web; import org.springframework.web.bind.annotation.Ge..

개발/스프링 부트와 AWS로 구축하는 웹 서비스

1장 인텔리제이로 스프링 부트 시작하기

# 시작 JDK 17 Gradle 7.5.1 SpringBoot 3.0.2 버전으로 진행했다. 책은 JDK8(또는 11), Gradle 4버전, SpringBoot 2버전으로 진행하는데, 현재랑 버전차이가 좀 많이 나기 때문에 초기에 어려움이 있더라도 최신버전으로 마이그레이팅하면서 진행하기로 했다. # build.gradle 설정 초기 build.gradle 세팅부터 좀 삐그덕 거리는데, 더보기 buildscript { repositories { mavenCentral() } dependencies { classpath("org.springframework.boot:spring-boot-gradle-plugin") } } plugins { id 'java' id 'eclipse' id 'org.sprin..

피곤한투티
'개발/스프링 부트와 AWS로 구축하는 웹 서비스' 카테고리의 글 목록