Spring의 Lombok 라이브러리는 불필요한 코드와 작업을 줄여주는 좋은 라이브러리이지만, 무턱대고 사용할 경우 코드를 이해하는데 어려울 수 있습니다. Lombok 라이브러리에는 생성자를 자동으로 생성해주는 어노테이션이 3가지 있습니다.@NoArgsConstructor: Default 생성자를 생성합니다.@AllArgsConstructor: 모든 필드 값을 파라미터로 받는 생성자를 생성합니다.@RequiredArgsConstructor: final이나 @NonNull로 선언된 필드만을 파라미터로 받는 생성자를 생성합니다. @NoArgsConstructor@NoArgsConstructor 어노테이션을 사용하면 클래스에 명시적으로 선언된 생성자가 없더라도 인스턴스를 생성할 수 있습니다.public cla..
내장 함수내장 함수SQL에서는 함수의 개념을 사용합니다. 함수란 특정 값을 입력받아 그 값을 계산하여 결과 값을 돌려주는 것을 의미합니다.함수는 DBMS가 제공하는 내장 함수(built-in function)와 사용자가 필요에 따라 직접 정의하는 사용자 정의 함수(user-defined function)로 나누어집니다.SQL 내장 함수는 상수나 속성 이름을 입력 값으로 받아 단일 값을 결과로 반환합니다.모든 내장 함수는 최초에 선언될 때 유효한 입력 값을 받아야 합니다. 숫자 함수 문자 함수 날짜 및 시간 함수 NULL 값 처리NULL은 아직 지정되지 않은 값으로 0 또는 " (빈문자), ' ' (공백) 과는 다른 특별한 값입니다.NULL 값은 비교 연산자로 비교가 불가능합니다.NULL 값의 산술 연산..
내장 함수내장 함수내장 함수는 DBMS에서 제공하는 기본적인 함수들로 데이터 처리 및 쿼리 작업을 수행하는데 사용됩니다.내장 함수는 크게 2가지로 나뉘어 집니다.단일 행 함수: 문자형 함수, 숫자형 함수, 날짜형 함수, 형 변환 함수, NULL 관련 함수다중 행 함수: 집계 함수, 그룹 함수, 윈도우 함수 단일 행 함수단일 행 함수에는 문자형, 숫자형, 날짜형, 형 변환, NULL 관련 함수가 있습니다.1. 문자형 함수문자형 함수는 문자 또는 문자열을 입력받아 처리하는 함수로, SELECT, WHERE, ORDER BY 절에서 사용할 수 있습니다.함수 설명LOWER(문자열)문자열을 소문자로 변환합니다.UPPER(문자열)문자열을 대문자로 변환합니다.INITCAP(문자열)문자열의 첫 문자를 대문자로 변환합니..
JPA란?JPA는 Java Persistence API의 약자로, 자바 객체를 관계형 데이터베이스에 영속적으로 저장하고 조회할 수 있는 ORM 기술에 대한 표준 명세를 의미합니다. JPA를 통해 개발자는 SQL 쿼리를 작성하지 않고도 객체를 통해 데이터베이스를 조작할 수 있으며, 객체 지향적인 코드 작성과 유지 보수성이 향상됩니다.Spring Data JPA인터페이스인 JPA를 사용하기 위해선 구현체가 필요합니다. 대표적으로 Hibernate, Eclipse Link 등이 있습니다. 하지만, Spring에서는 JPA를 사용할 때 이 구현체들을 직접 다루지 않고, 구현체들을 좀 더 쉽게 사용하고자 추상화 시킨 Spring Data JPA라는 모듈을 이용하여 JPA 기술을 다룹니다.JPA → Hiberna..
Spring JPA의 엔티티 대부분은 @Id 어노테이션을 1개 씩만 갖는 단일 키 구조를 띄고 있습니다.하지만, 필요에 따라 단일키가 아닌 복합키로 기본 키를 설정해야 할 때가 있습니다. 이번에는 JPA를 통해 복합키를 지정하는 방법을 알아보겠습니다.Spring JPA에서 복합키를 지정하는 방법에는 2가지가 있습니다.@EmbeddedId을 사용하는 방식 (→ 객체 지향 방식에 가깝습니다.)@IdClass을 사용하는 방식 (→ DB방식에 가깝습니다.?) @EmbeddedId다음과 같이 기본키가 (emp_name, emp_no)의 복합키로 이루어진 emp 테이블이 있습니다.create table emp ( emp_name varchar(255) not null, emp_no integer not ..
이미지를 압축 파일로 저장하기Docker Image를 압축하면 .tar 확장자를 가진 파일로 생성됩니다.docker save -o [OUTPUT_FILE] IMAGE# my-app:v1 이미지를 my-app-v1.tar로 압축.docker save -o my-app-v1.tar my-app:v1# my-app:v1 이미지 제거docker rmi my-app:v1docker save 명령어 옵션docker save 명령어는 Docker Image를 .tar 파일로 저장하는데 사용됩니다. 이 명령어에는 다음과 같은 옵션이 있습니다.-o, --output: 저장할 파일의 경로를 지정합니다. 해당 옵션은 필수로 설정해줘야 합니다.-quiet: 해당 옵션을 사용하면 명령어 실행 중 출력되는 메시지를 최소화 할 수..
Dockerfile과 Docker Compose는 모두 Docker 생태계의 일부이며 서버 구동과 관련이 있지만, 그 역할과 목적에는 중요한 차이점이 있습니다.Dockerfile정의Dockerfile은 Docker Image를 생성하기 위한 레시피 혹은 설계도 같은 것입니다. 이 파일에는 컨테이너가 어떻게 작동해야 하는지에 대한 지시사항이 담겨 있습니다. 역할Dockerfile은 운영체제, 실행할 코드, 필요한 라이브러리 및 환경 변수 설정 등을 포함하여 특정 애플리케이션을 실행하는 데 필요한 모든 것을 정의합니다. 사용 예시예를 들어 Python 애플리케이션을 Docker 컨테이너에서 실행하기 위해 필요한 Python 런타임, 코드 복사, 필요한 패키지 설치 등을 Dockerfile에 명시합니다.FRO..
- Total
- Today
- Yesterday