개발용사 준기 Dev Warrior Jungi
Scheduler (스케쥴러) 1) Scheduler의 개념과 목적 ● 개념 정해진 시간에 작업을 실행하거나 주기적으로 반복 작업을 수행하는 역할 ● 목적 일정한 시간에 특정 작업을 실행하여 비즈니스 프로세스를 자동화 효율적인 작업 스케줄링과 시간 관리를 가능하게 하는 것 2) Scheduler의 구성요소 ● 작업 (Job) 실행할 작업의 단위로, 스케줄링된 시간에 실행되는 코드 또는 프로세스 ● 트리거 (Trigger) 작업이 실행될 시간을 정의하는 요소 (일정 시간, 주기 또는 특정 조건 등) ● 스케쥴러 (Scheduler) 스케줄링 작업을 관리하고 실행하는 주체입니다. 트리거된 작업을 실행하며, 작업의 예약, 중지, 수정 등을 관리합니다. 3) 주요 Scheduler ① Spring Schedul..
Pageable 1) Pageable의 개념 Pageable은 데이터를 페이지 단위로 검색하고 제어하는 인터페이스 페이지 번호, 페이지 크기, 정렬 기준 설정을 통해 원하는 페이지의 데이터를 가져옵니다. 스프링 프레임워크에서 주로 사용되며, JPA와 함께 자주 활용됩니다. 2) Pagealbe 인터페이스 메소드 ● getPageNumber() : 현재 페이지 번호 가져오기 ● getPageSize() : 페이지 크기(한 페이지에 포함될 항목의 수) 가져오기 ● getOffset() : 페이지의 시작 항목 인덱스 가져오기 ● getSort() : 정렬 기준 가져오기 (Sort 객체를 사용하여 속성과 정렬 방향을 지정할 수 있음) ● next() : 다음 페이지의 Pageable 생성 ● previousOr..
JPA 관계 매핑 1) JPA 관계 매핑의 개념 객체 간의 관계를 데이터베이스 테이블과 연결하는 기술 객체 지향 프로그래밍과 관계형 데이터베이스 간의 불일치를 해결할 수 있으며, 객체 간의 관계를 표현하고 조회, 추가, 수정, 삭제 등의 작업을 객체 단위로 수행할 수 있습니다. @OneToMany, @ManyToOne, @OneToOne, @ManyToMany 등의 애너테이션을 사용하여 관계를 표현할 수 있습니다. 2) 연관관계 ● 단방향 연관관계 한 엔티티에서 다른 엔티티를 참조하는 관계를 말합니다. 한 쪽 방향으로만 연관관계를 조회하고 수정할 수 있고, 연관 엔티티의 정보를 가져오기 위해서는 별도의 조회가 필요함. 간단하고 명확한 구조를 갖추어야 할 때 사용합니다. 아래 예시처럼 한 명의 작가(Aut..
@GenerativeValue 1) 개념 JPA에서 엔티티의 주요 키(primary key) 값을 자동으로 생성하는 방법을 지정하는데 사용 @GeneratedValue 애너테이션 바로 아래에 있는 필드가 주요 키(primary key)에 해당하는 필드입니다. 2) strategy @GeneratedValue 애너테이션은 strategy 속성과 함께 사용됩니다. strategy 속성은 주요 키 값을 생성하는 전략(strategy)을 지정하는 역할을 합니다. 일반적으로 세가지 주요 전략을 사용할 수 있습니다. ① GenerationType.IDENTITY ● 개념 데이터베이스의 자동 증가(auto-increment) 기능을 사용하여 기본 키 값을 생성합니다. 데이터베이스에 의존적인 전략으로, 대부분의 관계형..
JPA 맛 1) 취지 JPA 사용하기 전, JPA 없이 구현하는 것이 가능하다는 점을 확인해보자. JPA를 사용하게 되면 어떻게 코드가 바뀌는 지도 알 수 있을 것이다. 예시는 멤버(Member) 클래스와 취미(Hobby) 클래스의 관계를 파악하여, 취미 클래스를 출력하였을 때, 해당 취미를 가진 멤버가 출력되게 해보고자 했습니다. 2) ERD Diagram 멤버와 취미는 many to many 관계를 형성하고 있습니다. 하나의 멤버가 여러개의 취미를 가질 수 있고, 하나의 취미를 여러 멤버가 가지고 있을 수 있습니다. 3) 순서 1. Member.java로 멤버 클래스 만들어주기 @Data @AllArgsConstructor @NoArgsConstructor public class Member { pr..
조건문 if 1) if 구문 ① 개념 조건문을 구현하기 위해 사용되는 키워드 조건식이 참이면 if 블록 안의 코드가 실행되고, 조건식이 거짓이면 if 블록을 건너뛰고 다음 코드가 실행됩니다. ② 기본 구조 if (조건식) { // 조건이 참인 경우 실행되는 코드 } ③ 조건식 boolean 값 표현식으로 사용 조건식이 true로 평가되면 if 블록 안의 코드가 실행됩니다. 조건식은 비교 연산자, 논리 연산자, 메소드 호출 등을 사용하여 생성할 수 있습니다. ※ 논리연산자 AND ( && ) : 양쪽의 조건식이 모두 참(true)인 경우에만 전체 표현식을 참으로 평가 OR ( || ) : 양쪽의 조건식 중 하나 이상이 참(true)인 경우 전체 표현식을 참으로 평가 NOT ( ! ) : 단항 연산자로, 조..