목록전체 글 (211)
jm_p_op
참고자료-https://github.com/expressjs/multer/blob/master/doc/README-ko.md설정storage - 저장path설정filename - 파일 이름시간을 넣어 독립적으로 제작destination - 폴더명DB별 나눠주는것이 좋음limit - 파일 종류, 사이즈 등사용.single( 'input-key' )req.file에 저장.array( 'input-key' ).fields( 'input-key' )req.files에 저장req.file.path가 데이터 저장된 path임으로 중요에러 핸들링- multerFunction(req,res(err)=>{ fun1})에러 발생시 err이 존재에러 없어도 fun1실행multerFunction을 await시킨후 req.fi..

모든 api요청의 권한이 있음으로defult값은 all로 잡자.DB에 저장후 cache로 뽑아서 관리권한이 All 혹은 겹치는것이 있다면, true값 반환async function PermissionAPICheck(api,user_perm){ perms=await permissionAPI.get(api) if (!perms){ return undefined } if (perms[0]=='All'){ return true } for (i in user_perm){ if (perms.includes(user_perm[i])){ return true } } return false}권한이 true이면..
require("../models") 에서 dictionary 형태로 같은 폴더에 있는 것들을 사용가능하다.db의 키값은 class이름이 아닌 modelName으로 적용된다forEach(file)에서 같은 폴더의 js파일들 설정forEach(modelName)에서 해당 클래스 실행'use strict';const fs = require('fs');const path = require('path');const Sequelize = require('sequelize');const process = require('process');const basename = path.basename(__filename);const env = process.env.NODE_ENV || 'development';const c..

url/메서드 app.use('a')a로 시작하는 모든 메서드에 작용app.all('a')api가 a인 모든 메서드 실행all.get/pest/...('a')api가 a이고 해당 메서드만 실행 같은 url에 여러개 있을 작동방식코드상 먼저 정의된것 실행next()를 안하면 다음정의된것이 실행 안된다.get/all/use에서의 우선순위는 없음app.use('/',(req, res, next)=>{ //f1 next()},f2,f3....)app.use('/',g1)f1실행, f2실행 .... g1 실행 (next()를 쓰지 않는다면 그 뒤에 함수는 작동안함)이를 통해 전반적인 api에서 실행할것을 제작가능 (예를들면 인증, 기록, 권한 등등)

DB에 error 메세지 저장cache로 서버에 보관,관리console에 찍히는것과 Response값 구분 Inputi: error_message의 id값input : 에러발생시 유저의 input값을 작성하여 에러발생원인 파악CodeJSON.stringify을 통해 보기 좋게 변동Outputresponse : http 상태코드detail : 상세이유async function get(i,input=""){ value = cache.get(i) if (value==undefined){ db = await ErrorMessage.findAll({where:{id:i}}) for(j in db){ cache.set(db[j].id,db[j]) ..

npm install xlsxdefault value값이 있는 경우 원래 DB에서 migration할때 충돌이 일어날수가 있다.즉 migration하기전에 DB에 넣어줘야 함으로 migration값= True설정이후 추가적으로 넣는 값들은 seed에 값에만 반영함으로 migration = False로 잡자// modules/seedDB.jsvar xlsx = require("xlsx");const excelFile = xlsx.readFile( "./seeders/seed_data.xlsx" );async function seed_data(db){ const table = excelFile.Sheets[db]; // @details 시트의 제목 추출 return xlsx.util..
https://www.npmjs.com/package/node-cachenpm install node-cache --save사용법dictionary처럼 key -value값으로 존재한다. ttl을 사용하여 데이터 보관시간 관리자주 쓰는 데이터는 cache해두자제작한거Permission id값과 이름을 지속적으로 변동해야되는데, DB에서 처리하는것보다 서버가 부담하는것이 좋다.대신 admin 유저만 사용가능하게 제작 get - 한개씩 저장setAll - 한번에 저장patch - 데이터 수정될때 사용 (백 서버 여러개일때 서로에서 쏴주면 될듯싶다,)아쉬운점서버 메모리 할당됨으로 갯수 제한은 직접 코드로 작성해야된다.같은것을 또 사용할때, ttl 업데이트가 안된다. const {Permission} = req..