프로그래밍49 [학습] 리액티브 프로그래밍 이 글은 크레이그 윌즈, 『스프링 인 액션』, 심재철 역, 제이펍(2020) 의 내용을 바탕으로 작성하였습니다. 좋은 책이니 스프링의 트렌드를 학습해보고 싶다면 정독을 권합니다. 링크 스프링 인 액션 리액티브 프로그래밍 지원을 강화한 스프링 5의 모든 것을 탐구한다! 『스프링 인 액션』에서는 스프링 5와 스프링 부트 2를 사용해서 애플리케이션을 개발하는 데 필요한 여러 핵심 기능을 알 www.yes24.com 1. 명령형과 리액티브 명령형은 순차적으로 연속되는 작업이며, 각 작업은 한 번에 하나씩, 이전 작업 다음에 실행된다. 데이터는 모아서 처리되고 이전 작업이 데이터 처리를 끝낸 후 다음 작업으로 넘어갈 수 있다. 리액티브는 데이터 처리를 위해 일련의 작업들이 정의되지만, 이 작업들은 병렬도 실행될 .. 2021. 2. 26. [JPA] Bean Validation과 Hibernate apply-to-ddl 이 글은 이전에 작성한 포스팅에 기반을 두고 있다. [JPA] nullable=false와 @NotNull 비교, Hibernate Validation 오늘은 다음의 고민 때문에 글을 작성하게 되었다. JPA에서 DDL을 자동으로 생성할 수 있는데, 이 때 not null 옵션은 어떻게 붙이나? JPA의 엔티티 객체에 @NotNull 검증 어노테이션을 주면 어떻게 되나 kafcamus.tistory.com 이전 글을 간단히 정리하면 다음과 같다. JPA에서는 DDL 자동 생성시, @NotNull 어노테이션을 쓴 컬럼을 not null로 설정해준다. 하지만 똑같이 null을 금지하는 @NotEmpty과 @NotBlank는 컬럼을 not null로 설정해 주지 않는다. 이것은 이상하다는 생각이 들었다. 이전.. 2021. 2. 22. [JPA] nullable=false와 @NotNull 비교, Hibernate Validation 오늘은 다음의 고민 때문에 글을 작성하게 되었다. JPA에서 DDL을 자동으로 생성할 수 있는데, 이 때 not null 옵션은 어떻게 붙이나? JPA의 엔티티 객체에 @NotNull 검증 어노테이션을 주면 어떻게 되나? @NotNull 대신 @NotEmpty나 @NotBlank를 쓰면 어떻게 되나? 엔티티에 검증 로직을 붙이면 어떻게 작동하나? JPA의 DDL 생성과 제약조건 매핑 JPA는 데이터베이스 스키마를 자동으로 생성하는 기능을 지원한다. 엔티티로 삼을 객체에 @Entity 어노테이션을 붙이고, 추가적으로 여러 매핑 정보를 엔티티의 필드 위에 추가하여, 자동 생성되는 DDL에 제약조건을 추가할 수 있다. @Entity public class Member { @Id @GeneratedValue(s.. 2021. 2. 18. 6. 프로젝트 요구사항 정리와 ERD 프로젝트를 시작할 때 제일 먼저 했어야 하는 부분인데 토이 프로젝트고 느슨한 협업을 지향하다 보니 빼먹고 이제야 진행한 설계. 앞으로는 이 설계대로 서버를 구축하고, 프론트엔드 역시 만들어가려고 한다. 1. 기능 목록 논의하기 맨 처음 프로젝트를 시작할 때, 함께하는 팀원 친구들과 상의한 내용이 있었다. 다만 도메인과 주요 기능을 친구들과 내가 서로 다르게 이해하는 경우가 있어서, 먼저 노션에 기능 목록을 만들고 서로 작성한 내용을 확인하기로 했다. 그 과정에서 기능을 어떻게 보여주면 좋을지, 어떤 기능을 추가하면 좋을지, 어떤 것은 빼도 괜찮을지에 대해 논의할 수 있었다. 2. 요구사항 기술서 작성 위에서 기능 목록을 작성했지만, 내용이 정리되지 않아 바로 활용할 수 없었다. 그래서 ERD를 그려보기 .. 2021. 2. 18. DTO란 무엇인가, VO와의 비교 오늘은 다음의 고민 때문에 글을 작성하게 되었다. DTO가 정확히 뭘 의미하는 거지? DTO를 꼭 써야하는 이유가 뭐지? DTO랑 VO를 많이 비교하던데, 뭐가 다른거지? DTO란 무엇인가 DTO(Data Transfer Object, 데이터 전송 객체)는 프로세스 간에 데이터를 전달하는 객체이다. 이해를 위해, "리팩토링"의 저자로 유명한 마틴 파울러가 DTO에 대해 어떻게 정의했는지 참고해 보자. P of EAA: Data Transfer Object | P of EAA Catalog | Data Transfer Object An object that carries data between processes in order to reduce the number of method calls. For a .. 2021. 2. 16. Controller에서 Service에 값을 어떻게 전달할까? 바로 직전에, 스프링 부트에서 MVC 패턴을 구현하는 방법에 대해 간단한 글을 올렸다. 고민: SpringBoot에서의 MVC 패턴 이 글은 다음의 고민에서 시작한 글이다. 내가 스프링 부트로 지금까지 만든 프로젝트들은 MVC 패턴을 잘 따르고 있나? 각각의 계층은 어떤 역할을 수행하고, 어떻게 영향을 주고 받아야 하나? 스 kafcamus.tistory.com 그런데, 스프링 부트를 통해 MVC 패턴으로 기능을 구현하면서 늘 궁금했던 부분이 있다. "컨트롤러(Web Layer)에서 서비스(Service Layer)로 값을 전달할 때, 무엇으로 전달해야 하나?" 1. 지금까지의 개발 지금까지의 진행 이전에는 우아한테크코스에서 학습한 내용 및 책에 있는 내용을 따라하다 보니, 컨트롤러가 뷰의 요청을 DTO.. 2021. 2. 15. 이전 1 ··· 4 5 6 7 8 9 다음 반응형