[백준] 1508번: 레이스
📌 문제 https://www.acmicpc.net/problem/1508 📌 설명 이분 탐색을 통해 가장 가까운 심판 간 거리가 최대가 되는 경우를 찾는다. 백준 2110번: 공유기 설치와 유사한 문제이다. 아래는 공유기 설치 문제에 대한 해답 코드이다. #include <iostream> #include <algorithm&...
📌 문제 https://www.acmicpc.net/problem/1508 📌 설명 이분 탐색을 통해 가장 가까운 심판 간 거리가 최대가 되는 경우를 찾는다. 백준 2110번: 공유기 설치와 유사한 문제이다. 아래는 공유기 설치 문제에 대한 해답 코드이다. #include <iostream> #include <algorithm&...
📌 프록시 객체란? JPA 공부를 하다 보면 프록시 객체라는 개념이 등장한다. 지연 로딩에서 프록시 객체를 로드하는데, 실제로 데이터가 필요할 때까지 실제 객체를 로드하지 않는다. 조금 더 자세히 알아보자. 특징 프록시 객체는 실제 엔티티 객체를 감싸는 가상의 객체로, 실제 데이터가 필요할 때까지 DB 조회를 지연시키는 역할을 한다. 쉽게 표현하...
📌 문제 https://www.acmicpc.net/problem/9370 📌 설명 1부터 n까지의 노드가 존재하고, 출발 노드 s가 존재한다고 하자. 추가로 두 노드 g, h가 주어지는데, 다익스트라 알고리즘을 통해 최단 경로를 계산할 때, (g, h) 간선을 포함하는 노드를 출력해야 한다. 예를 들어 노드 k까지 최단 경로를 구했다고 하자....
📌 문제 https://www.acmicpc.net/problem/1016 📌 설명 에라토스테네스의 체 알고리즘의 아이디어에 착안하여 해결하는 문제이다. $a$와 $b$ 사이에 존재하는 제곱 ㄴㄴ 수를 찾는 방법은 다음과 같다. $a \leq x \leq b$인 $x$ 중 $x \ \text{mod}\ p^2 = 0$ 를 만족하는 $x$를 소...
❓Question Q. N+1 문제란 무엇인가? Q. JPA에서 N+1 문제가 발생하는 근본적인 이유는? Q. Eager Loading과 Lazy Loading의 차이점은? Q. N+1 문제를 해결하는 방법은? 📌 N+1 문제란? N+1 문제 는 연관 관계가 있는 엔티티를 조회할 때 발생할 수 있는 문제이다. 하나의 쿼리를 기대했으나 의도...
📌 JPA란? JPA(Java Persistence API) 는 자바 애플리케이션에서 RDBMS를 사용하기 위한 표준 ORM 기술이다. JPA는 인터페이스로, 이를 구현한 구현체를 사용해야 한다. JPA의 구현체는 Hibernate, EclipseLink, OpenJPA, DataNucleus 등이 있다. 전체적인 데이터 흐름은 아래와 같다....
📌 문제의 코드 @Transactional public void saveTools() { List<SubCategory> subCategories = subCategoryRepository.findAll(); for (SubCategory subCategory : subCatego...
📌 트랜잭션 트랜잭션은 DBMS에서 발생하는 하나의 논리적 작업 단위이다. 하나의 작업에는 하나 이상의 쿼리문이 포함된다. 예를 들어 ‘인출’이라는 작업은 계좌에 잔액을 확인하고 일정 금액을 빼서 금액을 업데이트하는 것을 포함한다. 📌 트랜잭션의 연산 Commit commit 연산이 수행되면 트랜잭션 내에서 수행된 작업이 DB에...
📌 Polling polling은 클라이언트가 주기적으로 서버에 요청을 보내고, 서버는 클라이언트의 요청에 대한 응답을 리턴하는 방법이다. 구현이 간단하고 HTTP 프로토콜을 사용하므로 호환성이 좋다. 서버는 클라이언트의 요청에 매번 응답을 전송해야 한다. 따라서 특수한 상황이 아니면 대부분의 요청이 불필요한 경우가 될 수 있다. 또한 클라이언트의...
📌 정규화란? 정규화(Normalization)는 데이터의 중복을 최소화하고 무결성을 지키기 위해 데이터를 구조화하는 방법이다. 장점 중복 데이터가 줄어들기 때문에 저장공간이 줄어든다. 데이터의 일관성을 유지할 수 있다. 단점 여러 테이블에 데이터가 분산될 수 있다. 데이터 조회 시 조인 연산이 필요할 수 있다. 📌 이...