본문 바로가기

JavaScript & TypeScript31

[Node.js] Sequelize ondelete ondelete 속성은 데이터를 삭제하는데 있어서 관련된 데이터를 삭제하는데 용이합니다. 1:N의 관계의 테이블에서 1의 데이터를 지우면 관련된 N을 지우게 됩니다. 예를들어 한 유저가 여러 게시물을 썼는데 그 유저가 회원 탈퇴를 하게 되면 그 유저가 쓴 게시물이 모두 사라지는 방식입니다. ondelete에 대해 쓰는 이유는 수없이 찾아보고 stackoverflow를 찾아 봤지만 동작이 되지 않았는데 결국 해결 방법을 찾았습니다. 아래는 user : photo = 1 : N 관계로 설정한 내용 입니다. 1(hasMany) : N(belogsTo) Model model - user.js (1) static associate(models) { user.hasMany(models.photo, { foreign.. 2022. 2. 15.
[JS] CommonJS와 ES6 JS 모듈화 역사 require는 NodeJS에서 사용되고 있는 CommonJS 키워드이고, import는 ES6(ES2015)에서 새롭게 도입된 키워드입니다. 일반적으로 import ES6(ES2015)는 사용자가 필요한 모듈 부분만 선택하고 로드 할 수 있기 때문에 더 선호됩니다. 최근 ES6(ES2015) 모듈 시스템인 import가 많이 사용되고 있지만, 그러나 아직까지는 import 키워드가 100% 대체되어 사용될 수 없습니다. 태그를 사용하는 브라우저 환경과, NodeJS에서도 CommonJS를 기본 모듈 시스템으로 채택하고 있기 때문에, Babel과 같은 ES6 코드를 변환(transpile)해주는 도구를 사용할 수 없는 경우에는 require 키워드를 사용해야 합니다. node.js프로젝.. 2022. 2. 13.
[JS] 반복문에 promise 1. promise promise는 비동기적 실행을 동기적으로 실행하기 위해 사용한다고 생각합니다. 정확히는 비동기적 실행에 대한 결과 값에 대한 완료 또는 실패에 의한 결과 값입니다. (기본적인 내용은 유튜브 엘리님 설명이 좋습니다.) 양치를 하는 행위는 비동기와 비슷하다고 생각합니다. 그래서 양치를 하면서 책을 읽을 수 있고, 폰을 볼 수도 있습니다. 하지만 양치를 하면서 치아의 상태를 제대로 확인 할 수는 없습니다. 거품 때문에 양치를 마치고 난 뒤에야 치아 확인을 제대로 할 수 있죠. 양치라는 행위를 완료하고 치아를 확인하게 만들어 주는 것이 promise라고 생각합니다. 2. 반복문에서 비동기 처리를 동기적으로 처리 promise를 반복문에 사용하려 했는데, 블로그에 많은 글들이 있었지만 오히려.. 2022. 2. 7.
[Node.js] express-validator (유효성 검사) 유효성 검사는 클라이언트에서 서버로 요청을 보낼 때, 정확한 데이터를 보내고 있는 것인지 확인하는 것입니다. 서버에서 유효성검사를 최대한 빨리하는 것이 좋습니다. 왜냐하면 서버에서 데이터를 읽는 것도 비용이기 때문에 필수적입니다. 그렇기 때문에 서버에서 라우터-컨트롤러로 진행이 되기에 유효성검사는 라우터 부분에서 하는 것이 좋고, 또한 컨트롤러는 기능수행의 역할을 하기에 유효성검사를 같이 하기엔 적합하지 않다고 생각합니다. 보통 유효성 검사를 하게 되면 조건문을 사용하여 유효성 검사를 하게되는데 validator 라이브러리를 사용하면 좀 더 쉽고 보기 좋게 유효성 검사를 할 수 있습니다. npm install --save express-validator 공식문서에서는 아래의 코드처럼 간단하게 설명하고 있.. 2022. 1. 14.
[Node.js] Console 종류 Console.log만 알고 있었는데 정말 많은 종류의 console이 있는 것을 알았습니다. 개발 함에 있어 유용한 콘솔들이라 생각이 듭니다. error, assert, table 등등.. 참 신기한게 많았기에 신선한 충격이었습니다. console.clear() // 콘솔로그 클리어 console.log('log') // 개발 console.info('info') // 정보 console.warn('warn') // 경보 console.error('error') // 에러, 사용자에러, 시스템 에러 // assert console.assert(2 === 3, 'not same'); //특정 조건일 때 출력 console.assert(2 === 2, 'same') // 같으면 same, 다르면 not s.. 2021. 8. 5.
[Node.js] 특징 배우면 좋은점 브라우저는 자바스크립트, 서버는 자바로 구현을하는 경우가 많고, 우리나라 대기업도 백엔드는 자바로 많이 사용하고 있습니다. 노드 js로 서버를 구현하면 두가지의 언어를 사용하지 않고, 햇갈리지 않고 생산성을 높일 수 있습니다. (물론 자바만의 장점이 있기에 대기업에서 아직 많이 쓰고 있는 것으로 알고 있습니다.) 자바스크립트로 구현하는 기업 중 많은 예시를 드는 것이 넷플릭스 우버,이베이, AWS 등등 node.js를 사용하고, 우리나라 대기업도 부분적으로 사용하고 있습니다. 그리고 많은 스타트업이 노드js를 많이 사용하고 있습니다. 이렇게 많이 사용하는 이유는 쉽고, 높은생산성을 이유로 들고 있습니다. Node.js 특징 1. Javascript runtime node.js 는 런타임 환.. 2021. 8. 4.