4주 프로젝트 중 3주차 회고

Sunmin
Hello, world?
Published in
4 min readAug 2, 2020

어느새 3주차의 마지막 날인 일요일 밤이다.

첫번 째 주는 기획을 하기에 본격적인 코드 작성은 2주차부터 이루어지고,
분명 잘 기획했다고 생각한 스키마의 허점을 2주차에 자각하고 수정과 혼란의 시간을 겪고 나면 어느새 3주차다. 그리고 3주차가 끝나면 1주일이 남아서 마지막 마무리를 해야하는 4주차가 온다. 전체적인 회고는 프로젝트가 끝나면 쓰기로 하고, 이번 주 역시 지난 주처럼 짧게 글을 남겨야겠다.

1. 라우팅

flavors 테이블의 데이터를 findAll하려면 note.js와 에러가 나고, bookmarks 테이블의 데이터를 findAll하려면 cafe.js와 에러가 나는 상황이 있었다. promise_rejection에러여서 너무 광범위하기도 했고, 4개의 파일이 얽혀있다보니 헬프데스크에 질문하기도 난해해서 팀원분들께도 상황에 대해 공유하고 계속 고민 중이었었다.

그러던 중 오피스 아워시간이 되어 승환님께 여쭤볼 수 있었고, 라우팅 문제일 수 있다고 하셔서 엔드포인트를 바꾸자 바로 잘 실행이 되는 것을 볼 수 있었다. 즉 숫자로 지정해 놓은 엔드포인트는 당연히 문자와는 구분해서 인식할 줄 알았는데 그렇지 않아서 에러가 발생했던 것.
실제 개발시에도 은근히 자주 일어나는 실수라고 말씀해주셨다. 승환님 덕분에 다행히 bookmarks 기능을 잘 사용할 수 있게 되었다. 감사합니다!

2. using password: NO && .env

로컬에서 잘 작동하던 db가 RDS에서 migration도 잘 되었는데 자꾸 Access denied for user … (using password: NO)가 뜨는 상황이 발생했다. 1번 문제가 해결되어 한시름 놓았다 생각했는데 다시 한번 하루종일 고민해도 해결되지 않았다. 결국 헬프데스크에 글을 올렸고, 환경변수들을 하드코딩하자 잘 작동되는 것을 볼 수 있었다. 결국 로컬과 달리 EC2에서 클론한 파일에는 환경변수들이 저장되어 있지 않아 발생한 문제였다.

EC2와 RDS의 연결, 그리고 pm2의 문제일 것이라고만 생각했었고, 문제가 해결된 이후에도 pm2일때는 환경변수 설정이 다를 것이라고만 생각했다. 그래서 그것과 관련해서 찾아보다가 해결이 안 되어서 우선은 하드코딩된 값들로 유지를 시켜둔 상태였는데 다음 날 두현님과 이야기를 하다가 깨달았다. EC2에 .env파일이 없었다는 것을……..!!!!! 그래서 이를 토대로 두현님이 환경변수들을 전역으로 설정하는 것도 자세히 알려주셔서 좋았다.

지난 번에도 Access denied for user … (using password: NO) 관련해서 이슈가 있었는데 그 때도 비밀번호를 export하지 않아서 발생한 것이었고, 이번에도 결국 설정해놓은 환경변수들이 export되지 않은 똑같은 상황이었다. 이제 이 이슈는 더 이상 만나도 그다지 무섭지 않을 것 같다.

이틀간의 번뇌를 통해 엔지니어분들에게 감사하게 많은 것들을 배운 소중한 시간이었다.

3. 괜한 기대로 괜한 실망을 하지 말고, 나부터 잘하자.

어느 사회나 그렇지만, 다른 사람은 내 마음처럼 행동해주지 않는다. 나에게 기대를 걸고, 그에 충실할 수 있도록 노력하자.

4. 같은 포지션의 팀원의 부재

진석님이 왜 백엔드를 혼자 하게 되었느냐고 여쭤보셔서 대답을 했다. 나를 제외한 세 분이 프런트를 원하시는 상황이었고, 나 또한 많이 배울 수 있는 기회라고 여겨져서 그렇게 결정했다고. 3주전으로 돌아가도 같은 결정을 할 것이지만, 진석님의 말씀대로 고립되어서 코드를 작성하는 느낌이 있는 것은 부정할 수 없다.
팀장이기에 전체적인 진행상황은 늘 관리하고 있지만, 백엔드 파트만은 전적으로 내 담당이기에 내가 모르면 팀원에게 도움을 받는 것이 거의 불가능하고 그것이 또한 엄청난 부담감으로 다가오기도 한다. 그래서 백엔드의 팀원끼리새로운 아이디어의 공유가 이루어지지 않는 것은 아쉽다. 그만큼 책임감을 느끼고 열심히 해야할 의지를 다잡지만, 새로운 스택들을 시도해보기에는 두려움이 먼저 앞서는 것을 보면 분명히 기회비용이 있는 것 같다.

5. 서버와 클라이언트

클라이언트와 서버를 분리하는 동시에 함께 생각하는 코드를 짜는 것은 여전히 쉽지 않다. 즉 서버에서는 어떻게 데이터를 받고, 보내줄지에 대해 고민만 하면 되지만 ‘이렇게 보내면 이러한 key로 써주세요’ 라고 API docs에 적어놓는 것만으로는 클라이언트와 온전한 소통이 되지 않는다. 결국 서버와 클라이언트를 분리하되 함께 생각하려면 최종적으로 중요한 것은 소통이라는 것을 매일 느끼고 있다. 매일 매일 슬랙과 구글밋에서는 입에서 단내가 날 정도로 소통이 이루어지고 있다 ㅎㅎㅎ

6. 소통하고 싶은 사람이 되자

매일 매일 소통에 대한 중요성을 느끼다보니 다른 사람들을 보며 나 역시 소통하고 싶은 사람인가에 대해 자주 생각하고 배우게 된다. 논의를 할 때 팩트에 집중하지 않고 핑계에 치우쳐 있지 않은지, 스스로 한계를 지어버리고 그것으로 말미암아 자기합리화를 하고 있지 않은지. 즉 내가 부정적으로 생각하는 사람들의 모습이 나에게 있다면 그것을 걷어내는 연습을 부단히 하고 싶다.

--

--

Sunmin
Hello, world?

하고 싶은 것이 많은 사람이 되고 싶고, 그러기 위해 노력합니다.