TDD는 이것이다!!!의미를 정확히 알고있자
지금까지는 설계를 하고 개발을 한 뒤에 test를 했다
하지만 테스트를 하다 보니까 설계를 수정해야 할 필요가 생겨서 다시 설계쪽으로 넘어왔다
edge 케이스가 생각이 났고 테스트코드를 짜다 보니까
edge 케이스들은 어떡하지 라는 고민을 하게 됐고
이런 부분들을 관련자들과 모여서 설계에 대한 수정을 다시 한 다음에 개발을 하고 테스트를 진행했다
TDD는 설계를 하고 나서 바로 테스트코드부터 만드는 거다
개발이 아닌 테스트코드를 먼저 만드는거다
"Write a failing test"를 쓴다 라고 그림에 표현되어 있다
개발을 안 했으니까 테스트코드만 만들었을 때 당연히 fail이 난다
테스트코드를 짜면서 설계를 수정하는거다
'이런 edge 케이스들이 있구나~', '개발하기 전에 설계에 이런 게 필요하구나' 해서
설계와 테스트 과정을 굉장히 많이 반복을 할 수가 있는 장점이 있는 것이다
테스트코드 작성이 완료가 되면 개발까지 해서
fail하는 테스트코드를 만들고 fail한 test를 통과시키게 하도록 개발을 하고
그걸 리팩토링하면서 failing하는 테스트를 생각나면 또 만들어 추가하는 과정을 하는 것이다
예전의 흐름과 조금 다른 테스트 중심의 개발 프로세스이다
TDD가 잘 맞는 회사도 있을거고 맞지 않는 회사도 있을거다
회사에서 먼저 실제로 적용을 해보고
어떠한 문제점 때문에 우리가 불편하고 안 맞는가
이런것들을 한번 시도해 보는 것이 중요하다고 생각한다
[오늘의 후회]
- 처음부터 설계를 탄탄히 하자..
- 설계 때문에 문제되는 것들이 너무 많이 일어났다. 설계를 탄탄히 못해서 API도 정말 자주 수정되었고, 이로 인해 서버에서 동작할 때 에러가 나는 것이 잦았다.
- DB 테이블 수정은 웬만하면 하지 말자...
- Board, BoardComment, Recipe, RecipeComment 테이블의 제목, 내용, 댓글내용 컬럼 크기를 개발 도중에 수정했다. 수정한 프로젝트를 build해서 서버에 올렸다. DB를 새로 초기화해서 올렸으면 문제가 없었을텐데, 이전에 사용하던 테이블 그대로 이어서 사용했기 때문에 기능이 제대로 동작하지 않았던것 같다. 특히 삭제 기능에서 외래키 에러로 인해 기능이 동작하지 않았다.
- RecipeLikes -> RecipeLike로 바꿨다. 하지만 SQL을 자바 코드에 직접적으로 적어놓았기 때문에 쿼리는 자동적으로 바뀌지 않았다. 그래서 프론트에서 API를 사용할 때 recipe_likes 테이블이 존재하지 않는다는 에러가 났다. 이로 인해 이 테이블과 연관된 모든 기능이 작동하지 않았다.
- 이것도 설계를 탄탄히 하지 못해서 난 결과이다. 근데 할 말이 없다. 초반에도 프로젝트 주제가 휙 휙 바뀌었기 때문에 모두 다 지쳐있었다. 그래서 꼼꼼하게 생각을 못 했기 때문에 이러한 사태가 난 것이기 때문이다.
- 후회한다........................................
[해야할 일]
사진 이름 최대한 짧게 올려야 함 image 테이블 length 늘리기 600 프론트는 사진이름 최대 300
https 적용
계정 만들기(지메일/인스타) - ecafe 안된다고 해야함!!!!!!!!!!
우분투 Tomcat 에 무료 SSL (와일드카드)인증서 설치방법
http://1004lucifer.blogspot.com/2020/03/lets-encrypt-tomcat-ssl.html
[Let's Encrypt] 우분투 Tomcat 에 무료 SSL (와일드카드)인증서 설치방법
톰캣에 설치할 무료 SSL인증서를 알아보니 대부분 3개월 기간으로만 제공을 하는데.. Let's Encrypt에서는 Cron을 이용하여 자동연장이 가능하기에 작업을 시작했다. 공식 사이트: https://letsencrypt.org/
1004lucifer.blogspot.com
'항해99 3기' 카테고리의 다른 글
[TIL] 2021.11.24 최종 프로젝트 진행중 - JPA Native Query return 형식 / Java 저번 주 날짜 구하기 (4) | 2021.11.24 |
---|---|
[TIL] 2021.11.23 최종 프로젝트 진행중 - tomcat에 SSL 적용 /대표님과 면담 (0) | 2021.11.24 |
[TIL] 2021.11.21 최종 프로젝트 진행중 - 오랜만에 쉬는 일요일 (0) | 2021.11.21 |
[TIL] 2021.11.20 최종 프로젝트 진행중 - 멘토링 / 프로젝트 주제 변경 / response 형식 변경 (1) | 2021.11.21 |
[TIL] 2021.11.19 최종 프로젝트 진행중 - 알림 기능 / 웹소켓 / JMeter 사용 방법 / 해야할 일 (0) | 2021.11.20 |