전체 글 (138) 썸네일형 리스트형 NestJS로 API 만들기 - 1 IntroductionNestJS는 백엔드를 구성할 수 있게 한다.node.js 위에서 움직이는 프레임워크다.Typescript에 기반하고 있다.yarn보다 npm이 더 안정성 있으므로 package는 npm을 사용한다. $ npm i -g @nestjs/cli$ nest new project-name 백엔드 API를 구성하기 위해 Insomnia Core를 다운로드 해야 한다. Architecture of NestJSmain에서 모듈로 이동하고, 모듈에서 컨트롤러로 이동하고, 서비스로 이동하면 텍스트를 나타내는 부분을 알 수 있다.서비스는 클래스며 함수를 가지고 있다. 모듈은 어플리케이션의 일부로, 기능을 담당할 수 있다.인증을 담당하는 어플리케이션이 있다면 유저 모듈이 되는 것이다. @로 나타내는 부.. [면접대비] 공간 복잡도(Space complexity) 공간 복잡도알고리즘이 얼마나 많은 메모리를 소모하는가.메모리 소모와 빅 오 표기법newArray 등 새로운 배열을 원소 N개에 따라 생성하는 경우: O(N)새로운 배열을 생성하지 기존 배열의 원소를 바꾸는 경우: O(1)추가로 소모한 공간은 보조 공간(auxiliary space)라 부른다.입력도 포함하여 공간 복잡도를 계산하는 경우도 있다. 이 경우도 틀린 경우는 아니다.시간 복잡도와 공간 복잡도의 선택애플리케이션이 매우 빠르고, 처리할 메모리가 충분하다면 시간복잡도가 낮은 경우가 적절하다.속도는 크게 중요하지 않지만 메모리를 절약해야 하는 경우 공간복잡도가 낮은 경우가 적절하다.근본적으로는 최소 허용 속도와 메모리 한도를 아는 것이 좋다.재귀함수와 공간 복잡도: O(N)재귀함수를 호출하는 경우 호출 .. [면접대비] 트라이(trie) 트라이(trie)트라이는 다른 구조처럼 명확한 정의가 있는 것이 아니라, 조금씩 다르게 구현한다.트라이 노드는 자식 노드의 개수에 제한이 없다.트라이 노드마다 해시 테이블을 포함하여, 키는 알파벳이고 값은 트라이의 다른 노드다.트라이 구조의 단어 저장 구현각 알파벳은 key를 나타낸다.*는 단어가 끝났음을 알려준다. 값은 null이다.*의 값을 인기도와 같이 순위를 지정할 수 있다면, 자동완성 기능을 제공할 때 인기도에 따라 제공할 수도 있다.{*, 't'}에서 *와 t는 모두 key다. 트라이 구조의 시간복잡도탐색: 검색 문자열 내 문자 수에 따라 달라진다. O(K)변수를 만든다. 처음 시작할 때 이 변수는 루트 노드를 가리킨다.검색 문자열의 첫 문자를 키로 하는 자식이 있는지 확인한다.자식이 없다면 .. 이전 1 2 3 4 ··· 46 다음