728x90 반응형 전체 글53 [Prisma] updateMany를 일부러 쓰는 이유 Prisma에서 updateMany를 일부러 쓰는 이유: update 대신 updateMany가 더 안전한 순간1. 개요Prisma를 사용할 때 단건 데이터 수정에는 보통 update 메서드를 사용하지만, 동시성 제어와 조건부 상태 전이를 처리해야 하는 특정 상황에서는 의도적으로 updateMany를 사용하는 것이 더 안전하고 적절합니다. 이번 글에서는 어떠한 경우에 updateMany가 유용하며, 왜 단순한 update 대신 이것을 선택해야 하는지를 다뤄보겠습니다. 2. 목표동시 요청 상황에서 발생할 수 있는 TOCTOU(Time Of Check To Time Of Use) 문제를 이해하고 방지합니다.단순한 데이터 수정이 아닌 '조건부 상태 전이'를 모델링하고 표현하는 방법을 학습합니다.updateMa.. 2026. 3. 19. [이슈] ConcurrentHashMap.computeIfAbsent의 부작용 및 락 경합 문제 트러블슈팅: ConcurrentHashMap.computeIfAbsent와 Side-Effect카테고리: Backend / Java / Concurrency이슈: ConcurrentHashMap.computeIfAbsent의 부작용 및 락 경합 문제증상LogPilotGrpcService에서 ConcurrentHashMap.computeIfAbsent를 사용하여 메트릭(Counter)을 등록하거나 gRPC 채널을 생성할 때 다음과 같은 잠재적 문제를 확인하였습니다.스레드 블로킹 (Bin Locking): 채널 생성 등 비용이 큰 작업을 수행할 때, 해당 해시 버킷(Bin)에 락이 걸려 같은 버킷에 해시되는 다른 키에 대한 접근까지 지연되는 현상이 발생할 수 있습니다.무거운 객체 생성 제어의 어려움: com.. 2026. 2. 3. [리뷰] 우리, 프로그래머들 우리, 프로그래머들 - AI 시대에 잊혀 가는 ‘프로그래머 정신’을 다시 깨우다 저자 : 로버트 C. 마틴 출판사 : 길벗 발행일 : 2026-01-20 원제 : We, Programmers 출처 : 도서 정보 (교보문고) 1. 읽게 된 계기위로와 필요: 교보문고 펀딩이 목표 금액의 923%를 달성할 만큼 많은 관심을 받은 책이다. AI로 인해 어지러운 현 세태에 엉클 밥(로버트 C. 마틴)에게 위로를 받고 싶은 마음이 컸다.역사의 재확인: 과거부터 현재까지 프로그래머의 역할이 어떻게 변해왔는지, 그리고 거장들이 닦아놓은 길을 되짚어보며 앞으로 나아갈 방향을 찾고 싶었다.2. 리뷰2.1. 서막을 열며변하지 않는 가치: 책은 서막에서부터 기술이 발전할수록 프로그래머의 위상은.. 2026. 2. 2. [LogPilot] 내가 만든 경량 이벤트 스트리밍 브로커 LogPilot - 경량 이벤트 스트리밍 브로커"적정 기술"로서의 메시징 시스템마이크로서비스 아키텍처에서 Kafka는 사실상 표준이지만, 사이드 프로젝트나 중소규모 시스템에서 거대한 Kafka 클러스터 인프라를 운영하는 것은 '닭 잡는데 소 잡는 칼'을 쓰는 격이었습니다. "Kafka의 핵심인 로그 기반 메시징과 오프셋 관리는 유지하되, 최소한의 리소스로 즉시 도입 가능한 가벼운 EDA(Event-Driven Architecture) 플랫폼을 만들 수 없을까?" 라는 질문에서 출발했습니다.Github: LogPilot아키텍처 & 기술적 의사결정 (Technical Decisions)주요 모듈 구조 (Module Structure)모듈역할logpilot-core도메인 모델, 저장소 추상화(SQLite/Fi.. 2026. 1. 26. [리뷰] 주니어 백엔드 개발자가 반드시 알아야 할 실무 지식 주니어 백엔드 개발자가 반드시 알아야 할 실무 지식 - 시행착오를 줄여주는 실무 밀착 백엔드 개발 가이드 저자 : 최범균 출판사 : 한빛미디어 발행일 : 2025-04-28 원제 : 주니어 백엔드 개발자가 반드시 알아야 할 실무 지식 출처 : 도서 정보 (알라딘) 1. 읽게 된 계기역량 점검: 주니어로서 현재 연차에서 반드시 알고 있어야 할 실무 지식이 무엇인지 확인시니어의 노하우 흡수: 책을 통해 시니어 개발자의 경험과 노하우를 간접적으로 흡수실무 지식 보충: 개인 프로젝트에서는 접하기 힘든 운영, 트러블슈팅 등 실무 영역의 지식을 채우기 위함2. 핵심 내용 요약2.1. 서비스 성능 진단과 최적화 (2, 3장)병목 해결의 정석: 포괄적인 TPS/응답 시간 지표 모니터.. 2026. 1. 5. [이슈] PostgreSQL 시퀀스 불일치로 데이터 추가 오류 PostgreSQL 시퀀스(nextval) 불일치로 인한 ID 충돌 이슈 해결기상황데이터베이스: PostgreSQL ORM: Prisma id Int @id @default(autoincrement())nextval('"MyTable_id_seq"'::regclass)DataGrip, DBeaver 등의 DB 툴에서 수작업으로 데이터 삽입 중 ID 오류 발생Prisma 애플리케이션 로직을 통해 데이터 생성 시에도 ID 충돌 오류 발생이슈 요약수작업 데이터 입력 중→ duplicate key value violates unique constraint 발생 Prisma를 통한 데이터 생성 시→ 이미 존재하는 ID를 재사용하려고 시도하며 충돌 발생 원인 분석PostgreSQL은 SERIAL 또는 aut.. 2025. 11. 11. 이전 1 2 3 4 ··· 9 다음 728x90 반응형