[항해99][1주차] #2. 미니 프로젝트 회고

Hajun Song·2022년 6월 24일
0

항해99

목록 보기
5/8
post-thumbnail

[1주차] #2. 미니 프로젝트 회고


금쪽같은 내 시티

프리미어리그 팀별 BBC 최신 소식 및 소통 커뮤니티 페이지.

금쪽같은 내 시티 바로가기
Github 바로가기


미니 프로젝트 되짚어 보기

문제해결 #1

순조롭고 무난하던 미니 프로젝트 중 맞닥뜨린 첫번째 문제.
게시글을 불러오는 APIGET으로 설계를 했는데..
팀 페이지마다 게시판이 따로 필요했다.

그렇다. 데이터베이스에서 필요한 게시글 정보가 팀별로 다 다르다는 것을 늦게 깨달았다.
분명 jinja2를 이용해서 팀페이지를 분리했는데..
게시판 로드시 그거에 맞는 데이터를 부르려면 무슨 팀이냐는 정보가 서버에 필요했다.

처음엔 페이지를 /team/<teamtitle>을 통해 접속했다는 것을 이용해봤다.
URL을 가져와서 서버에 넣어보자.!
{{teamtitle}}라고 응답이 왔다. 내가 그렇게 줬다고 그렇게 돌려주기 있냐고..

결론적으로 서버에서 필터링을 하지 않았다.
모든 게시글을 브라우저로 넘겨서 js를 이용해서 필터링을 했다.
기능 자체는 구현을 했지만 찝찝했다.

하지만 이 덕분에 모든 팀 글 모아보기를 구현 할 수 있는 방향이 생겼다.
2차적인 방식이었지만 게임 채팅창에서도 비슷하게 구현을 한다고 한다.
모든 채팅을 불러와서 귓속말 그룹대화 길드대화를 필터링 한다고 한다.
차선책이었지만 틀린 방법은 아닌듯 하다.

🐱‍👤NOTE
다음부턴 더 꼼꼼하게, 더 세밀하게 계획하자.


문제해결 #2

첫번째 문제 해결 후 맞이한 두번째 문제.
모른다. TeamPage가 열리지 않았다. 문제를 아직도 모른다.
언제부턴가 안되었다. 되는 커밋까지 찾아서 내려갔다.
브랜치 생성.

손으로 한 줄 한줄 다시 손머지를 하며 체크했다.
모르겠다. 진짜 모르겠다.
그러다 됐다. 분명 전과 후 코드가 같은 것 같은데 됐다.
아직 그날 TeamPage가 안 된 이유는 모른다.

배포기한 6시간 전에 일어났던 일이었고 무척이나 짜릿했다.

🐱‍💻NOTE
중간중간 commit 잘 하고.. Commit 이름 잘 붙이고.. 정신 바짝 차리자...


문제해결 #3

2번 문제를 해결 하고 이제 최종 배포하실게요!
도메인까지 완료되었어요 확인해주세요~~

이거.. 로그인 원래 안되는건가요?

어...
로컬환경에선 되던 로그인 기능이 배포환경에서는 먹통이었다.
배포 후 로그인 불가, 배포 후 로그인 안됨.
오류 코드가 어디에도 안나오니 계속 검색했다.

아이디 유효성 검사 등 버튼 자체는 작동하는 것 같은데 로그인은 안되었다.
아이디와 비밀번호를 정확히 입력하면 그 순간부터 버튼과 상호작용이 안되었다.
검사 페이지에서 보니까 네트워크에도 아무런 일이 일어나지 않았다.

JWT 관련해서 서버에서 말썽이었나 생각이 들었다.
결국 API까지 접근은 하고 유효성 검사가 진행되니 그런 생각을 했다.

💡 해결 방법은 pyJWT를 다운그레이드 하는 것이었다.
.decode('utf-8')를 pyJWT 2.0.0 버전 이상부터는 지원하지 않았다.
이에 pyJWT 인터프리터를 제거 후 1.7.1 버전으로 재설치해서 적용 배포했더니 되었다.


그 외의 이야기

부족함이 너무나도 많았다.

  • 처음 해보는 협업에서 직관적이지도 않고 틀도 없던 변수, class 이름은 번거로움을 배로 만들 뿐이었다. 변수이름 만드는 규칙의 필요성을 온 몸으로 깨달았다.

  • 새로 접한 jinja2를 이용해 include 용 모듈 html을 이것저것 만드는 일에 한눈이 팔려 파일명이 너무 지저분했다. 현업에서 어떨지는 모르지만 다음엔 대분류로 인덱싱을 더 잘 해봐야겠다.

  • API 설계가 너무 부실했다. 설계가 되어있는 API는 정말 시간이 얼마 걸리지 않았다. 조금 더 꼼꼼했으면 어땠을까.

  • 사실 API를 떠나 자잘한 놓침들이 너무 많았다. favicon, og 등 배포 후 떠오르는 빈자리들에서 오는 아쉬움이 너무 컸다. 쉽게 그 자리를 떠나지 못했다.


조원 이야기

다면평가의 주어진 시간이 너무 짧아 하지못했던 이야기를 이자리를 빌어 남긴다.

이 팀원은 협업 하기에 적절한 "실력"을 갖추었나요?

