LOG
- 우르와 페어가 됐다. 레벨 인터뷰 때도 같은 조고 같은 데일리 조원이라 사실상 아는 사람이었다. 처음으로 아는 사람과 페어가 되었다! 우르는 아는 게 정말 많다. 김영한님 강의를 다 들었다고 했는데 그래서 그런지 이번 미션하는 게 굉장히 수월했다. 칭찬을 많이 해줘서 뿌듯하게 페어 프로그래밍 할 수 있었다. 중간에 우르와 같이 이해가 안 되는 부분이 있었는데 납득할 만한 결론이 나온 것도 좋았다. 주장이 부딪힐 때 의견을 접지 않고 설득하려는 부분도 좋았다. 쓰고 나니 칭찬밖에 없네
- 점심에 우르, 주노, 레오와 연어 식당에 갔다. 연어 식당에서 연어 비빔밥을 먹었다. 레오와 이야기 안 해봤는데 오늘 꽤 이야기한 것 같아서 좋았다.
- 미션 구현이 빨리 끝났다. 내일 테스트 코드만 작성하면 돼서 조금 여유롭다. 하고 싶은 공부를 할 수 있어서 기쁘다~
- 박스터와 저녁에 체스해서 졌다. 체스 어렵네;;; 열심히 하지는 않았지만 역시 머리 쓰는 거라 어려운 듯.. 주드에게 체스 실력 삼투압 받았어야 했는데 못 받아서 졌나 보다~
배운 것
@Controller
에서 상태 코드 지정 없이 void를 리턴하게 되면 view를 찾을 수 없다는 예외가 발생한다. 그런데 201 상태 코드를 지정하면 예외가 발생하지 않아서 이상하다고 생각했다. 찾아보니 상태 코드를 지정하지 않으면 자동으로 200 상태 코드가 지정되는데, 200이 반환되면DispatcherServlet
이 뷰를 렌더링 해야 한다고 가정하게 된다. 제공된 view가 없으므로 view를 찾을 수 없다는 예외 메시지를 던지게 된다. 201의 경우에는DispatcherServlet
이 요청이 성공적으로 처리되어 view를 렌더링할 필요가 없는 것으로 간주한다.@ResponseStatus
를 사용하여 status code를 지정해 줄 수 있다.
@Controller
public class MyController {
@PostMapping("/my-endpoint")
@ResponseStatus(HttpStatus.CREATED)
public void handlePostRequest() {
// handle the request and create the new resource
}
}
resources/data.sql
에 insert 문을 적어두면 자동으로 값을 넣어준다. (auto-increment 값도 넣어줘야 한다.)
insert into product(id, name, price, image_url)
values (1, '피자', 10000, 'https://t1.daumcdn.net/cfile/tistory/241D303357DD2A1404');
insert into product(id, name, price, image_url)
values (2, '치킨', 20000, 'https://pelicana.co.kr/resources/images/menu/best_menu03_200623.jpg');
애플리케이션이 실행되면 data가 자동으로 삽입 된다.
- validation 코드 작성하기
// build.gradle
implementation 'org.springframework.boot:spring-boot-starter-validation'
gradle에 의존성을 작성해준다.
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Positive;
public class ProductModifyRequest {
@NotBlank
private String name;
@Positive
private int price;
@NotBlank
private String imageUrl;
public ProductModifyRequest() {
}
public String getName() {
return name;
}
public int getPrice() {
return price;
}
public String getImageUrl() {
return imageUrl;
}
}
validation 어노테이션을 사용해서 값 검증을 한다.
궁금한 것
@Validated
와@Valid
의 차이점이 뭘까?- axios는 뭘까
어려웠던 것
느낀 것
- 친구가 쓴 블로그 글을 보게 되었는데, 가치관 글이었다. 최근에 내 가치관에 대해서 생각해 볼 일이 있었는데 나와 다르게 좀 더 긍정적인 글이라 신기했다. 멋지다고 생각하는 친구인데 가치관도 멋있어서 좀 본받아야겠다고 생각했다. 지금 밝고 긍정적으로 살고 있으니까 이때를 틈타서 긍정적인 가치관을 가져보는 것도 좋을 것 같다.
- 사람마다 공부의 방식이 다른 것 같다는 생각을 요즘 더 많이 한다. 강의가 정말 잘 맞는 사람도 있고, 책 읽는 게 도움이 많이 되는 사람도 있다. 나는 어떻게 공부하나... 생각해 봤는데, 항상 뭔가를 사용해보고 이해가 안 되거나 궁금한 부분을 알아보는 방식으로 공부하는 게 제일 재밌는 것 같다. 생각해보면 예전부터 뭔가를 먼저 배우고 사용하는 건 너무 재미없었다. 앞으로도 부딪히면서 배워가는 사람이 되고 싶다.
- 오늘은 많이 공부하고 배웠다. 이번주 시작한 지 2일 되기는 했지만 ㅋㅋ 주간 회고 모임에서 다짐했던 것처럼 이번 주에는 미션에 좀 더 열중하고 있어서 기쁘다. 이번 리뷰어는 럿고인데, 좋은 리뷰 받았으면 좋겠다!
- 조급하지 않다. 조급하지 않은 게 좋은 걸까 아닌 걸까 싶다. 앞으로 인생이 좀 남았으니 너무 조급하지 않은 게 좋은 것 같다가도 내년에는 취업을 하고 싶은데 그걸 생각하면 좀 더 조급해야 할 것 같다. 내가 모든 걸 챙길 수는 없지만 지금 내가 챙겨야 할 걸 못 챙기고 있는 건 아닐까..? 그런 생각이 갑자기 든다. 뭐든 확신이 없어서 그런 듯. 조만간 뭐 어떻게든 방향을 정해야겠다.