Curriculum/AI웹개발자_내일배움캠프

Story 5. This Week I Learned (9kbab project, Git hub, back-end, KPT)

작은코딩 2022. 1. 4. 19:01

분명 4번째 스토리에서 TIL을 작성하자고 다짐을 했었는데,, 프로젝트를 하다보니 시간이 부족하여 부득이하게 다시 WIL로 돌아왔다. 

프로젝트를 위해 새벽까지 열일하는 우리 9velopment팀의 열정에 박수를 보내며 다섯 번째 회고록을 시작하겠다. 

 


 

1. 9k bab project

9k bab project

 

T 스토리에 GIF 를 업로드하면서 용량 문제 때문에 변환을 좀 했더니 색이 깨져서 나온다,, ㅠ 

 

한 주동안 팀원들과 고생해서 만든 프로젝트인데 매일 새벽까지 열심히 작업해준 우리 팀원들! 열정이 정말 대단하다!!

 

팀원 간 역할 담당과 사용된 기술, DB 구축, API 설계 등 자세한 내용은 아래 깃헙 페이지를 참고하자

 

 

https://github.com/joong8812/9kbab.git

 

GitHub - joong8812/9kbab: 가성비 맛집 같이가자~

가성비 맛집 같이가자~ . Contribute to joong8812/9kbab development by creating an account on GitHub.

github.com

 


 

2. Git hub

팀 프로젝트를 진행하면서 git hub를 처음 쓰게 되었는데, 깃헙에 대한 내 첫인상은 뭔가 몬스터같은 무서운 것이었다. 

브런치를 나눠서 실험을 해봤으면 좋았으려만,, 팀원들이 작업하는 메인 브런치에서 파일을 바로 수정하다 충돌이 일어나서 해결하느라 잡아먹은 시간만 몇 시간인지,,

 

그런데 조금 익숙해(?)져보니 협업을 하기에 깃헙만큼 편한게 없다 ㅋㅋㅋ

이슈를 등록해서 작업할 목록을 나누고 코멘트로 피드백을 해가며 작업을 하고 작업 완료된 내용을 커밋 + 푸시하고 수정된 내용을 당겨받으니 세상 편한 협업을 위한 도구가 아닌가??!!

거기에 팀원들이 작업한 내용들도 히스토리를 통해서 확인이 가능하다보니 작업 진척상황도 쉽게 파악해서 프로젝트 일정 조율이 가능했다. 

 

깃헙아 기다려!! 좀 더 공부해서 너를 구석구석 사용해줄게!!

 


 3. back-end

이번 9k bab 프로젝트에서 나는 백엔드를 담당하게 되었다. (그나마 css, js보단 python이 좋아,,,)

내가 어려워하던 프런트보다 파이썬에서 작업하게 되어 안도했지만 1주일 만에 다시 보게된 flask,, 너 왜 이렇게 낯설지,,??

 

프로젝트를 시작해보니 백엔드 쪽에서는 어떤 일을 담당하는지 알게되었다. 이번 프로젝트에서 내가 주로 하게 된 일은 다음과 같다.

  • 클라이언트에서 웹페이지를 열 수 있게 라우트로 주소를 할당 (로그인 토큰 유무 판단)
  • 클라이언트에게 전달받은 데이터를 db or 서버에 저장, 삭제, 업데이트
  • 프런트엔드에서 사용하기 쉽게 데이터를 가공해서 전달

(내가 그저 경험한 내용을 글로 표현한 거라 용어를 맞게 사용했는지는 모르겠다 ;;)

 

이 중에서 새롭게 배운것은 바로 경과시간 구하기!

유저가 포스트를 업로드하면 현재시간을 작성시간으로 해서 db에 저장되는데 클라이언트에 정보를 넘겨줄 때 다시 현재시간과 차이를 계산해서 '방금 전', '1시간 전'과 같은 경과시간이 표현될 수 있게 기능을 구현했다. 

 

import datetime
import time

now = datetime.datetime.now()
print(now)
print(type(now))
post_time = datetime.datetime.strptime("20220103", "%Y%m%d")
print(post_time)
def elapsedTime():
    elapsed_time = now - post_time

    m, s = divmod(elapsed_time.seconds, 60)
    print(m, s)
    h, m = divmod(m, 60)
    print(h, m)
    d = elapsed_time.days
    y, d = divmod(d, 365)
    print(y, d)

    if y > 0:
        elapsed_time = f'{y}년 전'
    elif y == 0 and d > 0:
        elapsed_time = f'{d}일 전'
    elif d == 0 and h > 0:
        elapsed_time = f'{h}시간 전'
    elif h == 0 and m > 0:
        elapsed_time = f'{m}분 전'
    elif m == 0 and s > 0:
        elapsed_time = f'방금 전'

    print(elapsed_time)
    print(type(elapsed_time))
    return elapsed_time

 

