- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- mongoose
- clipBehavior
- til
- css
- EC2
- moment
- AWS
- jsonwebtoken
- single quote
- https
- Nodejs
- TailwindCSS
- Find
- certbot
- RDS
- nginx
- flutter
- wil
- async
- double quote
- await
- JavaScript
- sequelize
- TypeScript
- Express
- atlas
- MYSQL
- findByIdAndDelete
- Node.js
- mongodb
목록전체 글 (94)
기억 휘발 방지소
특정시간에 어떤 작업을 자동으로 해준다면 아주 편리할 것이다. 그럴 때 사용하면 좋은 것이 node-schedule 이다. 사실 node-schedule 말고도 node-cron이라는 것이 있는데 단순히 두 모듈을 비교해봤을 때 다운로드 수가 많은 것을 사용해보기로 했다. 다운로드 수가 많다는 것은 그만큼 사람들에게 인기가 많다는 것이고 도움을 받을 수 있는 자료들이 더 많을 가능성이 높다고 생각했기 때문이다. 아래는 NPM Trend에서 두 모듈의 다운로드 수를 비교한 것이다. 설치 npm i node-schedule node-schedule을 사용하는 여러가지 방법들 1. cron 스타일 cron은 유닉스 계열 컴퓨터 운영체제에서 시간 기반 잡 스케줄러이다. 소프트웨어 환경을 설정하고 관리하는 사람들..
const query = `SELECT COUNT(*) AS 'count' FROM users WHERE username=${req.body.username}`; users 테이블에서 username이 req.body.username과 일치하는 것을 검색하는 쿼리문을 작성중에 에러가 발생했다. 원인은 username을 VARCHAR 타입으로 생성해놓고 값에 req.body.username을 따옴표로 감싸주지 않았기 때문이다. req.body.username을 따옴표로 감싼 후 에러 해결 const query = `SELECT COUNT(*) AS 'count' FROM users WHERE username='${req.body.username}'`;
Sequelize에서 find, create, update, delete로 CRUD 작업을 할 수 있지만 Raw Query로도 할 수 있다. const User = require("../models/user"); const result = await User.findAll({}); 위에 코드는 find를 사용했고 아래 코드는 SQL문으로 사용했다. // Raw Query const { QueryTypes } = require("sequelize"); const { sequelize } = require("../models/index"); const query = `SELECT * FROM users`; const result = await sequelize.query(query, { type: Query..
이미 생성된 테이블의 컬럼을 나중에 변경/추가/삭제 할 때 models 안에 있는 파일을 수정한다고 DB에 반영되지 않는다. migration을 통해 변경해야 실제 DB에 반영된다. 그리고 migration 파일을 생성해두면 나중에 롤백할 수도 있다. ✔️ 추가/변경/삭제 내용 작성하기 npx sequelize migration:create --name add-column migrations 폴더 안에 add-column 이라는 파일이 생성된다. 파일을 열어보면 내용은 다음과 같다. "use strict"; module.exports = { async up(queryInterface, Sequelize) { /** * Add altering commands here. * * Example: * await..
Sequelize는 DB 작업을 쉽게 할 수 있도록 도와주는 Node.js ORM이다. ORM은 Object-Relational Mapping의 약자로 자바스크립트 객체와 관계형 데이터베이스를 서로 연결해주는 도구를 말한다. ✔️ 설치 sequelize, sequelize-cli, mysql2, express를 설치 npm install sequelize sequelize-cli mysql2 express sequelize-cli는 sequelize 명령어를 실행하기 위한 라이브러리 mysql2는 MySQL과 연결해주기 위한 드라이버 ✔️ Init npx sequelize init 위에 명령어를 실행하면 config, migrations, models, seeders 폴더가 생성된다. config: DB..
TypeScript의 리터럴 타입은 string, number 두 가지가 있다. 이를 사용하면 문자열이나 숫자에 정확한 값을 지정할 수 있다고 한다. ✔️ 문자열 리터럴 타입 (String Literal Types) 아래 코드에서 Food에서 허용한 3개의 문자열 외에 다른 문자열을 사용하게 되면 에러가 발생한다. type Food = "rice" | "noodle" | "meat"; const myFood1: Food = "rice"; const myFood2: Food = "aaa"; // Error: Type 'aaa' is not assignable to type 'Food'. ✔️ 숫자형 리터럴 타입 (Numeric Literal Types) 숫자형도 마찬가지로 허용한 숫자 외에 다른 숫자를 사..