Node.js
-
[Node.js] sequelize 쿼리Node.js 2022. 4. 19. 10:10
데이터 삽입 (INSERT 쿼리) create const jennie = await User.create({ name : "JENNIE", age: 25, married : false, comment: "Jennie comment" }); // INSERT INTO users(name, age, married, comment) VALUES("JENNIE", 25, false, "Jennie comment") 결과 값 console.log(jennie) User { dataValues: { created_at: 2022-04-06T06:25:49.678Z, id: 1, name: 'JENNIE', age: 25, married: false, comment: 'Jennie comment' }, _previo..
-
[Node.js] sequelize 관계 정의 (associations)Node.js 2022. 4. 6. 13:59
1:1관계 (One-To-One) - hasOne, belongsTo 사용 db.User.hasOne(db.Info, {foreignKey: 'UserOd', sourceKey: 'id'}); db.Info.belongsTo(db.User, {foreignKey: 'UserId', targetKey: 'id'}); 1:N관계 (One-To-Many) - hasMany, belongsTo 사용 db.User.hasMany(db.Comment, {foreignKey: 'commenter', sourceKey: 'id'}); db.Comment.belongsTo(db.USer, {foreignKey: 'commenter', targetKey: 'id'}); N:M관계 (Many-To-Many) - belong..
-
[Node.js] Sequelize 설치Node.js 2022. 4. 5. 17:33
ORM(Object Relation Mappings) 이란? 자바스크립트 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑해주는 것 ORM을 이용하면 query가 아닌 method로서 데이터를 조작할 수 있다. sql 작성법을 몰라도 Database 관리가 가능하다. SQL문이 복잡해지면 ORM으로 표현하는데 한계가 있다 -> raw query문을 실행할 수 있는 방법도 제공 ORM은 특정 Database에 종속되지 않는다. Sequelize란? Node.js에서 데이터베이스를 쉽게 다룰 수 있도록 도와주는 라이브러리 Promise 문법을 사용하는 Node.js 기반 ORM 1. 시퀄라이즈에 필요한 sequelize, sequelize-cli, mysql2 패키지를 설치 # Sequelize 설치하기 ..
-
[Node.js] multer로 이미지 업로드 하고 sharp로 리사이징 해주기Node.js 2020. 11. 27. 16:10
multer로 업로드된 이미지를 리사이징 해주는 방법에 대해 알아보겠습니다 multer에 대한 설명은 이전 게시물에도 해두었으니 설명은 생략하겠습니다 먼저 이미지 리사이징을 위한 sharp모듈과 원본파일을 삭제해주기 위한 fs모듈을 설치해줍니다 npm install --save sharp npm install --save fs const sharp = require('sharp') const fs = require('fs') const multer = require('multer') const storage = multer.diskStorage({ destination: (req, file, cb) => { cb(null, 'uploads/') }, filename: (req, file, cb) => {..
-
[Node.js] multer 모듈 이용해서 파일 업로드 하기Node.js 2020. 11. 26. 14:44
node.js에서 파일을 업로드 하는 방법을 알아보겠습니다 자세한건 www.npmjs.com/package/multer 문서에도 잘 나와있습니다 먼저 multer모듈을 설치해줍니다 npm install --save multer 1) 파일명, 파일경로를 변경해주고자 할때 const multer = require('multer') const storage = multer.diskStorage({ destination: (req, file, cb) => { // 파일이 업로드될 경로 설정 cb(null, 'uploads/') }, filename: (req, file, cb) => {// timestamp를 이용해 새로운 파일명 설정 let newFileName = new Date().valueOf() + p..
-
[Node.js] socket.io 원리Node.js 2020. 10. 20. 13:24
socket.io 모듈은 웹소켓 서버를 쉽게 구현할 수 있도록 도와줘서 클라이언트에 실시간으로 데이터를 전송하게 해준다. socket.io의 작동 원리 1. 먼저 서버에서 소켓서버를 생성하고 실행한다 2. 클라이언트에서 서버에 접속하면 connection 이벤트가 발생한다 3. 서버에서 connection이벤트를 처리하여 해당 이벤트가 발생했을때 어떻게 동작을 할것인지 정한다 4. 서버에서 'any'라는 이벤트를 발생시키면 5. 클라이언트에서는 'any'라는 이벤트를 처리한다 6. 또 서버에서 'nothing' 이벤트를 발생시키면 클라이언트에서 'nothing'를 처리한다 connection / disconnection 이벤트를 제외한 이벤트들은 이름을 마음대로 정할수 있고 꼭 이 순서가 아니더라도 어디..
-
[Node.js] [ Firebase] FCM서버를 이용한 푸시 알림 보내기Node.js 2020. 10. 15. 13:51
firebase의 FCM 서버를 이용해 Android, IOS 에 푸시 알림을 보낼 수 있는 간단한 서버 예제를 만들어보겠습니다. firebase.google.com/docs/cloud-messaging/server?hl=ko firebase 공식 문서에도 잘 나와있습니다. firebase에 프로젝트는 만들어둔 상태입니다 1. 먼저 Firebase Admin SDK를 설치해줍니다 $ npm install firebase-admin --save 2. 서버키 다운로드 SDK를 초기화 해주려면 서버키가 필요합니다 console.firebase.google.com/ firebase 콘솔 화면으로 들어가서 '설정 아이콘 > 프로젝트 설정 > 서비스 계정 > 새 비공개키 생성' 이렇게 생성된 키를 적당한 곳에 둡니..