Spring Batch Application 배포 및 Crontab 설정
·
Spring
이전 Spring Batch 포스팅에서는 Scheduled 어노테이션을 활용해서 주기적으로 실행하게 만들었었습니다. 관련 글 참고는 아래 포스팅을 확인하시길 바랍니다.https://hyunily.tistory.com/30 Spring Batch지난 포스팅에서 스케줄러에 대해서 다뤄봤습니다. 오늘은 배치 코드에 대해서 다뤄보려고 합니다. build.gradle 설정 implementation 'org.springframework.boot:spring-boot-starter-batch' application.ymlspring: batch: jdhyunily.tistory.com 이번 포스팅에서는 계속 Spring Project를 실행시킨 상태가 아닌, 정말 주기적으로 배치 시스템이 실행되고, 데이터를 처리하..
혼쭐 나기 전, 맛 좀 보자 - Feature Flag
·
Spring
오늘은 동적으로 기능을 활성화하는 방법 중 하나인 Feature Flag에 대해서 다뤄보려고 합니다."딥하게 들어가기 전, 개념부터 잡아보자!" 방식으로, 개념을 잡고 가는 포스팅이 되겠습니다..!!Feature Flag란?Feature Flag는 애플리케이션 내에서 특정 기능의 활성화 여부를 동적으로 제어할 수 있는 기술입니다.코드를 배포한 후에도 이를 활용해서 특정 기능을 켜거나 끌 수 있습니다.그로 인해 새로운 기능을 단계적으로 배포하거나 특정 상황에서 기능을 비활성화하는 데 유용하게 사용되곤 합니다. 주요 활용 사례 예시1. 점진적 릴리스 : 새로운 기능을 단계적으로 배포해 안정성을 검증-> 새로운 UI/UX 디자인 적용-> 모바일 앱에서의 새로운 기능 활성화 2. A/B 테스트 : 사용자 그룹에..
Spring Batch
·
Spring
지난 포스팅에서 스케줄러에 대해서 다뤄봤습니다. 오늘은 배치 코드에 대해서 다뤄보려고 합니다. build.gradle 설정 implementation 'org.springframework.boot:spring-boot-starter-batch' application.ymlspring: batch: jdbc: initialize-schema: always 기존에는 이 방식으로 메타데이터를 관리하는 스키마를 생성할 수 있었으나, Spring 3.X.X 버전으로 전환 후에 위 설정을 했음에도 불구하고 메타 테이블이 생성되지 않는 문제가 있었습니다. 그래서 3버전대를 사용하시는 분들은 아래와 같은 방법으로 테이블을 생성하시는걸 추천드립니다. 1. External Libraries -> Gr..
Spring Batch - Scheduler
·
Spring
저번에 스프링 배치에 대해서 이론을 공부했었는데 그 과정에서 새롭게 알게 된 점은배치와 스케줄러는 각각 다른 역할을 하지만, 결국 스프링 배치를 사용하는 이유는 일정 주기, 시간마다 대량의 데이터를 일괄처리하기 위함이므로, 자동으로 처리하려면 스케줄러는 무조건 사용돼야 된다는 점입니다. 기초적인 이론은 아래 링크에서 확인 가능합니다!https://hyunily.tistory.com/28 Spring Batch란?Spring Batch 알아보기다양한 도메인 내의 많은 애플리케이션은 보통 비즈니스 운영을 수행하기 위해 대량의 데이터 처리가 필요합니다. 그래서 가볍고 포괄적이며 Spring Framework의 특성(생산성, POJhyunily.tistory.com 그럼 스프링 배치를 본격적으로 다뤄보기 전에,..
Spring Batch란?
·
Spring
Spring Batch 알아보기다양한 도메인 내의 많은 애플리케이션은 보통 비즈니스 운영을 수행하기 위해 대량의 데이터 처리가 필요합니다. 그래서 가볍고 포괄적이며 Spring Framework의 특성(생산성, POJO 기반 개발 방식, 일반적인 사용 편의성)을 기반한 Spring Batch를 사용해서 데이터를 일괄적으로 처리하곤 합니다. Spring Batch는 스케줄링 프레임 워크인가?결론적으로 Spring Batch는 스케줄링 프레임워크가 아닙니다. Batch -> 논리적 또는 물리적으로 관련된 일련의 데이터를 그룹화하여 일괄 처리하는 방법을 의미합니다.Scheduler -> 주어진 작업을 미리 정의된 시간에 실행할 수 있게 해주는 도구나 소프트웨어를 의미합니다. 주의할점1. 대량의 데이터를 일괄적..
Spring Boot 회원가입 - 이메일(SMTP) 인증 구현하기
·
Spring
많은 서비스에서 회원가입 과정에 이제는 당연하다고 여겨지는 이메일 인증 기능을 구현해보려고 합니다. 구현에 앞서 프로젝트에 gradle 설정부터 진행하며 시작해 보겠습니다. build.gradle 설정dependencies { ... implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-starter-mail' implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.mariadb.jdbc:mariadb-java-clien..
Spring Boot Profile 설정
·
Spring
Spring Boot 프로젝트를 진행하다 보면 가끔 드는 생각중 하나는단발성으로 한번만 실행하고 싶은 코드들의 모음들은 어떻게 단발성으로만 실행할 수 있을까? 라고 생각합니다. 저도 가령 dummy data를 넣는 과정을 코드로 작성하면, 서버를 실행할때 한번만 실행하고 주석처리를 한다던가....이런 과정을 반복했던 적이 있는데요!! 이러한 부분에서 활용할 수 있는 설정중 하나는 Profile을 설정해서 활용하는 방안이라고 생각합니다.Spring Boot Profile이란?Spring 프레임워크에서 애플리케이션 설정을 환경별로 다르게 관리할 수 있게 해주는 기능입니다.이를 활용하면 개발, 테스트, 프로덕션 환경 등 다양한 환경에 맞추어 설정을 손쉽게 전환할 수 있습니다.그리고 환경에 따라 다른 속성 파일..
Spring 카카오 로그인 구현하기(Spring Security + OAuth2 + JWT)
·
Spring
Kakao Developers 기본 설정1. Kakao Developers 접속 및 회원가입https://developers.kakao.com/ Kakao Developers카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.developers.kakao.com 2. 애플리케이션 추가 3. 대시보드 설정- 카카오 로그인, 동의항목, Redirect URI 부분을 각자 필요 정보에 맞게 설정 3 - 1. 카카오 로그인 설정 - 활성화 후, Redirect URI를 다음과 같이 설정 3 - 2. 동의항목 설정  - 구현에서 활용하기 위한 닉네임 및 프로필 사진을 필수 및 선택 동의로 설정 진행 3 - 3. 앱키 확인 - ..