분류 전체보기
-
개요express.js로 토이 프로젝트를 진행하던 중 cicd를 구현하려는데 마땅한 글을 찾지 못해 직접 구현한 후 정리하게 되었다.준비물1. ssh 접속이 가능하고 docker, docker-compose가 정상 설치된 서버2. docker hub 계정3. 프로젝트 repositoryGithub Repository Secrets 등록repository -> Settings -> Secrets and Variables -> Actions1. SERVER_IP - 서버 ip2. SERVER_USER - SSH 사용자명3. SSH_PRIVATE_KEY - 서버 SSH 접속 시 사용하는 private key4. DOCKER_USERNAME - docker hub 유저명5. DOCKER_PASSWORD - do..
express - Docker + github action CI/CD 구현개요express.js로 토이 프로젝트를 진행하던 중 cicd를 구현하려는데 마땅한 글을 찾지 못해 직접 구현한 후 정리하게 되었다.준비물1. ssh 접속이 가능하고 docker, docker-compose가 정상 설치된 서버2. docker hub 계정3. 프로젝트 repositoryGithub Repository Secrets 등록repository -> Settings -> Secrets and Variables -> Actions1. SERVER_IP - 서버 ip2. SERVER_USER - SSH 사용자명3. SSH_PRIVATE_KEY - 서버 SSH 접속 시 사용하는 private key4. DOCKER_USERNAME - docker hub 유저명5. DOCKER_PASSWORD - do..
2024.07.30 -
개요프로젝트 진행 중 메일 발송 기능 구현이 필요했는데 자주 사용되는 코드라 귀찮음을 무릅쓰고 포스팅한다.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