목록전체 글 (179)
A Developing Developer
Nest.js에서 "eager"는 모듈의 로딩 시점을 의미하는 옵션입니다. Nest.js는 기본적으로 지연 로딩(lazy loading)을 사용하여 모듈의 로딩을 최소화하고 애플리케이션의 부하를 줄입니다. 이는 필요한 모듈만 로딩하기 때문에 애플리케이션의 시작 속도를 높이는 데 도움이 됩니다. 하지만, 때로는 애플리케이션 시작 시점에 모든 모듈을 로딩해야 할 때도 있습니다. 이때 "eager" 옵션을 사용하면 모든 모듈이 애플리케이션 시작 시점에 로딩됩니다. 예를 들어, 다음과 같이 AppModule에서 "eager" 옵션을 사용하여 모든 모듈을 애플리케이션 시작 시점에 로딩할 수 있습니다. @Module({ imports: [ UsersModule, PostsModule, CommentsModule, ..
Nest.js 는 IoC (Inversion of Control) 컨테이너를 내장하고 있는 프레임워크이다. IoC 는 애플리케이션의 제어 흐름을 개발자가 작성한 코드에서 외부 컨테이너로 제어의 흐름을 바꾸는 디자인 패턴이다. 이 패턴은 의존성을 관리하고 코드를 더 유연하고 유지보수 가능하도록 만들어준다. Nest.js 에서는 이러한 IoC 패턴을 사용하여 애플리케이션의 모듈, 서비스, 컨트롤러 등을 관리한다. Nest.js 의 IoC 컨테이너는 애플리케이션의 클래스와 객체를 생성, 구성 및 제어하며, 이들의 생명주기를 관리한다. IoC 컨테이너를 사용하면 의존성 주입 (Dependency Injection)이 용이해지며, 다른 클래스와 서비스를 사용하는데 필요한 객체를 애플리케이션의 전역 컨테이너에서 찾..
JavaScript 에서 this 키워드는 현재 실행 중인 함수 또는 메소드 내에서 현재 객체를 참조하는 데 사용된다. this는 함수의 호출 방법에 따라 결정된다. 아래 예시 코드를 살펴보면 this 키워드를 사용하여 현재 객체를 참조하는 방법을 보여준다. // 예시 객체 생성 const person = { firstName: "John", lastName: "Doe", fullName: function() { return this.firstName + " " + this.lastName; } } // fullName() 메소드 호출 console.log(person.fullName()); // "John Doe" 위 코드에서 person 객체의 fullName 메소드 내에서 this 키워드를 사용하여..
TypeORM 설치 (class-vailidator 이슈 발생 시) - Window $ npm uninstall class-validator $ npm i typeorm@0.3.0 $ npm i @nestjs/typeorm mysql $ npm i class-validator - Max $ npm uninstall class-validator $ npm i @nestjs/typeorm typeorm mysql $ npm i class-validator TypeORM 적 - TypeModul.forRoot({..}) : 모든 모듈에 적용 (데이터베이스) - TypeOrmModule.forRootAsync : 비동기 작업(데이터베이스와 연결 설정)이 완료될 때까지 응용프로그램 시작을 지연해야하기 때문에 사용..
(Node.js) TypeORM 실습 중 코딩을 완료하고 서버를 실행했는데 발생한 에러이다. 원인 : 클라이언트 프로그램에서 mysql 패스워드 플러그인 "caching_sha2_password" 을 소화하지 못해서 발생한 오류이다. 해결방법 : 클라이언트 프로그램에서 사용할 수 있도록 유저의 패스워드 plugin 을 바꿔준다. - MySQL 접속 후 mysql> SELECT Host,User,plugin,authentication_string FROM mysql.user; mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; - 서버 재실행 처음보는 에러였다. 왜 plugin 을 소화를 못하는지는..
문제발생 Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL clinet 시도 - 구글링 https://1mini2.tistory.com/88 SELECT Host,User,plugin,authentication_string FROM mysql.user; root 의 plugin 을 바꿔줘야한다. mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; - 서버 재실행 서버 정상 작동 (DB 연결 성공) 알게 된 것 - 클라이..
요소 : 배열 내부에 있는 값 속성 : 객체 내부에 있는 값 메소드 : 속성 중에 함수 자료형인 것 this : 객체 내부의 메소드에서 객체 자신을 나타내는 키워 기본 자료형 : 실체가 있는 것 중에서 객체가 아닌 것 (숫자, 문자열, 불 등) 객체 자료형 : 객체를 기반으로 하는 자료형, new 키워드를 활용해서 생성 protoype 객체 : 객체의 틀, 이곳에 속성과 메소드를 추가하면 해당 객체 전체에서 사용가 객체에 없는 속성에 접근하면 undefined 가 나온다. 다중 할당 : 배열과 객체 하나로 여러 변수에 값을 할당하는 것 얕은 복사(참조 복사) : 복사하는 행위가 단순하게 이름을 붙이는 형태로 동작하는 복사 깊은 복사 : 복사 후 두 객체를 완전하게 독립적으로 사용할 수 있는 복사 구문 오..
splice() : 주어진 배열에서 삭제하고자 하는 인덱스로부터 몇개를 지정하여 삭제한다. 배열.splice(인덱스, 제거할 요소의 개수) 익명함수 : 이름이 없는 함수 function () {} 매개변수 : 함수의 괄호 안에 넣는 변수, 외부의 정보 function f (매개변수, 매개변수, 매개변수) { 문장 문장 return 리턴값 } 전개 연산자 : 배열을 함수의 매개변수로써 전개하고 싶을 때 사용 function sample(...items) { console.log(items) } //전개 연산자 사용 여부 비교하기 const array = [1,2,3,4] console.log('# 전개 연산자를 사용하지 않은 경우') sample(array) console.log('#전개 연산자를 사용한 ..