반응형

springboot 5

(1) Kafka, Spring Boot, 리액트를 사용하여 쇼핑몰 사용자의 결제정보 실시간 처리 구현하기

1. 로컬 환경에 Kafka 설치 및 구성하기실제 Kafka를 서비스에 이용하는 회사의 경우 별도의 서버에 Kafka를 설치하겠지만, 스프링부트에서 Kafka 서비스를 이용하는 것을 목적으로 하기 때문에 여기선 간단하게 내 윈도우 로컬 환경에 Kafka를 설치해 실습을 진행해 보도록 하겠습니다.설치 환경: Windows 11다운로드:  kafka.apache.org Apache KafkaApache Kafka: A Distributed Streaming Platform.kafka.apache.org1) 다운로드Kafka 공식 홈페이지 오른쪽 상단의 'DOWNLOAD KAFKA' 버튼을 클릭합니다.가장 최신 버전은 안정화가 안 되어 있을 수 있으므로 3.6.2 버전을 받았습니다.  2) 로컬PC의 윈도우에..

(2) 스프링부트, JPA로 구현한 로그인을 시도한 사용자의 접속 시간 저장

Formatter를 이용한 LocalDateTime 처리 웹에서 전달되는 데이터는 JSON 형식의 데이터일 수도 있고 첨부파일 등이 포함되는 경우에는 form-data 혹은 일반적인 웹에서 사용하는 x-www-form-urlencoded 일 수도 있습니다. 이러한 처리 과정에서 날짜/시간은 항상 주의해야 합니다. 날짜/시간은 브라우저에서 문자열로 전송되지만, 서버에서는 LocalDate 혹은 LocalDateTime 으로 처리됩니다. 그렇기 때문에 이를 변환해 주는 Formatter를 추가해서 이 과정을 자동으로 처리 할 수 있도록 설정합니다.   addFormatters 메서드는 스프링의 WebMvcConfigurer 인터페이스에 정의된 메서드 중 하나로, 애플리케이션에서 사용하는 데이터 형식을 일관되..

(1) 스프링부트, JPA로 구현한 로그인을 시도한 사용자의 IP 저장

추후 Redis로 이 기능을 변경하기 전 단계로 관계형 DB인 MariaDB에 로그인을 시도한 사용자의 IP를 저장하는 기능을 스프링부트, JPA로 구현하여 보자. 사이트를 유지보수 하다보면 로그인을 시도한 사용자의 ip정보나 로그를 수집할 필요가 있기도 합니다.사용자가 웹브라우저를 통해 접속을 하거나 혹은 다른 HTTP 클라이언트를 통해 웹서버에 요청을 할 경우, Spring MVC에서 HttpServletRequest 객체에는 다양한 정보가 포함됩니다. 이 정보는 클라이언트의 HTTP 요청과 관련된 다양한 속성 및 헤더를 포함합니다.몇 가지 주요한 정보는 다음과 같습니다.요청 URL 및 메소드 정보:request.getRequestURL(): 요청 URL을 가져옵니다.request.getMethod(..

AuthenticationFailureHandler, AuthenticationEntryPoint 차이점

최근에 스프링 시큐리티를 이용하여 기본 로그인을 구현한 후 에러 메시지를 더 자세히 분기처리하여 화면단으로 리턴하는 코드를 작성한 후 코드리뷰를 받게 되었습니다.  이 코드에 대해서 코드 리뷰 시 아래와 같은 수정 사항이 나왔습니다. 1. 에러 코드와 에러 메시지는 enum이나 yml, xml, json 파일로 따로 빼서 관리  2. if~else if 문은 가독성이 좋지 않기 때문에 사용이 권장되지 않으니 제거 요구됨3. 스프링 시큐리티의 Filter단에서 발생하는 에러도 Servlet단에서 처리하여 에러를 중앙집중식으로 관리되도록 해야 함  1. 에러 코드와 에러 메시지는 enum이나 yml, xml, json 파일로 따로 빼서 관리domain 패키지 밑에 enum 타입의 ErrorCode를 만들어 ..

반응형