Spring36 [Spring Batch] Batch 활용 목적과 Performance 개선 방법 아래 글은 카카오 테크의 강의를 학습한 후 개인적으로 정리한 내용임을 밝힙니다. (자료 출처) 1. Batch 활용하기 1-1. 일괄 처리 Batch Application? 원하는 시간에 스케줄을 걸어 대량의 데이터를 일괄적으로 처리할 때 사용한다. Realtime 서비스에 비해 개발 부담이 적은 경우가 많다. 1-2. Batch 활용 케이스 ① 일괄 생성 READ → CREATE → WRITE 기존의 정보를 조합하여 새로운 정보를 만드는 경우 ② 일괄 수정 READ → UPDATE → WRITE 이미 저장된 데이터를 일괄적으로 수정하는 경우 ③ 통계 SUM READ → CREATE → WRITE 이미 저장된 데이터를 통계적 형식으로 집계하는 경우 2. Batch Performance 개선 2-1. 대량.. 2024. 1. 24. [Spring - OAuth2.0] 확장성 갖춘 소셜 로그인 구현 Google, Kakao, Naver 등 다양한 환경에 확장성을 갖춘 형태로 소셜 로그인을 구현해보자. 일단 Kako, Naver 두 환경을 대상으로 하며, 각 Developers 홈페이지에서 Application을 생성한 상태임을 가정하고 진행할 것이다. 참고 사항 카카오 로그인의 경우 '개인정보 동의항목 심사 신청'이 완료되기 전까지는 닉네임, 카카오계정(이메일) 등의 데이터만 불러올 수 있다. 본 글에서는 일단 닉네임과 이메일을 불러오는 것으로 진행하겠다. 네이버 로그인의 경우 서비스 상태가 '개발중'인 경우, 테스터 ID 등록 후 해당 계정에 한해서만 소셜 로그인을 적용해볼 수 있다. Naver Developers/내 애플리케이션/멤버관리에서 테스터 ID를 등록하고 진행하자. build.gradl.. 2024. 1. 18. [Spring Batch] Spring Batch, Quartz 이해하기 요구 사항개발중인 서비스에서는 특정 시간에 프로그램 참여자 전체를 대상으로 대량의 정산 로직이 필요했다.이를 보다 효율적으로 처리하기 위하여 Spring Batch를 이용하기로 결정하였다. Overview_Spring Batch ?The ability of batch processing to efficiently process large amounts of data makes it ideal for many use cases. Spring Batch’s implementation of industry-standard processing patterns lets you build robust batch jobs on the JVM. | 공식 문서 Spring Batch란, 한마디로 일괄 처리 (bat.. 2024. 1. 7. [Spring Boot - Zoom] 회의실 자동 생성 #2. REST API 이번 글에서는 발급한 access token을 바탕으로 Zoom Meeting API를 이용해 회의실을 생성해볼 것이다. access token 발급 과정은 지난 게시글을 참고하면 된다. 목차 1. Zoom App 생성 2. OAuth 2.0 설정 3. Zoom Meeting API 3-1. 전체 Flow 이해하기 우선 공식 문서를 따라 Create Meeting API 플로우를 이해해보자. 3-1-1. Endpoint Endpoint에 필요한 path parameter 'userId는 me value라는 명칭으로 소개되고 있는데, 이는 user ID나 이메일 주소 값을 사용한다고 한다. 우리는 이메일 주소를 이용할 것이다. 3-1-2. Request Body Zoom Meeting API는 다양한 요소.. 2024. 1. 3. [Spring Boot - Zoom] 회의실 자동 생성 #1. OAuth2.0 Spring Boot 서버에서 Zoom 회의실을 자동 생성해보자.이번 글은 Zoom REST API를 사용하기 위한 App 생성, OAuth2.0 설정 파트를 소개할 것이다. 목차 1. Zoom App 생성2. OAuth 2.0 설정3. Zoom Meeting API (다음 글에서 계속) EnvironmentJava 17Spring Boot 3.1.4 1. Zoom App 생성1-1. Zoom App Marketplace 접속 및 로그인https://marketplace.zoom.us/ App Marketplace marketplace.zoom.us 1-2. Develop / Build AppServer-to-Server OAuth app을 생성해준다.https://developers.zoom.us.. 2024. 1. 3. [Spring Batch] Spring Batch의 구성 요소 Overview_Spring Batch ? The ability of batch processing to efficiently process large amounts of data makes it ideal for many use cases. Spring Batch’s implementation of industry-standard processing patterns lets you build robust batch jobs on the JVM. | 공식 문서 Spring Batch란, 한마디로 일괄 처리 (batch processing)를 지원하는 프레임워크이다. * 일괄 처리 : 최종 사용자의 개입 없이 또는 (자원이 허가한다면) 실행을 스케줄링할 수 있는 작업(job)의 실행 대용량 데이터를 알.. 2024. 1. 2. [Spring Boot - Firebase] 연동하기 준비물 : Firebase 프로젝트 기존 Firestore Database에서 스프링 서버로 데이터를 불러오기 위해 연동하는 과정을 진행해 볼 것이다. Firebase 프로젝트는 이미 생성했다고 가정하고 진행하겠다. 1. Firebase 비공개 키 다운로드 Firebase 프로젝트 대시보드의 프로젝트 개요 / 프로젝트 설정 / 서비스 계정으로 이동한다. SDK 언어를 Java로 설정한 후, 새 비공개 키 생성을 클릭한다. 스프링 프로젝트의 src / main / resources에 다운받아진 json 비공개 키를 복붙한다. 파일명은 각자 지정하면 되는데, 나는 firebaseServiceAccountKey.json으로 저장했다. 2. FirebaseConfig 설정 스프링부트 프로젝트에 FirebaseC.. 2023. 10. 28. [Spring Boot] 주기적 코드 실행 서베이지에서는 활성 패널의 수에 따라 수집 가능한 최대 응답수가 달라지게 된다. 이에 따라 서베이지는 10일 단위로 활성 패널의 현황을 자동 업데이트하는 기능을 도입하기로 결정했다. 오늘은 Spring Boot의 @Scheduled을 이용하여 10일마다 실행되는 scheduled task를 만들어 볼 것이다. 1. @EnableScheduling 스프링의 scheduled task 실행을 가능하게 하는 어노테이션이며, 메인 Application에 붙여준다. @SpringBootApplication @EnableScheduling public class SurveasyApplication { public static void main(String[] args) { SpringApplication.run(S.. 2023. 10. 23. [Spring Boot - JPA] Entity의 Default Value 지정하기 오늘의 목표Entity 저장 시, 특정 필드를 제외하고 insert 명령을 내렸을때 해당 필드의 사전 default value값으로 자동 생성되게 만들자!ex) User (email, name, isValid)에서 isValid==true가 default value라면 User (email, name)을 insert 하면 자동으로 User ("test@test.com", "Tom", true)가 저장 - null 저장 X @PrePersist / @PreUpdate 이용하기@PrePersistLifecycle 중에서 Entity가 New/Trasient(비영속성) → Managed(영속성) 상태가 되기 직전에 실행되는 함수 @PreUpdateLifecycle 중에서 Managed(영속성.. 2023. 8. 21. 이전 1 2 3 4 다음