내가 누구를 평가하겠나.. 첫째날의 ○○○ 개발자는 아이디어 맨이었다.
저녁도 먹기 전에 기획이 끝날 정도로 틀이 잡혀가는 속도를 낼 수 있었다.

두번째 날의 ○○○ 개발자는 문제를 바라볼 수 있는 현명한 사람이었다.
BBC 뉴스 페이지의 뉴스 경로 문제점을 인지하고 다른 방안을 떠올려 일찍 방향을 바꾸는 결단력이 있는 사람이었다. 이는 추후에 BBC로 진행한 나에겐 없는 결단력과 시야이다.

세번째 날의 ○○○ 개발자는 아버지였다. 새로운 방향을 보지 못했던 것은 아쉽지만 일의 경중을 알고 우선순위를 세울 줄 아는 그런 어른이었다.

배포하는 날의 ○○○ 개발자는 팔방미인이었다. 금나와라 뚝딱. 은나와라 뚝딱. 함께 많이 작업하지 못했던 부분이 많이 아쉽다.


이 팀원은 협업 하기에 좋은 "태도"를 갖추었나요?

필요한 기능을 넣을 줄 알고, 고민할 줄 알고, 찾아볼 줄 아니 △△△ 개발자는 개발자로서 필요한 덕목은 다 있는 것이 아닐까 싶다. 미니 프로젝트 기간 중 가장 오랜시간 같이 붙어있었고 많은 부분들을 공유했다. 나는 설명해주며 늘고, 또 설명을 들으며 늘었다.


이 팀원은 협업 하기에 좋은 "태도"를 갖추었나요?

팀원 전체가 오합지졸이었던 것임에는 분명했다. 좌충우돌 1주차 애기들의 도전임에도 분명했다. 그 누구도 제대로 깃헙을 제대로 이해하지 못했다.

깃헙에 대한 부족으로 협업에 차질이 있을 뻔 했던 프로젝트지만 ☆☆☆ 개발자의 지속적인 소통 덕분에 흔들림 없이 방향을 잡아나갈 수 있었다. 모든 일은 결국엔 소통, CRM이 아니던가!

필요한 사항이 있을때 무언가를 요청하면 이해하고 더 나은방향을 권하는 객관적인 눈도 있으며, 생각한걸 구현하는 실력또한 부족함 없었다. 팀 플레이에 있어서 방향을 잡아주던 ☆☆☆ 개발자의 협업능력은 주먹구구 좌충우돌 1주차의 우리들에겐 필수적이었다.


내가 바라본 나의 이야기

나는 협업하기에 좋은 "실력"을 갖추었나요?

미니 프로젝트에서 원했던 기능들은 다 구현해냈다. 팀별 게시판 분리, 좋아요 정렬, 스위치 좋아요, 뉴스 정렬방식 등 계획한대로 구현했다.

물론 기간 중 새벽 3시까지 머리를 싸매고 고군분투 하는 모습도 있었고, 마지막날 도저히 원인 모를 서버 이슈에 점심도 못먹으며 손으로 깃 병합을 하던 시간도 있었다. 하지만 기본적으로 이번 미니 프로젝트를 마무리 하는 일에 실력에서 부족함은 없었다.

하지만 협업하기에 좋은 실력이라고 묻는다면 확신이 있다. 당연히 NO다.

그렇지만 NO를 알았다는 것 자체로도 참 귀하다고 생각한다. 디테일적인 부분에서 나타난 많은 부족함을 직접 마주하고 몸으로 알았기에 더 값진 기간이었다.

Chapter 1에서 성장하기 위해, 도움이 되었던 부분과 보완이 되면 좋았을 부분이 있나요?

기분을 무언가 빌려서 설명하자면 영화 300 처럼 아이때 버려지고 살아 돌아온 기분이다. 충분히 스파르탄이었고 살아남음은 곧 성장이었다. 앞으로도 그럴 것이고 그것도 성장일 것이다.

한가지 애매한 부분은 멘토링에서 이건 시간내에 못하실거같은데, 이건 빼시는게 좋을 것 같은데, 이건 구현이 어려워요! 보다는 조금더 할 수 있다! 해봐라! 부추김이 좋지 않았을까 싶다.

물론 장교교육대에서의 사람들도 포기하라고 소리질렀으니 부트캠프 다웠다고 해도 이상하진 않다. 프로젝트를 완성하고 뿌듯함을 느끼고 할 수 있다는 자신감을 만들어주는 순기능이 없던 것은 아니니까 더 그렇다. 더 많은 고찰이 필요할 것 같다.

미니 프로젝트 중 단지 조금 먼저 알았을 뿐이던 작은 지식들이 눈덩이가 되어 불어났다. 알려주는 입장에서는 더 명확하게 정리할 수 있었고 도와주는 입장에서는 탑골공원에서 훈수두는 할아버지들 처럼 더 넓게 더 깊게 볼 수 있었다.
부족함은 채찍이 되고 풍족함은 배가 되었다.

profile
일단 똥을 싸라, 그리고 박수칠 때 까지 닦아라.

1개의 댓글

comment-user-thumbnail
2022년 6월 26일

팀장님 고생 많으셨어요~ 덕분에 미니 프로젝트 잘 마무리 할 수 있었습니다👍 앞으로 남은 기간동안도 화이팅입니다!

답글 달기