해당 글은 전'우아한 형제들' 현'인프런'의 개발자이신 jojoldu님의 블로그와 책(스프링 부트와 AWS로 혼자 구현하는 웹서비스)을 참고하여 작성하였습니다. 이전 글에서 서버를 생성하였고, 이번 글에서는 서비스에서 사용할 데이터베이스를 생성하겠습니다. 1. RDS 생성하기 - 아마존에서 제공하는 관계형 데이터베이스 서비스(RDS : Relational Database Service)를 생성합니다. - AWS에서 RDS를 검색하여 대시보드 페이지로 이동합니다. - "데이터베이스 생성"을 클릭합니다. - 사용하고자 하는 DB를 선택합니다.(해당 글에서는 Maria DB를 선택하겠습니다.) - 템플릿은 "프리티어"를 선택합니다. - DB 설정을 입력합니다. - 각, 마스터 사용자 이름, 비밀번호, 데이터베..
개인 프로젝트를 진행하면 로컬 개발환경에서만 확인이 됩니다. 누군가에게 공개하기 위해서는 서버에 배포하여 해당 서버(도메인)로 접속해야만 확인할 수 있습니다. 이번 포스팅을 통해 개인 프로젝트를 진행한 것을 어디서든 확인 할 수 있도록 AWS 프리티어를 사용하여 서버를 구축하고 만든 프로젝트를 배포하여 웹 서비스를 출시해보려고 합니다. 해당 글은 전'우아한 형제들' 현'인프런'의 개발자이신 jojoldu님의 블로그와 책(스프링 부트와 AWS로 혼자 구현하는 웹서비스)을 참고하여 작성하였습니다. 해당 글은 Mac OS에서 진행하여, 윈도우에서 개발하시는 분들은 위에 본 블로그를 방문하여 진행해주시면 됩니다. - AWS에 가입을 하면 1년동안 프리티어를 제공하며, 일정 범위 안에 무료로 서버를 사용할 수 있..
실제 서비스하는 사이트들에서는 무작위한 로그인 시도 또는 회원가입을 막기 위해 reCAPTCHA와 같은 봇 방지 API를 사용합니다. 이 글에서는 google에서 제공하는 reCAPTCHA(리캡차)를 사용해 로그인을 진행하겠습니다. 현재 google reCAPTCHA는 v3 까지 나와있지만 이 글에서는 v2를 사용합니다. 0. 미리보기 - 로그인 페이지에 reCAPTCHA를 등록해보도록 하겠습니다. - 로그인 구조는 아래 그림과 같이 진행될 것 입니다. 1. Google reCAPTCHA V2 생성 - 여기를 클릭하여 [Admin Console]로 이동하여 reCAPTCHA를 생성합니다. - 정보를 입력하여 사용할 reCAPTCHA를 생성합니다. - 도메인은 Local 환경에서 진행할 경우 localho..
이전 글에서 bootstrap 템플릿을 사용해서 페이지를 구성하였다. 하지만, 페이지마다 공통으로 사용하는 부분(사이드바, footer 등)에 대해서 일일이 찾아서 복사하며 개발하기는 시간이 오래걸린다. 그래서, 레이아웃을 사용해서 공통으로 사용되는 부분은 따로 layout 형식으로 관리하고자 하였고, Thymeleaf에서 제공하는 layout 라이브러리(thymeleaf layout dialect)가 있어서 사용해보기로 하였다. 개발환경 IDE : IntelliJ IDEA OS : MAC OS SpringBoot : 2.4.4 Java8 Gradle 1. Dependency 추가 - https://mvnrepository.com/ 에서 thymeleaf layout dialect 을 검색해서 depen..
Spring Boot로 프로젝트를 생성하고, Thymeleaf 에 부트스트랩 템플릿을 적용해보도록 하겠습니다. 개발환경 IDE : IntelliJ IDEA OS : MAC OS SpringBoot : 2.4.4 Java8 Gradle 1. 프로젝트 생성 및 부트스트랩 템플릿 다운받기 - Springboot 프로젝트를 생성합니다.(생성 방법은 이전 글 참고) - 원하시는 부트스트랩 무료 템플릿을 찾습니다. (해당 글에서는 startbootstarp 사이트 에서 sb-admin-2 템플릿을 받았습니다.) - 다운받은 zip 파일을 압축해제합니다. 2. 프로젝트 구성 - 프로젝트의 구성은 다음과 같이 구성하겠습니다. - resources -> static 아래에 "bootstrap" 디렉토리를 생성합니다. -..
해당 글은 Mac OS , Intell J 를 사용하였습니다. 1. SpringBoot & Gradle 프로젝트 생성하기 - Intelli J 를 실행하고, New Project 를 클릭합니다. - Intelli J 에서 스프링부트는 Spring Initializr 을 선택 후 "Next"를 클릭합니다. - 기본 패키지명을 작성하고, 빌드툴(Gradle), Java version을 선택합니다. (빌드툴은 Maven을 선택하셔도 됩니다.) - 프로젝트에 필요한 Dependency를 선택합니다.(프로젝트 생성 후 따로 추가할 수 있습니다.) (해당 글에서는 Lombok, Spring Web, MySQL, Thymeleaf 를 선택하였습니다.) - Project Name에 프로젝트 이름(폴더명)을 작성합니다...
Swagger 예제 코드는 Github 에서 확인하실 수 있습니다. Swagger 샘플은 여기 에서 확인하실 수 있습니다. 샘플 예제는 heroku를 사용하였습니다. 첫 진입시 로딩이 걸릴 수 있습니다. 1. Swagger(스웨거) 란? - Swagger(스웨거)는 Open Api Specification(OAS)를 위한 프레임워크. - API 들이 가지고 있는 스펙(spec)을 명세, 관리. - SpringBoot에서 Swagger를 사용하면, Controller(컨트롤러)에 명시된 Annotation을 해석하여 API 문서를 자동으로 생성. - Swagger 에서 만들어주는 docs 페이지를 통해 Postman 에서 진행했던 테스트가 가능. 2. 장단점 (vs 스프레드시트) 2-1. 장점 - API ..