새로운 기술 블로그가 추가되었어요

필터 0
선택된 필터 없음
당근에서 정보 유실 없이 업체 정보를 모으는 방법
당근마켓
백엔드

당근에서 정보 유실 없이 업체 정보를 모으는 방법

여러 경로로 모은 업체 정보의 중복을 병합으로 정리하고, 변경 이력을 바탕으로 대표 프로필의 값을 고도화했습니다. 필드별 정책을 분리해 더 합리적인 정보를 노출하도록 개선했습니다.

#Kotlin#refactoring
135005분
배차 정확도를 높이는 실거리 시스템 구축하기: OSRM, Kafka, 그리고 Redis
우아한 형제들
백엔드

배차 정확도를 높이는 실거리 시스템 구축하기: OSRM, Kafka, 그리고 Redis

실거리 기반 배차 정확도를 높이기 위해 OSRM, Kafka, Redis를 활용한 저장·처리 구조를 설계했습니다. 지역 단위 이벤트 순서 보장과 캐시 재사용으로 대량 경로 계산 부하를 줄였습니다.

#OSRM#Kafka
127005분
밑바닥부터 시작하는 실시간 데이터 파이프라인 : Debezium 톺아보기
여기어때
백엔드

밑바닥부터 시작하는 실시간 데이터 파이프라인 : Debezium 톺아보기

기존 배치 적재의 지연을 줄이기 위해 Debezium 기반 실시간 CDC 파이프라인을 구축한 과정을 정리했습니다. Kafka Connect 구조, 스냅샷, 오프셋 관리와 성능 개선 포인트까지 살펴보았습니다.

#Debezium#Kafka Connect
164005분
늘어가는 조회트래픽 Elasticsearch로 분산시키기
네이버 D2
백엔드

늘어가는 조회트래픽 Elasticsearch로 분산시키기

플레이스 조회 트래픽 증가로 메인 DB 부담이 커져 Elasticsearch를 조회용 DB로 분산한 사례를 공유했습니다. 조회 DB 선택 이유부터 점진적 도입, 자동 fallback, 운영 팁까지 정리했습니다.

#Elasticsearch#OpenSearch
237005분
도메인 Error를 다루는 고민과 Arrow의 Either
네이버 페이
백엔드

도메인 Error를 다루는 고민과 Arrow의 Either

결제 도메인의 오류 처리를 위해 sealed class를 검토한 뒤 Arrow의 Either를 도입한 과정을 정리했습니다. 트랜잭션, 캐시, 예외 처리와의 충돌을 피하기 위해 계층별 경계도 함께 설계했습니다.

#Kotlin#Spring Boot
123005분
Paimon 겟또다제 ! (w/ ADVoost Shopping)
네이버 D2
백엔드

Paimon 겟또다제 ! (w/ ADVoost Shopping)

ADVoost Shopping의 실시간 유효 광고 선정을 위한 Flink와 Paimon 아키텍처를 소개합니다. Paimon의 기능과 Iceberg 비교, 운영 팁까지 정리했습니다.

#Apache Flink#Paimon
81005분
일 평균 30억 건을 처리하는 결제 시스템의 DB를 Vitess로 교체하기 - 1. 솔루션 선정기
라인
백엔드

일 평균 30억 건을 처리하는 결제 시스템의 DB를 Vitess로 교체하기 - 1. 솔루션 선정기

결제 시스템 DB를 Nbase-T에서 Vitess로 옮기기 위해 ShardingSphere와 TiDB, Vitess를 PoC로 비교했습니다. 성능과 비용의 균형, 운영 경험을 고려해 Vitess를 최종 선정했습니다.

#Vitess#TiDB
166005분
한/글 문서 파일 형식: Python을 통한 HWP 포맷 파싱하기 (1)
한글과컴퓨터
백엔드

한/글 문서 파일 형식: Python을 통한 HWP 포맷 파싱하기 (1)

Python의 `olefile`과 `zlib`로 HWP `DocInfo`를 읽고, 레코드 헤더를 분해해 문서 속성·BinData·글꼴 정보를 파싱하는 방법을 설명했습니다. 또한 가변 길이 데이터와 확장 크기 처리로 HWP의 레코드 기반 구조를 이해할 수 있게 정리했습니다.

#Python#HWP
63005분
한/글 문서 파일 형식: Python을 통한 HWPX 포맷 파싱하기 (1)
한글과컴퓨터
백엔드

한/글 문서 파일 형식: Python을 통한 HWPX 포맷 파싱하기 (1)

HWPX를 ZIP 기반 XML 포맷으로 보고 Python 내장 라이브러리로 메타정보를 추출하는 방법을 설명했습니다. 문서 시작 번호, 커서 위치, 바이너리 목록을 `Document` 객체로 구조화하는 흐름을 다뤘습니다.

#Python#XML
72005분
Node.js가 싱글스레드 서버라는 미신(feat. Node.js의 대용량 데이터 처리)
네이버 페이
백엔드

Node.js가 싱글스레드 서버라는 미신(feat. Node.js의 대용량 데이터 처리)

Node.js는 싱글스레드처럼 보이지만 내부적으로는 멀티스레드 요소를 활용하는 구조를 설명했습니다. 대용량 데이터 처리에서는 CPU 병목을 스케일아웃과 운영 설계로 풀어낸 사례를 다뤘습니다.

#node.js#싱글스레드
351005분
알리는사람들의 Amazon Data Firehose로 Amazon DynamoDB를 Amazon S3 tables로 실시간 복제하기
AWS
백엔드

알리는사람들의 Amazon Data Firehose로 Amazon DynamoDB를 Amazon S3 tables로 실시간 복제하기

DynamoDB 변경 이벤트를 Firehose와 Iceberg S3 Tables로 실시간 복제하는 파이프라인 구성을 소개했습니다. Athena와 QuickSight로 분석 가능한 구조와 권한 설정, 변환 시 주의점까지 정리했습니다.

#Amazon Data Firehose#DynamoDB
44005분
Amazon RDS for PostgreSQL, Amazon Aurora PostgreSQL, Babelfish for Aurora PostgreSQL에서의 동적 데이터 마스킹
AWS
백엔드

Amazon RDS for PostgreSQL, Amazon Aurora PostgreSQL, Babelfish for Aurora PostgreSQL에서의 동적 데이터 마스킹

Amazon RDS for PostgreSQL과 Aurora PostgreSQL에서 동적 데이터 마스킹을 구현하는 방법을 소개했습니다. 역할 기반 마스킹 뷰와 관련 구성요소, 그리고 적용 시 한계도 함께 설명했습니다.

#Amazon RDS#PostgreSQL
21005분