개요 본 글에서는 Spring Boot와 Android Studio를 사용하여 서버에서 안드로이드 스마트폰으로 알림을 전송하는 간단한 웹 어플리케이션을 만들어 본다. 글을 쓰게 된 계기 서버를 만들다 보면 웹 뿐만 아니라 앱에 알림을 보내는 기능을 만들어보고 싶은 때가 있다. FCM은 Android와 IOS에 통합적으로 알림을 보낼 수 있는 서비스를 제공하므로 FCM을 이용하면 간편하게 알림을 보낼 수 있다. 문제는 Firebase는 입문하는 과정에서 정보를 얻기가 참 어렵다는 점이다. 공문서를 뒤져봐도 공문서 내용의 Android 버전이 예전 버전인 경우가 많아 바로 적용하기 어려운 부분이 있었다. 결국 알림을 원하는 대로 전송할 수 있었지만, 정보를 찾기 어려워서 상당한 시간을 소요한 것에 아쉬움이 ..
서론 지난 글에서 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를 ..
서론 spring Boot를 사용하여 kafka에 연결하여 데이터를 주고 받으려고 Reference 자료들을 검색해보는데, 대부분의 자료들이 localhost:9092에 접속하여 로컬 컴퓨터에 있는 Kafka를 사용하는 예시를 보여주고 있었다. 현재 수많은 Kafka Cloud들이 존재하고 편리한 UI를 제공하여 데이터를 확인하기 좋게 편의성을 제공하고 있는데, Kafka Cloud에 연결하는 Spring 예문을 찾아보기 어려운 점은 상당히 아쉽게 느껴졌다. localhost에 접속할 때와는 Configuration 설정에서 조금 다른 부분이 있기 때문이다. 실제로 kafka를 직접 로컬 서버에 띄워서 사용하기보다는 cloud를 통해 데이터를 관리하는 경우가 많으므로, cloud에 연결하여 데이터를 주고..
Spring interceptor란 spring의 controller는 각 사용자가 해당 url 경로로 접속 했을 때 각 경로에 맞는 서비스 로직을 매칭해주는 첫번째 관문이다. @RestController @RequestMapping("/customer/{foodKind}/store") public class StoreController { private final MemberService memberService; private final StoreService storeService; public StoreController(MemberService memberService, StoreService storeService) { this.memberService = memberService; this...
서론 배달 어플리케이션 제작 중에 소비자의 위치 근처에 있는 음식점만 보여줘야 하는 기능이 필요했다. 이를 구현하기 위해 특정한 알고리즘을 Service layer에서 구현할 수도 있었으나, 개발 소요 시간을 줄이기 위해 MongoDB에서 제공하는 Geo-Spatial query를 활용하기로 했다. Geo-Spatial query는 특정 위치 조건에 해당하는 데이터만 가져오도록 해주는 MongoDB에서 제공하는 기능이다. Geo-spatial query에는 현재 크게 네 가지의 쿼리가 제공되고 있다. $geoIntersects 주어진 geometry 공간과 교차하는 geometry 영역의 데이터를 반환해주는 쿼리. $geometry 쿼리를 함께 써줘야 한다. 조금이라도 교차하는 polygon이 있다면 모..
서론 프로젝트 기능과 관련하여 클라이언트가 입력한 주소에서 위도 및 경도 좌표를 추출해야할 일이 생겼다. 주소에서 위도 및 경도를 꺼내기 위해서는 직접 주소에 위도 및 경도 정보를 매칭한 데이터를 소장하고 있거나, 배포된 API를 활용하여 주소 정보를 보내고 위도 및 경도 정보를 받는 방법이 있다. 개인 프로젝트에서는 API를 활용하여 주소에 대응하는 좌표값을 받는 것이 현실적인 방안일 것이다. 주소를 좌표로 변환하기 위한 API 종류 주소를 좌표로 변환하기 위해 활용할 수 있는 API는 아래와 같은 옵션이 존재한다. 1. 오픈 API - GeoCoder API 2.0 https://www.vworld.kr/dev/v4dv_geocoderguide2_s001.do 국토교통부에서 제공하는 공식 오픈API이..