들어가기 이전 포스팅에서 Spring Boot로 이메일 인증 요청 API를 구현했다. 이번에는 인증 코드에 만료 시간을 부여해서 Redis를 통해 인증 코드를 관리하는 로직을 추가하려고 한다. 먼저 Redis에 대해 가볍게 알아보자 ! 💡 Redis란? Redis (Remote Dictionary Server) : Key-Value 구조의 비정형 데이터를 저장하고 관리하기 위한 오픈 소스 기반의 비관계형 데이터베이스 관리 시스템이다. 데이터베이스, 캐시, 메시지 브로커로 사용되며, 인메모리(In-Memory) 데이터 구조를 가진 저장소이다. ✔️ 인메모리(In-Memory) 데이터 구조란? 컴퓨터 메인 메모리(RAM)에 데이터를 올려서 사용하는 구조이다. SSD, HDD 같은 저장 공간에서 데이터를 가져..
들어가기 SpringBoot와 Redis를 사용해서 이메일 인증하는 API를 구현하려고 한다. 차근차근 시작해보자 !! 💡 Google SMTP 본 포스팅에서는 Google SMTP를 사용할 것이다. SMTP(Simple Mail Transfer Protocol)란? : 전자 메일 전송을 위한 표준 프로토콜이다. 즉, 인터넷에서 이메일을 전송하기 위해 사용되는 프로토콜이다. Google SMTP는 구글에서 구글 계정만 있으면 무료로 메일을 발송할 수 있도록 제공해 주는 서버이다. 이메일 인증 코드를 전송해 주는 API를 위해 Google SMTP를 사용할 것이다. 먼저, SMTP를 사용할 구글 계정을 설정해주어야 한다. ✔️ Google SMTP 계정 설정 구글 계정에 로그인한 후, Google 계정 관..
💡 Spring Security 란? Spring Security는 인증과 인가, 권한 등의 애플리케이션 보안을 담당하는 Spring 하위 보안 프레임워크이다. ✔️ 인증(Authentication)과 인가(Authorization) 인증(Authentication) : 접근하려는 사용자가 누구인지 확인하는 절차 인가(Authorization) : 인증된 사용자가 요청한 자원에 접근이 가능한지 결정하는 절차 쉽게 생각해보면, 웹 사이트에 접근하기 위해 로그인을 하는 것이 인증 절차이고, 로그인 한 사용자가 '내 정보 수정하기' 요청을 했을 때 접근이 가능한지 자원에 대한 권한을 확인하는 것이 인가 절차이다. Spring Security는 기본적으로 인증 절차를 거친 후에 인가 절차가 진행되며, 인가 절차..
들어가기 Spock 프레임워크는 BDD를 위한 테스팅 프레임워크이다. Spock 프레임워크에 대해 알아보기 전에 먼저, BDD란 무엇인지 알아보도록 하자 ! 💡 BDD(Behavior-Driven Development) 란? BDD(Behavior-Driven Development) - 행동 주도 개발로, 사용자의 행위를 미리 예상하고 결과를 테스트하는 개발 방식이다. - TDD에서 파생된 개발 방법론이다. ✔️ BDD 개발 절차 BDD는 Given-When-Then 세 가지로 테스트를 진행하는 정형화된 형식이 존재한다. 1. Given : 주어진 환경 시나리오 상에서 주어진 환경을 정의한다. 테스트에 필요한 환경을 설정하는 작업이다. When, Then 보다 상위에 위치해야 한다. 2. When : 행..
들어가기 Spring 프레임워크에는 웹 계층에서 서블릿(Servlet) API를 기반으로 클라이언트의 요청을 처리하는 Spring MVC가 있다. * 서블릿(Servlet) 이란? - 동적 웹 페이지 생성을 위한 Java 기반의 웹 애플리케이션 프로그래밍 기술이다. - MVC 패턴에서 Controller로 사용된다. 💡 MVC 패턴이란? MVC 패턴은 애플리케이션을 개발할 때 사용하는 디자인 패턴으로, 애플리케이션의 개발 영역을 Model, View, Controller 세 영역으로 구분하여 각각 역할에 맞게 코드를 작성하는 개발 방식이다. MVC 패턴은 사용자 인터페이스(View)로부터 비즈니스 로직(Model)을 분리하여 관리하고, View와 Model의 상호작용을 연결시켜주는 브릿지(Controll..