모든 블로그
네이버 페이

네이버 페이

도메인medium.com
주요 카테고리 백엔드 · 프론트엔드 · AI

활동 요약

대표 인기 포스트신입개발자의 역량과 성장에 대해서(feat. Done is better than perfect)758 조회
최근 30일
2개
평균 조회
157
누적 조회
3,445
전체 글
22개
마지막 발행
2026. 11. 13.
블로그 방문

네이버 페이 기술 블로그 글 (22)

프론트엔드

AI 테스트의 허수를 걸러내기

AI가 만든 테스트에서 검증 없이 통과하는 허수 패턴 8가지를 분석했습니다. 정규식, expect 집계, 장애 주입, 뮤테이션 테스트로 탐지 방법을 제시합니다.

#test#Playwright#Stryker
1200

프론트엔드

Hilt Custom Component 활용하기

Hilt Custom Component로 로그인 사용자 단위의 의존성 스코프를 관리하는 방법을 설명했습니다. 로그인 상태 변경에 따른 컴포넌트 재생성과 EntryPoint 접근 방식, 트레이드오프를 다뤘습니다.

#Android#Hilt#Dagger
1900

프론트엔드

Playwright E2E 테스트로 자가개선 루프 구축하기

AI가 코드를 더 빨리 만들수록 검증이 병목이 된다고 설명했습니다. Playwright E2E와 에이전트를 조합해 결정론적인 자가개선 테스트 루프를 구축하는 방법을 소개했습니다.

#Playwright#E2E 테스트#Next.js
31400

백엔드

Composite PK에서 시작된 Spring Boot 4 / Spring Batch 6 업그레이드 기록

Spring Data JDBC의 Composite ID 적용을 계기로 Spring Boot 4와 Spring Batch 6 업그레이드를 진행했습니다. 복합키 매핑, 배치 메타데이터 변경, Kotlin·Jackson·Gradle 호환성까지 함께 정리했습니다.

#Spring Boot#Spring Batch#Spring Data JDBC
17900

백엔드

신입개발자의 역량과 성장에 대해서(feat. Done is better than perfect)

신입 개발자에게 필요한 소통, 탐색, 기록, 질문의 태도를 중심으로 성장 방법을 정리했습니다. 완벽한 코드보다 동작하는 기능부터 시작해 점진적으로 개선하자는 메시지를 담았습니다.

#Java#Kotlin#Spring Boot
75801

백엔드

똑같은 코드인데 왜 안 돼? Spring JDBC 컨버터 미궁 탈출기

Spring Data JDBC에서 LocalDate 컨버터가 기대와 다르게 동작하는 이유를 JDBC 내부 처리 순서와 Oracle 드라이버 차이로 분석했습니다. 이를 피하기 위해 커스텀 래퍼 타입과 양방향 컨버터로 저장 형식을 제어하는 방법을 정리했습니다.

#Spring JDBC#Spring Data JDBC#JDBC
17800

백엔드

MongoDB CQRS 성능 개선기: 예상치 못한 Tomcat NDJSON 병목 해결

CQRS와 MongoDB 도입 후에도 엑셀 다운로드가 느린 원인을 Tomcat의 NDJSON flush 병목에서 찾았습니다. 1000개씩 버퍼링해 직접 write하도록 바꿔 성능 개선을 이끌었습니다.

#MongoDB#CQRS#Tomcat
11900

백엔드

레거시 시스템 교체기: 실시간 트래픽 미러링을 통한 안정적 전환 사례

레거시 WebFlux 신용점수 조회 서비스를 WebMVC로 전환하며, Nginx 트래픽 미러링으로 실서비스 검증을 수행했습니다. 응답 자동 비교와 짧은 타임아웃으로 사용자 영향 없이 안정적으로 마이그레이션했습니다.

#Spring WebFlux#Spring Boot#Kotlin
25200

백엔드

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

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

#Kotlin#Spring Boot
12800

백엔드

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

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

#node.js#동시성#비동기
36500

백엔드

Opensearch 검색엔진을 이용한 네이버 페이 검색 하기

네이버페이 검색 서비스를 OpenSearch로 구축하며 색인 구조와 한글 검색 품질 개선 과정을 소개했습니다. 또한 무중단 패치, 최근 검색어 저장, 특수문자 예외 처리까지 운영 경험을 정리했습니다.

#OpenSearch#검색#MongoDB
27900

백엔드

실무에서 만나는 DB isolation level

MySQL 기본 격리 수준인 REPEATABLE READ 때문에 결제 트랜잭션에서 오래된 잔액이 유지되는 문제를 겪었습니다. 락 위치와 격리 수준을 조정해 동시성 이슈를 해결하는 과정을 정리했습니다.

#DB#transaction#MySQL
25200

백엔드

FAST: 데이터 파이프라인 이제는 웹에서

웹 기반 배치 생성 툴 FAST로 데이터 파이프라인 작성 과정을 단순화했습니다. 비개발자도 입력값만 채워 Airflow 배치를 만들고, 운영 공수도 줄였습니다.

#Airflow#pipeline#웹
4000

AI

Uplift Modeling을 통한 마케팅 비용 최적화 (with Multiple Treatments)

마케팅 비용 최적화를 uplift modeling과 multiple treatments 관점에서 다룬 사례를 정리했습니다. 랜덤화 데이터 수집부터 DML 추정, AUUC 평가, CPA 검증까지의 실무 흐름을 설명했습니다.

#uplift modeling#causal inference#Double Machine Learning
4800

프론트엔드

상태 관리 라이브러리 vanilla-store

vanilla-store를 만든 배경과 내부 구조를 소개한 글입니다. React 외부 상태 동기화, 선택적 구독, 불필요한 리렌더링 완화가 핵심입니다.

#React#state management#useSyncExternalStore
4600

백엔드

Spring Security 의 인증 알아보기

Spring Security의 인증 과정을 Filter 체계와 주요 컴포넌트 중심으로 정리했습니다. 폼 로그인의 성공·실패 흐름과 예외 처리, SecurityContext 저장 과정을 설명했습니다.

#Spring Security#인증#인가
6500

데브옵스

nGrinder를 활용한 부하테스트

nGrinder를 활용해 네이버페이 부동산 상세 페이지의 부하테스트 과정을 정리했습니다. 최대 TPS와 병목을 확인하고 SSR, 캐시, HPA 설정을 개선한 사례입니다.

#nGrinder#부하테스트#SSR
4600

데브옵스

GitHub Actions 활용하기

GitHub Actions의 기본 개념과 핵심 구성 요소를 정리하고, JavaScript 액션 예시를 통해 자동 머지 흐름을 소개했습니다. 반복적인 빌드·테스트·배포 작업을 워크플로우로 자동화하는 방법도 함께 설명했습니다.

#GitHub Actions#CI/CD#JavaScript
5800