📌 pre_project 시작 D+1
프로젝트 시작이라니 마음이 두근 두근 떨린다.
조금씩 정리를 해 가고자 한다.
지난 주 금요일 팀이 정해졌고 팀빌딩을 했다.
팀빌딩 시간에는 "자기 소개 / 팀 이름 / 팀 규칙 / 팀장"을 정했다.
📌 pre-project D+2
# me
나는 노션을 만들어서 팀내에 공유했다.
# team
- git repository가 만들어졌고 팀장님이 GitHub README.md 파일을 작성해주셨다.
앞으로 더욱 알차게 가득 찰 예정이다 📝🎀
- git commit convention 을 정하였다. / 소문자로, 영문자로만 작성하기
- 프론트엔드, 백엔드 각 기술 스택(개발툴) 정하기
# ALL
- git issue 작성 법
- git Milestone 작성 법
- git project 작성 법 및 관리 법
- git branch 관리 방법
git 에 대해 배웠다. 백에서는 항상 git main branch로만 PR을 해서 모르고 있던 사실... ㅠ branch를 여러개 생성하여 merge 할 수 있는 것이다. 그리고 나는 너무 무서웠다... git 이 난 제일 어렵게 느껴진다. 그리고 다 함께 사용하고 프로젝트 관리하는 파일이다보니 잘못해서 merge 되고 파일이 날라가거나 문제 생길까봐 너무 걱정된다. ㅎㅎ
과제로 merge 하고 PR 하는 것 까지 제출하기는 했지만 너무 긴장되는 것은 마찬가지이다. 스터디하면서 짱짱천사님이 안 도와주셨으면 힘들었을 뻔 했다. 스터디... 너무 감사...합니다... (스터디를 하면서 GitTest 레포지토리를 만들어서 팀레포에서 하듯이 이것 저것 해보았다.)
📌 pre-project D+3
# team
- git 배포는 레포지토리에서 바로 말고 각자 fork 후 PR 하기로 했다. (이게 해오던 방법이라 마음이 편할 듯 했다..)
- 사용자 요구사항 정의서 작성을 위한 stackoverflow 분석
프로젝트 설계에 필요한 문서에 대해 개념학습 공부를 했다. 마치... 정처기 실습 같은 느낌이었다. 그리고 나는... 개인적으로 일정 계획이 정해지지 않으니 마음이 너무 불안했다. 조원들에게 일정 계획에 대한 의견을 말했고 정의서 작성을 끝 마친 후 일정을 얼른 짜 보기로 했다.
그리고 하루종일 사용자 요구사항 정의서 작성을 위한 분석을 진행했다.
다들 처음 해보는 프로젝트이다 보니 진도가 쉽게 나아가지는 않았다. 어떻게 시작을 해야하는지, 그리고 어디까지 가능한건지, 어떻게 다음 단계를 나아가야 하는 것인지 모든 것이 불확실하지만 정말 우리 조 이름 처럼 "일단 해 보조" 하며 일단 열심히 작성 하고 조원들과 많은 이야기를 나누고 회의하고자 했다!
📌 pre-project D+4
#me
- 개발자 체크리스트 frame 작성
- 테이블 명세서 문서 작성
#team
- 10일 까지 문서 작성 완료 , 이후 코드 구현하기 (코드 구현 이후의 계획은 아직 미정)
- 프론트 엔드, 백엔드 업무 할당
- 사용자 요구사항 정의서 작성 완료
- 구현 범위 정하기
# team - FE
- 화면 정의서 작성(FIGMA)
# team - BE
- ERD / 테이블 명세서 작성
- API 명세서 작성 (미완성)
오늘은 하루종일 회의가 가능한 날이었고, 코드를 짜기에 앞서 작성해야 할 문서들을 작성 완료 하기로 하였고 모두가 힘을 합친 덕에 사전에 필요한 문서들은 일단락 완료를 했다.
추후에 API 명세서는 많은 수정이 되겠지만 일정 계획의 틀을 잡은 이후 문서가 작성되고 DB 설계가 되어 정말 다행이다 생각되었다. 또 스터디가 많은 도움을 주고 있다. 스터디 덕분에 동기들과 소통하고 이야기 함으로써 다른 조들은 어떻게 진행하고 있는지 이야기도 들을 수 있고 좋은 팁들도 얻을 수 있어 너무 다행이고 좋은 듯 하다. 오늘 업무 할당을 하고 지금은 뭔가 앞에 보고 할 것이 있어 다 할 수 있을 것 같지만 나중이 너무 두렵다.
그리고 또 느낀 것이 있다. 우리는 프론트 분들과 이야기를 많이 하는 편이었는데, 항상 백엔드에서 하는 것들만 보다가 프론트 분들이 하는 것을 보고 이야기를 나누어 보니 정말 쉽지 않아 보였다. 그리고 처음 보는 것들이 너무 신기하기도 했고 흐름을 파악하기 위해 많은 소통을 하는 것이 중요하다는 것 또한 느끼게 되었다. 이유는 하나하나 구현할 때, 이건 어떤 데이터가 필요한지도 소통이 필요했기 때문이다. 흐름에 대한 이해를 위해서는 우리가 프론트에 대해 배운 것이 하나도 없기 때문에 앞으로도 많은 이야기를 나누어야 할 듯 하다.
📌 pre-project D+5
#me
- 사용자 요구사항 수정
#team
- git push 방법 공유
- API 명세서 조회수 확인기능 API 추가 요청
- 질문 전체 API 는 있는데 사용자 요구사항에는 안 적혀있음 ▶️ 사용자 요구사항 수정
- Git test 해보기
- 컨벤션 작성 (FE / BE)
# team - BE
- 배포 할 것 인지 안 할 것인지 (+ CI / CD 에 대해 백엔드 팀원들 끼리 회의)
- 배포 방법 및 배포 흐름에 대해 이야기
- AWS EC2 까지 connect 완료
- AWS S3 → 클라이언트에서
조원들과 이야기 나눌 것이 엄청나게 많다..😵 git push 방법에 대해 부팀장님이 공유해주셨고 다같이 연습하는 시간을 가졌다.
아무래도 이전까지는 “포크 -> 클론 -> 메인에 푸쉬 -> 포크해온 메인에 PR“ 이렇게 했기 때문에 팀 레포에 메인 브랜치 이외에 새로운 브랜치를 딴다는 것도 그리고 그쪽으로 스위치하고 푸쉬한다는 것도 이해가 쉽지 않았다. 월요일에 강의를 듣고 팀장님이 봐주는 앞에서 푸쉬는 성공했지만 솔직히 혼자서 하기에는 힘들었다.(혼자서 성공은 했는데 하다 보니 된 느낌..?)
그런데 오늘 부팀장님이 차근차근 브랜치의 설명부터 브랜치를 나누는 이유 그리고 방법까지 알려주셔서 이해를 할 수 있었다!👍🏻
오늘은 빅 이슈가 있었다!! 우리 조 레포지토리가 삭제되었다..ㅎㅎㅎ 헷 이럴 수가... !! fork 해서 각자 레포에서 작업을 하는 방법을 선택하였는데 개인 레포에서 아무래도 이것 저것 작업 해보는 과정을 거치다보니 개인 레포를 삭제하다가 누군가 실수로 팀 레포를 삭제해 버린 것이다. 다행히 다른 팀원들 모두 개인 레포에 clone이 되어 있어서 문제는 없었다. 또한, 아무도 작업을 하지 않은 상태라 다행이었다! 레포는 다음 날 다시 만들어 진다고 해서 마음을 놓았다.
CI/ CD는 ...사실 코스 중에도 너무 후루룩 지나가버린 부분이라 제대로 기억이 나지 않고 나는 자신이 없었던 부분이었기에 팀장님을 도와 함께 할 수 있는 부분까지 하고자 하였다.ㅎㅎ 우선 배포가 잘 되는지에 대한 실험은 함께 했는데 성공했다.
프로젝트 시작에 앞서 프론트엔드와의 원활한 소통을 위해 CI/CD를 먼저 해놓고 하는 것이 좋다고 크루분이 설명해주셨다. 하지만 우리는 조금 미루기로 결정했다ㅎㅎ...
오늘까지 우리 조의 사전작업과 문서작성이 모두 끝났기 때문에 나는 오늘부터 코드 작성을 시작하였다. issue를 발행하고 User 등록, 수정, 조회, 삭제를 위한 코드를 작성하는 것이 나의 첫 번째 역할로 주어졌다.
📌 pre-project D+6
#me
- user CRUD 작성 완료 (아래는 미완성)
⏹️ 연관관계 매핑
⏹️ 로그인 및 인가 관련 구현
- user 관련 URI 수정 작업 진행
- 팀원 코드 리뷰 및 코드 설명
# team - BE
- API 수정
#team
- 마이 페이지 담을 내용 : 질문, 답변, 이미지, 닉네임
- 유저 정보 페이징 할 것인지? Yes (전체 조회 페이지)
- 유효성 검사 통일
regexp = "^(?=.[A-Za-z])(?=.\\d)(?=.[$@$!%#?&])[A-Za-z\\d$@$!%*#?&]{8,20}$" ,
message = "비밀번호는 8자리 이상 숫자, 문자, 특수문자 조합으로 입력해야 합니다."
- 사이드바에는 Home tap & Question tap
✔️ Home tap : Views 순으로 sorting 하고 무한 스크롤
✔️ Question tap : Newest 순으로 sorting 하고 무한 스크롤
- User Page 에서는 이름, Answer, Questions
코드 작성을 시작하니 끝도 없이 수정하고 수정하고 수정할 것이 생겨난다. 그리고 모든 코드 작성에 의문점을 가지고 왜 이렇게 작성 되는 거지? 이렇게 해도 괜찮을까? 이 파라미터를 받아도 되나? 하고 다시 한 번 사이트를 분석하는 시간을 가지게 된다.
나는 이번에 이렇게 User 를 맡아 작업하며 매우 신기했다. spring 이 무엇인지도 모르던 내가... 이제는 그래도 다시 spring을 복습했다고(비록 JDBC까지 밖에 다시 보지 못 했지만...🥲) controller를 혼자 만들고 있고 그렇게 어려워하던 UserService 혼자 스스로 만들고 해내고 있다는 것이 너무 신기하기도 하고 놀라웠다.ㅎㅎ
우리 조에서 백엔드 팀원들은 사다리타기로 역할분담을 진행했는데 나는 user가 제일 만만할 것이라고 생각했다. (아무래도 코스 수업시간에 했으니까..) 그치만 결코 만만하지 않다는 것을 몸소 뼈저리게 느꼈다. 아직까지 에러는 발생하지 않고 있지만 어디서 에러가 발생할지 모르니 두근두근한다.
JPA 부분을 복습하지 않았던 탓에 스프링 데이터 JPA와 스프링 데이터 JDBC의 차이부터 찾아보았고 하나하나 차근차근 알아보는 시간이 되고 있는 것 같아 매우 뿌듯 하기도 하고 재미있다. (아직은..!!ㅎㅎ)
'PROJECT' 카테고리의 다른 글
[PROJECT] 프로젝트 ver.2 업그레이드 시키기 (1) | 2023.10.30 |
---|---|
[PROJECT] 사용자 역할 부여, 북마크 조회 시 회원 정보 무시 - 코드 오류 수정 (0) | 2023.10.23 |
[PROJECT] pre-project stackoveflow 클론 코딩 / WEEK2 기록 (0) | 2023.10.05 |
[PROJECT] 메인프로젝트 회고 / 기록 남기기 (1) | 2023.09.24 |
[PROJECT] Main 프로젝트 기록 / WEEK1 기록 및 회고 (1) | 2023.08.30 |