[항해99] 21일차 Node JS

IT/Bootcamp 항해99|2021. 6. 28. 01:00

항해 99

 

21일차 일요일:

 

현재 안좋은습관 :

 

강의를 들으면서 그냥 따라 하기만 바뻤다.  tutorial같은것들을보면서 이해 위주보다는 그냥 따라서 구현하는데 중점을 두었다. 물론 learning by doing으로 그나마 제일 중요한것들은 이해를 하며 따라간다고 생각했다.  하지만 나중에 되돌이켜보면,  무엇이 어떻게 작동하는지 몰랐다. 

 

Study plan : 

앞으로는 강의를 들을때 한번은 그냥 강의에 집중하여 듣고 그다음에 따라 쳐보고 모르는부분은 따로 모아놨다가 계속 똑같은것이 반복되는것은 중요한 것이라 판단하여 이해될때까지 찾아보고  "내가 무엇을 모르고 아는지를 " 알아야겠다.

 

 

 

 

 

 

 

 

Code it Node JS강의

https://www.codeit.kr/courses/nodejs-backend-development

 

코딩이 처음이라면, 코드잇

월 3만원대로 Python, JavaScript, HTML/CSS, Java 등 1,600개 이상 프로그래밍 강의를 무제한 수강하세요

www.codeit.kr:443

 

 

Pluralsight강의 

https://app.pluralsight.com/library/courses/node-js-express-rest-web-services-update/table-of-contents

 

RESTful Web Services with Node.js and Express

Node.js is a simple and powerful tool for backend development. When combined with Express, you can create lightweight, fast, scalable APIs quickly and simply. With REST, those APIs become simple and user-friendly to make your APIs more usable.

www.pluralsight.com

 

Pluralsight강의에서는 SSC강의와다르게 다른툴들을썻다.

 

ESLint : 코드를 가독성을 높혀주는 툴,  Airbnb style guide등 특정한 style guide를 적용시킬수있음.

https://velog.io/@_jouz_ryul/ESLint-Prettier-Airbnb-Style-Guide%EB%A1%9C-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0

 

ESLint & Prettier, Airbnb Style Guide로 설정하기

코드의 가독성을 높혀주고 에러나 컨벤션에 관한 경고 해주는 유명한 툴이 있는데바로 ESLint와 Prettier입니다. 매번 멘토님의 블로그를 보고 설치하고 설정하고 사용하던 ESLint와 Prettier를 가장 유

velog.io

 

Postman

 

 

brwoser에서post하는것처럼 도와주는 것 

Express bodyparser middleware

http://expressjs.com/en/resources/middleware/body-parser.html

 

Express body-parser middleware

body-parser Node.js body parsing middleware. Parse incoming request bodies in a middleware before your handlers, available under the req.body property. Note As req.body’s shape is based on user-controlled input, all properties and values in this object a

expressjs.com

 

Mongoose official doc

https://mongoosejs.com/docs/api.html#model_Model.find

 

Mongoose v5.12.15: API docs

 

mongoosejs.com

 

 

schema 

Mongoose는 Schema라는 개념이 존재한다 

Mongoose는 Schem는 SQL의 table과 비슷한 개념

데이터를 넣을 때 schema에서 선언한 틀에 맞게 데이터를 넣을 수 있도록한다. 

 

https://edu.goorm.io/learn/lecture/557/%ED%95%9C-%EB%88%88%EC%97%90-%EB%81%9D%EB%82%B4%EB%8A%94-node-js/lesson/174385/mongoose-%EC%82%B4%ED%8E%B4%EB%B3%B4%EA%B8%B0

 

구름EDU - 모두를 위한 맞춤형 IT교육

구름EDU는 모두를 위한 맞춤형 IT교육 플랫폼입니다. 개인/학교/기업 및 기관 별 최적화된 IT교육 솔루션을 경험해보세요. 기초부터 실무 프로그래밍 교육, 전국 초중고/대학교 온라인 강의, 기업/

edu.goorm.io

 

이강의가 좀 오래된것같다, 여러가지가 그냥 따라하기만해서는 안되는데, 구글링하고 위에 offical doc참조하면 구현은할수있는것같다.

중간중간에 모르는부분이나 막힌부분은 위에 링크에서 확인했다.

 

 

궁금한것 :

 

1.  Node JS module은 python venv처럼 따로 가상환경을 만들어줘야하는건지 ? 아니면 그냥 알아서 현재 프로젝트에만 적용이되는건지?

 

node js venv가 따로있는걸 보면  따로설정을해줘야하는것같은데,  stackoverflow에는 그냥 이렇게 나오는걸보면 ...그냥알아서 현재 프로젝트(디렉토리)에만 적용이되는것같다.

StackOverflow 

2.   3 constraints of REST ( cache?)

3.  params

req.params하면  request .parameter  를 쓸수있는것같다. 확실한건아님 - 

 

4. author 로 찾기 

bookRouter.route("/books/author/:author").get((req, res) => {
    let author = req.params;
    Book.find(author, (err, book) => {
      if (err) {
        return res.send(err);
      }
      return res.json(book);
    });
  });

 

author로 찾을수있게 추가해봤다.

Book.findById 는 mongoose built in function 이였다

Book.findByAuthor로처음에 시도헀는데 당연히안됐다.

 

그래서 그냥find함수를 사용하고,  author 을 req.params으로 가져왔다.

 

 

 

 

5. const {variable name? } = req

반응형

댓글()