항해99 3기

[WIL] 항해99 3기 5주차

na_o 2021. 10. 17. 23:43
728x90

처음으로 React와 협업한 프로젝트가 끝났다.

주제는  회의록 관리 시스템 이다.

캘린더에 회의록을 기록하여 관리하는 사이트이다.

https://capable-thistle-ae7.notion.site/99-3-12-0963dd8ee2cc466bb31d0f189fbc1b3f

 

항해99 3기 12조 미니프로젝트

Sparta Conference Log : 회의록 관리 시스템

capable-thistle-ae7.notion.site

https://github.com/salmon2/Sparta-conference-log-Back

 

GitHub - salmon2/Sparta-conference-log-Back

Contribute to salmon2/Sparta-conference-log-Back development by creating an account on GitHub.

github.com

 

 

 

첫 협업을 진행하며 느낀 아쉬운 점

백엔드쪽은 프론트보다 구현이 일찍 끝나서 후반에 강의를 듣는 시간을 가졌다.

이럴 수 있었던 이유는 거의 교수님이라고 불리는 전공자 분이 계셔서인 것 같다.

그 분께서 도메인 설계를 직접 해주셨기 때문에 수월하게 서비스 로직을 짰다고 생각이 든다.

내가 회의록을 조회하는 API를 짰다. 두 분은 JPA를 잘 알고 계셨지만 나는 얕게만 알고 있는 상태라

DB 구조를 생각하면서 서비스단을 짜는 것이 서툴렀다.

온전히 MySQL 쿼리를 이용했다면 잘 할 수 있었다. 하지만 JPA로 DB 테이블을 구성하고 JOIN도 JPA를 이용하다 보니까 익숙치 않았다.

급하게 조금 배워서 서비스단을 어쨌든 짰다. 

하지만 절반은 수정해야 했다. ORM의 연관관계를 제대로 활용하지 못했다.

다른 팀원분이 참고하라면서 일부 수정해주셨다. 그거 보고 참고하면서 나머지 부분을 수정했다.

 

 

우리 프로젝트는 Spring Security와 JWT가 구현되어있다.

사실 JWT는 내가 구현한 것이 아니라서 잘 모른다.

Spring Security는 개인 프로젝트때 경험을 해 보았기 때문에 어느정도는 알고 있지만

JWT는 잘 모르겠다...ㅎ

항해에서 제공해준 강의에 JWT가 있어 듣긴 했지만 기억이 안 난다

웬만하면 강의 내용은 대충이라도 기억하는데 절대 기억 안 난다...

처음부터 JWT가 포함되어있는 프로젝트 파일 통째로 받았기 때문인 것 같다.

공부를 해야겠다.

 

 

도메인도 내가 만들지 않았다.

그렇기 때문에 DB의 연관관계를 가지면서 도메인을 만들지 못한다.

JPA에 대해 너무 얕게 알고 있다.

난 강의에서 배운 지식 정도만 알고 있다.

제공받은 강의만 들어서 DB 구조를 짤 수 없다.

백엔드 팀원들 중 나만 JPA를 얕게 알고 있었다.

두분 다 항해를 시작하기 전에 유명한 강의를 사서 듣고 왔던 것이다.

그러니까 내가 못 따라가지.. 두 분은 넘사벽인것 같았다. 너무 잘 하신다.

https://www.inflearn.com/course/ORM-JPA-Basic#curriculum

 

자바 ORM 표준 JPA 프로그래밍 - 기본편 - 인프런 | 강의

JPA를 처음 접하거나, 실무에서 JPA를 사용하지만 기본 이론이 부족하신 분들이 JPA의 기본 이론을 탄탄하게 학습해서 초보자도 실무에서 자신있게 JPA를 사용할 수 있습니다., 본 강의는 자바 백엔

www.inflearn.com

 

 

 

프론트분들이 엄청 고생하셨다.

세분 다 리액트를 배운 지 얼마 되지 않아서 그런 것도 있긴 하지만

끝내기 위해 잠을 줄여가면서 엄청 고생하셨다.

모르는 부분을 검색하면서, 물어물어 가면서 해결하셨다.

그것을 보면서 '나도 리액트를 알았다면 도와드렸을텐데' 라는 생각을 많이 했다.

내가 리액트를 1도 몰라 도와드릴 수 없어서 아쉬웠다.

나도 리액트를 공부해보고 싶다.

 

 

 

뿌듯한 점

JPA를 잘 몰라 서비스단 로직을 겨우 짜냈다.

전공자이신 분께서 잘해오셨다고 스쳐지나가듯이 말하셨다.

뿌듯했다...

하지만 로직의 절반이 수정되어야 했따.

 

 

 

프론트분들이 회의록 내용 입력(DB Create) 부분이 안되서 고군분투하고 계셨다.

난 1도 모르지만 얘기하시는 내용을 듣고 있었다.

자세히 보니 DB에 들어가야되는 날짜 형식이 API 설계 했던 내용과 달랐다.

'2021-10-18T02:23:00' 이런 식으로 DB에 Insert 하고 계셨다.

우리가 얘기했던 형식은 '2021-10-18 02:23:00' 이었다.

서비스 로직에서 띄어쓰기 기준으로 날짜와 시간을 분리한다.

하지만 '2021-10-18T02:23:00' 여기서 띄어쓰기가 없기 때문에 에러가 나고 있던 것이다.

띄어쓰기 기준으로 split하는 대신 "T"를 기준으로 split 하도록 수정했다.

프론트엔드 분들의 시간을 지켜주었다.

 

 


이번 조에서 내가 팀장이었다.

잘 이끌고 싶었지만 아쉬운 느낌이 많이 들었다.

팀장이기 때문에 백엔드 프로젝트를 내가 이끌어가야한다고 생각했다.

하지만 지식이 부족했기 때문에 지식이 가장 풍부하신 전공자 분께서 이끌어가셨다.

그 분 덕분에 어려움 없이 끝낼 수 있었다.

프로젝트의 효율을 생각해서 가장 잘 아는 분이 이끌어가는 것도 좋은 방법이라고 생각이 들었다.

그래서 나는 다른 부분에서 노력했다.

팀원들이 9시에 모두 모일 수 있도록 신경썼다.

못 일어나신 분들이 있으면 채팅을 남겨 깨웠다.

내가 보낸 채팅 덕분에 일어나셨다고 하시니 뿌듯했다.

하루도 빠짐없이 팀원들을 챙겼다.

모두 모이면 안부(?)를 물었다.

"잘 되어가고 계신가요?", "많이 피곤하시죠? 언제 주무신거에요?ㅠ", "너무 늦게까지는 하지 말아요.." 등

팀원들을 챙겼다고 생각한다..ㅎㅎ

딱히 한건 없지만 잘 따라주셔서 감사했다.

 

 

프론트 분들 너무 고생 많으셨습니다!!!!

피곤해하시고, 아침에 못 일어나시는걸 보니 제가 다 맴찢이었습니다..

백엔드 분들도 고생 많으셨습니다!!

덕분에 배워가는 것도 많았습니다!