6주 동안 실전 프로젝트를 진행하면서 학습한 내용을 기록하고, 팀의 리더로서 프로젝트 매니징 경험을 기록하는 시리즈입니다.
Q1. DB 테이블 설계에 대한 질문
방법 1) 게시글 테이블에 태그 리스트, 재료 리스트 칼럼을 넣습니다. 리스트에 input 값을 한 번에 넣고, 프론트에서 전달하는 그대로 DB에 저장하고 출력합니다.
방법 2) 태그와 리스트 테이블을 따로 설계하여 게시글 테이블과 매핑합니다.
현재 방법 1을 사용하고 있는데 적절한 방법이 맞을까요?
A1. DB 테이블 설계에 대한 답변
테이블 설계의 경우, 방법 2가 더 적절하다고 생각합니다.
Q2. 데이터 생성 전략에 대한 질문
총 3가지 방법으로 데이터 생성합니다.
A2. 데이터 생성 전략에 대한 답변
데이터 크기는 7500만 개 적합합니다.
그런데 이걸 모두 더미 데이터로 만드는 것은 적합하지 않다고 봅니다.
(더미 데이터는 테스트할 때만 사용)
데이터를 모으는 방법이 있나요?
데이터 업데이트 주기는 어떻게 되나요?
크롤링을 집중적으로 하여, 데이터를 모으는 기술을 익혀야 할 것 같습니다.
효용성 있는 데이터, 실 데이터를 수집하는 것이 어떨까요?
1. MySQL RDB는 빅데이터에 적합하지 않다.
2. 전체적인 로직을 다시 짜야 한다.
어떤 서비스를 하고 싶은지? 실시간 정보를 보여주고 주기적으로 업데이트되는 프로세스로 갈 것인지, 단순 덤프 데이터를 보여주기만 할 것인지?
스프링 실습팀에 들어온 의도와 맞으려면 ETL 이란 작업을 해서 가야 하는 게 맞다고 생각한다.
3. ETL 단계
4. 6주 동안 가져가면 좋을 것들
매니저님과 멘토님이 생각하시는 스프링 실습 팀의 목표는 동일한데, 수단과 과정에 대한 생각이 다른 것 같아 혼란스럽다.
데이터 효용성에 대한 생각
우리 팀이 데이터 생성 주력 전략으로 더미 데이터를 택한 이유는 매니저님께서 Faker Library를 알려주셨기 때문이다. 공개 피드백 시간에 "내일 당장 천만 건의 데이터를 모아 오라고 하면 할 수 있겠는가?"라는 질문과 함께 더미 데이터의 활용성에 대해 알려주셨고, 우리 팀은 이를 "데이터양만 많으면 된다!"라는 것으로 해석했다. 그래서 더미 데이터를 주력 전략으로 잡은 건데..!?
멘토님의 피드백을 듣고 눈앞이 깜깜해졌다.
효용성 있는 실 데이터를 모으라니.. 실 데이터로 레시피 7500만 건을 모을 수 있는가?
그렇다면 기획 변경은 불가피한 것이 아닌가?
어제 멘토링이 끝나고 오후 4시부터 오늘 새벽 4시까지 논스톱 회의를 했다.
근데 결론이 나지 않아서 저녁에도 회의를.. 곧 회의 시작...😹
Elasticsearch에 대한 생각
매니저님은 엘라스틱 서치는 엄청난 데이터가 있을 때 사용하는 것으로, 작은 데이터양으로 엘라스틱 서치를 사용하는 건 엘라스틱 서치에 대한 이해가 부족한 것이라고 말씀하셨다.
그래서 우리는 데이터 크기가 작을 때는 RDB를 쓰다가 유의미한 값의 데이터가 쌓이면 엘라스틱으로 옮겨가자!라는 전략을 세웠다.
하지만 멘토님은 반대 순서로 공부하는 게 좋을 것 같다고 하셨다.
엘라스틱 서치를 먼저 사용해 보고 'RDB에서 엘라스틱처럼 구현하려면 어떻게 해야 하지?'를 고민하는 방향으로...
나 너 무 혼 란 스 러 워 억
이번 프로젝트를 통해 실력 상승은 물론, 인간관계와 리더십에 대한 배움도 깊어질 것 같다. 일주일 새 2번의 소통 문제를 겪고 해결했다니...
⇒ 협업 3일 차에 갈등 발생!?
⇒ YOU NEVER WALK ALONE
혼자 짊어지려 하지 말고 함께 가자.
팀원 분께서 나 혼자 고군분투하는 것 같아 미안하고 안쓰럽다고 말씀하셨다.
마음 써주셔서 감사한 마음이 드는 동시에 살짝 억울했다.
사실 혼자 다 챙기기 너무 힘들어서 절실하게 역할 분담하고 싶었는데..😭
'모두가 자율적으로 정한 그라운드 룰도 제대로 지켜지지 않는데 중요한 역할까지 분담해버리면 팀이 어떻게 될까..?'라는 걱정이 가득했기 때문이다.
이런 생각을 솔직하게 공유하고, 안 그래도 회고 시간에 역할 분담에 대해 건의드리려고 했었다고 말씀드렸다.
그런데 리더인 내가 이런 말을 하는 것보다 팀원인 자신이 건의하는 게 좋을 것 같다고 말씀해 주셨고, 실제로 회고 시간에 먼저 이야기를 꺼내주신 덕분에 팀원들과 역할 분담에 대한 솔직한 생각을 나눌 수 있었다.
이번 주 팀 프로젝트와 리더십에 대한 결론적인 생각은..
혼자 다 하려고 하지 말자. 이건 진정한 리더십이 아니다.
구성원 모두가 조직에 대한 오너십을 갖도록 하자.
우린 항상 함께 하고 있고, 힘든 일은 언제든 털어놓을 수 있고, 도움을 요청했을 땐 누구든 도와줄 것이라는 심리적 안정감이 들도록 팀 분위기 구성하자.
이런저런 생각이 많이 들었던 일주일...😶🌫️
스프린트
를 잘못 알고 있었다.
지금도 잘 모르는 것 같은데!?
지금 이 글의 제목에 스프린트를 적어도 되는지도 모르겠다.
배움이 깊어지고 부끄러움이 커지면 수정하러 와야지
스프린트는 특정 기간 동안 전력 질주하는 게 절대 아니라고 한다.
애자일은 빠르게 나아가는 게 아니라, 우리가 얼마나 망했는지를 최대한 빨리 알기 위해서 전체 프로젝트를 쪼개고 쪼개는 것이라고 한다..!
평균 1~2주의 기간 동안 개발팀이 충분히 해낼 수 있을 정도의 업무를 진행하는 게 목적!
참고: 애자일을 대충 알고 있는 당신을 위하여
어랏 WIL과 프로젝트 시리즈를 어떻게 분리하지..? 쓰다 보니 WIL이 되어버렸네?🤔