hmk run dev

항해 99 1주차 회고록 본문

항해 99 회고록

항해 99 1주차 회고록

hmk run dev 2021. 3. 11. 17:38

항해99시작 전주부터 일사천리로 빠르게 조를 편성받았고 바로 4일동안 프로젝트를 완성시켜야 하는 미션이 내려졌다. 프로젝트를 준비면서 서버사이드 렌더링, 진자템플릿 jwt로그인 기능 들을 동시에 배우고 구현해야 했으므로 정규코딩시간 아침 9시부터 저녁 9시까지의 시간도 모잘라 하루에 15시간 정도의 코딩을 했었던 것 같다. 

팀으로 개발 프로젝트를 해보는 것은 역시 처음이였지만 얼떨결에 팀장도 맡게 되었다 작은 프로젝트지만 어떻게 효율적으로 프로젝트를 제작하는지 혹은 어떤식으로 팀원들에게 지치지 않고 동기부여를 해야할지 나름대로 고민이 깊었고 평소 인상깊게 읽었던 데일 카네기 인간관계론을 다시 읽으며 코딩과는 별개로 팀원들과 좋은 관계를 형성하려고 노력했다.

 


사전 준비기간에 배운 정보와 새롭게 얻은 정보를 이용해 프로젝트에 직접 적용을 했으며 
정신없이 한주가 지나갔다. 

 

사실 아직 코딩에대한 두려움은 가지고 있다. 그렇지만 4일동안 팀으로서 프로젝트를 무사히 수행했다는 뿌듯함과 하루 15시간 정도를 코딩에 몰입을 하면서 시간에 대한 소중함과 동시에 이때까지 낭비했던 시간들이 떠올랐다 후회스러운 마음이 들었지만 그런마음까지 뒤로 놔두고 이번에 잡은 기회를 위해서 온 정신을 집중해야겠다는 생각이 들었다.

아래는 4일 동안 팀원들과 만든 나의 첫 프로젝트이다.

 

정말 부족한 팀장이였지만 밤낮으로 프로젝트를 위해 열심히 노력한 팀원들에게 감사의 말을 전한다 :)

 

팀 번호: 21
프로젝트 이름: My Favorite Youtuber


만들게 된 이유 : 요즘엔 길가는 사람 중 3명 중 1명을 붙잡으면 유튜버를 해볼 생각이 있거나 혹은 유튜브 채널이 있는 경우가 많습니다. 그만큼 1인 콘텐츠 제작에 대한 진입장벽이 엄청나게 낮아졌으며
날마다 수많은 유튜버들이 날마다 나오고 있는데요 그만큼 자신들이 좋아하는 유튜버 또한 다양하고 구독자가 낮아 아직 유명하지 않아도 양질의 콘텐츠를 가지고 있는 유튜버들을 추천할 수 있는 사이트를 만들고 싶었다.

**과제 수행 과정**

1. 유튜브에서 유튜버들의 정보를 스크래핑 해와서 포스팅 하는 방식의 사이트

2. 포스팅한 유튜버들을 좋아요 기능에 따라 내림차순으로 정렬

3. 카테고리를 좀 더 나누어서 세부적으로 유튜버들을 정렬하고 싶었지만 4일 동안 빠르게 만들어야 하는 미니프로젝트인 만큼 새로 배워야하는 SSR과 JWT토큰 로그인에 대해서 좀 더 공부했다.

 

 

프로젝트에서 구현했던 기술중 새롭게 배운 기능들

 

**서버사이드 렌더링과 jwt토큰 로그인방식**

