Today's Dev Notes(2018-12-08) 안녕하세요, Brad입니다. 오늘은 수업시간에 실습해본 테스트케이스들에서 사용된 여러 코드들을 하나하나 분석해보는 작업을 해보았습니다. TestRestTemplate 의 역할 및 의미는 뭘까요? 현재 테스트를 작성할 때 AcceptanceTest 클래스를 상속받아 이 안에 있는 속성들을 사용하는데요. 그 중 하나가 AcceptanceTest 의 template 객체를 사용합니다. 이 정체가 뭘까요? TestRestTemplate is a convenience alternative to Spring’s RestTemplate that is useful in integration tests. You can get a vanilla template or o..
Today's Dev Notes(2018-12-06) 레벨3의 슬럼프 극복 Why Learning to Code is So Damn Hard 선택과 집중의 시기 뭔가 깊이 파고 싶은 주제를 내가 하나 정하고 책을 선정하여 조금씩 공부해갑니다. 피해야할 것은 자기 수준에 맞지 않는 것을 남들이 한다고 해서 하는 것입니다. 오프라인 강좌인 만큼 서로 돕고 함께 해나가야 합니다. 포기만 하지 않으면 다 할 수 있습니다! 레벨3의 목표는 '스스로 공부하는 방법을 익히는 것'입니다. ATDD(Acceptance Test Driven Development) Acceptance Test는 End To End Test라고도 불립니다. 이 부분을 이해하려면 어느 정도의 사전 지식들이 필요하며, 그 중에서도 HTTP에 대..
Today's Dev Notes(2018-12-03) 안녕하세요, Brad입니다. 오늘 공부했던 내용 정리해볼게요. Ajax에서 error와 success 때 전달하는 JSON값이 다릅니다. success로 전달한 JSON값은 다음과 같이 깔끔하게 data값만 전달됩니다. 반면 error로 데이터를 Console.log로 띄워보면 다음과 같습니다. 그래서 error에서 JSON값을 받으려면 responseJSON.errorMessage 로 받아야 합니다. 왜 그럴까요? 그 이유를 알아보니 js파일에서 success 메서드는 다음과 같이 깔끔하게 데이터를 받는 매개변수가 정의되어 있습니다. 따라서 data를 통해서 깔끔하게 받을 수 있었던 것이죠. 반면 error 메서드는 다음과 같이 정의되어 있는데요. ..
Today's Dev Notes(2018-12-02) 안녕하세요, Brad입니다. 이번 주말동안 qna step5 미션을 진행하면서 고민했던 부분과 그에 대한 정리를 해보려합니다. Ajax를 통해 데이터를 주고 받을 때 어떻게 에러처리를 해야할까요? 이 부분에 대한 고민을 좀 오래했던 것 같아요. 결과적으로 제가 이해한바로는 'Ajax를 통해 보낸 것은 Ajax를 통해 결국 처리를 해야한다'라는 것입니다. 엥? 이게 무슨 말이냐구요? 이 말은 제가 ajax controller에서 에러발생시 기존 @Controller에서는 다른 url로 redirect가 가능했는데 그것이 안된다는 것입니다. 그럼 어떻게 처리해야 할까요? 일단 @RestController 에서는 데이터만 전달하기 때문에 Error 관련한 ..
Today's Dev Notes(2018-11-29) 안녕하세요, Brad입니다. 오늘은 XHR과 Ajax을 수업시간에 실습해봤는데요. 이에 대해서 간략하게 정리해볼게요. Introduction 모바일과 달리 웹은 모든 자원이 서버에 존재합니다. 그렇기 때문에 해당 url에 접속하게 되면 웹브라우저가 HTML을 위에서 부터 읽어오면서 필요한 자원을 모두 가져오죠. 우리가 흔히 쓰는 네이버도 처음 접속시 엄청 많은 양의 자원을 서버로부터 요청받아 받아옵니다.그런데 네이버 웹에서 만약 하나의 부분만 바꾸고 싶다면 어떻게 해야할까요? 지금까지 배운대로라면 '새로고침'하여 다시 저렇게 많은 자원을 다시 요청해야 합니다. 특정 부분만 바꾸고 싶은데 대부분의 자원을 모두 다시 받아와야 하는 것입니다. 정말 비효율적..
안녕하세요, Brad입니다. 오늘도 많은 것들에 대해 배우고 깨달을 수 있었던 시간들이었네요. 가장 인상깊었던 부분은 qna step4의 미션이기도한 질문, 답변 삭제 기능 구현입니다. 그럼 그 부분에 대해 정리하는 것으로 시작해볼게요! 삭제하는 것까지는 사실 이전 step3에서도 이미 구현했던 부분인데요. 다른 점이 있다면 실제 DB에서 삭제하지 않고 boolean타입의 상태값을 두어 그 부분만 삭제 처리한 것처럼 보이게 한다는 것입니다. 처음에는 자연스럽게 UPDATE 쿼리문을 생각했었습니다. 그 이전 DB에서 수정할 때마다 UPDATE 문을 썼었기 때문에 아무런 의심없이 Spring에서 UPDATE 문을 적용할 수 있는 방법을 검색해나갔습니다. 그리고 몇몇 사이트에서 SQL문을 써서 삭제시 UPDA..