본문 바로가기

공부/타입스크립트로 함께하는 웹 풀 사이클 개발(React, Node.js)

백엔드 기초: Node.js + Express 기본(9)-빈 객체 확인, 채널 설계

❄️유튜브 운영하는것처럼 설계 실습해보기

처음에 나는 배열안을 map으로 돌고, 그 안에서 if-else 처리를 해주었다.

강의도중 map은 반복문이니 그 안에서 조건문을 처리하려면 비효율적이게 돌아야 해서

강사님 말대로 변수를 하나 빼서 넣어주고 그것으로 밖에서 처리하는게 효율적이라는 생각이 들어

다시 코드를 수정해보았다.

 

빈 객체 확인하는 방법 3가지

  1. Object.keys()
  2. for in
  3. lodash: isEmpty


문자열도 객체로 처리된다.

하지만 constructor를 사용하면 객체가 아니게 된다!

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Object/constructor

 

Object.prototype.constructor - JavaScript | MDN

인스턴스의 프로토타입을 만든 Object 함수의 참조를 반환합니다. 이 속성값은 함수 자체의 참조임을 주의하세요, 함수 이름을 포함하는 문자열이 아니라. 그 값은 1, true 및 "test"와 같은 원시(primi

developer.mozilla.org

 

❄️함수로 뺄 수 있는것은 빼고, 반복문안에서 돌리지 않아도 되는것도 빼보았다❗


채널API 설계(URL, http method/status, req/res)

  1. 채널생성=> POST/channels
    • req: body(channelTitle)
    • res(201): `${channelTitle}님 채널을 응원합니다.` / / 메인페이지
  2. 채널개별수정 => PUT/channels/:id
    • req: URL(id), body(channelTitle)
    • res(200): `${channelTitle}님의 채널이 ${newChannelTitle}로 성공적으로 수정되었습니다.`  / / 생성된 채널 페이지
  3. 채널개별삭제 => DELETE/channels/:id
    • req: URL(id)
    • res(200): `${channelTitle}님 채널이 삭제되었습니다.` / / 메인페이지
  4. 채널전체조회 => GET/channels
    • req: X
    • res(200): 채널 전체 데이터 list || json array
  5. 채널개별조회 => GET/channels/:id
    • req: URL(id)
    • res(200): 채널 개별 데이터

❄️채널구현 실습

먼저 구현해봤는데, 함수로 뺄 수 있는 것은 빼서 구현해봤다.

POSTMAN에서 제대로 확인하는 것을 확인했다.

PUT으로 채널명을 수정할 때, 기존 채널명이 없거나, 변경할 채널명이 존재할 때에 대해도 처리했는데,

둘 중 어느것을 먼저 처리해야하는지, 둘 다 일때 어떻게 해야할지 몰라서 일단 저렇게 했다.

점점 배워가면서 어떻게 해야할지 알게 될지 않을까 생각한다❗