전체 글(10)
-
RedisTemplate 의 객체지향
분명 지난 Kafka를 관련해서 블로그 글을 작성했습니다.물론 계속 했습니다 그 이후도..근데 로그를 보고 있는데Spring Data Redis - Could not safely identify store assignment for repository candidate interface forOlderJava.absurdityAppForJava.domain.cart.repository.CartItemRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisH..
2024.11.20 -
Kafka 난항기
Kafka를 현 프로젝트에 추가하고 여러가지를 시도해보자 하는 마음이 결국 에러가 발생했다.기쁘지 않은 마음으로 트러블슈팅을 작성해서 기록하자..어렵다 어려워코드를 작성하다보면 자주 만나는 이 녀석***************************APPLICATION FAILED TO START***************************Description:A component required a bean named 'KafkaListenerContainerFactory' that could not be found.Action:Consider defining a bean named 'KafkaListenerContainerFactory' in your configuration.Process finis..
2024.11.15 -
Kafka 적응기
기존 프로젝트에 Kafka를 추가하면 좋은 거 같아서 사용을 위해 글을 작성합니다.현재 RabbitMQ만을 사용하고 있으며 Kafka를 사용하는 것에 이점을 작성 후 코드에 대한 설명을 하려고 합니다.### 어떤 점에 좋은가?대용량 처리Redis, PostgreSQL을 사용하고 있는 상황이라 데이터 처리량이 많을 것을 전제Kafka는 대용량 메세지 처리에 적합이벤트 저장Kafka는 이벤트를 디스크에 저장, 필요할 때 재생 가능심부름/주문 시스템의 경우 이벤트 히스토리 관리가 중요 할 수 있음현재 아키텍처에의 조화Spring Boot, Redis, PostgreSQL 등 현대적인 스택을 사용중Kafka가 이런 MSA 환경에 적합확장성WebSocket을 사용하는 실시간 처리가 필요한 서비스Kafka의 파티셔..
2024.11.13 -
Controller Restful 관련
Restful에 신경 써서 코드를 작성하는 중 보통 내가 하는 방식과는 다르게 작성하기에 궁금한 부분과 이런 방식도 있다는 것을 남기기 위해해당 본문을 작성했습니다.첫 번째@RestController@RequestMapping("/v1/errands")@RequiredArgsConstructorpublic class ErrandController { private static final String BASE_URI = "/v1/errands/"; private final ErrandService errandService; @PostMapping("/orders/{orderId}/errands") public ResponseEntity registerErrands(@PathVariab..
2024.11.11 -
JWT 그런데 OAuth2.0 곁들인 (2)
이전 글은 https://minthug.tistory.com/5 이며 JWT 위주로 글이 작성되어 있습니다.초기 로그인 요청 흐름[사용자 로그인 요청] ↓CustomOAuth2UserService.loadUser() ├─► super.loadUser(userRequest) // 기본 OAuth2 인증 ├─► 소셜 로그인 정보 추출 │ ├─► registrationId 확인 (kakao/naver/google) │ ├─► OAuthProvider.getOAuthProvider(registrationId) │ └─► provider.getOAuthUserInfo(attributes) │ // 각 제공자별 정보 추출 (extractKakaoUserIn..
2024.11.10 -
JWT 그런데 OAuth2.0 곁들인
이전 2인 프로젝트 Sniff-Step [https://github.com/Minthug/Sniff-Step] 에서했던 JWT 구조와 다른 구조이며, OAuth2.0 또한 Kakao, Naver, Google 세 가지를 모두 사용할 수 있게 설정 했습니다.현 프로젝트를 해보고 있기 때문에 글을 작성했습니다.가장 큰 차이는 Record Class로 프로젝트의 구조에 큰 변화가 생겼다고 해야할까?저의 이해를 위해 쉽게 풀어서 글을 정리 해보겠습니다.Components:- TokenProvider: JWT 토큰 생성/검증 인터페이스 - JwtTokenProvider: 실제 JWT 토큰 처리 구현체 - JwtAuthenticationFilter: JWT 인증 필터 - JwtAuthenticationProv..
2024.11.08