목록개발 공부 (108)
코딩일상
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cYix9I/btrSITamVjh/iRNCPcUHvS5A9DUJw9U2A1/img.png)
nest.js 공식문서를 최대한 참고하여진행하였다. Documentation | NestJS - A progressive Node.js framework Nest is a framework for building efficient, scalable Node.js server-side applications. It uses progressive JavaScript, is built with TypeScript and combines elements of OOP (Object Oriented Progamming), FP (Functional Programming), and FRP (Functional Reac docs.nestjs.com 1.nest.js를 설치할 폴더로 들어간다. $ npm i -g @ne..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/26hEK/btrSBo1bjk8/ZttvJKCBq22ayueDhqSAek/img.png)
스코프(유효 범위, Scope) 스코프란, 모든 식별자(변수 이름, 함수 이름, 클래스 이름 등)는 자신이 선언된 위치에 의해 다른 코드가 식별자 자신을 참조할 수 있는 유효 범위가 결정됩니다. 즉, 스코프는 식별자가 유효한 범위를 뜻합니다. MDN에 따르면 스코프란 현재 실행되는 컨텍스트를 말합니다. 여기서 컨텍스트는 값과 표현식이 "표현"되거나 참조될 수 있음을 의미합니다. 만약 변수 또는 다른 표현식이 "해당 스코프"내에 있지 않다면 사용할 수 없습니다. 스코프는 또한 계층적인 구조를 가지기 때문에 하위 스코프는 상위 스코프에 접근할 수 있지만 반대는 불가합니다. 예제 1) function exampleFunction() { var x = "declared inside function"; // x는..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bCfEQf/btrSz7yBfqf/uPjVokfhNr9zt2bZngs3t0/img.png)
비교연산자 ==동등비교(loose equlity)연산자 ===일치비교(strict equlity)연산자 '==' 연산자를 이용하여 서로 다른 유형의 두 변수의 [값] 비교 '==='는 엄격한 비교를 하는 것으로 알려져 있다 ([값 & 자료형] -> true). '0'=='' //false 0 =='' //ture 0 =='0' //true 0 == false // true 0 === false // false console.log(typeof 0); // "number" console.log(typeof false); // "boolean" 2 == "2" // true 2 === "2" // false 주의 해야할점 NaN === NaN //false //Number.isNaN 함수는 지정한 값이 Na..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dw4nWr/btrSqti1TdN/7mtXfGPe126sWARAPIbGQ1/img.png)
들어가기 앞서 형변환에 대해 설명을하고 내용에 들어가겠다. 형변환이란? 프로그램을 작성하면서 문자를 숫자로, 숫자를 문자로 변환해야한는 경우가 생긴다. 이렇게 타입형태를 바꾸는 것을 형변환이라고 하며, 형변환에 방법에는 명시적 변환, 암시적 변환이 존재한다. 명시적 변환이란? 명시적 변화은 개발자가 의도적으로 형변환을 하는것이다. 기본적인 형변환은 Object(),Nubmer(),String(), Boolean()과 같은 함수를 이용한다. let variable = 100 console.log(variable, typeof variable) // 100 "number" variable = Object(variable) console.log(variable, typeof variable) // Number..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/nMDL6/btrSqXRdiWA/ZmK9VRUpaVNmyQQlkkWJI1/img.png)
JavaScript의 변수타입 JavaScript의 변수 타입에는 크게 원시타입과 참조타입으로 나누어져있습니다. 원시타입(PrimitiveType)의 변수들은 데이터복사가 일어날때 메모리공간을 새로 확보하며 독립적인 값을 저장한다. 참조타입(ReferneceType)은 메모리에 직접접근이 아닌 메모리의 위치(주소)에 대한 간접적인 참조를 통해 메모리에 접근하는 데이터 타입이다. 값 타입(Value Type) JavaScript에서 원시타입은 변수에 할당될때, 메모리의 고정크기로 원시값을 저장하고 해당 저장된 값을 변수가 직접적으로 가리키는 형태이다. 값이 절대 변하지 않는 불변성을 갖고 있기 때문에 재할당시 기존 값이 변하는 것처럼 보일지 몰라도 사실 새로운 메모리에 재할당한 값이 저장되고 변수가 가리키..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/4ZJEN/btrSeOVtsDw/qMZhxNV2nVKEsv0rUBiD40/img.png)
들어가기 앞서 오늘은 자바스크립트의 원시형 타입에 대해 알아보고자한다. 들어가기 앞서 자바스크립트의 전체 데이터 타입에 대해 소개하고 들어가겠다. 자바스크립트는 아래와 같은타입들을 가지고있다. 그림을 보게되면 원시형 타입 그리고 참조형타입으로 크게 나누어져있다. 두 데이터 타입에 대해 정말 간다하게 설명을 하자면 아래와같다. 원시형: 값을 바로할당 참조형: 값이 저장된 주소값을 할당 혹시라도 잘 이해가 가지 않으면 추후에 이 두가지 타입에 대해 포스팅하겠다. 원시형 타입(Primitive Types)?? 원시형 타입이 현재 7가지가 있으며 아래와 같은 타입들이 있다 숫자형 Biginit 문자형 불린 null undefined Symbol 1)숫자형 숫자형(numbertype)은 정수 및 부동 소수점 숫자..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/PgafS/btrSeiVHhDi/KtZ3ytSEXHiaTtRiRlk9v1/img.png)
호출스택(Call Stack)?? 자바스크립트가 함수실행을 핸들링하는 방법중 하나이다. 이를 좀 더 쉽게 이해 하기위해서는 스택(Stack)을 먼저 이해 하면 편하다. 스택(stack)?? 할일들을 쌓아두고 가장 위에 쌓여있는 일부터 실행하는 방식이라고 생각하면 편하다 이해가 안가도 괜찮다. 아래 내용들을 진행하면서 스택은 계속 활용되니 말이다. 호출스택 작동방식 우선, 자바스크립트는 단일스레드 프로그래밍 언어이다. (단일스레드: 일을 처리하는 곳이 하나 인것라고 간단히 우선 생각) 그렇기에 단일 호출스택이 있으며, 즉 한 번에 하나의 일(Task)를 처리 할 수있다는 뜻이다. 호출스택이란 프로그램에서 우리가 어디에 있는지를 기본적으로 기록하는 데이터구조이다. 함수를 실행하면 해당함수의 기록을 스택에 추..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/c67djQ/btrSeg4tXQq/d4I4oCQ9gViJDVgDBg6HVk/img.png)
소개 아래 깃허브 오픈레포지토리를 기준으로 자바스크립트 개발자로써 필수로 알아야하는 33가지 개념을 정리해나아가보려합니다. GitHub - leonardomso/33-js-concepts: 📜 33 JavaScript concepts every developer should know. 📜 33 JavaScript concepts every developer should know. - GitHub - leonardomso/33-js-concepts: 📜 33 JavaScript concepts every developer should know. github.com 시리즈 작성과정 33가지에 주제를 나열해둔뒤 주제별 공부후 블로그 글이 작성이되면 링크를 부여해놓도록 하겠습니다. 목차 호출스택 원시자료형 값 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bIPBqX/btrQOPBk2dE/cL0CFqTjzChLzA7AkBfyxK/img.png)
코테를 하다가가 진법 변환이 있어서 JS에서는 어떻게 하면되는지 찾아보고 이를 정리한 글이다. 생각보다 간단하다. 45를 3진법으로 바꾸면 1200 125를 3진법으로 바꾸면 11122이다. //10진법 45를 3진법으로 변환 let num = 45 let change = num.toString(3) console.log(change);//1200 //3진법으로 1200을 10진법으로 변환 let num2 = 1200 let change2 = parseInt(num2, 3); console.log(change2);//45 Object.prototype.toString() - JavaScript | MDN The toString() 은 문자열을 반환하는 object의 대표적인 방법이다 developer.m..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/UVWcd/btrQbrt5UBW/7j52CkvA347Aa7D7q5T2Qk/img.png)
결론 데이터베이스에서 인덱스를 사용하는 이유는 검색성능을 향상시키기 위해서 이다. 하지만 검색성능을 실질적으로 향상시키기 위해서는 해당 쿼리가 index를 사용하는지 카디널리티, Selectivity 같은 요소들이 고려된 인덱스가 생성되어야 합니다. 일반적인 경우의 장점으로는 빠른 검색 성능을 들 수 있습니다. 일반적인 경우의 단점으로는 인덱스를 구성하는 비용 즉, 추가, 수정, 삭제 연산시에 인덱스를 형성하기 위한 추가적인 연산이 수행됩니다. 따라서, 인덱스를 생성할 때에는 트레이드 오프 관계에 놓여있는 요소들을 종합적으로 고려하여 생성해야합니다. *트레이드오프: 객체의 어느 한부분의 품질을 높이거나 낮추는게, 다른 부분의 품질을 높이거나 낮추는데 영향을 끼치는 상황을 이야기한다 Index란? 사전 의..