일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- 디버깅
- 완전탐색
- 아키텍쳐 개선
- 셀러리
- spring event
- 결제서비스
- 이분탐색
- ipo 매매자동화
- AWS
- 프로그래머스
- 누적합
- dau 3만명
- 크롤링
- piplining
- 추천 검색 기능
- BFS
- gRPC
- 알람시스템
- langgraph
- JPA
- 베타적락
- 카카오
- 몽고 인덱스
- 관측가능성
- ai agent
- 구현
- next-stock
- 백준
- docker
- 쿠키
- Today
- Total
목록2025/06 (4)
코딩관계론
문제 이해하기비밀 코드는 1 ~ n 사이의 서로 다른 5개의 수로 구성된 오름차순 조합입니다.총 m번의 시도를 통해 비밀 코드를 추측할 수 있으며, 매 시도마다 서로 다른 5개의 수를 입력합니다.시스템은 각 시도에 대해, 입력값 중 몇 개가 비밀 코드에 포함되어 있는지를 알려줍니다.예를 들어, 비밀 코드가 [3, 5, 7, 9, 10]이고우리가 [1, 2, 3, 4, 5]를 입력했다면,겹치는 수는 3과 5, 총 2개이므로 시스템은 2를 응답합니다문제 해결 방법 설명하기가능한 모든 5개 조합을 생성합니다. (1 ~ n 중 5개 선택)각 조합이 모든 시도의 결과와 정확히 일치하는지 확인합니다.조건을 모두 만족하는 조합만을 필터링하여 개수를 셉니다.코드function getCombinations(arr, se..

서론고객에게 환급금을 정확히 돌려주기 위해서는 체크리스트 설문이 필요합니다. 이 설문은 단순히 선택만 하는 게 아니라, 스프레드시트에 응답을 저장하고, 이를 분석해 결과를 추론하는 복합적인 로직을 포함하고 있습니다. 이 전체 과정에는 20초 정도의 시간이 걸리게 되기 때문에 이 과정을 처음 설계할 때부터 “이건 절대 동기식으로 처리하면 안 되겠다”고 판단했습니다. 왜 동기로 짜면 안 되는지, 설계 전부터 예측했습니다당시 처리 대상은 3만 명이 넘는 사용자였고, 이 설문은 퇴근 직후, 특정 시간대에 몰리는 트래픽 특성을 갖고 있었습니다. 문제는 이 흐름이 아래와 같다는 점입니다단순히 생각해도,20초 동안 핸들러가 점유되면?수천 명이 동시에 들어오면?스레드 풀 / 이벤트 루프는 버텨줄 수 있을까?라는 질문이..

회사에서 홈택스 데이터를 스크래핑하는 일을 맡았다. 사용자에게 제공해야 하는 세금 정보는 크게 두 가지, **세와 **세. 문제는 이 두 스크래핑이 동시에 실행되면 서로의 세션을 덮어쓰는 문제가 발생한다는 점이었다. 세션 충돌은 곧 사용자 경험의 악화로 이어지고, 안정성이 생명인 서비스에서는 반드시 해결해야 할 사안이었다.[Z5004]: [LOGIN-999] 통합인증(중복 로그인) 오류입니다. 그래서 선택한 해법이 Redis 기반의 분산락이었다. 우리 회사 인프라는 AWS의 관리형 ElastiCache를 사용하고 있고, Latency 측면에서도 EKS 내에서의 접근이라 꽤 빠른 편이었다. 처음에는 Redis I/O 비용을 줄이자는 생각으로. 락 획득 여부를 Redis에 일일이 물어보는 대신, 로컬 메모리..

최근 업무 중 특정 기능 업데이트 이후 데이터베이스에서 예상치 못한 빈도의 Lock Raise 오류가 발생하였다. 장애 현상은 다음과 같은 트랜잭션 간 경쟁 상황에서 비롯되었다. 이러한 상황에서 발생하는 락과 이를 해결하기 위한 전략에 대해 정리하고자 한다.장애 현상트랜잭션 A가 특정 행(ROW1)에 대한 업데이트를 수행하며 배타적 락(Exclusive Lock)을 획득했다.트랜잭션 A가 완료되지 않은 상태에서 트랜잭션 B가 같은 행(ROW1)에 대한 업데이트를 시도하면서 락 충돌(Lock conflict)이 발생하여 오류가 발생했다. 배타적 락(Exclusive Lock, X-Lock)먼저 이 문제를 해결하기 위해선 배타적 락 대해서 알아야 한다. 배타적 락은 데이터 변경 작업을 수행할 때 발생하는 락..