2024/11 4

JPA

JPA란?JPA는 Java Persistence API의 약자로, 자바 진영의 ORM(Object Relational Mapping) 기술 표준입니다. 간단히 말해, 애플리케이션의 객체와 데이터베이스 사이에서 매핑 작업을 담당하여 개발자가 보다 객체지향적으로 데이터를 다룰 수 있도록 돕는 기술이다.ORM이란?Object Relational Mapping은 객체와 관계형 데이터베이스를 매핑하며 패러다임 불일치를 해결해주는 기술패러다임 불일치란?객체지향 프로그래밍은 상속, 다형성, 캡슐화 같은 개념에 중점을 두지만, 관계형 데이터베이스는 데이터 중심적이며 이러한 개념이 존재하지 않는다. 객체지향적인 부분과 데이터 중심에서의 차이를 '패러다임 불일치'라고 한다.  JPA는 자바 진영의 ORM API 표준 명세..

개발/JPA 2024.11.22

[Spring] Quartz 도입기 2

Quartz 도입기 1Github Code : batch quartz demo 목표1편에서 정리한 내용 바탕으로 기능을 구성해보자. 최종적으로 구현할 스케줄러는 2개며 Listener도 추가해보고 여러가지를 해보도록 하자외부 서버에서 5분마다 새로운 상품 데이터 가져오는 배치 Job 실행5분 간격으로 등록 상품들 이상 서버로 전달하는 배치 Job 실행중요한 작업은 배치에서 처리 하기 때문에 사실 스케줄러는 크게 어려울게 없다.  Job 정의외부 서버에서 5분마다 새로운 상품 데이터 가져오는 배치 Job 실행@RequiredArgsConstructor@Slf4jpublic class FirstJob extends QuartzJobBean { //batch JobLauncher private final..

개발/spring boot 2024.11.21

[백준] 1374 강의실

https://www.acmicpc.net/problem/1374 풀이구하고자 하는 것 : 필요한 최소 강의실 개수 해당 값을 구하기 위해 우선 시작 순서가 빠른 순서로 정렬 만약 시작 시간이 같다면 끝나는 시간이 더 빠른 걸로 정렬 no시작 시간종료 시간3214138562086272713412186152172025 강의실이 필요한 경우는이전 강의 종료 시간 > 다음 강의 시작 시간해당 경우에 강의실이 추가로 필요하다. 위 예제로 한번 천천히 보자 3번 강의(2 - 14)는 1번 강의실을 사용한다.1번 강의(3 - 8)는 1번 강의실이 이미 사용중이므로 2번 강의실에서 진행5번 강의(6 - 20) 또한 1,2번 강의실이 모두 강의 진행 중이므로 3번 강의실에서 진행 이런식으로 가다가 4번 강의(12 - ..

개발/PS 2024.11.05

[백준] 1038 감소하는 수

https://www.acmicpc.net/problem/1038 풀이찾고자 하는 값은 N 번째 감소하는 수를 찾아내면 된다. N번째 감소하는 수를 찾는 법은 굉장히 간단하다. 1~9까지 각 숫자로 시작하는 경우에서 나올 수 있는 값들을 찾으면 된다. 예시를 들어보면 가장 큰 자릿수가 2라고 했을 때  2, 20, 21, 210 이런 값들을 구해 나가면 된다.  해당 값들은 재귀를 통해서 찾아낼 수 있다.  % 10을 하는 이유는 해당 값의 1의 자리 수 다음으로 올 수 있는 값의 범위를 알아야 하기 때문이다. 예시로 num = 543일 경우 1의 자리 3 다음으로 올 수 있는 경우는 0,1,2재귀(int num) { for(int i = 0; i  전체 코드import java.io.BufferedRe..

개발/PS 2024.11.02