개요프로젝트를 하다보면 지도를 사용해야할 경우가 있습니다. 토이 프로젝트를 진행하면서 지도 API를 사용해야 했는데, 본 글에서는 여러 지도 API들을 비교하면서 각각의 특징과 장단점을 정리해보고자 합니다.개발 환경은 백엔드 Spring Boot, 프론트엔드 React + Next.js를 기준으로 작성했습니다. 1. Google Maps API Google Maps Platform - 3D 지도 및 지리 공간 분석상세한 지리 공간 데이터와 예측 가능한 가격으로 차량 공유 및 배송 서비스를 지원하세요. 이 모든 작업을 차량, 자산, 기기를 동적으로 추적하면서 수행할 수 있습니다.mapsplatform.google.com Google Maps API는 전 세계에서 가장 널리 사용되는 지도 서비스입니다. ..
전체 글
좋은 성과를 얻으려면 한 걸음 한 걸음이 힘차고 충실하지 않으면 안 된다. -단테개요웹 개발을 하다 보면 프론트엔드에서 서버로 데이터를 보내고 받는 일이 일상적입니다. 그런데 우리가 JavaScript 객체로 다루던 데이터가 어떻게 서버까지 전달되고, 다시 객체로 돌아오는 걸까요? 이 과정의 핵심에는 직렬화(Serialization)와 역직렬화(Deserialization)라는 개념이 있습니다. 이번 글에서는 직렬화의 필요성과 어떻게 직렬화가 되는지에 대해서 정리하고자 합니다. 프론트엔드에서의 객체 관리프론트엔드에서의 객체 관리프론트엔드에서는 HTTP 요청을 다음과 같이 객체 형태로 관리합니다.const httpRequestMessage = { headers: { 'Content-Type': 'application/json', 'Content-Leng..
개요회사에서 모니터링 프로젝트를 하던 중 추이 분석 관련 그래프, 언제 트래픽이 있었는지 등 시계열 데이터를 조회하고 분석해야하는 상황이 있었습니다. 저희 프로젝트는 sql-exporter를 사용해서 메트릭 데이터를 프로메테우스에 저장하고있어 이 메트릭 데이터를 효과적으로 질의할 수 있어야했습니다. 이때 활용했던 방법이 PromQL인데, 이번 글에서는 PromQL란 무엇인지, 주요 용도, 주요 사용되는 내장 함수 등을 정리하고자 합니다. PromQL (Prometheus Query Language)이란❓PromQL이란?Prometheus 모니터링 시스템에서 시계열 데이터를 조회하고 분석하기 위한 전용 쿼리 언어입니다.SQL과 유사하게 데이터를 질의하지만, 시계열 데이터에 특화되어 있어 시간의 흐름에 따른..
개요JPA를 사용하다 보면 게시글과 댓글, 주문과 주문 상품 같은 1:N 관계를 조회해야 할 일이 정말 많습니다. 하지만 DB에서 조인(Join)을 하면 결과는 계층적 구조가 아닌 언제나 평면적입니다. 오늘은 이 간극을 메우기 위해 우리가 흔히 하던 'Map 노가다'를 버리고, QueryDSL의 transform을 사용해 데이터를 가져오는 방법을 알아보겠습니다.즉, 연관관계가 있는 데이터를 조회할 때 평면적인(flat) 결과를 계층적인(hierarchical) 구조로 변환해야 하는 경우가 자주 발생하는데, Map을 통한 수동 변환 작업은 번거롭고 실수하기 쉽습니다. QueryDSL의 transform은 바로 이 문제를 해결해줍니다.이번 글에서는 회사에서 실제로 겪었던 사례를 바탕으로 QueryDSL의 t..
