전체 글72 스프링부트로 이메일 인증 서비스 구현하기 목차 회원가입 기능을 개발하면서 이메일로 회원가입할 수 있는 기능을 개발중이다. 이메일이 정상적으로 사용할 수 있는 지를 확인할 필요가 있다. 그래서 이메일로 인증코드가 발송되고, 인증코드를 인증하는 기능을 구현하려고 한다. 이메일 인증 구현 로직 개발 환경 IDE(개발툴) : IntelliJ JDK(자바 버전) : 17 STS(스프링부트 버전) : 3.1.0 플러그인 추가 : build.gradle 구글 이메일 서비스(SMTP) Redis 사용 구글 SMTP 서비스 설정하기 먼저 이메일을 보내기 위해서는 SMTP 서비스를 이용해야한다. SMTP란 인터넷을 통해 이메일을 주고 받을 때 사용하는 기능이다. 개인이 개발을 진행하면 SMTP 서버를 구현해서 서비스를 이용하기엔 복잡하다. 그래서 구글이나 네이버.. 2024. 2. 3. 사이드 프로젝트 시작하기 목차 개발자가 된 지 만 5년이 됐다. 5년 동안 다른 사람의 프로젝트를 많이 개발했지만 내가 직접 개발한 프로젝트는 없다. 다른 사람의 아이디어에 개발 숟가락을 얹혔을 뿐이다. 일 쉬는 동안 2개월은 원 없이 자고, 책 읽고 게임하면서 놀았다. 놀만큼 놀아서 내 프로젝트를 하나 기획하고 구현할까 싶다. 기획하기 무작정 개발을 시작할 수 있다. 개발을 무작정하면 처음에 생각했던 결과가 아니게 된다. 어떤 화면을 가지고 어떤 기능을 가질지 기획이 필요하다. 구조를 짜야 구조대로 개발을 할 수 있다. 아이디어가 있다고 해서 개발하라고 하면 개발할 수 있는 사람은 없다. 머릿속에 있는 걸 끄집어내서 뼈대를 만들고, 꾸며야 한다. 머릿속에 있는 걸 알아서 개발하라고 한다면 상상 속의 유니콘을 잡는 게 더 빠를 .. 2024. 2. 2. Dart 기초 문법 - 컬렉션 컬렉션 컬렉션은 여러 값을 하나의 변수에 저장할 수 있는 타입이다. 여러 값을 순서대로 저장하거나(List), 특정 키값을 기반으로 빠르게 값을 검색해야 하거나(Map), 중복된 데이터를 제거할 때 사용한다(Set). 컬렉션 타입은 서로의 타입으로 자유롭게 형변환이 가능하다는 매우 큰 장점이 있다. List 타입 리스트(List) 타입은 여러 값을 순서대로 한 변수에 저장할 때 사용한다. 리스트의 구성단위를 원소라고 한다. 리스트명[인덱스] 형식으로 특정 원소에 접근할 수 있다. 인덱스는 원소의 순번이라고 생각하면 된다. 예제 코드 void main() { List list = ['사과', '바나나', '파인애플', '귤']; print(list); print(list[0]); print(list[2]).. 2024. 2. 2. 스프링부트로 이메일 인증 서비스 구현하기 이메일 인증 서비스를 구현하다보니 이메일의 내용을 템플릿으로 만들어 필요한 인증코드 값만 넘겨주면 Java 코드에서는 더 간단하게 코드를 작성할 수 있을 것 같았습니다. 그래서 이메일에 들어갈 본문을 html 파일로 작성을 하고 작성한 html 파일을 조회를 해야하는 기능이 필요했습니다. 개발 환경 개발 구성 IDE: IntelliJ JDK 버전 : 17 스프링부트 : 3.1.0 언어 : Java 플러그인 dependencies { implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'ognl:ognl:3.4.2' } 위의 플러그인을 추가해줍니다. thymeleaf 플러그인은 '템플릿 엔진'의 일종입니.. 2024. 1. 31. 이전 1 2 3 4 5 6 ··· 18 다음