Java
-
개요프로젝트 진행 중 메일 발송 기능 구현이 필요했는데 자주 사용되는 코드라 귀찮음을 무릅쓰고 포스팅한다.gmail 앱 비밀번호 발급과 LOC_GAMIL_USERNAME, LOC_GAMIL_PASSWORD 환경변수 설정이 필요하다.gmail 앱 비밀번호 발급 내용은 잘 정리되어 있는 다른 분의 글을 인용한다. Google - Gmail SMTP 사용을 위한 세팅Google - Gmail SMTP 사용을 위한 세팅 G메일에서 제공하는 SMTP를 사용하여 메일발송을 해야 하는 경우가 있습니다. 보통 자체 서버를 운용하는 게 아니라, 웹호스팅 등을 사용하고 있는 경우라면 SMTPkincoding.com 만약 구글 계정 사이트에서 앱 비밀번호 설정 페이지가 보이지 않는다면 구글 계정 사이트에서 아래 이미지처럼 ..
Spring - Gmail로 메일 발송 기능 구현개요프로젝트 진행 중 메일 발송 기능 구현이 필요했는데 자주 사용되는 코드라 귀찮음을 무릅쓰고 포스팅한다.gmail 앱 비밀번호 발급과 LOC_GAMIL_USERNAME, LOC_GAMIL_PASSWORD 환경변수 설정이 필요하다.gmail 앱 비밀번호 발급 내용은 잘 정리되어 있는 다른 분의 글을 인용한다. Google - Gmail SMTP 사용을 위한 세팅Google - Gmail SMTP 사용을 위한 세팅 G메일에서 제공하는 SMTP를 사용하여 메일발송을 해야 하는 경우가 있습니다. 보통 자체 서버를 운용하는 게 아니라, 웹호스팅 등을 사용하고 있는 경우라면 SMTPkincoding.com 만약 구글 계정 사이트에서 앱 비밀번호 설정 페이지가 보이지 않는다면 구글 계정 사이트에서 아래 이미지처럼 ..
2024.07.22 -
개요프로젝트를 진행하던 중 흔히들 사용하는 랜덤 인증번호 생성 프로세스가 필요해 작성해보았다.생성되는 인증번호는 영어 소문자와 숫자의 조합이다. (인증번호에 대소문자 구분하는 것 만큼 짜증나는 것이 없기에...)코드import java.security.SecureRandom;/** * 랜덤 인증번호 생성 클래스 */public class RandomAuthCode { // 인증 코드에 사용될 문자들 private static final String CHARACTERS = "abcdefghijklmnopqrstuvwxyz0123456789"; // 인증 코드의 길이 (6자리) private static final int CODE_LENGTH = 6; // 보안 강화를 위한 Sec..
Spring - 랜덤 인증번호 생성기개요프로젝트를 진행하던 중 흔히들 사용하는 랜덤 인증번호 생성 프로세스가 필요해 작성해보았다.생성되는 인증번호는 영어 소문자와 숫자의 조합이다. (인증번호에 대소문자 구분하는 것 만큼 짜증나는 것이 없기에...)코드import java.security.SecureRandom;/** * 랜덤 인증번호 생성 클래스 */public class RandomAuthCode { // 인증 코드에 사용될 문자들 private static final String CHARACTERS = "abcdefghijklmnopqrstuvwxyz0123456789"; // 인증 코드의 길이 (6자리) private static final int CODE_LENGTH = 6; // 보안 강화를 위한 Sec..
2024.07.22 -
개요프로젝트를 진행하던 중 랜덤으로 닉네임을 생성해주는 프로세스가 필요해 작성해보았다.코드import lombok.AllArgsConstructor;import org.springframework.stereotype.Component;import java.text.MessageFormat;import java.util.Random;@Component@AllArgsConstructorpublic class RandomNickname { // 형용사 배열 private final String[] ADJECTIVES = { "행복한", "똑똑한", "즐거운", "강한", "빠른", "재치있는", "충성스러운", "멋진", "훌륭한", "즐거운", "아름다운", "기쁜", "사랑스..
Spring - 랜덤 닉네임 생성기개요프로젝트를 진행하던 중 랜덤으로 닉네임을 생성해주는 프로세스가 필요해 작성해보았다.코드import lombok.AllArgsConstructor;import org.springframework.stereotype.Component;import java.text.MessageFormat;import java.util.Random;@Component@AllArgsConstructorpublic class RandomNickname { // 형용사 배열 private final String[] ADJECTIVES = { "행복한", "똑똑한", "즐거운", "강한", "빠른", "재치있는", "충성스러운", "멋진", "훌륭한", "즐거운", "아름다운", "기쁜", "사랑스..
2024.07.22 -
개요Spring Security 6 + JWT 로그인, 로그아웃 과정의 마지막 글인 user 패키지에 대한 글이다.파일 구조/src/main/java/project├── global│ ├── config│ │ └── security│ │ └── SecurityConfig.java│ └── entity│ └── AuditingFields.java├── jwt│ ├── entity│ │ └── Token.java│ ├── filter│ │ └── TokenAuthenticationFilter.java│ ├── infrastructure│ │ ├── CustomUserDetails.java│ │ └── JwtAuthent..
Spring - Spring Security 6 + JWT 로그인, 로그아웃(최종편 - user 파일)개요Spring Security 6 + JWT 로그인, 로그아웃 과정의 마지막 글인 user 패키지에 대한 글이다.파일 구조/src/main/java/project├── global│ ├── config│ │ └── security│ │ └── SecurityConfig.java│ └── entity│ └── AuditingFields.java├── jwt│ ├── entity│ │ └── Token.java│ ├── filter│ │ └── TokenAuthenticationFilter.java│ ├── infrastructure│ │ ├── CustomUserDetails.java│ │ └── JwtAuthent..
2024.07.21 -
개요Spring Security 6 + JWT 로그인, 로그아웃 과정의 세번째 글인 jwt 패키지에 대한 글이다.파일 구조/src/main/java/project├── global│ ├── config│ │ └── security│ │ └── SecurityConfig.java│ └── entity│ └── AuditingFields.java├── jwt│ ├── entity│ │ └── Token.java│ ├── filter│ │ └── TokenAuthenticationFilter.java│ ├── infrastructure│ │ ├── CustomUserDetails.java│ │ └── JwtAuthenti..
Spring - Spring Security 6 + JWT 로그인, 로그아웃(3편 - jwt 파일)개요Spring Security 6 + JWT 로그인, 로그아웃 과정의 세번째 글인 jwt 패키지에 대한 글이다.파일 구조/src/main/java/project├── global│ ├── config│ │ └── security│ │ └── SecurityConfig.java│ └── entity│ └── AuditingFields.java├── jwt│ ├── entity│ │ └── Token.java│ ├── filter│ │ └── TokenAuthenticationFilter.java│ ├── infrastructure│ │ ├── CustomUserDetails.java│ │ └── JwtAuthenti..
2024.07.21 -
개요Spring Security 6 + JWT 로그인, 로그아웃 과정의 두번째 글인 global 패키지에 대한 글이다.파일 구조/src/main/java/project├── global│ ├── config│ │ └── security│ │ └── SecurityConfig.java│ └── entity│ └── AuditingFields.java├── jwt│ ├── entity│ │ └── Token.java│ ├── filter│ │ └── TokenAuthenticationFilter.java│ ├── infrastructure│ │ ├── CustomUserDetails.java│ │ └── JwtAuthe..
Spring - Spring Security 6 + JWT 로그인, 로그아웃(2편 - global 파일)개요Spring Security 6 + JWT 로그인, 로그아웃 과정의 두번째 글인 global 패키지에 대한 글이다.파일 구조/src/main/java/project├── global│ ├── config│ │ └── security│ │ └── SecurityConfig.java│ └── entity│ └── AuditingFields.java├── jwt│ ├── entity│ │ └── Token.java│ ├── filter│ │ └── TokenAuthenticationFilter.java│ ├── infrastructure│ │ ├── CustomUserDetails.java│ │ └── JwtAuthe..
2024.07.21 -
개요마음에 드는 설명글을 찾지 못해 거의 일주일의 시간을 잡아먹은 Spring Security 6 + JWT 로그인, 로그아웃 기능 구현을 완료했다.정리가 꼭 필요한 과정인 것 같아 포스팅을 하기로 했다.이 글은 그 포스팅 중 첫번째 글인 기본 세팅에 대한 설명 글이다.버전- Spring boot : 3.3.1- Spring Security : 6.3.1- jjwt : 0.11.5- 설계 방식 : DDD (Domain-Driven Design)필요한 환경변수 세팅값1. jwt.accessSecret - 엑세스 토큰 시크릿 키2. jwt.refreshSecret - 리프레시 토큰 시크릿 키3. jwt.accessTokenExpire - 엑세스 토큰 만료 시간4. jwt.refreshTokenExpire -..
Spring - Spring Security 6 + JWT 로그인, 로그아웃(1편 - 기본 세팅)개요마음에 드는 설명글을 찾지 못해 거의 일주일의 시간을 잡아먹은 Spring Security 6 + JWT 로그인, 로그아웃 기능 구현을 완료했다.정리가 꼭 필요한 과정인 것 같아 포스팅을 하기로 했다.이 글은 그 포스팅 중 첫번째 글인 기본 세팅에 대한 설명 글이다.버전- Spring boot : 3.3.1- Spring Security : 6.3.1- jjwt : 0.11.5- 설계 방식 : DDD (Domain-Driven Design)필요한 환경변수 세팅값1. jwt.accessSecret - 엑세스 토큰 시크릿 키2. jwt.refreshSecret - 리프레시 토큰 시크릿 키3. jwt.accessTokenExpire - 엑세스 토큰 만료 시간4. jwt.refreshTokenExpire -..
2024.07.21 -
개요영어 문외한인 개발자로써 spring을 사용하다 HttpStatus 클래스를 들여다보면 무수히 많은 영어들로 인해 정신이 아득해질 때가 있다.매번 번역기 돌리기가 귀찮아 정리해보았다.표| 이름 | code | Series | 설명 | ------------------------------ | --- | -------------------------- | ------------------------------------ | CONTINUE | 100 | INFORMATIONAL | 계속 ..
Spring - HttpStatus enum값 모든 종류개요영어 문외한인 개발자로써 spring을 사용하다 HttpStatus 클래스를 들여다보면 무수히 많은 영어들로 인해 정신이 아득해질 때가 있다.매번 번역기 돌리기가 귀찮아 정리해보았다.표| 이름 | code | Series | 설명 | ------------------------------ | --- | -------------------------- | ------------------------------------ | CONTINUE | 100 | INFORMATIONAL | 계속 ..
2024.07.19