협업의 자세와 고집

김민준·2023년 8월 8일
0
  1. 같은 기능 다른 구현
  2. 그로인해 생긴 문제
  3. 협업에 대해 내가 잘못 생각 한 것

이어짐

1. 같은 기능 다른 구현

팀 프로젝트이기 때문에 목표를 정한 뒤 프로젝트의 기본 틀을 화면공유를 하면서 만든 뒤, 깃 허브로 공유받아서 자신의 파트를 만들기 시작했다.

그런데 아주 간단한 부분부터 문제가 생기기 시작했다.

이유는 같은 기능 = 개념 이라도 내가 이전에 구현한것과 다르게 만들어서이다.

아래는 비교를 위해서 코드블럭이 아니라 스크린 샷인점을 양해바란다.

좌측이 현재의 팀 프로젝트 과제
우측이 예전의 개인 프로젝트 과제 이다.

우선 모델 구성부터가 달랐다.
1. 나는 index.js에서 모델간의 관계를 구성했지만,
팀 프로젝트에서는 각각의 모델 안에서 모델의 관계를 구성했다.
2. 나는 모든 파일을 수동으로 index.js로 불러와서 모듈을 내보냈지만,
팀 프로젝트에서는 폴더내의 .js파일을 읽어와서 객체로 내보냈다.
프로젝트가 커질수록 새로운 모델이 추가 될 가능성이 높으므로 팀의 방식이 더 좋다고 생각된다.

3. 나는 config.js 에 DB와 연결할 내용을 넣어놨고, 팀 프로젝트는 config.json에 DB와 연결할 내용을 넣어놨다.
(host,name,password)
또한 불러오는 위치도 models/index.js 와 0DB/dbSequelize.js 로 달랐다.

결국 나는 .env로 내용물을 불러올 수 있지만, json에서는 그것이 불가능하다.
json의 내용을 바꾸기 위한 무언가의 기능이 있지만.

위와같이 .env의 상수 값이 아니라 미리 입력한 내용이 나온다.
이건 .env를 쓰는 이유도 퇴색되고 실제로 작동도 잘 안하는 것이므로 내일 아침 회의때 이야기해서 고쳐야겠다.

2. 그로인해 생긴 문제

1. 잘 굴러가고 있겠지
console.log를 찍기 전까지는 config.json 의 내용물이 제대로 .env 의 내용물로 바뀌었다고 생각했고, 그래서 왜 404 에러가 나는지 알지 못했다.

2. 너무 당연한 것을 늦게 눈치채게 된다.
나는 이전 프로젝트에서 내 AWS RDS의 기본 DB명을 .env에 넣어놨고,
팀 프로젝트에서는 다른 이름의 DB가 기본으로 설정되어 있었다.
당연히 제대로 작동하지 않았고 결국 DB를 내리고 새로 만들게 되었다.

구체적으로는...

예전에는 npx sequelize-cli db:migrate:undo:all 로 마이그레이션을 다 취소하여, DB의 내용을 비웠다.
이번에는 DB를 그냥 내렸다.

npm i sequelize
npm install —save-dev sequelize-cli
npx sequelize init
npx sequelize db:drop
npx sequelize db:create
npx sequelize db:migrate

그런데 생각해보니 내릴 필요는 없었네...

물론 팀원들한테 물어보면 빨리 끝날 것이었지만, 스스로 기초가 부족한 것 같아서 맨땅에 분석하다 보니 몇 시간이나 잡아먹었다.

3. 협업에 대해 내가 잘못 생각 한 것

단순히 목표가 주어지고, 그것을 인원수로 나누고 시간이 지나면 하나로 합쳐지는 것이 과제가 아닌 것같다.
이렇게 단순한 목표를 만드는데도 말도 안되는 것으로 계속 문제가 생기지 않았는가?
협업은 단순히 작업량을 팀원의 수로 나누는 것이 아니라, 우리가 만들것이 무엇인지, 그것이 무엇이라고 생각하는지, 그것을 어떻게 구현할 것인지에 대해 이야기하는 것인것같다.

또한 본인의 기초에 대한 자신이 없으면, 묻기가 더 꺼려지는 것같다. 기초 실력도 협업의 일부인것같다.

profile
node 개발자

1개의 댓글

comment-user-thumbnail
2023년 8월 8일

글 재미있게 봤습니다.

답글 달기

관련 채용 정보