Java-Spring/스프링 부트와 AWS로 혼자 구현하는 웹 서비스

자바 / 스프링 / 스프링부트 스터디 정리
Java-Spring/스프링 부트와 AWS로 혼자 구현하는 웹 서비스

스프링부트와 AWS로 혼자 구현하는 웹 서비스 - 목차

00장. 사전 지식 참고 자료 REST API란 뭔가요? MVC 웹 프레임워크가 뭔가요? 웹 서비스의 동작 원리 뷰 템플릿과 MVC 패턴 MVC의 역할과 실행 흐름 01장. 인텔리제이로 스프링 부트 시작하기 인텔리제이로 스프링 부트 시작하기 02장. 스프링부트에서 테스트 코드를 작성하자 스프링 부트에서 테스트 코드를 작성하자 03장. 스프링부트에서 JPA로 데이터베이스 다뤄보자 JPA API JPA Auditing Spring 웹 계층 04장. 머스테치로 화면 구성하기 서버 템플릿 엔진과 머스테치 소개 기본 페이지 만들기 게시글 등록 화면 만들기 전체 조회 하면 만들기 게시글 수정 화면 만들기 게시글 삭제 화면 만들기 05장. 스프링 시큐리티와 OAuth 2.0으로 로그인 기능 구현하기 스프링 시큐리티와..

Java-Spring/스프링 부트와 AWS로 혼자 구현하는 웹 서비스

[Spring Boot] 08장. EC2 서버에 프로젝트를 배포해 보자

🌱 이번 장의 스터디 범위 AWS EC2 서비스에 스프링 부트 프로젝트를 배포하는 방법 간단한 쉘 스크립트 사용 방법 스프링 부트 프로젝트와 AWS RDS 연동 방법 EC2에서 구글, 네이버 로그인 설정 방법 🌱 EC2에서 프로젝트 Clone 받기 EC2에 깃을 설치한 후 프로젝트 Clone 받기 : 깃을 통해 프로젝트를 클론(clone)과 풀(pull) // 1. 깃허브에서 코드를 받아올 수 있게 EC2에 깃을 설치 sudo yum install git // 2. 설치가 완료되면 설치 상태 확인 git --version // 3. git clone으로 프로젝트를 저장할 디렉터리 생성 mkdir ~/app && mkdir ~/app/step1 // 4. 생성된 디렉터리로 이동 cd ~/app/step1 ..

Java-Spring/스프링 부트와 AWS로 혼자 구현하는 웹 서비스

[Spring Boot] 07장. AWS에 데이터베이스 환경을 만들어보자 - AWS RDS

🌱 이번 장의 스터디 범위 AWS의 관리형 데이터베이스 서비스인 RDS에 대한 소개와 생성 방법 RDS로 서비스를 하는데 필요한 여러 파라미터 설정들 인텔리제이 커뮤니티 버전으로 데이터베이스를 다루는 방법 EC2와 RDS 간 연동 방법 🌱 AWS의 관리형 데이터베이스 서비스인 RDS에 대한 소개 AWS에서는 모니터링, 알람, 백업, HA 구성 등을 모두 지원하는 관리형 서비스 RDS (Relational Database Serive) 제공 RDS는 AWS에서 지원하는 클라우드 기반 관계형 데이터베이스 하드웨어 프로비저닝, 데이터베이스 설정, 패치 및 백업과 같은 잦은 운영 작업을 자동화하여 개발자가 개발에 집중할 수 있도록 추가로 조정 가능한 용량을 지원하여 예상치 못한 양의 데이터가 쌓여도 비용만 추가..

Java-Spring/스프링 부트와 AWS로 혼자 구현하는 웹 서비스

[Spring Boot] 06장. AWS 서버 환경을 만들어보자 - AWS EC2

🌱 이번 장의 스터디 범위 AWS와 클라우드 서비스란? AWS의 관리형 가상 서버인 EC2 서비스 소개와 생성 방법 EC2 인스턴스의 IP를 고정해주는 탄력적 IP에 대한 소개와 설정 방법 EC2 인스턴스 접근을 위한 pem 키 사용 방법 리눅스 서버 생성 시 해야 할 설정들 🌱 AWS와 클라우드 서비스란? 외부에서 본인이 만든 서비스에 접근하려면 24시간 작동하는 서버가 필수 24시간 작동하는 서버 - 집에서 PC를 24시간 구동, 호스팅 서비스 이용, 클라우드 서비스 이용 일반적으로 비용은 호스팅 서비스나 집 PC를 이용하는 것이 저렴하나, 특정 시간에만 트래픽이 몰린다면 유동적으로 사양을 늘릴 수 있는 클라우드가 유리 클라우드 서비스란 인터넷 (클라우드)를 통해 서버 ,스토리지, 데이터베이스, 네트..

