본문 바로가기

코틀린4

스프링 reCAPTCHA v2 사용하기 [Kotlin] 안녕하세요, 스코리아입니다. 오늘은 스프링에서 Google의 reCAPTCHA v2 서비스를 사용하는 방법에 대해서 알아보겠습니다. 언어는 코틀린(Kotlin)으로 진행하겠습니다. 구글 reCAPTCHA 소개 (v2, v3) :: reCAPTCHA v2 :: - "로봇이 아닙니다" 체크 박스로 잘 알려져 있습니다. 이 체크 박스를 통해 구글 리캡챠는 사용자가 로봇인지 인간인지 판별합니다. - 이미지 도전 과제가 존재합니다. 사용자가 의심스러운 경우, 교통수단이나 가로등 등을 식별하도록 요구하는 도전과제를 보여주고, 사용자가 풀면 인간임을 확인합니다. - 다양한 서비스에서 대중적으로 v2가 사용 중입니다. :: reCAPTCHA v3 :: - v2보다 진화된 형태로 알려져 있습니다. - 웹사이트 상호작용 .. 2024. 1. 30.
스프링 API 예외처리 방법 : @RestControllerAdvice [Kotlin] 안녕하세요, 스코리아입니다. 오늘은 스프링의 @RestControllerAdvice 어노테이션을 이용해서 API 예외처리 하는 방법에 대해서 알아보겠습니다. 언어는 코틀린(Kotlin)으로 진행하겠습니다. @RestControllerAdvice 예외처리가 필요한 이유? 만약 비즈니스 계층에서 팀원들이 각각 예외처리를 하고 있는 프로젝트라면, 발생시키는 에러 메시지, 규격, 규율 등이 달라 응답이 정규화되지 않을 것입니다. 하지만 이러한 예외처리 로직을 비즈니스 로직과 분리하여 @RestControllerAdvice 어노테이션이 적힌 클래스 한 곳에서 예외처리를 담당한다면, 일관된 형식의 응답을 제공할 수 있어, 코드의 가독성과 유지 보수성을 높이는데 도움이 될 것입니다. 즉 요약하자면, @RestCont.. 2024. 1. 8.
(2) JWT Access, Refresh 토큰 + Redis : 스프링 코드 구현 [Kotlin] 안녕하세요, 스코리아입니다. 오늘은 저번 시간에 이어서 스프링에서 JWT(Access, Refresh 토큰)을 Redis와 함께 사용하는 코드를 구현해 보겠습니다. 언어는 코틀린(Kotlin)으로 진행하겠습니다. 이전 포스팅에서 JWT가 무엇이고 Refresh 토큰을 사용해야 하는 이유, Refresh 토큰의 보안문제와 해결방안, Redis 활용 장점에 대해서 설명드렸으니, 꼭 읽어보시기 바랍니다! [이전 내용] (1) JWT Access, Refresh 토큰 + Redis : 소개 및 보안 : 바로가기 프로젝트 구현 흐름 스프링으로 코드를 구현하기 전에 어떤 식으로 구현해 볼지 Flow에 대해서 먼저 설명해 드리겠습니다. Access 토큰의 유효기간은 30분, Refresh 토큰의 유효기간은 1달(30.. 2023. 12. 30.
스프링에서 Redis 캐시 사용하기 (@Cacheable, @CacheEvict) [Kotlin] 안녕하세요, 스코리아입니다. 오늘은 스프링 3.1.0 환경에서 Redis 캐시를 사용해 보고, DB(Disk)로 불러올 때와 속도 비교를 해보겠습니다. 언어는 코틀린(Kotlin)으로 진행하겠습니다. Redis는 NoSql로서, 인메모리 DB이기 때문에 Disk(하드)에서 불러오는 DB보다 훨씬 속도가 빠릅니다. 그렇기 때문에 Redis로 캐시 작업을 하기에 용이합니다. 하지만 Redis에 많은 데이터가 누적이 된다면 메모리 부족 현상이 순시 간에 나타날 수 있습니다. 그렇기 때문에 TTL(time-to-live)이라 부르는 '만료시간'을 설정하여 일정 시간이 지나면 자동으로 삭제되게끔 설정할 수 있습니다. Redis 설치 (Mac) Redis를 아직 설치하지 않으셨다면, 터미널에 아래 명령어를 쳐서 간.. 2023. 12. 20.