분류 전체보기(326)
-
this [Javascript]
this 란? this 란 Javascript 예약어 이다. this는 자신이 속한 객체 또는 자신이 생성할 인스턴스를 가리키는 자기 참조 변수이다. this 바인딩은 함수 호출 방식에 의해 동적으로 결정된다. this 바인딩이란? 식별자와 값을 연결하는 과정을 말한다. 변수선언은 변수 이름과 확보된 메모리 공간의 주소를 바인딩하는 것이다. this 바인딩은 this(키워드로 분류되지만 식별자의 역할을 한다.)와 this가 가리킬 객체를 바인딩하는 것이다. 다른 대부분의 객체 지향 언어에서 this 는 클래스로 생성한 인스턴스 객체를 의미한다. 클래스에서만 사용할 수 있기 때문에 혼란의 여지가 없거나 많지 않다. 하지만 자바스크립트는 어디서든 사용할 수 있다. 상황에 따라 this 가 바라보는 대상이 달..
2024.01.05 -
호이스팅
이전에 실행컨텍스트에 대해 다루었었다. https://muyeon95.tistory.com/317 실행 컨텍스트 실행 컨텍스트는 실행할 코드에 제공할 환경 정보들을 모아놓은 객체이다. 이는 자바스크립트의 동적 언어로서의 성격을 가장 잘 파악할 수 있는 개념이다. 자바스크립트는 어떤 실행 컨텍스트 muyeon95.tistory.com 실행 컨텍스트 요약 자바스크립트 코드를 실행하는데 필요한 환경 정보, 즉 변수 객체, 스코프 체인, this 에 관한 내용 등을 담고 있는 객체이다. 실행 컨텍스트는 크게 전역 컨텍스트와 함수 컨텍스트 2가지로 나뉘며, 자바스크립트 코드 실행이 시작되면 무조건 콜 스택에 전역 컨텍스트가 먼저 쌓이고, 그 위로 함수를 호출할 때마다 함수 컨텍스트가 생성된다. 각 컨텍스트가 생성..
2023.12.31 -
실행 컨텍스트
실행 컨텍스트는 실행할 코드에 제공할 환경 정보들을 모아놓은 객체이다. 이는 자바스크립트의 동적 언어로서의 성격을 가장 잘 파악할 수 있는 개념이다. 자바스크립트는 어떤 실행 컨텍스트가 활성화되는 시점에 선언된 변수를 위로 끌어올리고(호이스팅), 외부 환경 정보를 구성하고 this 값을 설정하는 등의 동작을 수행하는데, 이로 인해 다른 언어에서는 없는 특이한 현상이 발생한다. 클로저를 지원하는 대부분의 언어에서 이와 유사하거나 동일한 개념이 적용되어 있다. 실행 컨텍스트란? 실행 컨텍스트는 실행할 코드에 제공할 환경 정보들을 모아놓은 객체이다. 동일한 환경에 있는 코드들을 실행할 때 필요한 환경 정보들을 모아 컨텍스트를 구성하고 이를 콜 스택에 쌓아올렸다가, 가장 위에 쌓여있는 컨텍스트와 관련 있는 코드..
2023.12.26 -
JWT Token & Session
Session 이란? 유저의 정보를 데이터베이스에 저장하고 상태를 유지하는도구 특징 session은 특수한 id 값으로 구성되어 있고, session 은 서버에서 생성되고 클라이언트에서 쿠키를 통해 저장이 된다. 클라이언트에서 요청을 보낼 때 session id 를 같이 보내면 현재 요청을 보내는 사용자가 누구인지 서버에서 알 수가 있다. 즉 session id 의 정보가 서버에 특정 데이터베이스의 정보와 연결되어 있다는 것이다. 때문에 요청을 할 때마다 매번 아이디와 비밀번호를 물어 볼 필요가 없는 장점을 가지고 있다. (이부분은 JWT 도 마찬가지) 서버에서 데이터가 저장되기 때문에 클라이언트에 사용자 정보가 노출될 위험이 없다. 데이터베이스에 session 을 저장해야 하기 때문에 Horizonta..
2023.12.19 -
Javascript 데이터 타입
데이터 타입의 종류 데이터 타입은 크게 두가지가 존재한다. 기본형과 참조형이다. 기본형에는 숫자, 문자열, 불리언, null, undefined 등 이 있으며 ES6에서는 심볼이 추가되었다. 참조형은 객체가 있고, 배열, 함수, 날짜, 정규표현식 등과 ES6에서 추가된 Map, WeakMap, Set, WeakSet 등이 객체의 하위 분류에 속한다. 어떤 기준으로 기본형과 참조형을 구분할까? 일반적으로 기본형은 할당이나 연산 시 복제되고 참조형은 참조된다고 알려져 있다. 엄밀히 말하면 둘 모두 복제를 하긴한다. 다만 기본형은 값이 담긴 주소값을 바로 복제하는 반면 참조형은 값이 담긴 주솟값들로 이루어진 묶음을 가리키는 주솟값을 복제한다는 점이 다르다. 기본형은 불변성을 띈다. 혼란스러울 수 있는데 기본형..
2023.12.18 -
Type ORM 알아보기 [NestJS]
TypeORM은 TS와 JS에서 사용할 수 있는 객체 관계 매핑(ORM) 라이브러리 중 하나이다. ORM은 데이터베이스와의 상호작용을 추상화하여 개발자가 객체 지향 프로그래밍 스타일을 사용하여 데이터베이스와 상호 작용할 수 있게 해준다. Column Annotation PrimaryGeneratedColumn 해당 필드를 기본 키로 사용하며, 자동으로 생성되는 숫자 형태의 값이다. 주로 순차적인 정수 값을 기본키로 사용할 때 활용된다. // @PrimaryGeneratedColumn() 은 자동으로 id 를 생성한다. // 1, 2, 3, 4, 5 -> 순서대로 id 값이 올라간다. // @PrimaryGeneratedColumn('uuid') // asd1rf123f-213dsaf3-123asdbe-o..
2023.12.15