본문으로 건너뛰기
cheonbi
PostsSeriesTagsAbout🎥 Kinetograph
EN

Tweaks

theme
accent palette
film grain
minimal mode
BACK TO INDEX
◆ ESSAY
--min
--year
KOoriginal

mailMail icongithub
cheonbi
•
© 2026
•
https://cheonbi.kr
BACK TO INDEX
◆ ESSAY

이 블로그에서 다루는 것

avatar
cheonbi
2026-09-03 · 6분
6min
2026year
KOoriginal
javabackendgismath

Table Of Contents

  • 이 블로그에서 다루는 것
    • 다루는 주제
      • 백엔드 설계
      • 위치 데이터와 시각화
      • 수학을 사용하는 개발
    • 글을 읽는 순서
    • 첫 번째 시리즈: 센서에서 관제 화면까지
    • 사례를 공개하는 원칙

이 블로그에서 다루는 것

개발하면서 마주친 문제를 기록합니다.

문제를 정의하고 제약을 확인한 뒤 해법을 고른 이유를 남깁니다. 초기 가정이 틀렸거나 운영 중 문제를 발견한 과정도 함께 다룹니다.

다루는 주제

백엔드 설계

데이터 모델, 성능, 정합성, 외부 시스템 연동, 마이그레이션, 보안처럼 서비스가 성장하면서 반복해서 판단하게 되는 문제를 다룹니다.

실제 시스템을 설계하고 운영하며 마주친 선택과 트레이드오프를 기록합니다.

  • 원본 데이터와 계산·가공된 데이터를 어디까지 분리할 것인가
  • 트랜잭션과 비동기 처리를 어디에서 나누고 어느 수준의 데이터 일관성을 보장할 것인가
  • 중복 요청과 재처리를 어떻게 멱등하게 만들 것인가
  • 기존 사용자를 멈추지 않고 스키마와 데이터를 어떻게 변경할 것인가
  • 외부 API의 Timeout, 실패, 지연, 불완전한 데이터를 어느 계층에서 처리할 것인가
  • 캐시와 원본 데이터 사이의 정합성을 어떻게 유지할 것인가
  • API와 스키마가 변경될 때 기존 Consumer와의 호환성을 어떻게 유지할 것인가
  • 장애가 발생했을 때 로그, 메트릭, 트레이싱을 통해 어떻게 원인을 추적할 것인가
  • 데이터와 트래픽이 증가했을 때 어떤 병목부터 해결해야 하는가
  • 개인정보와 민감한 데이터를 어떻게 저장하고 암호화하며 접근을 통제할 것인가

요구사항과 제약 조건이 선택에 어떤 영향을 줬는지 설명합니다.

위치 데이터와 시각화

위치 데이터를 서비스에서 다루는 방법도 기록합니다. 데이터 모델부터 좌표 변환, 화면에 표시하는 과정까지 문제를 나누어 살펴봅니다.

구체적인 알고리즘과 구현은 각 주제에 맞는 글에서 자세히 설명합니다.

수학을 사용하는 개발

수학을 별도의 과목으로 다루지 않습니다. 필요한 값을 정의하고 계산 과정을 코드로 옮기고 결과가 맞는지 검증하는 도구로 사용합니다.

공식을 코드로 옮길 때는 다음 과정을 거칩니다.

현상의 언어화
    ↓
입력과 출력 정의
    ↓
계산 모델 선택
    ↓
코드 구현
    ↓
경계 조건과 실제 데이터로 검증

글을 읽는 순서

각 글은 대체로 다음 순서로 전개합니다.

  1. 해결해야 하는 문제를 구체적인 입력과 출력으로 바꾼다.
  2. 운영 환경과 데이터가 가진 제약을 확인한다.
  3. 데이터 모델과 계산 과정을 정한다.
  4. 구현한 코드를 작은 단위로 나누어 살펴본다.
  5. 실패 사례와 검증 방법을 확인한다.
  6. 선택한 방법의 장점과 포기한 점을 정리한다.

