Conventional Commits
Conventional Commits 에 대해 설명합니다.
Conventional Commits 에 대해 설명합니다.
서론 데이터베이스에서 처리하기 어려운 제약 조건을 애플리케이션 로직내에서 처리하려고하면 어떻게 해야할까? 코드를 일일이 적어서 처리하는 방식은 세련되지 못한다. 그렇다면 데이터가 저장되기전이나 데이터 변경이 감지되었을때 로직을 실행할 수 있게한다면 좋지않을까? 그걸 가능하게 해주는게 @PrePersist, @PreUpdate 어노테이션이다. 오늘은 ...
서론 데이터베이스에서 데이터를 삭제할 때 크게 두가지 방법이 있다. 물리적으로 데이터베이스에서 삭제하는 Hard Delete, 데이터는 유지하되 삭제 된 것처럼 보이게 하는 Soft Delete 오늘은 이 두가지에 대해서 알아보자. Hard Delete Hard Delete는 보통 Delete, Truncate 등을 이용해 테이블에서 물리적으로 ...
서론 JPA 구현체 중 하나인 하이버네이트에는 ddl-auto 라는 기능을 제공한다. 오늘은 이 기능에 대해서 알아보자. ddl-auto DDL이란 Date Definition Language 이다. 데이터를 생성하거나 수정, 삭제 등 데이터의 전체 골격을 결정하는 언어를 의미한다. ddl-auto 옵션은 JPA 엔티티를 만들어놓으면 해당 테이...
서론 데이터베이스에서 테이블을 삭제하거나, 초기화하는 경우에 사용되는 sql문으로는 DROP TABLE과 TRUNCATE가 있다. 이 둘에 대해서 알아보고 차이점을 비교해보자. DROP TABLE DROP TABLE은 테이블의 구조와 내부 데이터를 모두 제거한다. 테이블 내부 구조, 즉 연결된 모든 데이터, 인덱스, 제약 조건, 권환 사양 등을 ...
서론 코틀린에서 apply, let, run, also, with는 범위 지정 함수(Scope function)으로 불리며, 특정 객체에 대한 작업을 블록 안에 넣어 실행할 수 있도록 하는 함수이다. 오늘은 이 함수들의 차이에 대해서 알아보자. apply apply는 수신 객체의 프로퍼티를 변경한 후, 수신 객체 자체를 반환하는 함수이다. 객체 ...
서론 데이터 클래스의 특성 중 하나인 convention 원리와 관련된 특성인 구조 분해 선언에 대해 알아보자. 구조 분해 구조 분해를 사용하면 객체가 가지고 있는 여러 값을 분해해서 여러 변수를 한꺼번에 초기화 할 수 있다. data class Car( private val model : String, private val year :...
서론 데이터베이스 서버를 구축할 때 하나의 서버로만 운영한다면 어떻게 될까? 수 많은 요청이 들어왔을때 데이터 전달이 지연되는 상황이 생길 수 밖에 없을 것이다. 오늘은 서버의 부담을 줄이기 위한 구조인 Master-Slave 방식에 대해서 알아보자. Master-Slave Master-Slave 방식이지만 여러가지 이유와 개인적인 사유로 Wri...
서론 API에서 데이터를 요청받아 응답할때 데이터 전체를 넘겨줄 수도 있지만, 필요에 따라 데이터를 나누거나, 정렬해야할때가 있다. 이를 가능하게 해주는 기능을 페이징이라고 하는데 오늘은 스프링부트에서 이 페이징을 어떻게 구현하는지 알아보자. Pageable 페이징은 데이터를 요청 받을때 페이지를 나누듯이 데이터를 나누어 가져와 응답해주는 것을 ...
ENUM ;? 코틀린에서는 보통 ;(세미콜론)을 사용하지 않는다. 하지만 거의 유일하게 세미콜론을 사용하는 곳이 있는데 ENUM이다. 그 이유는 상수 목록과 메서드 정의를 구분하기 위해서 이다. enum class Color(val r: Int, val g: Int, val b: Int) { // 상수의 프로퍼티를 정의 RED(255, 0,...