전 포스팅에서는 app.js 와 /database/models 부분에서 간략하게 알아보았는데영
이번에는 localhost:3000/user 을 이용하여 RESTFul API 를 이용하여 POST GET 정도 해보겠습니다.
// /controllers/user.js// db 가져오는 부분const db = require("../database/models");
const User = db.User;
exports.create = (req, res) => {
// 만약 id 값이 없다면if (!req.body.id) {
res.status(404).send({
messgae: "id can not be empty!",
});
return;
}
// user 객체를 간단하게 만들어 id, pw, email 정보를 넣어줍니다.const user = {
id: req.body.id,
password: req.body.password,
email: req.body.email,
};
// sequelize 의 create 함수를 써서 데이터를 생성해줍니다.
User.create(user)
.then((data) => {
res.send(data);
})
.catch((err) => {
res.status(500).send({
message: err.message,
});
});
};
exports.findAll = (req, res) => {
User.findAll().then((data) => res.send(data));
}
위 코드는 controllers user 부분 입니당
create 부분과 findAll 을 구현했습니당
Sequelize 의 Model Querying 문법 문서들은 다음 링크를 통해 알아볼수있습니당.
npm vs yarn를 하기 위해선 package manager 이란 걸 알아야 할 텐데요
Package Manager 이란?
Package Manager (패키지 관리자) 패키지를 다루는 작업을 편리하고 안전하게 수행하기 위해 사용되는 툴입니다.
패키지를 다루는 작업 : 패키지를 설치, 업데이트, 수정, 삭제하는 작업
패키지란?
라이브러리와 유사한 형태이며
라이브러리 - 코드의 작성을 위해 사용되는 코드의 묶음
패키지 - 코드의 배포를 위해 사용되는 코드의 묶음
이렇게 볼 수 있습니다, 즉 배포를 위해 사용이 된다고 보시면 됩니다.
node.js Package Manager 에는 npm 그리고 yarn 이 있습니다.
인지도가 많고 사람들이 가장 많이 사용하는 건 아무래도 npm이라고 합니다.
저도 node.js를 사용할땐 npm을 사용했고 지금까지 잘 사용하고 있습니다.
2017년 ~ 2022년
다음 사진을 확인해보면 알 수 있습니다
해당 사진은 5년간의 다운로드 수를 나타는 지표입니다
하지만 Stars와 Issues를 본다면 다운로드 수에 비해 yarn이 몇 배는 더 많은 것을 볼 수 있습니다.
npm은 대중적이고 점유율이 높으며 yarn은 사람들의 관심도가 더 높다고 할 수 있을 것 같습니다.
속도
yarn을 사용하는 이유는 예전에는 속도 때문이라는 의견이 많았는데(yarn이 npm 보다 속도가 더 빠르다는 점) 최근에 비교를 해봤을 땐 npm의 punching back을 통해 그 차이를 따라잡았다고 해서 속도를 생각한다면 둘 중 아무거나 사용해도 괜찮을 것 같습니다.
보안성
npm은 패키지가 설치될 때 자동으로 코드와 의존성을 실행할 수 있도록 허용합니다
그런데 이런 방식은 위험도가 존재합니다.
반면,
yarn 같은 경우 yarn.lock 또는 package.json으로부터 설치만 하기 때문에 npm 방식보다 보안성은 월등히 좋다고 볼 수 있습니다.