Java-Spring/스프링 부트와 AWS로 혼자 구현하는 웹 서비스

[Spring Boot] 05장. 스프링 시큐리티와 OAuth 2.0으로 로그인 기능 구현하기 - 기존 테스트에 시큐리티 적용하기

🌱 이번 장의 스터디 범위 스프링 시큐리티 적용 시 기존 테스트 코드에서 문제 해결 방법 🌱 기존 테스트에 시큐리티 적용으로 문제가 되는 부분 해결 기존에는 바로 API를 호출할 수 있어 테스트 코드 역시 바로 API를 호출하도록 구성하였음 하지만, 시큐리티 옵션이 활성화되면 인증된 사용자만 API를 호출할 수 있어 기존의 API 테스트 코드들이 모두 인증에 대한 권한을 받지 못하였으므로 테스트 코드마다 인증한 사용자가 호출한 것처럼 작동하도록 수정 [Gradle 탭] - [Tasks] - [verification] - [test]를 선택해 전체 테스트를 수행 테스트 실행 시 롬복을 이용한 테스트 외에 스프링을 이용한 테스트는 모두 실패하는 것을 확인 가능 🌱 문제 1. CustomOAuth2UserSe..

Java-Spring/스프링 부트와 AWS로 혼자 구현하는 웹 서비스

[Spring Boot] 05장. 스프링 시큐리티와 OAuth 2.0으로 로그인 기능 구현하기 - 네이버 로그인

🌱 이번 장의 스터디 범위 스프링 시큐리티를 이용한 네이버 로그인 연동 방법 🌱 네이버 API 등록 네이버 오픈 API로 이동 (https://developers.naver.com/apps/#/register?api=nvlogin) 네이버 서비스 등록 애플리케이션 이름 : freelec-springboot2-webservice 사용 API 설정 : 네아로 - 회원이름, 이메일, 프로필 사진 로그인 오픈 API 서비스 환경 : PC 웹 서비스 URL : http://localhost:8080/ 네이버아이디로로그인 Callback URL : http://localhost:8080/login/oauth2/code/naver Callback URL은 구글에서 등록한 리다이렉션 URL과 같은 역할 모두 등록 완료..

Java-Spring/스프링 부트와 AWS로 혼자 구현하는 웹 서비스

[Spring Boot] 05장. 스프링 시큐리티와 OAuth 2.0으로 로그인 기능 구현하기 - 세션 저장소로 데이터베이스 사용하기

🌱 이번 장의 스터디 범위 세션 저장소로 톰캣 / 데이터베이스 / 메모리 DB가 있으며 이 중 데이터베이스를 사용하는 이유 🌱 세션 저장소로 데이터베이스 사용하는 이유 지금 우리가 만든 서비스는 애플리케이션을 재실행하면 로그인이 풀리는 문제가 발생 이는 세션이 내장 톰캣의 메모리에 저장되기 때문임 기본적으로 세션은 실행되는 WAS (Web Application Server) 의 메모리에 저장되고 호출됨 메모리에 저장되다 보니 내장 톰캣처럼 애플리케이션 실행 시 실행되는 구조에선 항상 초기화가 됨 즉, 배포할 때마다 톰캣이 재시작되는 것 또 다른 문제로는 2대 이상의 서버에서 서비스하고 있다면 톰캣마다 세션 동기화 설정을 해야함 그래서 실제 현업에서는 3가지 (톰캣 세션, MySQL과 같은 데이터베이스, ..

Java-Spring/스프링 부트와 AWS로 혼자 구현하는 웹 서비스

[Spring Boot] 05장. 스프링 시큐리티와 OAuth 2.0으로 로그인 기능 구현하기 - 어노테이션 기반으로 개선하기

🌱 이번 장의 스터디 범위 ArgumentResolver를 이용하면 어노테이션으로 로그인 세션 정보를 가져올 수 있다는 것 🌱 어노테이션 기반으로 개선하기 같은 코드가 반복되는 부분은 프로그래밍에서 유지보수와 연관되어 개선이 필요한 나쁜 코드 IndexController에서 세션값을 가져오는 부분이 개선 필요 // web/dto/IndexController.java SessionUser user = (SessionUser) httpSession.getAttribute("user"); index 메소드 외에 다른 컨트롤러와 메소드에서 세션값이 필요하면 그때마다 직접 세션에서 값을 가져와야 함 이런 반복은 불필요하여 메소드 인자로 세션값을 바로 받을 수 있도록 변경 @LoginUser 어노테이션 생성 // ..

김깅긍
'Java-Spring/스프링 부트와 AWS로 혼자 구현하는 웹 서비스' 카테고리의 글 목록