분류 전체보기

728x90
반응형
·Node.js
mysql과 node.js를 연결하다가 이러한 데이터 형식이 나왔다. 처음에 데이터를 추출하고자 했는데 잘 안되서, 몇번 헤매다가 데이터 추출 형식에 대해서 글로 작성해야 겠다고 생각하여 글을 적는다. 이에 대한 방법이 어려운게 아니라 배열형식으로 추출되서 다음에 할 때 또 까먹을 것 같아서 작성한다. RowDataPacket 이는 위에도 작성했듯이 mysql과 node.js를 연결하면 이러한 데이터 형식으로 도출이 된다. MySQL 데이터베이스에서 RowDataPacket로 반환해주는 듯하다. connect pool을 이용해 db와 연결하고 query문을 작성한다. query문에 맞는 데이터가 나온다. https://stackoverflow.com/questions/31221980/how-to-acce..
·Node.js
HTTP Stateless Protocol http 프로토콜은 상태(state)를 유지하지 않는다. 이를 stateless protocol이라 한다. HTTP 프로토콜은 요청(request)를 전송하고 응답(response)를 전송받은 시점에서 통신이 종료되며 어떠한 상태 정보도 남지 않는다. 즉, 특정 클라이언트에서 동일 서버에 반복하여 접속하여도 각각의 접속은 독립적인 트랜잭션으로 취급된다. 따라서 로그인 화면에서 아이디, 패스워드를 입력하여 사용자 인증 과정을 거친 이후에 재차 웹사이트에 접근하면 로그인 상태임을 인식(유지)할 수 없으므로 매번 사용자 인증 과정을 반복해야 하는 문제가 발생한다. 쿠키와 세션 쿠키는 웹사이트에 접속할 때 생성되는 정보를 담은 임시 파일이다. 쿠키의 데이터 형태는 ke..
·Node.js
환경 변수란? 프로세스가 컴퓨터에서 동작하는 방식에 영향을 미치는 동적인 값들의 모임 [위키피디아] 우리가 컴퓨터로 하는 모든 작업들은 OS라는 프로그램에 의하여 실행되는 자식프로세스이다. 환경변수는 OS입장에서 해당 프로세스를 실행시키기 위하여 참조하는 변수이다. 어느 환경에 배포하느냐에 따라서 다르게 설정해야하는 항목은 보통 운영 체제 레벨에서 환경 변수를 통해 관리하게 된다. DB password나 API key와 같은 인증 정보는 공개된 코드 저장소에 올리면 안 되기 때문에 환경 변수로 저장해놓고 사용한다. 환경 변수 접근 내가 사용할려는 node.js에서는 dotenv를 사용하여 접근한다. Dotenv is a zero-dependency module that loads environment v..
·Node.js
Associate와 관련해서 db를 설계를 안 해서 구글링해보다가 알게되서 쓰는 글이다. Associate Sequelize CLI를 통해 Model을 정의하고, Migration으로 스키마를 관리한다. RDBMS의 Table간의 관계를 Sequelize에서 Model간의 관계로 정의하는 것을 말한다. 모델 및 마이그레이션 생성 테이블을 두개 생성할 것이다. 유저가 있으면 이 유저가 리뷰를 할 때, 이에 대한 모델 정의와 마이그레이션을 생성하고자 한다. // 유저 sequelize model:generate --name Write_user --attributes email:string,password:string,name:string // 리뷰 sequelize model:generate --name R..
·Node.js
정적인 데이터를 삽입해야 되는 때가 가끔씩 존재한다. 이걸로 몇번 데이터가 직접 만들어서 넣은 수고로움을 덜고자 글을 쓰고자 한다. 진작 알았더라면 좋을 것 같다. 역시 지식이 힘이다. sequelize를 install할 때, Sequelize CLI를 같이 설치 했기 때문에 이 명령어는 따로 작성하지 않아도 된다. 그렇지만 cli를 sequlize를 설치할 때 같이 작성치 않았다면 설치를 해준다. npm i —save sequelize-cli seeder파일을 삭제했다고 하더라도 generate할 때 자동으로 파일이 생성되기 때문에 삭제해도 무관하다. Seeder 개념 seeders는 생성된 각 테이블에 기본으로 필요한 데이터나 예시 데이터를 추가할 때 사용한다. 즉, 정적인 데이터 삽입 기능이다. S..
·Node.js
mysql을 사용하다보니 계속 오전 시간을 기준으로 db에 저장되는게 보여 현재 시간을 기준으로 저장하기 위해서 구글링하였고, 답을 얻어서 이 글을 쓰게 되었다. 모델을 생성할 때 'timestamps: true' 옵션을 주게 되면, 데이터베이스에 created_at, updated_at을 자동으로 생성해준다. db에 값을 넣어주고 created_at, updated_at은 안 넣어줘도 된다. 그래서 저장된 값들을 확인하니 표준시간이 UTC+00:00이다. 한국시간보다 9시간 전 시간을 넣어준다. 그래서 이를 고쳐주기 위하여 Sequelize를 생성하면 config파일이 자동으로 생성된다. timezone 설정 config/config.json 파일에 timezone을 아래처럼 "timezone": "+..
·Node.js
: 요청과 응답에 대한 정보를 콘솔에 기록 저번에 썼던 wiston과 덧붙여서 작성한다. morganMiddleware.js const morgan = require("morgan"); const Logger = require('../config/logger'); const stream = { write: message => { Logger.http(message) } }; const skip = () => { const env = process.env.NODE_ENV || "development"; return env !== "development"; }; morgan.token("status", function (req, res) { let color ; if (res.statusCode < 300)..
·Node.js
log를 배포하면서 중요성을 많이 느꼈는데, 이번 node.js를 이용하면서 많이 쓰일 것 같아서 정리하고자 한다. 코드 설명 const winston = require('winston'); // -----------------------(1) require('winston-daily-rotate-file'); const logDir = `${__dirname}/logs`; const levels = { // ------------------------------------------(2) error: 0, warn: 1, info: 2, http: 3, verbose: 4, debug: 5, silly: 6 } const level = () => { // --------------------------..
728x90
반응형
Uheeking
'분류 전체보기' 카테고리의 글 목록 (25 Page)