[Git Ranker #6] GitHub Search API에서 GraphQL로 전환
REST Search API의 Rate Limit 병목과 데이터 정밀도 문제를 해결하기 위해 GraphQL로 전환한 과정과 ‘1년 조회 제한’ 문제를 Alias와 동적 쿼리 매핑으로 극복한 트러블 슈팅
REST Search API의 Rate Limit 병목과 데이터 정밀도 문제를 해결하기 위해 GraphQL로 전환한 과정과 ‘1년 조회 제한’ 문제를 Alias와 동적 쿼리 매핑으로 극복한 트러블 슈팅
멱등성을 보장하기 위해 누적 방식 대신 전체 재계산 방식을 선택한 기술적 의사결정 과정과 Spring Batch 아키텍처 설계, 그리고 마주한 REST API Rate Limit의 구조적 한계 고민
대규모 정렬 없이 순위를 구하는 효율적인 알고리즘과, 초기 사용자 부족으로 인한 티어 산정의 모순을 해결하기 위해 Tasklet과 Window Function을 활용한 배치 최적화 과정
GitHub Events API의 데이터 유실 및 정책 변경 이슈를 분석하고, Search API 도입을 통해 전체 활동 데이터 기반의 정확한 점수 시스템을 구현한 기술적 의사결정 과정
단순 반복문과 스케줄러의 한계를 넘어, 데이터 무결성과 대용량 트래픽을 감당하기 위해 Spring Batch를 도입한 기술적 의사결정 과정과 Job 아키텍처 상세 설계
GitHub API + Spring Batch로 실시간 랭킹 시스템을 구축하며, 홈랩 환경에서 대용량 배치 처리와 인프라 모니터링 경험을 쌓아가는 여정
코딩테스트를 위한 Java 기초부터 자료구조까지 정리 (Java 8 기준, Stream/Lambda 미사용)
Spring Boot + MySQL 구조의 성능 병목을 Redis Stream 비동기 처리로 해결하여 1,666 RPS 달성과 66% 성능 향상을 이룬 과정을 다룹니다.
대기 진료 견적서 상세 조회 API에서 569ms 걸리던 3개의 개별 쿼리를 JOIN과 인덱스 최적화를 통해 50ms로 단축시킨 과정을 다룹니다.
모놀리식 아키텍처의 한계를 극복하기 위해 도메인 주도 설계(DDD)와 포트-어댑터 패턴을 적용한 멀티 모듈 아키텍처로 전환한 과정입니다. 장애 격리와 도메인 경계 명확화를 통해 확장성 있는 시스템을 구축했습니다.