본문 바로가기
T.I.L. :: Today I Learned/항해99 14기 본과정

Day 36. 왜, why, 왜, why?!

by DaSsom 2023. 5. 8.

오늘 드디어 기술 매니저님의 피드백을 받을 수 있었다. 내용을 조금 정리해보자면,

 

1. 깃허브 관리를 할 때는 꼭 브랜치를 나누어서 진행했으면 좋겠다.

우리가 예상했던 문제였다. 실무에서는 크게 dev - release - hotfix 로 나누어 브랜치를 구분한다고 한다. 

우리는 이 정도 사이즈까지는 아니더라도 각자의 브랜치를 따로 나누어 작업을 해야 혹시 모르는 rollback하는 경우에 방지를 할 수 있다.

https://techblog.woowahan.com/2553/

 

우린 Git-flow를 사용하고 있어요 | 우아한형제들 기술블로그

{{item.name}} 안녕하세요. 우아한형제들 배민프론트개발팀에서 안드로이드 앱 개발을 하고 있는 나동호입니다. 오늘은 저희 안드로이드 파트에서 사용하고 있는 Git 브랜치 전략을 소개하려고 합

techblog.woowahan.com

 

2. 실제로는 hard delete 보다 soft delete를 한다.

왜? 만약에 사용자가 악플을 달아서 신고했는데, 악플러가 본인의 댓글을 지우고 튀었다면? 증거자료로 넘겨줄 수 있는 것이 사라짐. 그래서 soft-delete 처리를 해놓으면 이런 상황을 미연에 방지할 수 있음 또한 사용자의 요청에 의해 데이터를 복구시켜줘야하는 경우에도 유용하다고 했다.

 

3. 반환값

ResponseEntity를 사용중인데 나중에 기회가 되면 제네릭으로 커스텀하여 반환값을 주는 것도 추천한다고 하셨음

 

그리고 최대한 빨리 서버 배포를 진행했음 좋겠다고 하셨고 D.D.D로 설계한 점 칭찬 받았다!

 

내 코드를 계속 보다보면 내 코드에 매몰되다가 이것이 잘 설계가 되었는지 개선할 점을 못보게 되는데 이런걸 방지할 수 있는게 코드리뷰라고 생각한다. 내가 다른 사람의 코드를 리뷰하면서도 배울 수 있고 다른 사람이 내 코드를 봐준다면 내 코드가 개선될 수 있으니 상당히 좋은 방식이라고 생각한다. 나중에는 꼭 주기적으로 코드리뷰를 하는 시간을 가져야겠다.

 

 

 

++)

테스트 코드에 대해 계속해서 중요하다고 말씀하셔서 공부하고자 하루종일 보았다. 이것저것 찾아보고 직접 구현하려는데 계속해서 예외가 나오고 내 뜻대로 작동되지 않았다. 그런 와중에 저녁에 시니어 멘토님과 면담시간이 있었고, 질문을 했다. 테스트 코드, 하루 종일 공부해봤는데 너무 어렵고 이제서 TDD를 하기엔 늦은 것 같다고. 돌아온 되물음이 정곡을 찔렀다.

 

"테스트 코드를 왜 짜려고 하시는건가요?" 

 

읭.. 생각도 안해봤다. 그냥 매니저님이 중요하다고 해서 공부하려고 했지 정작 왜 배워야하는지 생각을 안해본 것이다.. TDD라는 것은 요구사항이 변할 가능성이 없을 때 필요한 것이라고 했다. 그러니 우리처럼 미니 프로젝트를 시작한다면, 특히나 요구사항이 계속해서 바뀔 수 밖에 없는 상황에는 맞지 않는 방법이었던 것이다. 뭐 결론적으로 테스트 코드를 구현할 줄 아는 것은 매우 기본적인것이라서 공부해야하지만 지금은 적용하는게 맞나 싶다는 거였다. 

 

비단 테스트코드만의 문제가 아니다. 나는 이제부터 내가 하는 공부들에 왜 필요하지? 라는 물음을 찍고 시작할 예정이다. 왜 해야하는건지 이유를 아는 것이 가장 중요하다.

 

자바, 왜 공부해야하지? JPA, 왜 공부해야하지? 스프링부트, 왜 ? 테스트코드 ? 왜?????!!