본문 바로가기

분류 전체보기378

static method factory pattern 'use statict' /** * static method factory pattern * 기존 construct 를 통한 생성이 아닌 static method 로 객체 생성 */ class DatabaseManager { constructor(settings) {} //초기화를 생성자가 아닌 static 으로 생성하도록 한다. static async build(settings) { const config = await this.init(settings) return new DatabaseManager(config) } query() {} async init() {} // 최초 1회 실행 async newMember() {} async deleteMember() {} } //usage const man.. 2020. 1. 10.
TDD - frameworks 소개 mocha: front/backend 에서 테스트 가능 istanbul: 라이브러리이다. 코드커버리지에 가깝다 만든 코드 혹은 모듈, 라이브러리까지도 커버가 가능 함수도 커버리지 가능. 코멘드라인으로 실행 가능 결과를 리포팅 해준다. tape: 기능단위 테스트 가능하다. jest: 프론트에서 많이 사용된다. 모킹 가능하다. cypress: e2e 테스트 가능하다. 코드로서 자동화 가상의 데이터를 주입하여 자동 테스트 가능 2020. 1. 10.
file const fs = require('fs') //비구조화 방식으로 필요한것만 받음 const {promisify} = require('util') //콜백함수로 사용 const read = promisify(fs.readFile) const write = promisify(fs.writeFile) const writeAndRead = async (data = '') => { try{ await write('text.txt',data) return (await read('text.txt')) }catch(e){ console.error(e) } } writeAndread('some contents') 2020. 1. 10.
destructing const obj = { title:'nodejs', value:'노드' } //비구조화로 변환 const {title,value} = obj //배열도 비구조화로 변환 할수있음. 자리수를 맞춰야한다. const arr = [1,2,3] const [,a,b] = arr 2020. 1. 10.
class 상속 const cacheManage = require('./cacheManage') class sessionManage extends cacheManage { } 2020. 1. 10.
class class cacheManage{ constructor(){ this.config = [] } addConfig(obj={}){ this.config.push(obj) } getConfig() { return this.config } } const CacheManage = new cacheManage() CacheManage.addConfig({ port: 8080 }) const config = CacheManage.getConfig() module.exports = cacheManage 2020. 1. 10.