이번 주 한 일, 배운 것
항해 5주차 주특기 심화 주차 마무리 + 6주차 미니 프로젝트 시작
처음으로 제대로 된 협업을 시작했다. 협업을 하면서 배운 점도 많았고, 느낀 점도 많았다. 오늘은 그 내용들을 정리해보려 한다.
5주차에는 백엔드끼리만 협업을 진행하였다. 그리고 금요일부터는 프론트와 협업을 시작하였다.
코드의 다양성
협업 첫 주차에 가장 많이 느낀 건 '코드가 다양하다' 였다.
5주차에는 깃허브에서 Fork를 사용하여 협업을 진행하였는데, 코드 리뷰를 할 때마다 코드가 정말 각양각색이라는 느낌을 받았다. 나름대로 코드 컨벤션도 정해두었지만, 그럼에도 코딩 스타일은 정말 다양했다.
코드가 다양하다는 건 장점도 있고 단점도 있었다.
장점은 다양한 코드를 경험해볼 수 있다는 거였다. A라는 기능이 있다고 가정하자. 보통 A를 구현하는 방법은 무수히 많다. 하지만 대부분 A를 구현하는 방법을 하나 알게 되면 그 방법 외에 다른 방법을 잘 생각하지 못한다. 기존의 방법에서 따로 불편함을 느끼지 못한다면 굳이 새로운 방법을 찾을 필요가 없기 때문이다. 그런데 다양한 코드를 보면 내가 미처 생각하지 못했던 여러 구현 방법들을 볼 수 있다.
단점은 코드의 통일성이 떨어진다는 점이었다. 물론 컨벤션도 진행하고, 코드 리뷰를 통해 어느 정도 코드의 통일성을 맞추려는 시도는 했었다. 하지만 아직 다들 실력이 미숙하다 보니 상대를 설득할만한 근거가 부족한 경우가 많았고, 모두가 팀원이라는 동등한 입장이다 보니 의견 차이가 있을 때 그걸 좁히기가 쉽지 않았다.
게다가 의견이 한번 갈리면 상대의 감정이 상할까봐 적극적으로 토론을 하기가 쉽지 않았다. 보통 누군가와 의견이 다를 경우, 코드를 작성한 사람 혹은 작성할 사람의 의견을 우선시했다. 그러다보니 더더욱 코드의 통일성이 떨어질 수 밖에 없었다.
이러한 문제들은 내가 쓰는 코드들에 이해가 깊어지면 자연스럽게 해결되지 않을까 생각한다.
협업 툴과 깃허브
협업을 할 땐 필요한 도구들이 정말 많다. 각자의 일정과 진행 상황을 공유할 수 있도록 이슈 관리를 위한 툴도 필요하고, 작업을 나눠서 진행하기 위한 툴도 필요하다. 또한 컨벤션과 API 명세도 작성해야 하고, 그 외 여러가지 자잘한 일들이 필요하다.
5~6주차에서 썼던 협업 툴들은 Github와 Notion이었다. Github로는 작업을 나눠서 진행하였고, Notion으로는 그 외에 필요한 모든 작업들을 진행하였다.
노션은 기존에 많이 다뤄봤어서 큰 문제가 없었는데, Github는 문제가 많았다. 6주차에는 Git Flow 전략을 사용하였는데, Github에 대한 이해도가 낮다보니 사고를 좀 많이 저질렀다.
다른 사람과 같은 브랜치에서 작업하다가 다른 사람이 푸쉬 후에 내가 푸쉬하는 과정에서 경고문을 무시하고 merge하는 버튼을 눌러 문제가 생기기도 했고, develop에서 branch를 파생시켜야 하는 걸 main에서 branch를 파생시켜 했던 작업들을 전부 다시 진행하기도 했다.
그래도 팀원분 중 Github를 잘 다루시는 분이 계셔서 짧은 시간 동안 Github에 대한 이해도가 많이 늘었다. 2주 후 실전프로젝트 때 리더를 하려면 적어도 지금 그 분이 다루는 정도로는 Github를 다뤄야한다 생각한다. 그러니 그때까지 열심히 익혀두자...
프론트에 대한 이해
이번에 처음으로 프론트와 제대로 협업을 진행하였는데, 생각보다 프론트의 작업들을 이해하기가 쉽지 않았다.
협업을 할 때 다른 팀(프론트, 마케팅, 경영 등)에 대한 이해도가 중요하다는 건 알고 있었다. 그리고 솔직히 말하자면, 다른 팀들과 소통을 잘 할 자신이 있었다. 상대에게 설명을 요구하거나 우리 팀의 상황을 정리해서 전달할 자신이 있었기 때문이다.
하지만 생각보다 소통이 쉽지 않았다. 상대 팀에 대한 이해가 거의 없으면 어떤 것을 설명해달라고 해야할 지 조차 파악하기 어려웠다. 또한 상대팀도 비슷한 상황일 때, 상대가 우리에게서 필요로 하는 정보가 무엇인지 파악하기도 쉽지 않았다.
그래도 이번 주차를 잘 마무리 한다면 실전때는 지금보다 훨씬 원활하게 소통하지 않을까 싶다.
CORS와 SOP
CORS와 SOP는 웹 통신시 '브라우저'에서 사용되는 보안 정책이다. 해당 내용은 별도로 글로 정리하였다. 아직은 CORS에 대해 모두 이해한 게 아니어서, 프로젝트를 진행하면서 해당 글의 내용도 더 채워나갈 예정이다.
자료 정리 링크
[웹] CORS와 SOP https://kimdirector1090.tistory.com/115
'WIL' 카테고리의 다른 글
221226~230101 WIL (0) | 2023.01.01 |
---|---|
221219~221225 WIL (0) | 2022.12.26 |
221205~221211 WIL (0) | 2022.12.11 |
221128~221204 WIL (0) | 2022.12.04 |
221121~221127 WIL (0) | 2022.11.27 |