코드만 빠르게 찾고 싶다면 각 글의 목차와 핵심 연산을 먼저 보면 됩니다. 설계 이유가 궁금하다면 문제와 제약부터 읽는 편이 좋습니다.

첫 번째 시리즈: 센서에서 관제 화면까지

첫 시리즈는 센서가 알려주는 1차원 거리와 지도에서 필요한 2차원 좌표 사이의 간격을 다룹니다.

센서는 “케이블을 따라 1,300m 지점에서 이벤트가 발생했다” 고 알려줄 수 있습니다. 관제 화면은 그 값을 지도 위의 위치로 보여줘야 합니다. 이 변환에는 기준점, 선로의 굴곡, 거리 계산, 좌표 보간이 필요합니다.

시리즈에서는 다음 세 가지 문제를 순서대로 살펴봅니다.

  1. 센서가 “1,300m” 라고만 말할 때, 지도에 점을 찍는 법: 선형참조와 선형보간으로 누적거리를 좌표로 바꾸는 과정
  2. 브라우저 없이 서버에서 지도를 그린 이유: Web Mercator, 지도 타일, Java2D 렌더링
  3. 개인정보를 담은 컬럼을 무중단으로 암호화하기: AES-GCM, 점진적 마이그레이션, 화면 마스킹

각 글은 하나의 기술 문제에 집중합니다. 첫 글에서 좌표 변환의 모델을 정리한 뒤, 다음 글에서 그 결과를 지도 이미지로 렌더링하는 방법을 이어서 다룹니다.

사례를 공개하는 원칙

업무에서 얻은 문제 구조와 설계 경험을 글의 재료로 사용합니다. 대신 특정 조직, 장소, 시스템을 식별할 수 있는 정보는 공개하지 않습니다.

  • 회사명, 발주처, 서비스명과 내부 모듈명은 일반적인 이름으로 바꾼다.
  • 실제 좌표, 설비 번호, 호스트, 인증키와 암호화 키는 싣지 않는다.
  • 예제 데이터는 가상의 값으로 구성하고 필요한 경우 실제 값의 비율이나 관계만 보존한다.
  • 알고리즘, 데이터 흐름, 장애 원인과 설계 판단은 재현 가능한 수준으로 설명한다.

예제는 대상을 식별할 수 없게 바꾸되 계산과 설계 판단을 재현할 정보는 남깁니다.

관련 글

  • ◆ 거리값을 위치로 해석하는 법
    #java#gis#math

    보간식보다 기준점을 먼저 고른다

    거리축에서 계산에 쓸 기준점을 고르고, 정보가 모자랄 때 추정을 멈추는 이유를 설명한다.

    2026-09-18·5분
  • ◆ 거리값을 위치로 해석하는 법
    #java#math#gis

    하드웨어는 한 가지의 데이터를 단 한번만 말한다.

    선형 센서가 보내는 누적거리를 지도 좌표로 바꾸는 데이터 모델과 계산 과정을 정리한다.

    2026-09-03·27분
  • ◆ 거리값을 위치로 해석하는 법
    #java#gis#backend

    위치 결과 하나로 그림과 문장을 만든다

    하나의 위치 결과를 지도나 도식, 알림 문장에 재사용해 서로 다른 표현이 어긋나지 않게 하는 방법을 살펴본다.

    2026-09-18·4분
  • ◆ 거리값을 위치로 해석하는 법
    #java#backend#security

    외부 요청과 기록 사이의 틈

    개인 정보의 수명과 외부 요청, 결과 기록이 서로 다른 시점에 일어날 때 생기는 설계 문제를 살펴본다.

    2026-09-18·5분

새 글을 놓치고 싶지 않으시다면 RSS로 구독해 주세요.

RSS 구독 →

cheonbi — 소프트웨어 엔지니어입니다.

← Back to the blog