전체 글

· TIL
오늘 한 일 오늘은 Udemy 강의를 통해 Typescipt를 복습하는 시간을 가졌다. 타입스크립트의 추가적인 타입들과 타입스크립트 컴파일러 실행 / 관리 / 옵션들에 대해 자세히 배우는 시간을 가졌다. 기본적인 부분을 배우는데도 생각보다 시간이 엄청나게 오래걸린다. 아마 하나하나 자세히 배워서 그런 것 같다. 이미 배웠던 부분을 복습하면서 배운다고 생각했는데도 강의마다의 차이가 큰 것 같다. 오늘 유데미 타입스크립트 강의를 모두 들으려 했지만 다 듣진 못했다. 내일 시간 더 내서 타입스크립트 강의를 모두 듣고, 추가적으로 NestJS 강의도 복습할 계획이다. 배운 부분 https://yoonchan1121.tistory.com/128 Typescript 컴파일러 실행 / 관리 Typescript 컴파일..
· Error
문제 상황 'lite-server'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. lite-server를 정상적으로 실행하고 난 뒤 다른 파일에서 새로 lite-server를 실행하려니 lite-server를 찾을 수 없다는 오류가 발생했다. 하지만 방금 전까지 npm start를 통해 정상적으로 잘 사용하고 있었다. 때문에 몇 가지 사항들을 확인해봤다. 1. npm 설치 확인 (확인됨) 2. node_modules 설치 확인 (확인됨) 3. npm install을 통해 dev 옵션으로 설정되어 있는 lite-server 설치 (확인됨) 4. 시스템 환경변수 설정 (dev 옵션으로 설정되어 있었기 때문에 전역으로 설치하고 환경변수 설정해주기가 싫어서 안함) ❔ 살짝..
· TypeScript
Typescript 컴파일러 실행 기본적인 타입스크립트 컴파일러 실행 명령어 : tsc app.ts 위의 명령어를 실행하게 되면 ts파일이 컴파일되어 js 파일로 새로 생성된다. 하지만, 이 명령어를 사용하게 되면 매번 파일 수정이 있을 때마다 매번 새로 실행 시켜줘야한다. 이를 해결하기 위해서는 아래의 "감시모드"를 이용하면 된다. 감시모드(Typescript watch mode) : 파일이 변경될 때마다 타입스크립트가 다시 컴파일하도록 파일을 감시하라고 하는 것. tsc app.ts --watch // 또는 tsc app.ts -w 터미널에 이렇게 쓰게 되면 해당 파일에 대해 감시 모드가 되고, 파일에서 무언가를 변경하고 저장하면 dist에 있는 파일이 변경되고 자동으로 다시 컴파일된다. 파일의 변경..
· TIL
Node.js 주특기 플러스주차 [4일차] 오늘 한 일 지난 3일 + 반나절동안 스파르타 코딩클럽의 Typescript강의와 Nest.js 강의를 모두 완강하고 오늘 남은 반나절은 Udemy의 typescript 강의를 들으며 typescript를 복습하는 시간을 가졌다. typescript를 다시 복습하며 확실하게 몰랐던 부분을 다시 짚으며 정리해보려고 한다. (강의 듣는 중간 중간 적어둔 부분이라 파편화되어 있긴 하다..) TypeScript 강의 중 알게된 부분 터미널에 tsc 하면 ts 파일을 컴파일해서 js 파일로 바꿔준다. 이 때, 타입스크립트에서 명시해뒀던 type은 사라지고 오래된 프로젝트와도 호환이 되는 js파일이 생성된다(babel 패키지와 비슷한 기능을 typescript에서 기본적으..
· 기타
옵저버 패턴 : 옵저버(관찰자)들이 관찰하고 있는 대상자의 상태가 변화가 있을 때마다 대상자는 직접 목록의 각 관찰자들에게 통지하고 관찰자들은 알림을 받아 조치를 취하는 행동 패턴이다. interface CafeObserver { update(customerName: string, orderedItem: string): void; } class CustomerObserver implements CafeObserver { public update(customerName: string, orderedItem: string): void { console.log(`${customerName}님이 ${orderedItem}을(를) 주문했습니다.`); } } // 카페 class Cafe { private obse..
· TIL
Node.js 주특기 플러스 주차 [3일차] 오늘 한 일 오늘은 Nest.js에 대해서 배웠다. Nest.js의 특징과 데코레이터, 제어 역전(IoC)과 의존성 주입(DI), TypeORM에 대해서 배웠다. 기본적으로 Nest.js가 TypeScript를 기반하여 사용하는 것이기 때문에 낯선 부분이 많았다. 특히 DTO 관련해서는 자세하게 이해하지 못한 것 같다. 제대로 한 건 이틀차라서 익숙하지 않은게 당연한건지는 모르겠지만 아직은 많이 답답하다. 강의를 다시 몇 번 돌려보면서 써보고 익숙해지는게 중요할 것 같다. 추가적으로 제어 역전과 의존성 주입 부분에서 의문점이 생긴게 있다. 제어역전을 사용한다면 모듈 간 결합도가 낮아져서 웹 어플리케이션을 지속 가능하고 확장성 있게 사용할 수 있게 해준다는데 어..
· Error
문제 상황 cmd에서 mysql로 들어가려는 도중 mysql 명령어가 먹히지 않았다. mysql 명령어가 먹히지 않는 경우는 크게 두 가지이다. 1. 컴퓨터에 mysql이 설치되지 않았을 경우. 2. mysql 경로 설정이 되어있지 않은 경우. 해결 나의 경우는 mysql이 컴퓨터에 로컬로 설치되어 있던 상황이었기에 2번의 경우라고 생각되어 2번을 작업을 진행해줬다. 경로 설정이 되어있지 않은 경우에는 환경변수 설정이 필요하다. 내 블로그에 환경변수 경로 설정과 관련하여 이미 많이 남겨놓았기 때문에 그대로 따라하면 된다. https://yoonchan1121.tistory.com/100 [Error] yarn: command not found 에러 (Window) 문제 상황 yarn을 설치했음에도 yar..
· ORM
준비사항 TypeORM 및 MySQL 패키지 설치 npm i @nestjs/typeorm typeorm mysql2 Nest JS와 TypeORM으로 프로젝트 코드 구성 controller, service 파일은 각자 구성하였다고 가정하고 Nest.js 을 실행했을 때 가장 먼저 열리는 초기 파일인 app.module.ts 파일에 대한 설정에 대해 다뤄보려고 한다. 기본적인 코드는 아래와 같이 작성했다. // app.module.ts import Joi from 'joi'; import { Module } from '@nestjs/common'; import { ConfigModule, ConfigService } from '@nestjs/config'; import { TypeOrmModule, Typ..
· Algorithm
문제 설명 두 정수 X, Y의 임의의 자리에서 공통으로 나타나는 정수(0 prev + curr, ''); console.log(answer); return answer; } solution('100', '123450'); 문제 풀이 같은 경우에는 조회 메서드를 사용했기 때문에 이미 체크하고 지나간 원소에 있어서도 계속 재차 건드리게 되어 공통요소 배열인 commonElement배열이 늘어나 splice를 이용해 이미 체크한 원소에 대해서는 삭제를 해주었다. 위에서 생각했던 대로 풀어봤는데 몇개 정도는 틀리고 5문제 정도는 시간 초과가 떴다. 아마 배열 조회, 수정 메서드를 많이 써서 그런 것 같았다. 따라서 배열을 건드리는 것보다 시간복잡도 측면에서 효율적인 Set을 써보기로 했다. 풀이2 (Set 사용..
윤찬님
찬이_Devlog