서버 템플릿 엔진과 머스테치 소개 템플릿 엔진이란? 지정된 템플릿 양식과 데이터가 합쳐져 HTML문서를 출력하는 소프트웨어를 이야기한다. 템플릿 엔진은 서버 템플릿 엔진(JSP, Freemarker)과 클라이언트 템플릿 엔진(React, Vue)으로 나뉜다. 서버 사이드 템플릿 엔진은 서버에서 DB 혹은 API에서 가져온 데이터를 미리 정의된 템플릿(Template)에 넣어 HTML 문서를 만들어 클라이언트에 전달해주는 역할을 한다. 즉, 서버에서 구동된다. 클라이언트 사이드 템플릿 엔진은 HTML 형태로 코드를 작성할 수 있으며 동적으로 DOM을 그리게 해주는 역할을 한다. 즉, 데이터를 받아 DOM 객체에 동적으로 그려주는 프로세스를 담당한다. 즉, 브라우저 위에서 작동된다. 머스테치란? 머스테치는 ..
토이프로젝트
https://product.kyobobook.co.kr/detail/S000001019679 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 | 이동욱 - 교보문고 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 | 가장 빠르고 쉽게 웹 서비스의 모든 과정을 경험한다. 경험이 실력이 되는 순간!이 책은 제목 그대로 스프링 부트와 AWS로 웹 서비스를 구현합니다 product.kyobobook.co.kr 클래스 이해 API를 만들기 위해 총 3개의 클래스가 필요하다. Request 데이터를 받을 Dto API 요청을 받을 Controller 트랜잭션, 도메인 기능 간의 순서를 보장하는 Service Spring 웹 계층 Web Layer 흔히 사용하는 컨트롤러(@Controller)와 JSP/Freema..
https://product.kyobobook.co.kr/detail/S000001019679 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 | 이동욱 - 교보문고 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 | 가장 빠르고 쉽게 웹 서비스의 모든 과정을 경험한다. 경험이 실력이 되는 순간!이 책은 제목 그대로 스프링 부트와 AWS로 웹 서비스를 구현합니다 product.kyobobook.co.kr 이제 이 책을 따라 하나씩 실습을 해볼려고 한다. 이 책의 목표는 게시판(웹 애플리케이션)을 만들어보고 이것을 AWS에 무중단 배포를 하는 것이다. 구현할 요구사항 게시판 기능 게시글 조회 게시글 등록 게시글 수정 게시글 삭제 회원 기능 구글 / 네이버 로그인 로그인한 사용자 글 작성 권한 본인 작성 글..
https://product.kyobobook.co.kr/detail/S000001019679 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 | 이동욱 - 교보문고 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 | 가장 빠르고 쉽게 웹 서비스의 모든 과정을 경험한다. 경험이 실력이 되는 순간!이 책은 제목 그대로 스프링 부트와 AWS로 웹 서비스를 구현합니다 product.kyobobook.co.kr 이번 방학동안 제일 열심히 공부한 부분이 JPA이다. 방학동안 진행한 프로젝트 또한 Spring Dataa JPA를 이용했다. 이 글에는 JPA에 대해 복습을 한번 하고 이 책의 예제를 JPA로 구현해 볼 것이다. JPA에 대해 자세한 내용은 JPA 공부 여기 정리했다. 이 부분은 인프런 강의를 듣고 정..
https://product.kyobobook.co.kr/detail/S000001019679 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 | 이동욱 - 교보문고 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 | 가장 빠르고 쉽게 웹 서비스의 모든 과정을 경험한다. 경험이 실력이 되는 순간!이 책은 제목 그대로 스프링 부트와 AWS로 웹 서비스를 구현합니다 product.kyobobook.co.kr 지금 부터 스프링 부트와 AWS로 혼자 구현하는 웹 서비스라는 책을 읽고 따라해가면서 느낀점이나 내용들을 정리해볼려고 한다. 테스트 코드 테스트 코드는 요즘 회사에서 신입을 뽑을 때 필수로 생각하는 부분이라고 한다. TDD TDD는 테스트가 주도하는 개발을 이야기한다. RED : 항상 실패하는 테스트를 ..
이번에 생활코딩에서 OAuth2.0 이란 강의를 듣고 OAuth2.0에 대한 개념을 정리해 보았다. 앞으로 구글, 네이버, 카카오의 소셜로그인을 구현하는 것이 목표이기 때문에 그전에 개념을 한번 살펴보고 싶어서 공부하게 되었다. 용어 설명 Resource Server : User의 정보를 가지고 있는 서버이다. 구글, 네이버, 카카오 같은 곳이라 생각하면 될 것 같다. Resource Owner : 구글, 네이버, 카카오 같은 곳에 회원가입이 되어 있는 유저이다. 우리 앱을 사용할 유저라 생각하면 될 것 같다. Client : 우리의 서비스이다. 등록 절차 client가 Resource Server를 이용하기 위해서는 Resource Server에 대한 Register를 받아 놔야 한다. 이때 3개의 값..
이번에는 이메일 인증을 하기 위해 SpringBoot에서 이메일 인증 코드를 보내는 것을 해볼려고 한다. 이메일 인증 구현은 링크 이 사이트를 참고해서 실행했다. 시작하기 전 구글 계정 세팅 나는 내 구글 계정을 사용해서 이메일을 보낼려고 한다. 크롬에서 오른쪽 상단에 자신의 프로필 클릭하고 구글 계정 관리를 들어간다. 왼쪽에 보안이 있다. 보안 중 비밀번호 앱 비밀번호를 선택한다. 메일 Windows 컴퓨터를 클릭하고 생성을 누른다. 이렇게 하면 16자리의 Spring boot에서 쓸 비밀번호를 얻게 된다. Gmail 이메일 발송 한도 https://support.google.com/a/answer/166852?hl=ko Google Workspace의 Gmail 전송 한도 - Google Worksp..
이번 시간에는 저번에 JWT로 바꾼 password를 다시 원상태로 뽑아올려고 한다. JWT 분석 eyJ0eXBlIjoiand0IiwiYWxnIjoiSFMyNTYifQ. eyJwYXNzd29yZCI6IjEyYWJjZCIsImlzcyI6Ildvb25nIiwiaWF0IjoxNjc1NjAyNzE2LCJleHAiOjE2NzcwNzM5NDV9. Y-gvsHLXdI8Ug2QoBalRuE2cE6jh08GbzwUnY7GIWGs 위의 token은 어제 내가 만든 JWT이다. 위에서부터 Header, Payload, Signature이다. 내가 뽑아 와야 할 password는 Payload에 암호화 되어 있다. 그래서 Payload에서 Claim 형태로 빼올 것이다. 우리는 이것을 Jws의 Claim 형식으로 빼올 것이다..