[WIL] 항해99 1주차 회고록

봄봄·2021년 9월 18일
0

항해99 회고록

목록 보기
1/8

시작 첫 날부터 주어진 프로젝트 미션에 정신없이 개발에 들어갔다.

중간중간 삽질의 연속이었지만 삽질하며 배운점도 많아서 삽질아닌 삽질(?)이었다.

빠듯한 일정 속 서로 응원하며 만들어낸 결과물!!

https://github.com/seungmai/realdasa-project

뿌듯한 마음을 담아 한 주의 회고를 해보려 한다.


1주차 프로젝트

프로젝트명

DASA

기능

  • DASA 기능 목록
    • API 데이터 추출(네이버 OpenAPI)
    • 로그인 / 회원가입 페이지 (JWT방식)
    • 검색 기능
    • 장바구니 페이지
    • 찜하기 기능 (중복 불가)
    • 찜목록에서 찜 삭제

기술 스택

Front-End

  • HTML 5, CSS 4, JavaScript(ES6)

Back-End

  • Python(3.8), Flask(2.0), Jinja2(2.0)

DB

  • Pymongo(3.12.0)

개발환경

  • VSCode(1.6)

한주의 배움

  • JWT 인증 방식으로 로그인 구현하기

JWT(JSON Web Token) : 인증에 필요한 정보들을 암호화시킨 토큰
Cookie&Session과의 차이점 : JWT방식은 Header와 Payload를 가지고 Signature를 생성하므로 데이터 위변조를 막을 수 있고, 인증을 위한 별도의 저장소가 필요없으며 확장성이 우수하다. 그러나 토큰의 길이가 길어, 인증 요청이 많아질수록 네트워크 부하가 심해진다.

  • API(Application Programming Interface)

사이트에서 데이터를 공유할 때 어떤 방식으로 정보를 요청해야 하고, 어떤 데이터를 제공 받을 수 있는지 그에대한 규격들을 API라고 한다.
이번 프로젝트에서는 네이버에서 제공하는 Open API 중 네이버 상품 목록을 제공하는 API를 사용하였다.

  • 서버연결

그동안 서버연결을 어떻게 하는지 몰랐는데 aws에서 서버를 구매하여 배포까지 해보는 과정을 진행해봄으로써 pymongo나 robo3T 등을 이용하는 방법을 알게되었다.

  • git 사용법

기존에 사용하던 git Desktop을 삭제하고 git bash를 이용하여 협업하는 방법을 배웠다.

아직 능숙하진 않지만 기본적인 clone이나 commit, push, pull등은 할 수 있게 되었다.

  • Bulma 사용법

부트스트랩이나 Bulma 같은 프레임워크 사용법을 몰라 그동안 css 공부를 하며 내가 처음부터 끝까지 틀을 만들어왔는데 이번 프로젝트때 Bulma를 사용해보며 왜 사람들이 프레임워크가 사용하기 편하다고 하는지 그 편리성을 알게되었다.

내가 만든건 비율조정도 어렵고 색조합이라던가 묘하게 촌스럽게 느껴졌는데 확실히 프레임워크를 사용해보니 디자인이 훨씬 깔끔하고 세련되어 보였다.

  • 쿠키의 이해

로그인 기능을 구현하며 브라우저에 저장되는 쿠키에 대해 알게 되었다.

  • 에러 읽는 법(문제해결 능력)

그동안 작동이 되지않으면 왜 작동이 되지않는지 알아보지 않고 다른사람에게 바로 물어보거나 될때까지 새로운 시도를 했는데, 이번 프로젝트기간에는 묻기전에 먼저 에러코드를 읽어 찾아보면서 문제를 해결해 나가는 방법을 배우게 되었다.

  • get과 post의 차이점

GET과 POST의 차이점을 이해하고 사용하려는 목적에 맞게 사용해야 한다는 것을 배웠다.

부족한 부분

  • 로직의 흐름

아직은 코드를 복사 붙여넣기로 만드는 수준이라 무엇을 먼저 만들고 어떤 단계로 실행해 나가야 하는지 그런 논리적인 흐름들이 이해되지 않는다.

프로젝트를 통해 느낀점

  • 몰입의 중요성

내가 이렇게 오래 앉아서 코딩을 했던적이 있었던가

해가 어떻게 뜨고 지는지 모를만큼 엉덩이 무겁게 붙어서 몰입했다.

심지어 꿈에서도 코딩하는 꿈을 꿨는데 이렇게 한 가지에 집중하며 열정적인 스스로가 대견하고 멋있다고 느껴졌다.

  • 아니다 싶을땐 과감히 포기하기

팀원들끼리 우스갯소리로 우리팀의 가장 큰 장점은 빠르게 포기할 줄 아는 것이라고 했다.

이번 프로젝트 기간동안 주제를 두 번이나 바꾸게 되었는데, 처음에는 전통주 추천, 두 번째는 코로나 확진자 현황알림이었다. 와이어프레임까지 다 만들어 놓고 계속 엎어졌었는데 이유는 공공api 가공이 까다롭다는 것. 5일이라는 시간내에 완성도 있는 작품을 내놓아야 하기 때문에 상대적으로 사용하기 쉬운 네이버 api를 사용하자는 의견이 나왔고 최종적으로 상품 리스트를 불러와 찜목록에 담아둘 수 있는 웹사이트를 만들게 되었다.

제한된 시간동안 완성해 내는것이 우리의 목표였기 때문에 욕심부리지 않고 우리 수준에 과하다 싶은것은 빨리 버리고 기본만 잘 하자라는 목표로 달렸다. 결과적으로 잘한 선택이었다고 생각한다.

  • 처음 시작이 어렵지 익숙해지면 쉬워진다.

git으로 협업해보기로해서 첫날은 git을 익히느라 하루를 다 보냈다. 굳이 이렇게 써야하나 개발하기도 바쁜데 싶었지만 그렇게 고생해서 익히고나니 구글링하지 않고도 commit하고 있는 나를 볼 수 있었다. 또 서버연결로도 하루를 보냈는데 이것도 그렇게 삽질하고 나니 이젠 사이트배포까지 강의를 보지 않고도 할 수 있다! 결국 초반 삽질이 마지막엔 도움이 많이 됐다.

다음주 해야 할 것

다음주부터 주특기로 선택한 React 수업이 시작된다.

목표는 포기하지 않고 주어진 과제를 잘 수행해내는 것!

욕심부리지말고 기본을 잘 다지자.


함께 했던 팀원들과 잘 맞아서 굉장히 화기애애한 분위기 속에 프로젝트를 마무리 할 수 있었다.

특히 전부 열심히 하고 한사람 몫을 제대로 해내려는 노력과 열정들이 눈에 보여서 나또한 많은 자극을 받았다.

힘들고 피곤한 상황에서도 웃으며 코딩 할 수 있었던 건 좋은 팀웍덕분! 다사조 최고!!

3개의 댓글

comment-user-thumbnail
2021년 9월 18일

너무 좋잖아요 ㅠㅠㅠㅠㅠ다사줘~~

답글 달기
comment-user-thumbnail
2021년 9월 18일

👍X3

답글 달기
comment-user-thumbnail
2021년 9월 18일

프론트앤드의 가위손 이시면서!!!!! 로그인 회원가입도 뚝딱 해결해주셨으면서 !!! ♥

답글 달기