스프링 부트 Custom 검증 어노테이션 기능 구현

프론트에서 사용자가 API 요청을 위해 전달한 파라미터들을 검증하겠지만, 표현 계층 (controller)에서도 검증을 하여 안정성을 높이는 것도 중요한 부분이라고 생각합니다.이 경우에는 javax.validation에서 제공해주는 다양한 검증 어노테이션을 사용할 수

4일 전
·
0개의 댓글

@JsonNaming과 @JsonProperty

Spring Boot에서 클라이어트로부터 JSON String 포맷으로 데이터를 주고 받을 경우 간혹 Javascript에서 Snake Case 방식으로 key 값을 전송하는 경우가 있습니다.스네이크 케이스는 phone_number 처럼 단어마다 언더스코어가 들어가는

4일 전
·
0개의 댓글

Kotlin 정보은닉 캡슐화

각 클래스나 메서드, 프로퍼티의 접근 범위를 가시성(Visibility)이라고 합니다. 클래스에서 민감하거나 불필요한 부분은 숨기고 사용하기 위해 필요한 부분만 공개하듯이 각 클래스나 메서드, 프로퍼티에 가시성 지시자에 의해 공개할 부분과 숨길 부분을 정할 수 있습니다

2021년 5월 10일
·
0개의 댓글

코틀린 기본문법

Intellij에서 코틀린 프로젝트를 생성하고, 마치 대학생때 가장 먼저 접하는 프로그래밍 대표 예제 Hello Kotlin!을 콘솔창에 띄우는 예제를 작성하였습니다.위의 kotlin 파일에서 main() 함수만 정의하고 실행시키면 콘솔에 정상적으로 Hello Kotl

2021년 5월 8일
·
0개의 댓글

Gradle 기본 다지기 2편

Spring Boot에서 빌드 툴로 gradle을 사용할 경우에 이제까지 모르고 썼던 코드들에 대해서 정리를 해봤습니다.먼저, 의존성 라이브러리를 땡겨오기 위해 작성하는 build.script에 대해서 살펴보겠습니다.buildscript는 gradle로 task를 수행

2021년 5월 7일
·
0개의 댓글
post-thumbnail

Cursor와 Paging 기반 ItemReader 구현체

Cursor 방식은 DB와 커넥션을 맺은 후, Cursot를 한칸씩 옮기면서 지속적으로 데이터를 가져옵니다. DB와 어플리케이션 사이 통로를 하나 연결해서 하나씩 데이터를 가져온다고 생각하면 됩니다.JdbcCursorItemReaderHibernateCursorItem

2021년 5월 7일
·
0개의 댓글
post-thumbnail

@JobScope와 @StepScope

@JobScope와 @StepScope는 스프링의 기본 Scope인 싱글톤 방식과는 대치되는 역할입니다.Bean의 생성 시점이 스프링 애플리케이션이 실행되는 시점이 아닌 @JobScope, @StepScope가 명시된 메서드가 실행될 때까지 지연시키는 것을 의미합니다.

2021년 5월 7일
·
0개의 댓글
post-thumbnail

스프링 부트 휴먼회원 배치 설계

위에서 살펴본 스프링 부트 배치 컴포넌트들을 이용하여 커뮤니티 사이트에 가입한 회원 중 1년이 지나도록 상태 변화가 없는 회원을 휴먼회원으로 전환하는 배치 예제코드를 작성하였습니다.Java 8Gradle 6.3Spring Boot 2.3.0 RELEASEIntelliJ

2021년 5월 7일
·
0개의 댓글
post-thumbnail

스프링 부트 배치 입문을 위한 용어정리

스프링 부트 배치는 대용량 데이터를 처리하는 기술로만 알고 있어서, 이번 기회에 한번 개념만 살펴보았습니다.스프링 부트 배치를 왜 사용하는지 장점부터 살펴보았습니다.대용량 데이터 처리에 최적화되어 고성능을 발휘합니다.효과적인 로깅, 통계 처리, 트랜잭션 관리 등 재사용

2021년 5월 6일
·
0개의 댓글

Java NIO 채널(Channel)

이전에 올렸던 java.io 패키지에 대해서 공부하고 포스팅했지만, Java 4부터 등장한 java.nio에 대해서도 궁금하여 포스팅하였습니다.NIO는 의미만 봤을 때 Non-blocking IO의 줄임말이라고 생각했지만, 사실 New IO의 줄임말이였습니다. java

2021년 5월 4일
·
0개의 댓글

멀티 모듈에서 QueryDSL 설정 방법