**SSR 장점** : 서버사이드 렌더링은 한 페이지에서 사용자의 요청에 따라 다양한 모습을 출력할 수 있습니다. 이 프로젝트에서는 flask 에서 사용하는 템플릿 언어 jija2를 사용하였습니다.
스크래핑으로 정보들을 긁어와 mongoDB에 저장 후 jinja2 문법을 사용하여 원하는 페이지를 구현할 수 있었습니다. 특히,직관적으로 조건 문과 반복문을 사용할 수 있어서 매우 편리했습니다. 직관적이고 간편한 문법도 사용하기 용이했습니다. 
본래, 원하는 페이지를 만들려면 복잡한 HTML 코드가 필요했는데 jinja2템플릿을 사용함으로 html 코드들의 가독성을 향상시킬 수 있었으며 이 외에도, 로그인한 사용자의 정보를 페이지에 jinja2형식으로 편하게 출력할 수 있습니다

 

**JWT 설명 및 장점** : JWT는 쿠키/세션 방식과 달리 발급후 검사면 하면되기 때문에 저장소 관리가 따로 필요 없으며 사용자에게 토큰을 발급합니다. 별도의 저장소 관리 필요 없으므로 서버의 쪽의 처리 부담이 줄어들게 됩니다.

 

프로젝트 중 겪었던 문제와 해결방안

 

 

파이 몽고는 가장 위의 데이터를 긁어오는 성향이 있는 저장소인데 코딩을 하던 중 같은 url의 카드의 좋아요를 눌렀을 때 예기치 않게 다른 카드(URL은 같음)의 좋아요 숫자가 올라갔습니다
이를 해결하기 위해서 url 값을 받는 것이 아닌 파이몽고의 objectid 값을 받아 ajax가 읽을 수 있는 방식으로 변환해 같은 url의 카드이더라도 좋아요 누른 카드의 좋아 요만 작동하게 만들었습니다

**이 외의 프로젝트 동안배운 것들**

1. init_db가 필요하다는 것을 깨닫고 . 프로그래밍은 기능을 나눌 수록 관리하기 좋다.

2. 서버의 url 구조가 대강 어떤것인지 파악하게됨

3. 서버가 하는 일을 설명하는 개념도가 어느정도 이해가 됨

4. 프론트엔드로 가더라도 백엔드 사람들과 대화가 통할 정도의 메타인지 지식이 필요함을 느낀다.

 

**사이트 주소**

 

comkhj.shop/login?msg=%EB%A1%9C%EA%B7%B8%EC%9D%B8+%EC%A0%95%EB%B3%B4%EA%B0%80+%EC%A1%B4%EC%9E%AC%ED%95%98%EC%A7%80+%EC%95%8A%EC%8A%B5%EB%8B%88%EB%8B%A4.

 

My Favorite Youtuber

아이디는 2-10자의 영문과 숫자와 일부 특수문자(._-)만 입력 가능합니다. 영문과 숫자 조합의 8-20자의 비밀번호를 설정해주세요. 특수문자(!@#$%^&*)도 사용 가능합니다. 로그인 아직 회원이 아니라

comkhj.shop

**git 주소**

 

github.com/rlagudals95/hanghae99_team21

 

rlagudals95/hanghae99_team21

Contribute to rlagudals95/hanghae99_team21 development by creating an account on GitHub.

github.com

 

**프로젝트발표 후.. 바로 알고리즘이란 녀석을 만나게됐다..**

 

최대한 백준문제를 풀어보면서 억지로 이해하려고 노력했지만 파이썬에 대한 기초지식 조차 쌓지 않았던 터라 밑에서부터 차근차근히 시작해보려고 노력중이다 알고리즘을 배우는 주차 동안 항해99에서 원하는 수준의 문제해결능력을 갖출수 있을진 확신하지 못하지만 절대로 포기하지 않고 좋은 개발자가 되기 위해서 노력할 것이다.

'항해 99 회고록' 카테고리의 다른 글

항해 99 6주차 회고록  (0) 2021.04.11
항해 99 5주차 회고록  (0) 2021.04.05
항해 99 4주차 회고록  (1) 2021.03.28
항해 99 3주차 회고록  (0) 2021.03.21
항해 99 2주차 회고록(알고리즘 왜 배워야해??)  (0) 2021.03.14
Comments