목록전체 글 (287)
개발자는 기록이 답이다
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/uwzi4/btsEHHGOLem/Yi6ikRlQiKgeg4I2jrukNk/img.png)
1. Reactive stream 구조 데이터 혹은 이벤트를 제공하는 Publisher 데이터 혹은 이벤트를 제공받는 Subscriber 데이터 흐름을 조절하는 Subscription 2. Publisher subscribe함수제공해서publisher에다수의 subscriber 등록 지원 subscription을포함하고Subscriber가추가 되면 subscription 제공 @FunctionalInterface public static interface Publisher { public void subscribe(Subscriber
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cU5YXV/btsEE1ziIrv/KKzuPBOoTvFZJg4tuXAzCk/img.png)
@RequestBody가 바인딩하는 과정을 알기 위해서 우선 Spring Web MVC 모듈에서 HTTP 요청이 오면 어떤 일이 일어나는 지 알고 있어야 합니다. 관련된 내용은 여기에 자세한 내용이 나와있어서 참고했습니다. 하지만 직접 눈으로 보지 않으면 완전히 이해하기가 어렵고, 머리속에서 금방 잊혀져서 실제로 디버깅을 해보고자 했습니다. 1. RequestBody는 기본생성자만 사용한다 저는 이전에 오브젝트 서적을 완독했기 때문에, 이제 드디어 "객체 지향적인" 코드를 작성해봐야 겠다고 생각했습니다. 그래서 RequestDTO의 필드들에 대한 검증을 java.util.regex.Pattern를 이용해서 처리하고 객체 생성할때 validate메소드를 호출하면 될 것이라고 생각했습니다. 해당 코드는 아래..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/HQvkz/btsEEAhNZQH/xepjvv3jPLNakO0SUrTVyK/img.png)
프로젝트를 하면서 회원가입 시 요청 값에 대한 검증과 예외 처리를 어떻게 할지 여러 방법을 생각해봤습니다. 요청 값을 검증하는 방법으로 4가지가 있습니다. Argument Resolver 사용 Assert 단언문을 사용한 검증 메소드 Bean Validation 사용 커스텀 어노테이션 사용 회원 가입 로직은 아래와 같습니다. 1. 회원가입 요청 값에 대한 요구사항 이메일 공백이거나 null일 수 없다 이메일 형식이어야 한다 비밀번호 공백이거나 null일 수 없다 영단어 소문자, 숫자 조합으로 각각 1개 이상 포함되어야 한다 범위는 8자~13자 이내여야 한다 생년월일 공백이거나 null일 수 없다 YYYY-MM-DD 형식이어야 한다 이름 공백이거나 null일 수 없다 핸드폰 번호 공백이거나 null일 수..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/dlPIut/btsEFSI3OoF/lJqlVoPO1KVVwJan8YNCQk/img.png)
Reactive Streams를 알기 위해서는 Reactive manifesto에 대해 알아야 한다. Reactive Streams를 만들기 위해 어떠한 조건과 구성요소를 갖춰야 한다고 선언하는게 Reactive manifesto이다. 1. Reactive란? 1. reacting to events or situations rather than acting first to change or prevent something 2. (무언가를 바꾸거나 예방하기 위해) 먼저 향동하기 보다는 사건이나 상황에 반응하는 2. Reactive manifesto 소프트웨어 아키텍처에 대한 선언문 구체적인 실천 방아나 이나 개발론을 갖고 있기 보다는 Reactive Streams 의 특성을 강조하고 구축에 필요한 가이드 ..