문제 export const findByTemplateId = async ( id: number, ): Promise => { const { templates } = await table() .select() .where('id', id) .first(); if (templates === undefined) { return undefined; } return new Template(templates); }; table에 대한 반환 값을 구조 분해 할당을 사용해 Request를 하면 다음과 같은 에러가 발생합니다. error: Cannot destructure property 'templates' of '(intermediate value)' as it is undefined. // 오류: '(중간값)'의..

퀵 정렬을 구현을 할 때 피벗의 위치를 두고 고민할 때가 있습니다. 피벗의 위치를 두고 왼쪽 오른쪽 포인트의 교환(Swap)을 합니다. 피벗을 가장 끝쪽(왼쪽 /오른쪽) 위치 두고 포인터 끼리 교환을 하면 구현하기 편리합니다. 하지만 이 경우 최악의 시나리오가 발생 합니다. 예시로 피벗을 배열 끝에 두었을 때 최악의 시나리오 대해서 설명하겠습니다. 분할 1의 원소의 개수는 6개입니다. 다음 그림에 피벗을 차례대로 왼쪽부터 두겠습니다. 분할 2에서는 원소의 개수가 5개입니다. 분할 3에서는 원소의 개수가 4개입니다. 원소의 개수가 N일 때, N + (N-1) + (N-2) … 단계가 걸립니다. 6 + 5 + 4 + 3 + 2 + 1개 원소를 분할하고 총 21번을 비교합니다. 빅오 단계에서는 O(N^2)입니..

API 문서 도구는 다 비슷하지만 좋은 API 문서 도구는 저마다 이유가 다릅니다. 좋은 API 문서 도구로는 Swagger와 ReDoc이 있습니다. Swagger는 OpenAPI 대표적인 문서화 도구입니다. API와 관련 모든 리소스 및 작업을 효과적으로 매핑이 가능하고 RESTful 인터페이스를 쉽게 개발할 수 있습니다. Redoc은 Swagger와 동일한 OpenAPI 문서화 도구 중 하나입니다. Swagger보다 좀 더 깔끔한 UI를 제공합니다. redoc-cli를 통해서 html 파일을 만들 수 있습니다. 두 가지 API 문서 도구의 장점은 개발자가 API를 구현하면서 문서화에 코드를 추가하지 않아도 자동으로 생성해줍니다. 개발자는 비즈니스 로직에 더욱 집중할 수 있고 시간을 절약할 수 있습니다..

Git 환경 세팅부터 Git 설정까지 정리해봤습니다. 1. MAC 환경에 GIt 환경 구성하기 우선, Mac 환경에서 Git을 세팅하기 전에 터미널에 item 2를 설치해야 합니다. 터미널에서 brew install --cask iterm2 명령어를 입력하거나 https://iterm2.com/에서 직접 다운을 받습니다. 2. Git Version 확인 하기 명령어 git --version을 입력하면 git 버전을 확인하실 수 있습니다. 3. Git 설정하기 git config 명령어로 이름과 이메일 주소를 설정합니다. global 옵션을 사용하면 깃 email 또는 user.email 인스턴스를 가져올 때마다 이메일을 인식합니다. git config --global user.email "test@tes..