항해 99 [2주차] WIL

황유정·2021년 9월 26일
0

WIL

목록 보기
2/6

이번주 배운 것

나의 주특기로 node.js를 선택했다.

강의를 들으면서, Javascript ES6 지식을 배우고, Express에 대해서도 배우고, 실습으로 만드는 쇼핑몰에 페이지를 만들어서 쇼핑몰 db안에 api를 다뤄서 상품을 저장하고, 삭제하고, 장바구니에 물건을 담는 활동을 했다.

내가 고친 ERROR들

3주차 때 고친 error들

첫 번째 시도 때, insomnia를 이용해서 api/goods에 새로운 제품을 추가하려고 할 때 계속 안되서, 처음부터 다시하자고 마음을 먹고, 새로운 파일을 만들고 처음부터 다시 시작했다. package json 깔고, express, 템플릿 엔진, 그리고 mongoose를 설치했다.

index.js 상위 폴더에
app.use(express.json()); 를 썼더니 insomnia를 이용해서 post를 실행할 때 작동이 되었다.

하지만,
Node.js(Error: listen EADDRINUSE)라는 에러가 났다.

포트를 이미 사용 중이라는 뜻이다. 처음 만들었던 노드 서버를 죽이지 않아 충돌한 것 같다. 그래서 다른 node.js를 주특기로 고르신 분들이 공유해주신대로

1. cmd를 연다
2. netstat -ano 를 검색하고
3. 해당 포트 (난 3000)의 PID를 찾는다
4. taskkill /f /pid 해당PID를 적는다.

이 순서대로 하니 작동했다.

Node.js : Restful API

REST는 Representational State Transfer라고 한다.

  • 월드 와이드 웹과 같은 분산 하이퍼미디어 시스템을 위한 소프트웨어 아키텍처의 한 형식이다.
  • 웹에 존재하는 모든 자원(이미지, 동영상, DB 자원)에 고유한 URI를 부여해 활용”하는 것으로, 자원을 정의하고 자원에 대한 주소를 지정하는 방법론을 의미한다.

REST API는 그러므로 REST라는 규칙을 따르는 API이다.

REST API는 크게 3가지로 구성한다
1. 자원(Resource)

  • URL
  1. 행위 (HTTP Method)
    - Create : 생성(POST),
    - Read : 조회(GET),
    - Update : 수정(PUT),
    - Delete : 삭제 (DELETE)

    METHOD를 일반적으로 이렇게 쓰지만, 꼭 필수적으로 지켜서 사용하는 것은 아니다! 참고!

  2. 표현
  • JSON, XML

Node.js : Package.json

Package.json file is the heart of any Node project. It records important metadata about a project which is required before publishing to NPM, and also defines functional attributes of a project that npm uses to install dependencies, run scripts, and identify the entry point to our package.

reference: https://heynode.com/tutorial/what-packagejson/
.
.
.

Package.json은 node.js 프로젝트를 할 때 꼭 필요한 파일이다. 필요한 이유는

첫째, 자신이 어떠한 package들을 사용하고 있는지 볼 수 있다.
둘째, 다른 개발자에게 공유할 때, 이 프로젝트는 무슨 package를 썼는지 한 눈에 볼 수 있어 프로젝트에 대한 감을 빠르게 잡을 수 있게 된다.

reference: https://blog.naver.com/ystime25/222408646805
.
.
.
package.json을 생성하려면

npm init -y

express를 설치하려면

npm install express

템플릿 엔진을 설치하려면

npm install ejs

mongoose를 설치하려면

npm install mongoose

이것들을 다 설치하면, package.json에 밑에 사진처럼 뜬다.

앞으로 노력할 점

추석 연휴 때 푹 쉬고 나니 잠시 브레이크가 걸려, 처음엔 집중도 잘 못했고, 좀 다시 페이스를 찾는데에 시간이 걸린 것 같다. 이번주에 이제 개인 프로젝트를 제출해야 하는데 정말 열심히 하려고 다짐을 했다! 그리고 아직 낯선 개념들이 많은데, 특히 async, await같은 개념들... 그냥 전체적으로 다 낯설고 완전히 이해가 안 가서 개인 프로젝트를 완료하고 시간이 남는다면 더 꼼꼼히 공부하고 싶다!

0개의 댓글