목록SpringBootProject/SpringBoot_ Oauth_AWS (11)
개발자의 서재
"스프링부트와 AWS로 혼자 구현하는 웹 서비스" 라는 책을 바탕으로 학습목적의 프로젝트를 진행하고 있습니다. 소스 : https://github.com/ironmask431/springboot_aws_01 Chapter.09 : 게시판 기능 보완하기 스프링부트 프로젝트를 AWS EC2 서버에 배포하고, 서버에서 구동및 기능 테스트도 완료되었으니, 게시판 기능을 보완해보기로 했습니다. 9.1 작성자명 text 입력방식 에서 로그인유저의 이름으로 자동입력 되도록 수정 1-1. IndexController.java postsSave 에 "@LoginUser SessionUser user" 추가 @GetMapping("/posts/save") public String postsSave(Model model, ..
"스프링부트와 AWS로 혼자 구현하는 웹 서비스" 라는 책을 바탕으로 학습목적의 프로젝트를 진행하고 있습니다. 소스 : https://github.com/ironmask431/springboot_aws_01 Chapter.08 : EC2 서버에 프로젝트를 배포해 보자 8.4 스프링부트 프로젝트와 RDS 연결하기 기존 스프링부트 프로젝트에 AWS RDS (MariaDB)를 연결해보겠습니다. 진행할 작업은 다음과 같습니다. 1. 테이블생성 : H2에서 자동생성하던 테이블들을 mariaDB에서는 직접 쿼리를 이용해 생성합니다. 2. 프로젝트 설정 : 프로젝트에서 mariaDB에 접근가능하도록 mariaDB driver 라이브러리를 추가합니다. 3. DB접속정보 properties 생성 : DB접속정보를 담을 ..
"스프링부트와 AWS로 혼자 구현하는 웹 서비스" 라는 책을 바탕으로 학습목적의 프로젝트를 진행하고 있습니다. 소스 : https://github.com/ironmask431/springboot_aws_01 apter.08 : EC2 서버에 프로젝트를 배포해 보자 8.1 EC2에 프로젝트 Clone 받기 1.EC2에 깃 설치 sudo yum install git 2.설치 후 확인 git --version 3. git clone 으로 프로젝트를 저장할 디렉토리 생성, 이동 mkdir /app cd app mkdir /step1 cd step1 4. 깃허브에서 프로젝트의 https url 복사 5. git clone 실행 git clone 복사한 주소 6. 프로젝트가 정상 다운로드 되었는지 확인 7. gra..
"스프링부트와 AWS로 혼자 구현하는 웹 서비스" 라는 책을 바탕으로 학습목적의 프로젝트를 진행하고 있습니다. 소스 : https://github.com/ironmask431/springboot_aws_01 Chapter.07 : AWS에 DB 환경을 만들어보자 - AWS RDS AWS에서는 기본적인 데이터베이스 제공 및 모니터링, 알람,백업, HA구성등을 모두 지원하는 관리형 데이터베이스 서비스인 RDS를 제공합니다. 7.1 RDS 인스턴스 생성하기 7.2 RDS 운영환경에 맞는 파라미터 설정하기 RDS를 처음 생성하면 몇 가지 설정을 필수로 해야함. 1.Time zone 2.Character Set 3.Max Connection 4.lower_case_table_name 파라미터 그룹 패밀리는 생성한..
"스프링부트와 AWS로 혼자 구현하는 웹 서비스" 라는 책을 바탕으로 학습목적의 프로젝트를 진행하고 있습니다. 소스 : https://github.com/ironmask431/springboot_aws_01 Chapter.06 : AWS 서버 환경을 만들어보자 - AWS EC2 클라우드 서비스 : 클라우드(인터넷)을 통해 서버, 스토리지(파일저장소), 데이터베이스, 네트워크, 소프트웨어, 모니터링 등의 컴퓨팅 서비스를 제공하는 것. AWS EC2 는 단순히 서버 장비를 대여하는 것 뿐만 아니라, 로그관리, 모니터링, 하드웨어 교체, 네트워크 관리등을 기본적으로 제공함. 클라우드의 형태 1. IaaS (Infrastructure as a Service) - 기존 물리장비를 미들웨어와 함께 묶어둔 추상화 서..
"스프링부트와 AWS로 혼자 구현하는 웹 서비스" 라는 책을 바탕으로 학습목적의 프로젝트를 진행하고 있습니다. 소스 : https://github.com/ironmask431/springboot_aws_01 Chapter 05-2. 스프링 시큐리티와 OAuth 2.0 으로 로그인 구현하기 5.6 어노테이션 기반으로 개선하기 개선이 필요한 코드에는 어떤것들이 있을까? 대표적으로 같은코드의 반복이다. 현재는 IndexController.java 에 세션에서 유저정보를 가져오는 아래 코드가 반복적으로 사용된다. SessionUser user = (SessionUser) httpSession.getAttribute("user"); 위 부분을 메소드 인자값으로 세션을 받을 수 있도록 개선 하겠다. * LoginU..
"스프링부트와 AWS로 혼자 구현하는 웹 서비스" 라는 책을 바탕으로 학습목적의 프로젝트를 진행하고 있습니다. 소스 : https://github.com/ironmask431/springboot_aws_01 Chapter 05. 스프링 시큐리티와 OAuth 2.0 으로 로그인 구현하기 스프링시큐리티는 막강한 인증과 인가 기능을 가진 프레임워크 입니다. 스프링 시큐리티와 OAuth 2.0 을 구현한 구글 로그인을 연동하여 로그인 기능을 만들어보겠습니다. 5.1 스프링시큐리티와 OAuth2 클라이언트 많은 서비스에서 로그인기능을 id/pw 보다는 구글,페이스북,네이버같은 소셜 로그인을 사용합니다. 직접 로그인 기능 만드는 것 보다 OAuth 로그인 을 구현하면 로그인관련 기능을 구글,페이스북,네이버에 맡기면..
"스프링부트와 AWS로 혼자 구현하는 웹 서비스" 라는 책을 바탕으로 학습목적의 프로젝트를 진행하고 있습니다. 소스 : https://github.com/ironmask431/springboot_aws_01 Chapter 04. 머스테치(mustache)로 화면구성하기 4.1 서버템플릿 엔진과 머스테치 소개 템플릿엔진 : 지정된 템플릿 양식과 데이터가 합쳐서 html문서를 출력하는 소프트웨어 ex) jsp, Thymeleaf (서버템플릿엔진) 리액트, 뷰 (클라이언트 템플릿엔진) 서버템플릿엔진을 이용한 화면 생성은 서버에서 java코드로 문자열을 만든 뒤 html로 변환하여 브라우저로 전달함. 반면, 자바스크립트는 브라우저위에서 작동함. vue나 react를 이용한 SPA는 브라우저에서 화면을 생성함. ..
"스프링부트와 AWS로 혼자 구현하는 웹 서비스" 라는 책을 바탕으로 학습목적의 프로젝트를 진행하고 있습니다. 소스 : https://github.com/ironmask431/springboot_aws_01 Chapter 03. 스프링 부트에서 JPA로 데이터베이스를 다뤄보자 3.1 JPA소개 ORACLE, MYSQL 등 관계형데이터베이스 필수요소이고 웹서비스의 중심이 SQL중심이됨. SQL은 객체지향 프로그래밍과 맞지않는 부분이 있음. 기존 관계형 데이터베이스방식은 객체모델링보다는 테이블모델링에 집중하게되고 객체를 단순히 테이블형식에 맞추어 데이터 전달역할만 하는 기형적인 형태임. JPA(자바 표준 ORM)는 SQL에 종속적인 개발을 하지않도록 할 수 있게하여, 객체지향 프로그래밍을 추구하게 해줌. J..
"스프링부트와 AWS로 혼자 구현하는 웹 서비스" 라는 책을 바탕으로 학습목적의 프로젝트를 진행하고 있습니다. 소스 : https://github.com/ironmask431/springboot_aws_01 Chapter 02. 스프링 부트에서 테스트 코드를 작성하자 2.1 테스트코드 소개 TDD : 테스트가 주도하는 개발 RED - 항상 실패하는 테스트 작성 GREEN - 테스트가 통과하는 프로덕션 코드를 작성 REFECTOR - 테스트가 통과하면 프로덕션 코드를 리팩토링 단위테스트는 TDD 의 첫번째 단계인 기능단위의 테스트코드를 작성하는것을 말함. 단위테스트의 장점 (위키디피아) 단위테스트는 개발초기에 문제를 발견하도록 도와줌 단위테스트는 개발자가 나중에 코드를 리팩토링하거나 라이브러리 업그레이드 ..