최근에 Spring Boot를 사용하여 멀티 모듈을 구성하였고, 하위 모듈별로 꼭 필요한 의존성만 설정하도록 했습니다. Spring Boot 2.3Gradle 6.3imagecore 모듈은 여러 하위 모듈에서 공통으로 사용하는 도메인 계층을 관리합니다.gradle이 빌

2021년 4월 28일
·
0개의 댓글

람다와 함수형 인터페이스

함수형 인터페이스는 추상 메서드가 하나만 정의된 인터페이스를 의미합니다. 함수형 인터페이스를 작성할 때는 인터페이스 이름 위에 @FunctionalInterface라고 명시해주면 메서드를 추가로 정의할 경우 Java 컴파일러가 에러를 발생시킵니다.Java에서 제공해주는

2021년 4월 23일
·
0개의 댓글

검색 알고리즘

오늘은 검색 알고리즘에 대해서 가볍게 공부해봤습니다. 그 중에서도 배열과 Linked List에 대해서 자세히 알아 보았고, 주로 어떤 용도에서 활용할 수 있을지도 알게 되어서 좋았습니다. 정적 Array가 처음에 뭐지 싶었는데 찾아보니… 그냥 배열을 정적 Array라

2021년 4월 23일
·
0개의 댓글

해시 테이블

해시 테이블에서 데이터를 저장하고 검색할때 어떻게 찾는지 오늘 공부해보았습니다.알고리즘이나 암호화쪽을 공부할 때 가장 많이 들었던 용어가 해시코드였는데 해시코드란 어떤 본문의 길이와 상관없이 일정한 크기의 해시 값을 의미합니다. 따라서 원문에서 공백이나 점 하나라도 다

2021년 4월 23일
·
0개의 댓글
post-thumbnail

JPA 상속 관계 매핑

상속관계 매핑은 객체의 상속관계를 데이터베이스에 어떻게 매핑하는지 다룹니다.관계형 데이터베이스에는 객체지향 언어에서 다루는 상속이라는 개념이 없습니다. 대신에 슈퍼타입 서브타입 관계라는 모델링 기법이 객체의 상속 개념과 가장 유사합니다.ORM에서 이야기하는 상속 관계

2021년 4월 20일
·
0개의 댓글
post-thumbnail

JPA 조인 컬럼 및 조인 테이블 사용하기

데이터베이스 테이블의 연관관계를 설계하는 방법은 크게 2가지 입니다.조인 컬럼 사용(외래 키)조인 테이블 사용(테이블 사용)테이블 간에 관계는 주로 조인 컬럼이라 부르는 외래 키 컬럼을 사용해서 관리합니다.스크린샷 2019-10-30 오전 1 16 48

2021년 4월 20일
·
0개의 댓글
post-thumbnail

JPA 복합 키과 식별 관계 매핑

복합 키를 매핑하는 방법과 식벽관계, 비식별 관계를 매핑하는 방법을 알아보겠습니다.데이터베이스 테이블 사이에 관계는 외래 키가 기본 키에 포함되는지 여부에 따라 식별 관계와 비식별 관계로 구분됩니다. 두 관계의 특징을 이해하고 각각을 어떻게 매핑하는지 알아봅시다.식별

2021년 4월 20일
·
0개의 댓글
post-thumbnail

JPA Entity 매핑

JPA를 사용하는데 가장 중요한 일은 엔티티와 테이블을 정확히 매핑하는 일입니다.매핑 어노테이션을 숙지하고 사용해야 하는데 JPA는 다양한 매핑 어노테이션을 지원합니다.아래와 같이 크게 4가지로 분류할 수 있습니다.객체와 테이블 매핑: @Entity, @Table기본

2021년 4월 20일
·
0개의 댓글
post-thumbnail

JPA 연관관계 매핑 방법

이번 공부의 목표는 객체의 참조와 테이블의 외래 키를 매핑하는 것이 목표입니다.연관관계 중에선 다대일(N:1) 단방향 관계를 가장 먼저 이해해야 합니다. 예를 회원과 팀의 관계를 통해서 설명하겠습니다.회원과 팀이 있습니다.회원은 하나의 팀에만 소속될 수 있다.회원과 팀

2021년 4월 20일
·
0개의 댓글
post-thumbnail

JPA 개념

JPA(Java Persistence API)는 ORM(Object Relational Management) 기술 표준으로 스프링 부트 교재를 보면 대부분 실려있는 기술 스펙 입니다.JPA가 어떤기술인지 알아보기전에 대체 왜 JPA가 세상에 나오게 됬는지에 대해서나 알

2021년 4월 20일
·
0개의 댓글