전체 글

좋은 성과를 얻으려면 한 걸음 한 걸음이 힘차고 충실하지 않으면 안 된다. -단테
개요프로젝트를 하다보면 지도를 사용해야할 경우가 있습니다. 토이 프로젝트를 진행하면서 지도 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..
·Monitoring
개요회사에서 모니터링 프로젝트를 하던 중 추이 분석 관련 그래프, 언제 트래픽이 있었는지 등 시계열 데이터를 조회하고 분석해야하는 상황이 있었습니다. 저희 프로젝트는 sql-exporter를 사용해서 메트릭 데이터를 프로메테우스에 저장하고있어 이 메트릭 데이터를 효과적으로 질의할 수 있어야했습니다. 이때 활용했던 방법이 PromQL인데, 이번 글에서는 PromQL란 무엇인지, 주요 용도, 주요 사용되는 내장 함수 등을 정리하고자 합니다. PromQL (Prometheus Query Language)이란❓PromQL이란?Prometheus 모니터링 시스템에서 시계열 데이터를 조회하고 분석하기 위한 전용 쿼리 언어입니다.SQL과 유사하게 데이터를 질의하지만, 시계열 데이터에 특화되어 있어 시간의 흐름에 따른..
·Framework/JPA
개요JPA를 사용하다 보면 게시글과 댓글, 주문과 주문 상품 같은 1:N 관계를 조회해야 할 일이 정말 많습니다. 하지만 DB에서 조인(Join)을 하면 결과는 계층적 구조가 아닌 언제나 평면적입니다. 오늘은 이 간극을 메우기 위해 우리가 흔히 하던 'Map 노가다'를 버리고, QueryDSL의 transform을 사용해 데이터를 가져오는 방법을 알아보겠습니다.즉, 연관관계가 있는 데이터를 조회할 때 평면적인(flat) 결과를 계층적인(hierarchical) 구조로 변환해야 하는 경우가 자주 발생하는데, Map을 통한 수동 변환 작업은 번거롭고 실수하기 쉽습니다. QueryDSL의 transform은 바로 이 문제를 해결해줍니다.이번 글에서는 회사에서 실제로 겪었던 사례를 바탕으로 QueryDSL의 t..
지누박
ZINU