반응형

분류 전체보기 486

[230422] Spring Camp 2023 갔다온 후기

KSUG에서 주최한 스프링캠프 2023 컨퍼런스에 다녀왔다~ https://springcamp.ksug.org/2023/ Spring Camp 2023 '스프링 캠프'는 애플리케이션 서버 개발자들과 함께 가치있는 기술에 관한 지식과 정보를 '공유'하고 참가한 사람들이 서로 '인연'을 만들고 시끌벅적하게 즐길 수 있는 '개발자들을 위한 축제' springcamp.ksug.org 다행히 중간고사가 4월 20일까지였어서, 맘편히 다녀올 수 있겠다 싶어 바로 티켓팅에 참여했다. 그리고 다행히 빠르게 결제까지 마친 덕분에! 티켓팅에 성공했다. Spring Camp는 유료 세미나이다. 가격은 33,000원. 결제까지 완료한 시점 기준으로, 오픈 42초만에 티켓이 마감됐다고 한다. 실제로 같이 가기로 한 지인은 결제..

[AWS] CloudWatch + Lambda로 slow query 발생 시 Slack 알림 보내기

해당 글에서는 AWS RDS MySQL 환경에서 CloudWatch, Lambda를 이용합니다. 람다 함수는 Node.js 14 환경에서 작성됐습니다. 사이드 프로젝트 `모카콩`의 Wiki에 작성한 글에 해당된다. 해당 프로젝트 github: https://github.com/mocacong/Mocacong-Backend GitHub - mocacong/Mocacong-Backend: 모카콩 백엔드 모카콩 백엔드. Contribute to mocacong/Mocacong-Backend development by creating an account on GitHub. github.com 들어가며 최근 AWS RDS 환경의 로깅에 대해 생각해보는 시간을 가져봤습니다. 처음에는 RDS에 기록되는 쿼리 전체를..

Infra/Aws 2023.04.21

[Spring] 서버 에러 시 Slack Api Client로 슬랙에 알림 보내기

해당 글에서는 slack-api-client 라이브러리 선정 이유, @ControllerAdvice에서 슬랙 연동 방법에 대해 다룹니다. 사이드 프로젝트 `모카콩`의 Wiki에 작성한 글에 해당된다. 해당 프로젝트 github: https://github.com/mocacong/Mocacong-Backend GitHub - mocacong/Mocacong-Backend: 모카콩 백엔드 모카콩 백엔드. Contribute to mocacong/Mocacong-Backend development by creating an account on GitHub. github.com 들어가며 모카콩에서는 Slack을 통해 팀원들과 소통하고 있습니다. 개발 관련 회의나 데일리 스크럼, 이슈 등. 모카콩 관련 업무연락은..

[Spring] FeignClient를 이용한 Apple OAuth 구현 일지 (2)

해당 글에서는 Apple OAuth 연동 프로덕션 코드와 테스트 코드에 대해 다룹니다. 모카콩에서는 iOS 앱 배포를 위해 Apple OAuth를 구현했습니다. Apple OAuth 이론, FeignClient 설정과 선정 이유, 관련 프로덕션, 테스트 코드는 1편에서 볼 수 있습니다. https://kth990303.tistory.com/436 [Spring] FeignClient를 이용한 Apple OAuth 구현 일지 (1) 해당 글에서는 spring boot에서의 FeignClient 선택 이유 및 연동 프로덕션 및 테스트 코드, Apple OAuth 이론에 대해 다룹니다. 사이드 프로젝트 `모카콩`의 Wiki에 작성한 글에 해당된다. 해당 프로젝트 git kth990303.tistory.com..

[Spring] FeignClient를 이용한 Apple OAuth 구현 일지 (1)

해당 글에서는 spring boot에서의 FeignClient 선택 이유 및 연동 프로덕션 및 테스트 코드, Apple OAuth 이론에 대해 다룹니다. 사이드 프로젝트 `모카콩`의 Wiki에 작성한 글에 해당된다. 해당 프로젝트 github: https://github.com/mocacong/Mocacong-Backend GitHub - mocacong/Mocacong-Backend: 모카콩 백엔드 모카콩 백엔드. Contribute to mocacong/Mocacong-Backend development by creating an account on GitHub. github.com 들어가며 모카콩에는 iOS 앱 배포를 위해 Apple OAuth가 존재합니다. 사용자들이 Apple 계정만으로 편리하게..

