위코드 6주차: 1st Project(2)

박민하·2022년 6월 27일
0

위코드 wecode

목록 보기
7/11
post-thumbnail

1st Project : 2022.06.27~2022.07.01

<2022.06.27 월요일>

스케줄

10am- 10:30am | daily standup meeting
10:30am- 12pm | 1차 프로젝트 팀 발표
2pm - 4pm | 2차 Sprint Meeting(with Devs)
6pm - 7pm | Code Kata, 멘토님 미팅

planning meeting

  • 영화 메인페이지/상세페이지 구성하기
  • 기능은 수요일까지 끝내고, 목요일부터는 버그 확인하기

개선 사항

  • 지금까지 코드 작성할 때 큰따옴표와 작은따옴표 통일 없이 사용 -> 개선 필요
  • 1주차가 넘었는데도 이런 데이터가 있었나? 싶은게 있다는게 아쉽다.
  • 목데이터 공유를 계속 하기로 했는데 미루고 미루다가 안됨. 하기로 한거는 꼭 당일에 하기

<2022.06.28 화요일>

스케줄

10am- 10:30am | daily standup meeting
6pm - 7pm | Code Kata

planning meeting

  • 영화 상세페이지 API 구성 제발...

개선 사항

  • 엔드포인트는 하나
  • api는 데이터 기준으로 만듦
  • 쿼리파라미터로 전달한 값을 가져온 후에, 필터링해서 보내주는 법
  • 쿼리파라미터로 들어오는 조건에 해당하는 값만 보내줌
  • 프론트에서는 뒤에 쿼리파라미터를 동적으로 보내는게 가능해야하고, 백은 동적으로 바뀌는 데이터를 가지고 코드 내에서 필터링하는게 가능해야 함
:8000/movies
:8000/movies?category=1960
:8000/movies?category=film_drama
  • 의사코드?
    • 첫번째로 목적을 적는다. -> 카테고리별로 다른 결과값을 반환하기
    • 두번째는 목적을 이루기 위해 받아야 하는 input
    • -> 1. 1960년대 영화 2. ott 3. 드라마 장르 영화
    • 세번째는 결과를 어떻게 반영해야 할지 output
    • -> input이 1960년대 영화라면 결과는
    [
        {
            "id": 1
            "name":"터미네이터"
            "release_date":"1960"
        }
        {
            "id": 2
            "name":"대부"
            "release_date":"1960"
        }
    ]
    • 위에꺼를 코드로 구현하면 된다.
    • 카테고리를 받을 수 없어서 쿼리파라미터를 사용하는 것. request 안에 있는 카테고리 정보를 받아올 수 있게 해야함. -> request.get에 key value 값으로 넣어줌
    • 원리 생각할것 없이 쿼리파라미터 꺼내오는 법이 이거구나~ 하고 그냥 외우면 된다.
country = request.GET.get("country")

films = Film.objects.filter(countries__name=country)

results = [{}]
  • 다대다 -> films 에서 countries 로 넘어가려면 두번 넘어가야함

  • filter(countries__name):

  • 여기서 사용하는 countries는 retated_name의 이름임

  • sql문만 가지고 필터링하는 능력을 키우자. 내가 가는 기업이 내가 쓰는 프레임워크를 쓴다는 보장이 없으니까.

  • 프론트는 화면 하나 랜더링할때 여러번 패치해야한다(여러번 요청해야한다), 뒤만 바꿔서
    통으로 가져오는것보다 랜더링하는게 좋다!!

  • 쿼리파라미터는 백이 관여하지 않음. 프론트가 ?를 붙여주는 것. 쿼리는 잇다라는 뜻임 ?들어가는게 쿼리. ?는 엔드포인트로 안쳐줌. get메소드는 body에 존재하지 않지만 데이터는 보내고 싶다, 이때 사용하는게 쿼리파라미터. 엔드포인트에 정보를 담아주고 싶지만 body에는 정보가 없는 경우 데이터를 주고싶을 때 쿼리파라미터 사용. 조건에 대한 정보. get메소드다 보니까 body에 정보가 없어서 ?뒤에 조건 정보를 붙여서 줌. 쿼리파라미터 데이터타입은 무조건 str임을 주의. 숫자를 보내도 str이 됨

  • 쉘에서 원하는 정보의 목록을 뽑을 수 있는지, orm으로 만들 수 있는지가 첫번째

  • 이게 되면 이 조건들을 큐를 이용해서(장고 큐 객체) 어떻게 원할 때마다 큐 객체를 만들 수 있는지를 찾아봐야함. 각각 조건을 합쳐보는 뭐 그런걸

  • 장고에서 쿼리파라미터를 어떻게 받는지

<2022.06.29 수요일>

스케줄

10am- 10:30am | daily standup meeting
6pm - 7pm | Code Kata

planning meeting

  • 영화 상세페이지 API review
  • 가능한 보고싶어요, 프로필페이지 구현해보기

개선 사항

  • 에러 종류 정리하기
  • get이 뭐고 request.GET.get 이 뭔지 정리하기
  • 내가 쓰고있는 메서드가 어떤 결과를 내는지 알고 써라.
  • doesnotexist는 get에만 발생. 없으면 띄움. 두개 이상이면 multy 어쩌고 에러.
  • filter나 all을 쓰면query_set[]이 있으니까 doesnotexist는 안나옴.
  • keyerror는 딕셔너리 사용한 경우, 내가 그 키를 가지고 데이터를 찾을때 발생하는 에러.
    • 딕셔너리 정의에는 에러가 나지 않지만, 없는 key를 찾을 때 이런 에러가 남.
  • request.GET 을 찍어보면 딕셔너리 형태로 나옴. GET 속성에 쿼리스트링이 담긴다.
    • 딕셔너리에서 값을 가져오겠다는 뜻. GET의 결과는 딕셔너리.
  • a=request.GET.get("genre") 를 하면, 값이 없어도 디폴트로 none를 주므로 keyerror가 안남.

<2022.06.29 목요일>

스케줄

10am- 10:30am | daily standup meeting
10:30am- 12pm | AWS
6pm - 7pm | Code Kata

planning meeting

  • 상세페이지 API 구현
  • 보고 싶어요 페이지 API 구현

개선 사항

  • 코드 리펙토링 필요

<2022.06.30 금요일>

스케줄

10:30am- 12pm | 1차 프로젝트 최종발표
2pm - 3pm | 개발자 이야기 및 기업협업 프로젝트 안내
3pm - 4pm | 프로젝트 영상 촬영 및 회고 미팅
6pm - 7pm | Code Kata

<일주일 회고>

  • 데이터를 프론트 레이아웃을 고려해서 짰어야 했다
    • 감독과 배우 테이블이 따로 있다 보니까 한 레이아웃에 반복문을 돌려 넣기 힘듦
    • 왜냐면 배우가 없는 경우가 있어서 오류가 난다고 함...
  • 동료 개발자가 작성한 코드가 있어야 작업이 가능한데, pr확인이 안되는 경우에는 기다릴 수밖에 없어 불편하다... 이런경우에 내가 뭘 어떻게 해야하는지 아직 감이 안잡힌다.
  • 보고싶어요 누르면 db에 update 되는 시점을 기록할 수 있는 create_at 필드를 만들었어야 했다.
    • 임시방편으로 id 값으로 sort 할 수 있는 문제니 수정하지는 않음
profile
backend developer 🐌

0개의 댓글