JavaScript
-
NestJS-Request lifecycleJavaScript 2022. 3. 26. 18:43
Request lifecycle Incoming request Middleware - Globally bound middleware / Module bound middleware Guards - Global guards / Controller guards / Route guards Interceptors (pre-controller) - Global interceptors / Controller interceptors / Route interceptors Pipes - Global pipes / Controller pipes / Route pipes / Route parameter pipes Controller (method handler) Service (if exists) Intercepter (po..
-
NestJS 공부하기JavaScript 2022. 3. 15. 18:34
기본 개념 공부하기 Controllers Controllers are responsible for handling incoming requests and returning responses to the client. Providers Providers are a fundamental concept in Nest. Many of the basic Nest classes may be treated as a provider – services, repositories, factories, helpers, and so on. The main idea of a provider is that it can be injected as dependency; this means objects can create vario..
-
NodeJS - Express, file structureJavaScript 2022. 2. 19. 12:08
* NodeJS Express로 처음 API를 개발하면서 웹앱 프로젝트는 Folder by feature 를 따르며 파일 구조를 잡고 추가적으로 도커로 DB, Web server, CI(Github actions) - Jest test 추가함 ./.github/workflows - Github actions ./mongodb - backup,restore,data volume ./mysql - backup,restore,data volume ./proxy - nginx ./server ./src/ ./api/resources/ index.ts - routes *.ctrl.ts - controller *.dal.ts - data access layer(=repository) *.test.ts - test ..
-
Docker - Express(TS) - Config(Prod,dev,test)JavaScript 2022. 1. 30. 19:36
참고 링크 Docker https://nodejs.org/en/docs/guides/nodejs-docker-webapp/ Express https://expressjs.com/ Directory structure for JavaScript, Node projects https://gist.github.com/daehan0226/52aaaecd44735ecf8f8c4f37cb98b6c2 Docker, proxy 설정 # docker-compose.yml version: "3" services: proxy: build: context: ./proxy # proxy 폴더 안의 도커파일 빌드함 container_name: proxy ports: - "16610:80" # 도커 ip:16610 를 proxy 컨..
-
빌트인 객체, 래퍼 객체JavaScript 2021. 12. 17. 16:24
자바스크립트의 3가지 객체 표준 빌트인 객체 Object, String, Number, Boolean, Symbol, Date, Math, Array, Promise 등등 사용 환경에 상관 없이 사용 가능 호스트 객체 브라우저 환경 DOM, Canvas, XMLHttpRequest, fetch 등 노드 환경 - 노드 고유의 API 사용자가 정의한 객체 원시값과 래퍼 객체 const strObj = new String('Lee'); // String {"Lee"} console.log(Object.getPrototypeOf(strObj) === String.prototype); // true // String 생성자 함수를 통해 생성한 strObj 객체의 프로토타입은 String.prototype이다. c..
-
변수(var, let, const) + feat.메모리JavaScript 2021. 12. 16. 16:25
변수 하나의 값을 저장하기 위해 확보된 메모리 공간/ 그 공간을 식별하기 위한 이름 값의 위치(메모리 주소)를 가리킴 개발자는 메모리 주소가 아닌 변수를 통해 값에 접근 하나의 값 또는 여러개의 값이 그룹화된 값(배열, 객체) 메모리 메모리 셀 하나의 크기는 1바이트(8비트), 컴퓨터는 1바이트 단위로 데이터 저장, 읽기 값은 고유의 메모리 주소를 가짐 모든 데이터는 2진수로 저장됨 변수-메모리-값 var result = 10 + 20; // 10과 20이 각각 다른 메모리 공간에 먼저 저장되고 // cpu를 통해 계산된 30이 다른 공간에 저장됨 // result 변수는 30이 저장된 *메모리 위치*를 가르키는(식별하는, 기억하는) 식별자 var result = 30; // 할당 : 변수에 값을 저장하..
-
자바스크립트 thisJavaScript 2021. 12. 16. 16:16
자신이 속한 객체의 프로퍼티를 참조하려면 자신이 속한 객체를 가리키는 식별자를 참조할 수 있어야함 객체의 프로퍼티 : 객체 고유의 상태 데이터 객체의 메서드 : 객체 상태 데이터를 참조/조작하는 동작 const circle = { radius: 5, // 프로퍼티 getDiameter() { // 메서드 return 2 * circle.radius; // 이 메서드가 자신이 속한 객체의 프로퍼티나 다른 메서드를 참조하려면 // 자신이 속한 객체인 circle을 참조할 수 있어야 한다. } }; console.log(circle.getDiameter()); // 10 위와 같이 가능하지만(circle.radius를 참조) 자기 자신을 재귀적으로 참조하는 것은 좋지 않음, 위와 같은 방법은 직관적이고 편하지..
-
JS - GOOD/BAD CODEJavaScript 2021. 7. 18. 10:22
const/let const 는 재할당이 불가능하기에 다른 개발자나 이후 본인이 다시 코드를 볼때 변수 선언 후 변경이 생기지 않는 다는 것을 확신할 수 있기 때문에 값을 변경하는 경우가 아니라면 무조건 const 를 사용해라(배열, 객체의 경우 배열 항목, 객체 키,값은 변경할 수 있음) 배열 메서드 활용 // 배열의 경우 빈 배열로 선언하여 loop 하는 것보다 filter 등 배열 메서드를 활용해라 // 배열 내의 일정 조건으로 다시 배열을 만들때 const items = [ { name: "car", active: true, }, { name: "bus", active: false, }, ]; // Bad const activeItems_ = []; for (let i = 0; i < items...