목록Develop (2)
Miscellaneous
0. 인트로 교내 학술제 프로젝트로 산책 기반 게이미피케이션 봉사 서비스를 기획 및 개발했습니다. 감사하게도 해당 학술제에서 대상을 수상했지만, 시간에 쫓겨 개발한 탓에 코드 품질과 성능에 대한 아쉬움이 남았습니다. 특히 서비스의 핵심 기능인 '포인트 기반 랭킹 시스템'은 데이터가 쌓일수록 성능 저하가 우려되는 부분이었습니다. 이 글은 가상으로 10만 건의 대용량 데이터 환경을 구축하고, 랭킹 조회 API의 병목을 진단하여 응답속도를 1200배 이상 개선한 트러블 슈팅 기록입니다. 1. 기존 환경 설명 기존의 rankings 테이블의 구조와 랭킹 조회 쿼리는 다음과 같습니다. CREATE TABLE rankings ( rank_period int NOT NULL, id bigint NOT NULL ..
서론취준 스터디에서 싱글톤과 프록시에 대해 공부하던 중, @Configuration 어노테이션이 빈을 관리하는 방법에 대해 조사하게 되었습니다.조사 과정에서 @Configuration의 내부 동작 방식을 깊이 살펴보았고, 빈이 관리되는 과정을 추적하였습니다. 해당 포스트에서는 그 과정을 정리하여, @Configuration이 어떻게 빈을 싱글톤으로 보장하는지 원리를 살펴보겠습니다. 본론@Configurationpublic class AppConfig { @Bean public A a() { return new A(b()); } @Bean public B b() { return new B(); }}위 코드는 간단한 Configuration 클래스..