본문 바로가기

Programming182

[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.
[렛츠인턴] 네트워킹 파티 렛츠인턴에서 네트워킹 파티가 있었다. 유사한 진로 방향을 가진 분들부터 전혀 다른 방향을 가진 분들까지 다양한 인연들과 실컷 이야기할 수 있었다. 진로 방향과 상관없이 비슷한 고민들을 가지고 있기도 했고, 내가 몰랐던 새로운 분야의 이야기도 들을 수 있어서 정말 설레고 즐거웠다. 집순이 인간이지만 앞으로도 이런 기회에 보다 적극적으로 참여해봐야겠다는 생각을 했다. 나 스스로도 누군가에게 도움이 되는 인연이 될 수 있도록 노력하자! 앞으로도 렛츠인턴 화이팅💜 2024. 1. 2.
[고민 일지] Backend 설문 옵션에 확장성 더하기 서베이지는 설문자와 설문 참여자를 (a.k.a 패널) 연결해주고 수수료를 받는 중개 서비스이다.이 과정에서 설문이 특정 나이대, 성별을 대상으로 하는 경우, 자격이 되지 않는 패널의 참여를 막기 위하여 어플에서 해당 패널의 자격이 되는 설문만을 필터링하는 기능을 제공한다. 이번에 Spring boot를 이용한 서버를 도입하게 되면서, 몇백명의 패널에 대하여 효과적인 설문 옵션 관리 방법을 고민하게 되었다. 이번 글에서는 그 고민 과정을 기록해놓으려 한다. Enum을 활용하자!서베이지에서는 설문과 패널을 효과적으로 매칭하기 위하여 다양한 필터링 조건을 제공한다. 나이대, 성별 등 여러 필터링 조건에 대하여 기존에는 각 옵션의 값을 0부터 시작하는 인덱스 값으로 저장하였다. 예를 들면 10대면 0을, 20대.. 2024. 1. 1.
[인턴일지 #7] 인턴 끝! 12/22 퇴사 후 새해가 되어서야 작성하는 인턴 종료 일지! (첫 인턴 일지와 데자뷰..)드디어 4개월간의 인턴 생활이 마무리되었다. 전공을 다루는 직장생활은 처음이라 걱정도 많았지만, 어떤 부분에서든 성장해서 나가자는 목표로 임하니까 매일매일이 배워가는 즐거움으로 금방 지나가버렸다.  내가 진행했던 업무 내용은 아래와 같다. TopicTaskJava Profiling  JVM 및 JVMTI에 대한 이해   Java Profiler 3종 (pinpoint, scouter, visualvm) 환경 설정 및 사용   Scouter를 이용한 자사 테스팅 도구(cover, scouter) 프로파일링   JVM 클래스 정보 추출하는 커스텀 Java Agent 개발   Java Remote Debug   Oper.. 2024. 1. 1.
[Spring Boot - Firebase] 연동하기 준비물 : Firebase 프로젝트 기존 Firestore Database에서 스프링 서버로 데이터를 불러오기 위해 연동하는 과정을 진행해 볼 것이다. Firebase 프로젝트는 이미 생성했다고 가정하고 진행하겠다. 1. Firebase 비공개 키 다운로드 Firebase 프로젝트 대시보드의 프로젝트 개요 / 프로젝트 설정 / 서비스 계정으로 이동한다. SDK 언어를 Java로 설정한 후, 새 비공개 키 생성을 클릭한다. 스프링 프로젝트의 src / main / resources에 다운받아진 json 비공개 키를 복붙한다. 파일명은 각자 지정하면 되는데, 나는 firebaseServiceAccountKey.json으로 저장했다. 2. FirebaseConfig 설정 스프링부트 프로젝트에 FirebaseC.. 2023. 10. 28.