서론 지난 글에서 Kafka cloud에 연결하여 String으로 메시지를 주고 받았었다. 이번에는 Json으로 데이터를 주고 받는 코드를 구현할 것이다. 만약 Kakfa Cloud에 연결하기 위해 Configuration 설정하는 법이 알고 싶다면 지난 글을 참고하시길 바란다. https://bascat-code.tistory.com/21 Spring Boot로 Kafka cloud(Confluent, Conduktor 등)에 연결하여 데이터 주고 받기 (Configuration 방법 2가지) 서론 spring Boot를 사용하여 kafka에 연결하여 데이터를 주고 받으려고 Reference 자료들을 검색해보는데, 대부분의 자료들이 localhost:9092에 접속하여 로컬 컴퓨터에 있는 Kafka를 ..
역직렬화하는 과정에서 ClassCastException이 뜬 것을 경험했다면, 잘 찾아오셨다. 각 데이터 타입별로 역직렬화하는 방법을 간략하게 소개하고자 한다. 서론 - Json을 역직렬화할 때 겪는 문제 MSA에서 각 서비스간 비동기 메세지를 주고 받을 때 Json 형식으로 데이터를 주로 보내게 된다. Json으로 보낼 때는 Java 객체의 정보를 직렬화(serialization)하여 보내고, Json으로 받으면 다시 역직렬화(deserialization)하여 java 객체로 돌려놓게 된다. java에서는 아래 dependency를 사용하면 json을 java로 쉽게 매핑 할 수 있다. implementation 'org.json:json:20230227' 해당 dependency는 JSONObject..
서론 프로젝트 기능과 관련하여 클라이언트가 입력한 주소에서 위도 및 경도 좌표를 추출해야할 일이 생겼다. 주소에서 위도 및 경도를 꺼내기 위해서는 직접 주소에 위도 및 경도 정보를 매칭한 데이터를 소장하고 있거나, 배포된 API를 활용하여 주소 정보를 보내고 위도 및 경도 정보를 받는 방법이 있다. 개인 프로젝트에서는 API를 활용하여 주소에 대응하는 좌표값을 받는 것이 현실적인 방안일 것이다. 주소를 좌표로 변환하기 위한 API 종류 주소를 좌표로 변환하기 위해 활용할 수 있는 API는 아래와 같은 옵션이 존재한다. 1. 오픈 API - GeoCoder API 2.0 https://www.vworld.kr/dev/v4dv_geocoderguide2_s001.do 국토교통부에서 제공하는 공식 오픈API이..
서론 Spring 프로젝트를 도커 이미지로 만들어 클라우드에서 구동하려고 했으나 이에 관련하여 one way로 깔끔하게 정리되어있는 문서를 보지 못한 것 같아서 정리해두려고 한다. 또한 코드를 업데이트하고 나서 BootJar로 빌드 하지 않아서 코드의 변경사항이 반영되지 않는 실수를 방지하고자 한다. 해당 글은 build 도구로 Gradle을 사용하며, IDE로 IntelliJ를 사용하는 것을 기준으로 한다. 또한 해당 실습을 하기 위해서는 Docker Hub 계정이 있고, Docker가 local 환경에 설치되어 있어야 한다. Spring Project로 Docker image 만들기 프로젝트 생성 컨트롤러를 생성해서 RestContoller를 사용하여 라우팅한다. 현재 프로젝트는 루트 주소에 대해서만..