이번 프로젝트를 진행하면서 코드를 한번에 완성하는게 아니라 시작부터 하나씩 타입과 결과값을 print해보고 빌드해 나가는 방법이 좋다는걸 느꼈다.

타입을 찍어보게 되면 해당 타입에 맞는 방법으로 정보를 가공하게 되어 실수(오류)를 줄일 수 있고 프런트에 정보를 넘겨줄 때 자료의 타입(속성)을 공유해주면 시행착오를 줄일 수 있었다.

 

그리고 무엇보다 코드를 하나씩 입력해서 찍히는 모습을 보면 뭔가 재밌다 ㅎㅎㅎ

 


 

4. KPT

9k bab 프로젝트를 마치고 처음으로 kpt회고를 해봤다. 

keep, problem, try의 구성으로 되어있는데, 프로젝트를 하면서 좋았던 점 (계속 유지하고 싶은 것), 문제가 있었던 점(보완할 것), 이번엔 못해봤지만 다음에 해보고 싶은 점(시도해볼 것)을 팀원들과 나누면서 프로젝트 전반적인 내용을 피드백하는 과정이었다.


9K밥 프로젝트 KPT 회고록 🍚

  • Keep
    • 코드를 이해하고 응용 하려는 노력을 계속 하자!
    • 아침, 그리고 오후 미팅 하는게 너무 좋다 (점검)
    • 아침 - 오늘 할일 브리핑
    • Github을 잘 활용하여 협업이 잘 진행 되었다.
    • 역할 분담이 잘 되었다! (프론트2, 백엔드2, 팀장)
    • 기록 및 정리 하는 게 중요하다 느꼈다. 계속하자~
    • 문제가 생기면 팀안에서 같이 고민하고 해결하는게 정말 좋았다.
    • 팀장이 전체적인 흐름을 말씀해주셔서 좋았다. (진행상황을 잘 알 수 있었다)
    • 팀원 모두가 서로 존중하고 배려해서 트러블없이 프로젝트 잘 진행
  • Problem
    • 화면, 디자인 부분을 먼저 프로젝트에 초기에 잘 잡아 놓고 개발 시작 했으면 좋겠다.
    • 현업에서는 어떻게 프로젝트 시작하는지(툴, 방법) 궁금하다.
    • 팀원간 실력차가 난다. 팀원에게 질문 하기가 두렵다. 마음의 변화가 필요!
    • Github 처음 써 봄. 충돌을 피하기 위해 테스트를 위한 파일을 활용하자
    • 어떤 기능에 대해서 프론트, 백엔드 어느 쪽에서 담당해야하는 지 몰라 혼란스러웠다.
  • Try
    • 코드 리뷰 해 보고 싶다.
    • ERD 공부하여 프로젝트에 적용 해 보고 싶다.
    • 브라우저 고려한 개발을 시도(?) (9k밥은 크롬에 최적화, 다른 브라우저에서 실행 시 css 어그러짐)
    • 모바일, 데스크탑 두 버전도 다 개발 해 보고 싶다.
    • 설정파일 public repository에 올리지 않고 관리하는 방법 구현 해보고 싶다.

kpt 회고를 하며 느낀점은 '이런걸 수시로 하는 개발자는 성장을 안할래야 안 할 수가 없겠구나'였다. 

나도 이번 kpt회고를 통해서 다음 프로젝트는 좀 더 개발자로서 성숙한 모습을 보여주리라 기대한다.

 


- WIL을 마치며,,

KPT 회고를 하면서 코드 리뷰를 하자는 의견이 나왔는데 역시 열정이 좋은 우리 팀!! 전날 밤을 새며 프로젝트를 끝냈는데 오늘도 늦게까지 코드리뷰를 하면서 대미를 장식했다.

 

코드리뷰까지 쓰려고 했지만,, 오늘은 여기까지,,

코드 리뷰를 통한 느낀점은 다음 회고 때 작성해야지 ㅎㅎ

 

9k bab 프로젝트를 무사히 마칠 수 있게 협력해준 9조 팀원들에게 너무 감사하고, 마지막까지 열일한 우리 팀장님,, 존경스럽다.