본문 바로가기

전체 글86

[SpringBoot] OAuth2.1 모듈로 인증 서버 만들기 - 2 저번시간에 이어 ID/PW로 인증 뒤 인가코드를 가져오는거 까지 구현해보자.  ✔️ Login endpoint 설정/** * custom filter setting * @param authenticationManager * @return */public AbstractAuthenticationProcessingFilter abstractAuthenticationProcessingFilter(AuthenticationManager authenticationManager) { LoginAuthenticationFilter filter = new LoginAuthenticationFilter("/api/login", authenticationManager); // login api endpoint .. 2024. 8. 30.
[SpringBoot] OAuth2.1 모듈로 인증 서버 만들기 - 1 회사에서 기존 모듈 분석을 하다가, OAuth2 모듈이 있길래 정리해보는 블로깅.. 나는 사실 OAuth2 의 개념을 명확하겐 알지 못했다, 그냥 JWT 를 발급해주는 모듈이구나 정도로 이해하는 수준? ㅋㅋ 이제서야 개념을 정리해본다.  ✔️ OAuth?OAuth(”Open Authorization”)는 인터넷 사용자들이 비밀번호를 제공하지 않고 다른 웹사이트 상의 자신들의 정보에 대해 웹사이트나 애플리케이션의 접근 권한을 부여할 수 있는 공통적인 수단으로 사용되는, 접근 위임을 위한 개방형 표준이다. 사용자가 자신의 계정 정보를 공유하지 않고, 다른 서비스에 대한 접근 권한을 안전하게 제공하는 서비스 OAuth를 지원하는 서비스는 사용자로부터 인증을 받은 후, 해당 서비스에 대한 접근 권한을 받는다. .. 2024. 8. 28.
[SpringBoot] 조회 수 카운팅 중복 방지 - ver1 현재 회사에서 운영하고 있는 레거시 시스템에 조회수 어뷰징으로 의심되는 로그가 발견되었다. (참고로 내가 운영하고 있는 서비스는 B2C라고 하기엔 좀 애매한 서비스임.) 특정 동영상 조회수를 조작하는걸로 의심되었고, 확인해보니 페이지 진입(혹은 새로고침)시 조회수를 +1로 DB에 업데이트를 치는 로직인데,  그게 한꺼번에 트래픽이 몰리니 DB가 락이 걸려버리는 이슈였다. 레거시라 누굴 탓할수 없고 ㅋㅋ 어쩌겠느냐, 수정해야지!!! 일단 조회수 중복을 막는 방법으로 3가지 정도를 생각했다.  1. 새로고침을 막기위해 페이지 진입시, 새로고침 체크용 파라미터 추가.⇒ 하지만 해당건은 새로고침만 막을 수 있을뿐 URL을 이용한 매크로를 막을순 없음. (탈락) 2. Redis 를 이용하여 동시성제어특정영상(ID.. 2024. 8. 6.
[MySql] DB 성능 최적화하기 회사에서 운영하고 있는 배치서비스 모니터링중 자꾸 memory leak 이 나는 현상을 발견했다. 2024-07-16 06:05:00.041 INFO 11456 --- [scheduling-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [play-day-stat]2024-07-16 06:05:20.062 WARN 11456 --- [HikariPool-1 housekeeper] cohttp://m.zaxxer.hikari.pool.ProxyLeakTask : Connection leak detection triggered for cohttp://m.mysql.cj.jdbc.ConnectionImpl@5a25810 on thread sch.. 2024. 7. 17.