#springETag with SpringETag란 무엇일까? ETag 또는 Entity Tag는 월드 와이드 웹 프로토콜인 HTTP의 일부다. 그것은 HTTP가 웹 캐시 유효성 검사를 위해 제공하는 몇 가지 메커니즘 중 하나로, 클라이언트가 조건부 요청을 할 수 있게 한다. … ETag는…
#springSpring Boot에서 DTO 검증하기검증이 왜 필요할까? 나이를 입력해야 하는 데 이름을 입력한다면? 전화번호를 입력해야 하는 데 이메일을 입력한다면? 데이터를 저장할 때 당신은 아무 값이나 저장할 것인가? 아니다. 입력 값이 유효한 값인지 확인을 하고 저장할 것이다. 그래서 제목에서…
#springAPI 문서 자동 화 - Swagger 팔아보겠습니다Spring REST Docs 같이 테스트 코드 작성하면서 문서화하는게 지겹다고요? 문서 화면을 알록달록 이쁘게 만들고 싶다고요? 간단한 코드로 컬러풀한 문서를 만든다!! Swagger가 있습니다. Swagger은 작성하기 어렵고 심지어 테스트까지 …
#springAPI 문서 자동화 - Spring REST Docs 팔아보겠습니다프 로덕션 코드와 분리하여 문서 자동화를 하고 싶다고요? 신뢰도 높은 API 문서를 만들고 싶다고요? 테스트가 성공해야 문서를 만들 수 있다!! Spring REST Docs가 있습니다. API 문서를 자동화 도구로는 대표적으로 Spring REST …
#exceptionSpring에서 전역 예외 처리하기Spring에서 예외 처리하는 방법은 여러 가지가 있다. 메서드에서 try/catch를 써서 처리할 수도 있고, 를 사용하여 컨트롤러 내에서 발생하는 예외를 처리할 수도 있다. 하지만 지금 알아볼 것은 전역에서 발생하는 예외를 처리하는 방법을 알아보…
#interfaceFunctional Interface란Java8부터 함수형 프로그래밍을 지원한다. 함수를 일급객체처럼 다룰 수 있게 제공하는 Functional Interface에 대해 알아볼 것이다. Functional Interface란? 단 하나의 추상 메서드를 가지는 인터페이스. - Java L…
#object-calisthenic한 메서드에 오직 한 단계의 들여쓰기만Object Calisthenics Rule 1: One level of indentation per method 객체지향 생활 체조의 규칙 1을 보면 메서드당 들여쓰기 한 번이라고 한다. 🤔흠…왜…굳이? 이곳의 말을 부분 인용하면 (…은 생략된 부…
#collectionnew ArrayList<>() vs Arrays.asList()List를 만들때 대부분은 와 를 사용하여 만든다. 그럼 와 의 차이를 알고 사용하고 있는가? 이번 글에서는 두개의 차이점을 알아볼 것이다. 1. return type 와 는 다른 클래스다. 는 ArrayList를 는 Arrays의 정적 클래스인 A…
#object-calisthenic일급 컬렉션을 사용하는 이유일급 컬렉션이란? 본 글은 일급 컬렉션 (First Class Collection)의 소개와 써야할 이유를 참고 했다. 일급 컬렉션이란 단어는 소트웍스 앤솔로지의 객체지향 생활체조 규칙 8. 일급 콜렉션 사용에서 언급되었다. Collection을 W…
#naming좋은 코드를 위한 자바 메서드 네이밍네이밍이 중요한 이유 클린 코드 참조 코드를 작성한 의도와 목적이 명확해야 하며 다른 사람이 쉽게 읽을 수 있어야 하기 때문이다. 왜 그래야 하나? 코드의 가독성이 좋아진다. 그러면 뭐가 좋나? 다른 사람이 코드를 이해하는데 들이는 시간을 최소화하는…