전체 글 (84) 썸네일형 리스트형 @NotNull @NotEmpty @NotBlank BudgetKeemi 프로젝트에서의 고민데이터를 검증하다 보면 @NotNull, @NotEmpty, @NotBlank 이 세 가지 어노테이션을 자주 사용하게 된다.하지만 이 어노테이션은 서로 다른 특징을 가지고 있어 가끔 헷갈린다.@NotNull @NotEmpty @NotBlank의 특징 @NotNull: 값이 Null을 허용하지 않는다@NotEmpty: 값이 Null 이나 ""(빈문자열)을 허용하지 않는다@NotBlank: 값이 Null 이나 ""(빈문자열)," "(공백)을 허용하지 않는다문제점나는 이 3가지를 자주 헷갈리곤 해서 허용하지 않는 범위가 가장 넓은 @NotBlank를 자주 사용했다. 그러던 도중에 이번 프로젝트에서 문제가 발생했다.UnexpectedTypeException 예외가 발생.. 클라이언트? 서버? 구현 문제 BudgetKeemi 프로젝트에서의 고민가끔가다 어떤 기능을 클라이언트에서 구현할지, 서버에서 구현할지 고민될 때가 있다.나도 BudgetKeemi 프로젝트를 진행하면서도 이러한 고민을 했다.(물론 데이터 검증을 진행하는 경우 서버에서 검증하는 것은 당연하다.) 이 프로젝트에서는 거래내역 데이터를 날짜 기준 오름차순 또는 내림차순으로 정렬해야하는 경우가 있었다. 이런 상황에서 어떻게 해야할까우선 둘의 차이점을 알아보자클라이언트에서 구현1. 유연성2. 서버 부담 감소3. 빠른 구현- > 소규모 서비스의 경우의문점2번 서버 부담 감소에서는 의문이 들었다.정렬 혹은 분류되지 않은 대량의 데이터를 받는게 더 부담이 아닐까?서버에서 구현1. 성능 최적화2. 일관성 유지3. 데이터 처리 로직 분리-> 정렬하는 것이.. 서비스 계층 간의 의존성 BudgetKeemi 프로젝트에서의 고민코드를 작성하다보면 내가 사용하는 언어와 프레임워크 특징을 잘 사용하고 있는가에 대한 의문이 들때가 있다. 포트폴리오 만드는 취준생 입장에서 코드 리팩토링이나 비지니스 로직을 추가하는 경우가 많이 없다보니 내가 지금 작성한 코드가 일으킬 사이드 이펙트를 상상하기 힘들다.하지만 각 계층의 역할을 이해하고 구조를 고민하면 더 좋은 코드를 작성할 수 있다.그래서 늘 구조를 설계할 때 신중해야한다. 이번에는 서비스와 컨트롤러 간의 의존성 분리에 대해서 생각해보았다Spring MVC 패턴 개발에 자주 쓰이는 MVC 패턴은 컨트롤러, 서비스, 레포지토리 이 세가지 계층을 떠올리게 한다.각 엔티티마다 하나의 컨트롤러, 서비스, 레포지토리를 만들어서 서로 의존하면 참 좋겠지만 그.. 이전 1 ··· 3 4 5 6 7 8 9 ··· 28 다음