[AWS] S3 연동 후 Spring Boot 파일 업로드 구현 일지

해당 글에서는 AWS S3 연동 및 @MockBean을 이용한 테스트 코드에 대해 다룹니다. S3 버킷 정책, 퍼블릭 액세스에 대한 추측 및 의문이 존재합니다. 사이드 프로젝트 `모카콩`의 Wiki에 작성한 글에 해당된다. 해당 프로젝트 github: https://github.com/mocacong/Mocacong-Backend GitHub - mocacong/Mocacong-Backend: 모카콩 백엔드 모카콩 백엔드. Contribute to mocacong/Mocacong-Backend development by creating an account on GitHub. github.com 들어가며 모카콩에서는 프로필 이미지를 업로드할 수 있습니다. 마이페이지에서 프로필 이미지 수정을 클릭해서, 언제..

Infra/Aws 2023.04.09

[230404] 커버링 인덱스를 활용한 소규모 사이드프젝 쿼리튜닝 일지

해당 글에서는 spring data jpa에서의 left outer join, fetch join, 커버링 인덱스에 대해 다룹니다. 사이드 프로젝트 `모카콩`의 Wiki에 작성한 글에 해당된다. 해당 프로젝트 github: https://github.com/mocacong/Mocacong-Backend GitHub - mocacong/Mocacong-Backend: 모카콩 백엔드 모카콩 백엔드. Contribute to mocacong/Mocacong-Backend development by creating an account on GitHub. github.com 들어가며 모카콩에서는 카페에 대한 리뷰를 작성할 때마다 다양한 작업을 해주고 있습니다. 리뷰에는 평점, 해당 카페에 대한 스터디 타입(혼코딩..

[ERROR] 인터셉터 사용 환경에서 Swagger의 Failed to load remote configuration 해결법

해당 글에서는 Swagger와 Spring Security, 스프링 인터셉터를 함께 사용할 때 발생한 문제에 대해 다룹니다. 사이드 프로젝트 `모카콩`의 Wiki에 작성한 글에 해당된다. 해당 프로젝트 github: https://github.com/mocacong/Mocacong-Backend GitHub - mocacong/Mocacong-Backend: 모카콩 백엔드 모카콩 백엔드. Contribute to mocacong/Mocacong-Backend development by creating an account on GitHub. github.com 모카콩에서는 Swagger를 이용하여 API 문서를 자동화해주고 있습니다. 인증 관련 API를 개발하던 중 `/swagger-ui/index.htm..

[230327] javax.validation:validation-api에서 @Valid가 먹히지 않을 때 (feat. spring-boot-starter-validation)

사이드 프로젝트에서 코드리뷰를 하면서 아래와 같은 의문점이 생겨났다. 스프링부트를 사용하는 보통의 경우 `spring-boot-starter-validation`을 사용하는데, 팀원이 javax.validation:validation-api` 의존성을 삽입했길래 해당 관련 궁금증이 생겼다. spring-boot-startger-validation은 평상시에 많이 사용했었기 때문에 javax.validation:validation-api 의존성에 대해서 Maven Repository를 찾아보았다. 우측 하단의 Date에서 알 수 있듯이, javax.validation.validation-api 의존성의 마지막 updated가 2017년이다. 뭔가 deprecated의 냄새가 진동했지만, 해당 PR의 중점 ..

[Kotlin] Refresh Token을 Redis에 저장하는 코드 작성 및 고찰

인증 방법에는 토큰을 이용하는 방식, 세션을 이용하는 방식이 존재한다. 나는 주로 토큰을 이용하는 방식을 선호하는데 그 이유는 아래와 같다. 세션 기반 인증은 쿠키를 사용해야 한다. 그러나 쿠키는 네이티브 앱에서 지원하지 않고 브라우저에서만 사용할 수 있다. 다중 WAS 환경에서 세션은 동기화 이슈가 존재한다. 따라서 확장성이 낮다. sticky session, session clustering 등 다양한 방법이 존재하지만, 토큰 방식은 이러한 점을 고려할 필요가 없다. 물론 토큰 방식은 별도의 구현이 좀 더 필요하지만, 한 번 구현해놓으면 어렵지 않고 편리하게 이용가능하기 때문에 큰 거부감이 없는 편이다. 토큰 방식의 인증은 또 두 가지 방법으로 나뉜다. Access Token만을 이용하는 방식과 Re..

반응형