학습 후기

패스트캠퍼스 환급챌린지 49일차 미션 (3월 20일) : 10개 프로젝트로 완성하는 백엔드 웹개발(Java/Spring) 초격차 패키지 Online. 강의 후기

Torchbearer 2024. 3. 20. 22:29

 

49일차 미션 완료

 

대댓글 기능을 모두 완성함으로써 댓글 기능 고도화 첫번째 과제를 완료할 수 있었다. 댓글과 대댓글의 경우, 아무래도 하나의 테이블에서 관리되기 때문에, 처음 구현할 때는 어떤 식으로 댓글 데이터를 만들어서 화면에 뿌려주면 되는지 쉽게 떠오르지 않을 수 있다. 강의에서는 이러한 부분을 고려하여, 테스트 코드를 함께 작성함으로써, 부모 댓글과 자식 댓글이 정해진 순서에 맞게 구성되도록 확인하는 과정을 가졌다. 전체적인 로직은 다음과 같은데, 최초에는 자식 댓글이 없는 부모 댓글을 Map 자료구조에 담아 리스트에 넣은 다음에, 이후 자식 댓글을 순회하면서, 각각에 해당하는 부모 댓글 Map의 Value에 자식 댓글을 추가하는 방식으로 해당 기능을 구현하였다. 이러한 방식은 단순히 1차 대댓글 기능 뿐만 아니라, 2차, 3차, N차 대댓글을 고려한 방법이기 때문에, 추후에 고객으로부터 N차 대댓글 기능으로 고도화 요구사항이 생기더라도, 빠르게 기능을 고도화할 수 있다는 장점이 있다. 실제로 회사에서도 어떠한 요구사항을 듣고, 기능을 만들 때, 추후에 개선될 여지를 고려한 상태로 개발을 하기도 하는데, 이러한 부분은 실무에서의 경험을 미리 체험해볼 수 있어서 학습자 입장에서 많은 도움이 될 것 같다. 다만, 너무 멀리 내다본 오버 엔지니어링이 되지 않도록, 시간과 비용에 맞게 적절하게 요구사항을 구현하는 것이 가장 중요할 것이다. 이러한 기능 완성 후에, Git에서 제공하는 Rebase를 통해 브랜치를 관리하는 부분이 있었는데, 해당 내용을 아직 완벽히 숙지하지 못하여 추가 학습을 하였다. 브랜치를 관리할 때, 분기를 보여주지 않고 깔끔하게 커밋을 관리하고 싶을 때, Git rebase를 사용한다. Base인 브랜치를 정하고, 해당 브랜치를 기준으로 나머지 브랜치의 변경된 사항을 합치는 방식이므로, 커밋 히스토리가 깔끔하게 정리된다는 장점이 있다. 일반적으로 사용하는 merge 방식은 커밋 히스토리가 모두 기록되어서, 상대적으로 깔끔해보이지 않는다는 단점이 있다. 하지만, Rebase는 협업을 할 때 사용하면, 다른 사람들이 관리하는 소스 부분에 영향을 미칠 수 있으므로, 그 용도와 기능을 정확히 이해하고 사용해야 할 필요가 있다.

 

https://bit.ly/48sS29N

 

패스트캠퍼스 [직장인 실무교육]

프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

fastcampus.co.kr

 

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.