모든 태그
태그

동시성 기술 블로그 글

동시성 태그가 달린 국내 IT 기업 기술 블로그 글을 최신순으로 모았습니다.

전체 84최신 20개 표시
홈에서 필터

최신 게시글

20개 표시

오늘

백엔드

데드락을 해결하려다, 락을 줄이게 된 이야기

동시성 문제를 다루며 락과 데드락을 고민한 사례를 다뤘습니다. 데드락을 해결하려다 오히려 락을 줄이는 방향으로 접근을 바꿨습니다.

#동시성#transaction
500

오늘

백엔드

선착순 수강 신청 동시성 이슈

선착순 수강 신청의 정원 초과를 막기 위해 동시성 제어 방식을 비교했습니다. 조건부 원자적 UPDATE와 유니크 제약, 트랜잭션으로 정합성을 보장했습니다.

#동시성#JPA#transaction
1300

백엔드

모던 백엔드 - 범위값(2)

Java 25의 Scoped Value 설계 원칙과 API 사용 패턴을 정리했습니다. 실무 적용 한계와 전환 판단 기준까지 함께 다뤘습니다.

#Java#동시성#cache
2000

백엔드

모던 백엔드 - 범위값(1)

Java 25의 Scoped Value 등장 배경과 ThreadLocal의 구조적 한계를 설명했습니다. 가상 스레드 시대에 안전한 컨텍스트 공유 방식으로의 전환 필요성을 다뤘습니다.

#Java#동시성#ThreadLocal
4600

백엔드

모던 백엔드 - 병렬처리 리팩토링(2)

구조화된 동시성을 활용해 병렬 API 호출 코드를 리팩토링하는 과정을 다뤘습니다.\n기존 스레드 풀과 CompletableFuture를 정리하고 예외 처리와 테스트까지 확인했습니다.

#Java#동시성#test
3400

백엔드

모던 백엔드 - 병렬처리 리팩토링(1)

게시판 프로젝트의 병렬 API 호출을 CompletableFuture에서 Java 25 구조화된 동시성으로 바꾸는 설계 과정을 다뤘습니다. 취소 전파 문제와 스레드 관리 한계를 테스트로 확인하고 개선 방향을 정리했습니다.

#Java#동시성#비동기
4400

백엔드

모던 백엔드 - 구조화된 동시성

Java 25 프리뷰의 구조화된 동시성을 소개했습니다. 기존 비동기 처리의 한계를 StructuredTaskScope로 어떻게 보완하는지 살펴봤습니다.

#Java#동시성#비동기
3800

백엔드

모던 백엔드-Java 25 개관

Java 25의 핵심 변화와 주요 JEP 기능을 소개했습니다. Spring Boot 4와 Spring AI 2.0 환경에서 전환 필요성도 함께 살펴봤습니다.

#Java#동시성#module
10200

백엔드

DB 트랜잭션 중심 대량요청 처리 최적화

대량 요청 환경의 병목을 DB 트랜잭션 관점에서 분석하고 개선한 사례입니다. 비관적 락을 낙관적 락과 재시도로 전환해 커넥션 효율과 안정성을 높였습니다.

#DB#transaction#동시성
56900

프론트엔드

React 환경에서 중복 API 요청 개선

React에서 전역 Context와 비동기 흐름이 얽히며 중복 API 요청과 레이스 컨디션이 발생했습니다. AbortController, runId, Promise.all로 요청 취소와 최신 응답 보장을 개선했습니다.

#React#비동기#AbortController
7800

백엔드

순서대로, 한 번만, 빠르게

Airbridge는 Kafka 이벤트 처리에서 마이크로 배치 병목을 줄이기 위해 Differential 구조를 도입했습니다. 순서 보장과 중복 방지를 유지하면서 처리 속도를 10배 이상 높였습니다.

#Kafka#gRPC#event
4200

프론트엔드

선언적 폼 바인딩

다이얼로그 수정 폼에서 useEffect 기반 수동 바인딩으로 발생한 상태 꼬임 문제를 정리했습니다. React Hook Form의 values로 선언적 동기화를 적용해 잔상과 레이스 컨디션을 줄였습니다.

#React#React Hook Form#동시성
1500

백엔드

싱글톤 패턴을 이용한 캐시 관리

메뉴 권한처럼 변경은 적고 조회는 많은 데이터를 싱글톤 인메모리 캐시로 관리하는 방법을 소개했습니다. 이를 통해 로그인 시 DB 부하를 줄이고 응답 속도와 유지보수성을 개선했습니다.

#싱글톤#cache#Spring Boot
1300

백엔드

putlfAbsent()의 한계와 변경감지 개선

실시간 모니터링에서 계산식 메타데이터 동기화 문제를 다뤘습니다. `putIfAbsent()` 한계를 보완하기 위해 `replace()`로 변경 감지와 이벤트 발행을 개선했습니다.

#Java#동시성#cache
1000

기타

The Human: 점수 너머의 판단

AI 채용 평가에서 점수만으로는 후보자의 사고를 충분히 판단할 수 없다는 점을 짚었습니다. 면접과 설계 문서, 사람의 판단이 여전히 중요한 이유를 정리했습니다.

#채용#면접#LLM
11800

AI

토스플레이스 데이터봇 ‘판다(PANDA)’를 소개합니다 : 모든 팀원이 데이터 전문가처럼 일하는 방법

토스플레이스가 데이터봇 판다를 통해 팀원들이 직접 데이터를 조회하고 활용하는 환경을 만들었습니다.\nSSOT 정비, 비즈니스 용어 연결, Agentic Loop 설계로 정확도와 일관성을 높였습니다.

#LLM#SQL#dbt
10500

백엔드

주문 트래픽 20배를 견디는 재고 처리 구조 만들기

공동구매 트래픽 폭증으로 재고 처리의 lock 경합이 병목이 되자 Redis와 Kafka 중심으로 구조를 재설계했습니다. 재고 경로를 단일화하고 비동기 반영과 fallback을 더해 약 20배 트래픽을 안정적으로 견뎠습니다.

#Redis#Kafka#DB
1100

아키텍처

예약 시스템 개편기: 우리는 왜 '예약 레고'를 만들었나

병원 예약을 진료 항목별 가변 슬롯 구조로 전면 개편한 사례를 다루었습니다. 동시성 제어와 추적 가능성을 위해 분산 락과 개별 레코드 기반 카운팅도 도입했습니다.

#Redis#동시성#cache
11700

프론트엔드

AttributedString 구조로 풀어낸 대규모 iOS 설정 시스템

LINE iOS의 대규모 서비스 설정 시스템을 AttributedString 구조를 참고해 재설계한 사례를 소개했습니다. 타입 안전성, 동시성, 디버그 오버라이드, 테스트 대역을 함께 개선했습니다.

#iOS#Swift#AttributedString
5200

AI

The Philosophy: AI Native Hiring

AI 네이티브 엔지니어 채용을 위해 기존 코딩 테스트를 재설계한 과정을 소개했습니다. 수강신청 시스템 과제로 동시성·설계·문서화 역량을 평가하는 철학을 설명했습니다.

#채용#자동화#동시성
4900