티스토리 뷰
프로젝트 관련
프로젝트를 진행하면서 힘들었던 점은? 혹은 어려웠던 점은?
- 어떤 문제로 힘들었는지, 어려웠는지 확인
프로젝트 개발 과정까진 순탄했지만, 서버 배포 과정에서 예상보다 복잡하고 어려운 문제들을 겪었다. 특히, 스프링 부트의 배포에 관한 정보를 찾기 어렵고, 자료가 체계적으로 정리되어 있지 않아 다양한 출처에서 관련 정보를 찾아보며 공부하는 데 많은 시간을 소비했다.
배포 과정에서 특히 어려움을 겪은 부분은 AWS를 통한 배포 후 인스턴스에 접속하는 것이었다. 한 팀원의 계정으로 배포를 진행했으나, 해당 팀원만이 인스턴스에 접속할 수 있는 문제가 발생했다. 이 문제를 해결하기 위해 시간이 생각보다 오래 걸렸다.
- 문제가 생겼던 원인 파악
1) 인바운드 규칙 변경
SSH 접속 문제를 해결하기 위해 AWS 인바운드 규칙에서 SSH 포트(22)의 소스를 'Anywhere-IPv4'로 변경했다. 이전에는 소스가 계정 주인인 팀원의 IP로만 제한되어 있어서, 해당 IP를 가진 컴퓨터에서만 인스턴스 접속이 가능했던 것을 파악했다.
2)핫스팟 연결
일부 공유기에서 서버 접속이 막히는 경우가 있음을 발견하고, 집 와이파이 대신 핫스팟을 사용하여 접속을 시도했을 때 문제가 해결되었다. 과거에도 학교 수업에서 putty 접속을 했을 때 유사한 상황을 경험한 적이 있어, 이 방법을 시도할 수 있었다.
- 문제에 대한 개선점
이러한 경험을 통해, 배포 과정의 어려움은 분명히 존재하지만, 그와 동시에 AWS 및 클라우드 서비스에 대한 이해도가 부족했다는 점도 깨달았다. 앞으로 AWS나 클라우드 컴퓨팅 분야에 대해 더 깊이 공부하고자 하는 동기가 생겼다.
팀 관련
팀에서 좋았던 점 / 아쉬웠던 점
- 어떤 부분에서 어떻게 진행 했었기 때문에 좋았는지, 아쉬웠는지
프로젝트 초반엔, 총 4명의 팀원 중에 백엔드 팀원이 3명이나 되어 나는 이번 프로젝트를 통해 최대한 많은 것을 구현하고 배우고 싶은데, 역할 분담을 하면 너무 조금만 배워가는 것이 아닐까 라는 걱정을 했었다. 하지만 이러한 걱정은 곧 불필요한 것임을 깨달았다. 역할 분담으로 인해 내가 직접 맡지 않은 부분들도, 개인적으로 추가로 구현해보는 방식으로 충분히 학습할 수 있었기 때문이다. 실제로, 게시글과 댓글의 CRUD 기능 같은 내가 담당하지 않은 영역을 혼자서 구현해보고, 이를 별도의 GitHub 리포지토리에 업로드하기도 했다.
이 과정에서 더 크게 얻게 된 것은 바로 팀원들과의 '협업' 경험이다. 백엔드 개발자가 여러명이었기 때문에 서로의 코드를 리뷰하고 피드백을 주고받으며, 혼자서는 미처 생각하지 못했던 새로운 부분들을 서로 알려주고 배워가며 더욱 수준 높은 코드를 작성할 수 있었다.
또한 서버 배포 과정에서도, 혼자서 배포를 진행했다면 훨씬 더 큰 어려움에 직면했을 것이다. 팀원들과 함께 문제를 해결해 나갔기에 서버 배포를 성공적으로 완료할 수 있었다.
- 에피소드 공유
멘토님께서 PR에 서로 리뷰를 남기며 협업하는 모습을 보시고 멘토링 시간마다 칭찬을 해주셨다. 또한 코드 리뷰뿐만 아니라, 서로에게 "수고했어요!", "좋아요!"와 같은 간단한 응원의 메시지를 주고받는 것이 개발 과정에서 큰 격려가 되었다.
PR에 코드리뷰나 응원 메시지 달아주신 모든 팀원 분들께 정말 감사하다.
개인 역량 & 성장
내 스스로 잘했다고 생각한 포인트가 있는지? 아쉬움은 없는지?
- 코드 리뷰는 잘했는지
일단 깃허브 PR에서 팀원 분들이 올린 코드를 보고 리뷰를 열심히 달았던 것 같다. 팀원들이 달아주신 리뷰도 적극적으로 반영했다는 생각이 든다.
또한 내가 개발했던 코드도 개발이 끝났다고 단순히 완성된 것으로 보지 않고, 지속적으로 검토하고 코드를 고치며 리팩토링을 진행했다. 한달이라는 짧은 시간임에도 내가 처음에 작성했던 코드들을 보면 생각보다 너무 복잡하고 지저분하게 개발했구나라는 생각이 들었다. 그래서 코드를 계속해서 깔끔하게 정리하고 리팩토링하는 과정을 반복했다.
- 어떠한 이유로 잘했다고 생각하는지
의도치 않게 사다리 게임으로 조장을 맡게 되었는데, 조장이 된 만큼 팀에 최대한 도움이 되려고 노력했다. 단순히 내가 맡은 부분만 하는 것이 아니라 최대한 팀에 도움이 되는 것은 다 하려고 했던 것 같다. 내가 직접적으로 담당한 부분이 아님에도 팀원 분들에게 이렇게 하면 더욱 간편할 거 같다는 의견을 내어 반영이 되기도 하였다.
또한 팀 구성원 4명 중 프론트엔드 개발자가 한 명뿐이었고, 이로 인한 프론트엔드 인력 부족으로 개발 진행 속도가 예상보다 느려지는 상황이 발생했는데, 최대한 완성도 있는 프로젝트를 만들고 싶어서 한 번도 해본 적 없는 리액트로 프론트 팀원 분을 도와 개발하기도 하였다. 물론 리액트 경험은 처음이라 큰 도움이 됐을 지는 모르겠지만, 팀을 위해 가능한 최선을 다한 점에 대해서는 스스로를 칭찬해주고 싶다.
- 문제에 대한 개선점
이번 프로젝트를 진행하면서 백엔드 개발자가 되고 싶다고 해서 백엔드만 파는 것이 아니라, 프론트엔드와의 협업을 위해서는 프론트엔드에서 사용하는 기술스택도 알아야겠다는 생각이 들었다. 사실 리액트 코드를 처음 보고 기존에 알던 HTML, CSS, JS와는 많이 달라 놀랐었다. 프론트엔드와 연동하거나 협업할 때, 프론트엔드에서 작성한 코드를 잘 이해하고 더욱 원할하게 작업을 수행하기 위해 리액트도 익혀야겠다는 다짐을 하게 되었다.
'Spring' 카테고리의 다른 글
스프링 커뮤니티 만들기 #6 - 댓글 좋아요 (2) | 2024.03.03 |
---|---|
스프링부트 커뮤니티 만들기 #5 - 댓글 CRUD (0) | 2024.03.03 |
스프링부트 커뮤니티 만들기 #4 - 게시글 CRUD (1) | 2024.02.28 |
스프링부트 커뮤니티 만들기 #3 - 로그아웃, 회원탈퇴 (1) | 2024.02.27 |
스프링부트 커뮤니티 만들기 #2 - 예외처리 (3) | 2024.02.09 |
- Total
- Today
- Yesterday
- 스프링 북마크
- 백준 파이썬
- EnumType.ORDINAL
- 영속
- JPA
- elasticsearch
- 인텔리제이
- 회원탈퇴
- 로그아웃
- 웹 MVC
- 자바 스프링
- 백준
- 커뮤니티
- 프론트엔드
- 북마크
- 웹MVC
- 로깅
- 다이나믹 프로그래밍
- SQL
- 파이썬
- SQLD
- 비영속
- SQL 레벨업
- 지연로딩
- 스프링 커뮤니티
- DP
- 자바
- 스프링
- 스프링부트
- 준영속
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |