
🎯 DTO 란?? DTO는 Data Transfer Object의 약자이다. DTO는 계층 간 데이터를 전달하기 위한 단순한 객체를 말한다. 계층 간 데이터를 전달하는 객체?? 이게 무슨말일까? MVC 패턴으로 애플리케이션을 개발을 하면 컨트롤러는 중계자 역할로 뷰와 모델로부터 데이터를 주고받는다. 이때 데이터를 주고받을 때 도메인 객체로 주고받는 것이 아닌 DTO를 가지고 주고 받는 것이다. 🧐 DTO 를 왜 굳이 사용할까?? 왜 도메인 객체를 사용하지 않고 DTO라는 별도의 객체를 만들어서 주고받을까? 민감한 데이터 보호 우선, 민감한 도메인 기능이 노출될 수 있기 때문이다. public User { private String name; private String password; private St..

🧐 TDD 가 뭐야? Test Driven Development : 테스트 주도 개발 TDD는 TFD(Test First Development) + 리팩토링 하는 방법이다. 단순히 테스트만 먼저 작성하는 것일까? 개발을 하다 보면 TDD라는 단어를 많이 들어보았을 것이다. 그럴 때마다 검색해서 찾아보면 “아, 구현 코드(프로턱션 코드) 보다 테스트 코드를 먼저 작성하는 방식이구나”라고만 이해하고 무작정 TDD를 적용해 보겠다는 생각에 테스트 코드부터 작성하고 구현 코드를 작성해 본 경험이 있을 수 있다. 그러다가 결국 어떻게 되었나 생각해 보면 다음 기능을 구현하기도 바쁜데 테스트 코드를 왜 먼저 작성해야 하는지 의문이 들고 결국 테스트 코드는 뒷전에 두고 구현 코드부터 작성했었다. 그렇다면 왜 굳이 T..

서론 pobi : ---- juni : -- choi : ------ 나는 우테코 프리코스 2 주차 미션 요구사항에서는 자동차 진행 결과를 위와 같이 출력해야 했다. 그래서 나는 Car 객체의 toString을 재정의하여 간단하게 출력하였다. System.out.println(car)를 해주면 ${이름} : ---- 로 깔끔하게 나오기 때문에 toString을 재정의 하는 게 좋다고 생각했었다. 그런데 2 주차 미션에 대해 코드 리뷰를 받으면서 출력이 수정된다면 도메인을 수정해야 한다는 것이 어색하다는 피드백을 받았다. 그래서 이번 기회에 toString의 역할에 대해서 알아보면 좋을 것 같아 이 글을 작성하게 되었다. 👷 toString의 역할 toString 의 역할은 무엇일까? toString 의 ..

서론 우테코 프리코스 2 주차 미션 완료 이후, 피드백에서 객체에서 상수를 관리하는 방법 대신 Enum을 활용해 보는 것을 추천받았었다. 나도 Enum 을 알고 있지만 굳이 왜 사용해야하는지 이해가 안 됐다. 만약 위의 ErrorMessage를 Enum으로 만들었다면 아래와 같은 차이점이 있을 것이다. throw new IllegalArgumentException(ErrorMessage.INPUT_BLANK.getMessage()) Enum을 활용한 버전 throw new IllegalArgumentException(ErrorMessage.INPUT_BLANK) 객체를 활용한 버전 나는 객체를 사용한 버전이 훨씬 간단하고 깔끔한 것 같다. 그래서 그런지 나는 왜 Enum 을 사용해야 하는지 이해가 안 되..
- Total
- Today
- Yesterday
- 우테코 프리코스
- 자바
- sh 문법 오류
- 코루틴
- 파이썬
- 환경변수 관리
- 우아한테크코스
- 스왑 메모리 설정
- 우아한테크코스 6기
- 토큰
- JWT
- 6기
- 토큰 블랙리스트
- 레디스
- 우아한테크코스 자소서
- 게임개발
- Assertions
- 우테코 6기
- 알고리즘
- 스왑 메모리 장단점
- 레디스 분산락
- gcp 인바운드
- 스프링 api 테스트
- 우아한테크코스 후기
- redis 메모리 사용량
- 우테코 준비
- setnx
- contextwith
- 우테코
- redis
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |