한 달동안의 프로젝트를 완료했다. 그 시간을 되돌아보며 느낀 점에 대해서 글을 써보려고 한다.
7월 5일부터 8월 8일까지 길다면 길고 짧다면 짧은 시간이지만 정말 많은 것들을 배웠다. 그리고 개발 개그같은 것도 공감이 되기 시작했고 개발하는 사람들이 말하는 것들이 이해가 되기 시작했다.
Git
처음에 깃으로 협업을 제대로 해본 적이 없어 "PR 날린다"는 말이 뭘까?? 자기 PR한다고 할 때 그 PR 인가?라고 생각했었다. 그리고 이슈를 발행하고 PR을 날리라는 것에 대해서 적응이 안되어 맨날 깃 컨벤션을 보면서 커밋, 푸쉬, pr을 했다. 깃때문에 정말 울고 싶었다.. 그리고 처음에는 main에 푸쉬하고 머지 후 커밋을 해야하는 지 몰라서 안했더니 커밋이 안 되어 시간을 낭비했다.. 그 당시에는 뭐 깃이 알아서 충돌 처리해주나? 이 생각이었다.. ㅋㅋㅋ
하지만 지금은 비교적 능숙해졌다. 그리고 딱 푸쉬되는 순간 쾌감이 정말 짜릿한 것 같다. (중독되어 버렸다..)
그리고 한 달 부분이 초록초록해진 것을 보니 왜 사람들이 잔디를 채우려고 했는지 이제야 알 수 있었다.
DB 설계 API
처음에 DB 설계하라고 했을 때는 막막했다. 어떤 정보가 필요하며 어떻게 외래키를 가지고 있어야 하는지 등 기준이 모호하게 느껴졌다. 하지만 학교 수업시간에 배운 것이라 나름 할 만했다. 문제는 API 설계였다. 어떤 오류 상황을 생각해야 하며 어떤 기준으로 API 를 나눠야 하는가에 대해서 정말 많이 고민을 했다. 개발하면서 제일 힘들었던 순간이 API 설계와 git 충돌이라고 할 수 있었다(익숙하지 않는 개발어린이라서 그럴 수도) 개발 끝무렵에 느낀 점은 정말 API 설계가 중요하다는 점이다. 특히 나누면 나눌 수록 좋다는 것을 깨닫게 되었다.
프로필 수정에서 사진, 자기소개의 업데이트를 한 번에 받으려고 하니까 코드가 더럽고 복잡해졌다. 게다가 기획 당시 프로필 수정에서 사진 삭제 버튼을 만들지 않아 사진을 지워졌는지, 기본 이미지로 변경할 것인지 구분이 되지 않아서 URL에 params를 추가하는 상황까지 가게 되었다. 다음부터는 사진과 자기소개를 나누고 삭제, 업데이트도 나눠야겠다고 깨달았다. 하나의 URL로 해결하는 과정이 매우 어려워서(조건을 많이 추가했다) 기억에 오래 남을 것 같다.
Spring Data JPA의 중요성
그냥 뭐 'DB 자동으로 만들어 주는 거 아님?' 이라고 생각했는데 큰 오해였다. 많은 에러들은 이 친구에 대한 충분한 이해가 없었기 때문에 나타난 것이었다.
대표적인 사례를 말하고자 한다. user 테이블과 user와 profile을 일대일 매핑을 했다. 하지만 profile을 불러올 때 순환참조가 되는 문제가 있어서 봤더니 일대일 매핑에는 단방향 일대일, 양방향 일대일이 있으며 외래키가 없는 단방향 일대일 관계는 지연로딩을 지원하지 않는다. 라는 것을 알게 되었다. 와... 이거 무슨 알아야 되는 것이 산더미구나... 라고 생각이 들었다. 지연로딩으로 해결하지는 않았지만 알아보는 과정에서 정말 JPA의 세계는 깊고도 넓다는 것을 알게 되었고 더 공부해야겠다고 깨달았다.
에러는 나의 자산!💸 나에게 큰 깨달음을 주지
처음에 에러가 마구 발생하면 자존감이 떨어지면서 '나만 왜 오류가 날까?'라고 생각하며 짜증을 냈다.
하지만 이번 프로젝트에서 백엔드 개발을 하면서 에러를 통해 얻은 깨달음들이 많았다.
그래서 이제는 에러가 나면 "아싸~ 에러 났다~ 이번에는 어떤 깨달음이 있을까?" 라고 생각하게 되었다.
또한 에러를 해결하면 희열을 느끼는 맛에 시간 가는 줄 모르고 개발을 한 것 같다.
초반에는 에러를 만나면 해결하기까지 시간이 오래 걸렸지만 이제는 에러의 경험치가 쌓여서 금방 해결할 수 있게 되었다.
이 프로젝트를 진행하면서 얻은 것은 개발에 대한 지식뿐만 아니라 사람들이다. 라꾸라꾸 팀원들 모두 최고이다. 말 한 마디 따뜻하게 해주고 칭찬도 많이 해주어서 더 열심히 할 수 있었던 것 같다!! 감사합니다~!💝💝💝
[나머지 내용들은 계속 수정하면서 올릴 예정입니다.. 회고록 마감일이 얼마 남지 않아 급하게 옮겨 적다보니 다 못적었습니다.. ㅜ 나중에 궁금하신 분들은 제 글 또 확인해주세요>< 여기까지 읽어주신 분들! 감사합니다!]
'프로젝트 > 라꾸라꾸 프로젝트' 카테고리의 다른 글
[보안] 패스워드 보안 지침 (0) | 2022.09.12 |
---|---|
[CORS 에러] 멘붕의 CORS 에러 (0) | 2022.08.08 |
[예외처리] 방법 소개와 프로젝트 적용 (0) | 2022.08.08 |
[JWT] Access Token 재발급 문제 (0) | 2022.08.02 |
🌕라꾸라꾸(LakkuLakku) 프로젝트 시작 (0) | 2022.08.02 |