20210127(수)

2021-01-27

1. 학습 날짜

  • 2020-01-27

2. 학습 시간

  • 13:30 ~ 24:30

3. 학습 범위 및 주제

  • 트렌센던스 API 설계

  • postman으로 설계한 api에 맞춰 세팅해두기

  • DB 설계

4. 학습 목표

  • 설계해놓은 API를 기반으로 테스트에 사용할 postman collection 을 작성한다.

  • 설계해놓은 API, VIEW 를 기반으로 DB 를 설계한다.

5. 학습 정리

  • x

6. 상세 학습 내용

  • postman

    • postman 을 이용해서 동사와 목적어. 즉 http method 와 url 을 명시해서 서버에 보낼 수 있는건 한참전부터 알았다.

    • 하지만 이전까지는 일회용으로서만 했다면, 작성해놓은 request를 반복적으로 사용할 수 있게하기위해 collcetion 이라는 묶음으로 묶어서 만들어 저장했다.

    • 이제는 만들어놓은 리스트를 단순히 눌러서 실행하면 된다.

    • 다만 아직까지는 자동화를 시키지 못했다. 조금 더 알아보자

  • DB

    • 오늘까지 설계한 api 와 view를 기반으로 DB를 설계했다.

    • 솔직히 DB 설계할 때는 많은 부분 팀원들이 했고 나는 거의 한게 없다...

    • 특히 헷갈리는건 중간테이블의 개념 공부해두자

    • 그리고 DB설계 협업 툴 사용법도 익혔다.

  • Channel 설계

    • 채널은 많이 만들지 않기로 했다.

    • 정말 뷰의 모든 부분을 실시간 변화가 가능하게 만들수는 있지만 이렇게 될 경우, 유저에게 혼란만 가중시킬거 같다는 판단하에 정말로 필요한 몇 가지 채널만 사용하기로 했다.

  • 라우팅 설정

    • namespace의 활용

      • 우리는 api를 사용할 때 /api/users/login 와 같이 사용한다. 즉 항상 api 가 앞에 붙는다. 이럴 경우 namespace 를 사용하면 간편하게 할 수 있다.

      • 라우트 파일에는 namespace 를 사용한다고 선언하고 컨트롤러를 생성할 때는 rails g controller Api::Users 와 같이 만들면 된다.

  • Can't verify CSRF token authenticity. 에러

    • 이 에러는 포스트맨으로 post 요청을 보냈을 때 발생했다.

    • 발생한 이유는 뭐 보안 뭐시기이긴 한데, 일단 간단한 해결법은 application_controller.rbprotect_from_forgery with: :null_session 을 입력하는 것

  • membercollection 의 활용법

    • 라우팅을 2단으로 할 때 사용하면 된다.

    • membercollection의 차이점은 그냥 직접 해보면 바로 안다.

7. 오늘 학습 내용에 대한 개인적인 총평

  • 힘들어 죽겠다.. 아직 학습이 너무 부족하다. 아니면 내가 멍청한건가?

8. 다음 학습 계획

  • 라우팅, 채널 설정

Last updated