스프링9 Spring ExecutorService 멀티 쓰레드 성능 개선 (Grafana & Prometheus) 오늘은 회사에서 진행한 업무중에 대량으로 사용자에게 이메일/문자를 전송하는 기능을 구현하는 과정에서 성능 테스트를 진행하고, 성능개선한 후기를 작성하려고합니다! 여려명의 사용자가 자신만의 고객을 만들 수 있는데 (설문조사 등을 통해) 이때 설문에 참여한 고객들에게 대량의 이메일/문자를 발송할 수 있는 기능 중 사용자를 여러명 선택후 예약된 시간에 이메일/문자를 발송하는 기능을 구현하는 과정에서, 너무나도 당연하게 사용자 수가 많아 질 수록 속도가 엄청 오래걸리는 문제가 발생했고, 이를 해결하는 것을 목표로 성능 개선에 집착했습니다! 그래서 선택한 기술은 ExecutorService를 사용해 속도를 개선했습니다. 먼저 시나리오는 다음과 같습니다.하지만 테스트용도로 작성하는 점과 회사 코드이기 때문에 약소하.. 2024. 8. 17. Apple 로그인 Oauth 2.0 구현 오늘은 애플 로그인을 구현하려고한다. 사실 소프트웨어 마에스트로 앱 출시를 위해 애플 스토어 심사를 받았는데, 리젝당했다.. 그 이유는 구글 로그인이 있지만, 애플로그인이 없어서 그렇다,,ㅎㅎ 그래서 오늘은 애플로그인을 구현한걸 포스팅하고자 한다! Spring Boot, gradle 프로젝트로 진행하였다. implementation group: 'com.auth0', name: 'java-jwt', version: '3.4.0' 다음과 같이 의존성을 추가해준다. 애플 로그인 토큰을 Decode하려면 필요하다. 먼저 나는 프론트 친구한테 identyToken을 받았다. identityToken 의 길이가 어마무시하다.. 이걸 헤더로 받아와서 스프링에서 이 헤더를 가지고 애플로그인을 진행하려고한다. 기존의 .. 2023. 10. 27. [KaKaoLogin RestAPI] oAuth2.0 + SpringBoot - (1) 오늘은 카카오톡을 이용한 SNS로그인을 하려고합니다. 먼저 카카오톡 개발자센터에서 어플리케이션을 등록해주어야합니다. https://developers.kakao.com/ Kakao Developers 카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다. developers.kakao.com 여기로 가셔서 로그인해주세요 그 다음 내 애플리케이션을 선택 해주세요. 지금 테스트하실 홈페이지의 URL을 적어주시고 저장을 눌러주세요 저는 Localhost_Test로 만들었습니다. 그럼 이 페이지를 마주하게 되시는데요 저희가 사용할 건 RESTAPI 입니다. 그리고 카카오 로그인에 들어가셔서 모두 활성화 해주신다음에 Redire.. 2022. 8. 19. [Spring Security] + [JWT] + [RefreshToken] 스프링 시큐리티 JWT 로그인 적용기 오늘은 저번 포스팅에서 했던 Security + JWT로 로그인을 구현했습니다. 이번에는 RefreshToken을 이용하려고 하는데요 이 RefreshToken을 이용하는 이유를 설명하겠습니다. 먼저 저희가 로그인 하면 AccessToken을 발급받게 됩니다. 이 AccessToken은 유효시간이 짧습니다. 저번 코드에서는 30분이었는데 이번 코드에서는 실습을 위해 2분으로 설정했습니다. 이렇게 AccessToken의 유효시간은 짧아서 매 30분마다 로그인을 다시 해야 하는데요 이런 불편함을 해결하고자 RefreshToken을 사용하게 됩니다. 기본적인 로직을 설명드리겠습니다. 1. 사용자가 로그인시 AccessToken, RefreshToken을 발급합니다. 이 두 Token은 Front 측에서 Loc.. 2022. 8. 18. [Spring Security] + [JWT] 스프링 시큐리티 JWT 로그인[실습] 저번 포스팅에 이어서 이번에는 직접 코드를 작성하도록하겠습니다. 버전 : Spring Boot 2.7.2 SQL : JPA IDEA : IntelliJ 디렉토리 구조 저희가 Spring Security와 JWT를 사용해야하므로 해당 Gradle을 추가해줍니다. implementation 'org.springframework.boot:spring-boot-starter-security' testImplementation 'org.springframework.security:spring-security-test' implementation 'io.jsonwebtoken:jjwt:0.9.1' SpringSecurity 설정을 해주겠습니다. Spring Security를 사용하기위한 환경설정 Class라 생각하.. 2022. 8. 12. [Spring Security] + [JWT] 스프링 시큐리티 JWT 로그인[이론] 오늘은 스프링 시큐리티를 이용한 JWT로그인을 포스팅하려고 합니다. 스프링 공부를하면서 Spring Security 기능을 알게 되었는데 이기능을 자주 쓰기도 하고 보안에 취약하지 않은 것 같고 권한에 대해서도 인증절차가 잘 되어있어 현재 많이 사용되고있는 기능같습니다. [Spring Security] 1. Authentication(인증) : 사용자 인증 절차 2. Authorization(권한) : 사용자 권한/등급 이 두가지를 도와주는 것이 Spring Security인데요 인증 과정에 대해서 한번 살펴보겠습니다. 이 이미지는 다른 사이트에서도 많이 보셨을텐데요 저희가 Spring Security를 이해하는데 도움이 되는 자료입니다. 번호 순서대로 설명드리겠습니다. 1. Request요청이 들어온 .. 2022. 8. 12. 이전 1 2 다음