JavaScript
[sequelize] sequelize-cli를 위한 .sequelizerc 파일 작성해보기
지난글에서는 sequelize-cli에서 옵션을 통해 각각파일들의 path를 지정하여 사용하였습니다. https://dingwan0331.tistory.com/176 [sequelize] 폴더 구조가 다를때 sequelize cli 명령어 사용해보기 express는 굉장히 자유로운 프레임워크입니다. 그만큼 많은 모듈들에서 default로 설정된것들을 직접 지정해줘야하는 경우가 많이 발생합니다. path(경로)와 관련된것이죠 그중에서 sequelize-cli를 통 dingwan0331.tistory.com 이번엔 더 편리하게 파일로써 이 path을 관리해보려 합니다. 폴더구조 . ├── seed # 블로그용으로 seeders가 아닌 seed로 변경하였습니다. │ └── seeders.js ├── src │..
![[sequelize] 폴더 구조가 다를때 sequelize cli 명령어 사용해보기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FIX2RR%2FbtrTR9CUX6m%2FCYRNOOai42ssXW61GV8JWk%2Fimg.png)
[sequelize] 폴더 구조가 다를때 sequelize cli 명령어 사용해보기
express는 굉장히 자유로운 프레임워크입니다. 그만큼 많은 모듈들에서 default로 설정된것들을 직접 지정해줘야하는 경우가 많이 발생합니다. path(경로)와 관련된것이죠 그중에서 sequelize-cli를 통해 seeder & migration등을 사용할때 각각의 경로들을 지정해줄 수 있는 방법을 작성해보려합니다. 폴더구조 제가 .sequelizerc를 작성하게 된 이유입니다. 먼저 아래는 sequelize init을 통한 기본 폴더구조입니다. . ├── seeders ├── migrations # 작성한 파일 ├── config │ └── config.js └── models └── index.js 그리고 아래는 저의 폴더 구조입니다. . ├── seed # 블로그용으로 seeders가 아닌 s..
![[Javascript] 자바스크립트 이벤트루프](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fby9XTJ%2FbtrRNB1F0Rh%2FoN3OC3JaKY7HNtbgPyNSX1%2Fimg.png)
[Javascript] 자바스크립트 이벤트루프
이벤트 루프는 호출 스택이 비워질 때마다 큐에서 콜백 함수를 꺼내와서 실행하는 역할을 해 준다. ECMA에는 이벤트 루프가 없다 자바스크립트의 표준을 관장하는 ECMA에는 이벤트루프에대한 언급이 없다고 합니다. 그이유는 자바스크립트의 특징인 다양한 런타임때문이라고 합니다. 자바스크릅티는 태생이 웹브라우저환경에서 작동하는언어이기에 웹브라우저 별로 런타임이 상이합니다. 이벤트루프는 이런타임환경과 관련이 있기에 단순히 언어로만 바라보는것이 아니라서 그런것 같습니다. 자바스크립트는 싱글스레드 언어가 아니다 실제 자바스크립트가 구동되는 환경(브라우저, Node.js등)에서는 주로 여러 개의 스레드가 사용되며, 이러한 구동 환경이 단일 호출 스택을 사용하는 자바 스크립트 엔진과 상호 연동하기 위해 사용하는 장치가 ..
[Javascript] async & await 비동기처리
Async & Await ES7에 추가된 비동기처리를 위한 문법입니다. await은 영어그대로 비동기함수가 처리될때까지 기다리게 됩니다. 하지만 실제론 기다리는며 CPU를 낭비하는것이 아닌 다른일을 처리하게됩니다. Async async는 함수 앞에 위치하게 됩니다. 익명함수를 사용하는 경우 () 앞에 위치하게 됩니다. async fucntion a(){ } const a = async()=>{ } async를 붙이면 해당 함수는 항상 프라미스를 반환합니다. 프라미스가 아닌 값을 반환하더라도 이행 상태의 프라미스(resolved promise)로 값을 감싸 이행된 프라미스가 반환되도록 합니다 클래스의 메서드에도 당연히 사용이 가능합니다. ** async가 붙은 함수는 반드시 프라미스를 반환하고, 프라미스가..
![[JavaScript] Promise & async / await 자바스크립트 비동기처리](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqoXpx%2FbtrRN588jZH%2FpL7KARTHfp1342E6d37Z10%2Fimg.png)
[JavaScript] Promise & async / await 자바스크립트 비동기처리
프로미스란? 자바스크립트는 ES6 이전에 비동기 처리를 위한 하나의 패턴으로 콜백 함수를 사용한다. ES6에 전통적인 콜백 패턴이 가진 단점을 보완하며 비동기 처리 시점을 명확하게 표현할 수 있는 새로운 패턴이 프로미스이다. 콜백패턴의 단점 콜백헬(코드가독성 저하) 기본적으로 비동기함수의 리턴값을 사용하여 다음함수를 실행시키기위해선 아래와 같은 콜백함수를 사용하여 후처리를 한다. 지속적으로 비동기함수의 리턴값을 사용하게 되면 아래와 같은 콜백헬이 발생하게 된다. 예외처리의 한계 위와 같은 코드에서는 예외가 잡히지 않는다고 한다. 그이유로는 자바스크립트의 이벤트루프와 이어지는데 1.비동기함수가 스택에 쌓이고 나오면서 외부 API에서 함수처리 2.외부 API에서 함수를 태스크큐에 넣은 후 스택이 비워진후 스..
![[JavaScript] 실행 컨텍스트](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcHwqJv%2FbtrQY1uBorf%2F9n7rKcbayJL5DHuZAmd2c1%2Fimg.png)
[JavaScript] 실행 컨텍스트
어려운 내용이라 두서없이 서술되어있습니다. 실행할 코드에 제공할 환경 정보들을 모아놓은 객체 최초 시동시 콜스택에 전역컨텍스트가 쌓이며 그이후 함수를 호출할때마다 해당 컨텍스트가 콜스택에 쌓이는 형태 종류 VariableEnvironment: 현재 컨텍스트 내의 식별자들에 대한 정보 + 외부 환경 정보. 선언 시점의 LexicalEnvironment의 스냅샷snapshot으로, 변경 사항은 반영되지 않음. LexicalEnvironment: 처음에는 VariableEnvironment와 같지만 변경 사항이 실시간으로 반영됨. ThisBinding: this 식별자가 바라봐야 할 대상 객체. 정리 먼저하기 실행 컨텍 스트는 전역 공간에서 자동으로 생성되는 전역 컨텍스트와 eval 및 함수 실행에 의한 컨 ..