클론코딩 주차가 막바지에 다다랐다. 백엔드 부분은 API 구현과 배포가 어제 이미 완료가 되어서 오늘은 다같이 End-to-End 테스트를 작성해 보았고, 회원가입 기능을 이번 프로젝트에선 스킵하여 예외처리가 많이 발생하지 않아, Unit test는 보류 하였다.
restTemplate을 사용하여 댓글 삭제 API를 테스트하려고 했는데 댓글 삭제시 requestBody에서 password를 받기 때문에 restTemplate.delete을 사용하면 request 객체를 매개변수로 받을 수가 없어서 계속 에러가 났다.
찾아보니,
ResponseEntity<String> resp = restTemplate.exchange("/api/products/reviews/" + commentId, HttpMethod.DELETE, request, String.class);
이런식으로 delete request가 request를 받을 수 있도록 바꿔줄 수 있었다.
틈틈히 노마드코더에서 제공하는 무료 리액트 강의를 듣고 있다.
현재까지 강의를 들으면서 코드를 따라치고 간단히 개념을 정리한 내용이다.
reactJS 는 어플리케이션이 아주 interactive하도록 만들어주는 library이고
react-dom은 모든 react evlement들을 html body에 둘수 있도록 해주는 library
render란
react element를 가지고 html로 만들어 배치한다는 뜻
vanilla JS 가 html 을 먼저 만들고 가져와서 JS로 html을 수정하는 식이였다면
React JS는 JS로 시작해서 그 다음에 html이 되는 거꾸로가는 방식(유저에게 보여줄 내용의 업데이트를 컨트롤하는 방식)
jsx = syntax extension to js
JSX는 어플리케이션을 여러가지 작은 요소로 나누어 관리할 수 있게 해준다.
react's powerfulness는 only changed interface만 업데이트 해준다. 즉, 렌더링될 컴포넌트만 파악하여 업데이트한다.