| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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
- 김영한
- 로드밸런서
- 트러블슈팅
- 계산기
- Til
- 추상클래스
- 자바
- DB
- 코드카타
- 프로그래머스
- 프록시 패턴
- 배치
- 이펙티브 자바
- spring boot
- Spring Batch
- 스프링
- lv1
- java
- 성능 개선
- 백엔드
- 스프링 배치
- redis
- 토스
- 스케줄러
- 빌더 패턴
- GoF 23
- 템플릿 메서드 패턴
- Effective Java
- 디자인 패턴
- Today
- Total
목록DB (3)
김코딩
프로젝트 소개 - FINSightFINsight는 금융 뉴스를 키워드 기반으로 필터링하고 AI로 요약해주는 웹 서비스입니다. 사용자가 관심 있는 키워드(예: 삼성전자, 부동산, AI 등)를 설정하면, 경제/금융/증권/부동산/산업 카테고리의 최신 기사 중 해당 키워드가 포함된 뉴스만 모아서 보여줍니다. 각 기사는 Naver CLOVA Studio AI로 요약되어 빠르게 핵심 내용을 파악할 수 있으며, 마이컬렉션 기능으로 관심 기사를 저장하고 통합 요약본을 제공받을 수 있습니다. 배포 링크: https://finsight-publish.vercel.app/ FINsight내가 관심있어 하는 정보, 나의 자산과 직접적인 관련이 있는 금융 정보들만 놓치지 않고 따끈따끈하게 소화하고 싶지 않으신가요? FINsig..
들어가며토스 페이먼츠 API를 연동한 결제 시스템을 개발하면서, 외부 API 호출로 인한 DB 커넥션 점유 문제를 발견하고 개선한 경험을 공유합니다. 트랜잭션 경계를 재설계하여 커넥션 점유 시간을 582ms에서 20ms로 단축했고, 이를 통해 시스템 안정성과 비용 효율성을 모두 확보할 수 있었습니다.1. 문제 정의토스 페이먼츠 API 연동 후, DB 커넥션 점유 시간이 비정상적으로 길다는 것을 발견했습니다.부하테스트로 영향 확인테스트 설정: - 사용자: 50명 - Ramp-up period: 10 (10초동안 50명이 호출) - 커넥션 풀: 5개 💡 커넥션 풀을 5개로 설정한 이유HikariCP 기본값은 10개이지만, 테스트에서는 5개로 축소했습니다.목적: - "트래픽 대비 커넥션이 부족한 상황..
배경프로젝트를 진행하며, 쿼리의 성능이 떨어지는 것을 느껴서 확인해본 결과 Full Table Scan을 하고있었습니다. 이를 해결하기위해서 인덱스(Index)라는 개념을 사용해서 해결할 수 있습니다. 오늘은 인덱스에 대해서 알아보겠습니다.목차1. 인덱스란 무엇인가?2. 인덱스의 내부 구조 (B-Tree)3. 인덱스의 종류4. 인덱스 생성 전략5. 인덱스 성능 최적화 팁6. 실전 예제와 성능 비교7. 인덱스 사용 시 주의사항1. 인덱스란 무엇인가? 인덱스(Index)는 데이터베이스 테이블의 검색 속도를 향상시키기 위한 자료구조입니다. 책의 색인처럼, 데이터의 위치를 빠르게 찾을 수 있도록 도와주는 역할을 합니다. 인덱스가 없다면?-- 100만 건의 데이터에서 특정 사용자 찾기SELECT * FROM us..