본문 바로가기 메뉴 바로가기

Dev Note

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

Dev Note

검색하기 폼
  • CATEGOTY
    • 데이터분석
    • AI
    • Algorithm
    • Coding Tes..
    • Java
    • Spring
    • Python
    • Django Fra..
    • Database
    • Infra
    • Programmin..
    • Javascript
    • Vue.js
    • Computer S..
    • Git & Gith..
    • Project
    • ETC
    • Books
    • Designs
  • 방명록

전체 글 (259)
HTTP 를 이해하고 중복 코드를 없애봅시다.

해당 예외 처리 클래스의 문제점은 무엇일까요? 바로 중복이 있다는 것입니다. BAD_REQUEST 가 무려 3 번이나 등장했습니다. HTTP 구조를 이해할 필요가 있습니다. Spring ResponseEntity 의 정의입니다. public class ResponseEntity extends HttpEntity Extension of HttpEntity that adds an HttpStatus status code. 쓰임입니다. @RequestMapping("/handle") public ResponseEntity handle() { URI location = ...; HttpHeaders responseHeaders = new HttpHeaders(); responseHeaders.setLocatio..

카테고리 없음 2022. 2. 3. 22:22
SQLException 으로 회원가입 중복검사 처리하기

이전 게시물에서 Controller 단에서 요청받은 requestbody 의 유효성을 검증하는 과정을 진행하였습니다. 필드에 어노테이션을 붙여 검증해주는 것이었는데요, 이 때 고려하지 않은 것이 유저이메일과 유저닉네임 중복처리였습니다. 이 두 가지에서 발생하는 에러는 SQLException 이었습니다. User Entity의 필드에 Unique 설정을 걸어 주었기 때문입니다. 따라서 커스텀 에러를 만들고, 이를 반환하도록 하였습니다. 먼저 SQLException을 상속받는 커스텀 예외 클래스를 만들어줍니다. public class AlreadyExistEmailException extends SQLException { private static final String MESSAGE = "이미 등록된 이메..

카테고리 없음 2022. 2. 3. 15:53
ResponseEntity 에 대해 알아봅시다

ResponseEntity 는 HttpEntity 를 상속받는 클래스로, HTTP 요청 또는 응답에 해당하는 HttpHeader 와 HttpBody를 포함하는 클래스입니다. ResponseEntity 의 생성자를 봅시다. HttpStatus 는 필수이고, 그 외에 body, headers(Map) 은 선택적으로 넣을 수 있습니다. 이 세 가지 파라미터를 가진다고 생각하면 되겠습니다. body – the entity body headers – the entity headers status – the status code /** * Create a {@code ResponseEntity} with a status code only. * @param status the status code */ public ..

Spring 2022. 2. 2. 18:23
RuntimeException 에 대해 알아봅시다

RuntimeException RuntimeException은 주로 프로그래머의 실수에 의해 발생될 수 있는 예외를 의미합니다. 코드를 수정하여 해결할 수 있는 예외이기 때문에 잘 숙지하고 있어야 합니다. 예시는 다음과 같습니다. 배열을 벗어난 경우 ArrayIndexOutOfBoundsException 값이 null 인 참조변수의 멤버를 호출하려 한 경우 NullPointerException 클래스간 형변환을 잘못한 경우 ClassCastException 정수를 0으로 나누려고 한 경우 ArithmeticException 입력한 데이터 형식이 잘못된 경우 DataFormatException 예외처리(Exception Handling) 이러한 예외들을 미리 처리하여 실행중인 프로그램이 비정상적으로 종료되..

Spring 2022. 2. 2. 17:01
비어있는 문자열 ""을 처리하기

.bookPubYear(Integer.parseInt(((String) bookInfo.get("publication_year")).isEmpty() ? "0000" : ((String) bookInfo.get("publication_year")))) Map 자료구조의 데이터를 get("key") 로 가져왔을 때, "" 빈 문자열 object 가 반환되었습니다. 문자열이 비어있는 것과 Null 인 것은 다릅니다. Null 은 메모리에 할당 자체가 되지 않은 상태입니다. 따라서 위 같은 경우 길이가 0인 문자열로, .isEmpty() 메서드를 통해 True 이면 비어있는 것을 확인합니다. 이후 삼항 연산자를 통해 로직을 처리해 줍니다. 삼항연산자 조건 ? 참일경우 : 거짓일경우

카테고리 없음 2022. 2. 2. 02:47
e.printStackTrace(); 를 쓰지 맙시다!!

보안에 매우 취약하다! 알아보기도 힘들다! log.error 로 대체하도록 합시다.

카테고리 없음 2022. 2. 2. 02:38
회원가입 유효성 검사를 위한 Global Custom Validation 설정하기

spring-boot-starter validation implementation 'org.springframework.boot:spring-boot-starter-validation' spring-boot-starter validation 을 사용하면 hibernate validation 을 쓰게 됩니다. @Valid 컨트롤러 단에 @Valid 를 @RequestBody 앞에 붙여서 개별 파라미터가 아닌 리퀘스트 바디 전체를 검증 할 수 있습니다. @PostMapping("/signup") public ResponseEntity signUp(@Valid @RequestBody SignUpReq signUpReq){ ... return new ResponseEntity(map, HttpStatus.OK)..

카테고리 없음 2022. 2. 2. 02:36
@Slf4j 로깅 in SpringBoot 2.6.2

default 레벨을 확인하자. 로깅 디폴트 레벨에 따라 출력되는 로그가 달라질 수 있다. 로그를 왜 쓸까? 로그란 무엇일까? 정리하자!! https://deeplify.dev/back-end/spring/logging [스프링/Spring] slf4j, log4j2 로그 설정 하는 방법 스프링에서 필수적으로 사용해야 하는 로그 (콘솔, 파일) 설정하는 방법에 대해서 소개합니다. deeplify.dev 참고자료 https://projectlombok.org/features/log @Log (and friends) projectlombok.org https://www.baeldung.com/spring-boot-logging Logging in Spring Boot | Baeldung Learn how t..

카테고리 없음 2022. 2. 2. 01:58
이전 1 2 3 4 5 6 7 ··· 33 다음
이전 다음
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
  • 폰트
  • ssafy후기
  • 싸피6기
  • 깃허브계정
  • ssafy결과
  • 개발자도서추천
  • intj여자
  • ssafy합격후기
  • 상업용무료폰트
  • 클린코더
  • 개발자로드맵
  • 개발자커리
  • 개발언어추천
  • 컨페티분석
  • 깃허브계정2개
  • 개발자책추천
  • 맥과윈도우로깃허브
  • SSAFY
  • 개발도서추천
  • 디즈니얼굴
  • 폰트추천
  • AI공부하기
  • ai공부
  • 개발언어순위
  • 브왈라
  • 개발자
  • 코딩도서
  • 한글무료폰트추천
  • ssafy6기
  • 무료컨페티분석
more
«   2026/05   »
일 월 화 수 목 금 토
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함

Blog is powered by Tistory / Designed by Tistory

티스토리툴바