DB 조회 성능 향상을 위한 방법
DB 조회 성능 향상을 위한 방법 1. 적절한 인덱스 사용 데이터베이스에서 레코드 검색 시 인덱스를 활용하면 검색 속도를 향상시킬 수 있다. 인덱스는 특정 열의 값을 저장하고 해당 열의 검색을 빠르게 만든다. 적용 예제 CREATE INDEX idx_order_number O...
Backend Programmer, Spring Boot, Java, Kotlin. and I consider it important to record. Such as TIL and Blog.
DB 조회 성능 향상을 위한 방법 1. 적절한 인덱스 사용 데이터베이스에서 레코드 검색 시 인덱스를 활용하면 검색 속도를 향상시킬 수 있다. 인덱스는 특정 열의 값을 저장하고 해당 열의 검색을 빠르게 만든다. 적용 예제 CREATE INDEX idx_order_number O...
Spring Boot 에서의 재시도 수행 전략 Spring Boot 에서 예외 발생 시 메서드 재시도를 수행하는 전략은 애플리케이션에서 예외 처리를 개선하고 내결함성을 향상시키는 중요한 부분이다. Spring에서는 이를 위해 다양한 방법을 제공하고 있으며, 주로 다음에 설명하는 전략들을 주로 사용한다. RetryTe...
템플릿 콜백 패턴의 이해 템플릿 콜백 패턴은 전략 패턴의 일종으로, 전략 패턴에서는 클라이언트가 전략 객체를 선택하고 호출하는 방식이지만, 템플릿 콜백 패턴에서는 특정 알고리즘(콜백)을 포함한 템플릿 메서드를 호출하고, 클라이언트가 필요한 콜백을 구현하여 전달하는 방식입니다. 즉, 템플릿 콜백 패턴은 전략 패턴의 구현 ...
전략 패턴의 이해 비슷한 동작을 하지만 다르게 구현되어 있는 행위(전략)들을 공통의 인터페이스를 구현하는 각각의 클래스로 구현하고, 동적으로 바꿀 수 있도록 하는 패턴입니다. 전략 패턴으로 구현된 코드는 직접 행위에 대한 코드를 수정할 필요 없이 전략만 변경하여 유연하게 확장할 수 있습니다. 전략 패턴의 구조 전...
템플릿 메서드 패턴 이해 핵심 기능 vs 부가 기능 핵심 기능 해당 객체가 제공하는 고유의 기능 부가 기능 핵심 기능을 보조하기 위해 제공하는 기능 좋은 설계는 핵심 기능과 부가 기능을 분리하는 것이다. 템플릿 메서드 패턴(Template M...
@Transactional과 AOP, 그리고 프록시 패턴 @Transactional에는 Spring AOP의 프록시 패턴을 사용하여 동작한다. @Transactional을 알아가기 앞서 프록시 패턴과 Spring AOP에 대해 알아보도록 한다. 프록시 패턴 프록시 패턴은 객체 지향 디자인 패턴 중 하나로, 다른 객체에 대...
Java 동시성 이슈와 쓰레드 로컬 (ThreadLocal) Java의 동시성 이슈 동시성 이슈 (Concurrency issues)는 다중 쓰레드 환경에서 발생하는 문제로, 여러 쓰레드가 공유된 자원에 동시에 접근할 때 예기치 않은 결과가 발생할 수 있다. 동시성 이슈는 아래 상황에서 발생할 수 있다. 경쟁 조건 ...
Spring Boot and OAuth2 이 가이드는 OAuth 2.0과 Spring Boot을 사용하여 “소셜 로그인”으로 다양한 작업을 수행하는 샘플 앱을 구축하는 방법을 보여줍니다. 단순한 단일 공급자 싱글 사인-온 (single-provider single-sign on) 으로 시작하여 GitHub 또는 Google...
git push origin master 후 non-fast-forward 문제 원인 파일을 올리려고 하는 깃허브 내 레파지토리와 git init한 로컬 내 저장소와 관련이 없는(unrelated) 상태에서 두 저장소를 병합(merge) 시도함 해결책 git pull 명령 시 --allow-unrelated-h...
그리디 알고리즘 현재 상태에서 가장 좋은 선택만을 취하는 알고리즘 매 순간 최적이라고 생각하는 답을 선택하는 알고리즘 방식으로 해당 그리디 알고리즘이 잘 동작하는 문제로 앞 상황에서의 선택이 뒤에 나오는 선택 상황에 영향을 주지 않는다는 속성과 문제의 전체에 대한 최적의 선택이 부분적인 문...