반응형

재학습 66

[NPM] npm ERR! code EACCES errno -13

NPM을 사용하는 개발을 하다보면 간혹 아래와 비슷한 에러가 발생할때가 있다. npm ERR! code EACCES npm ERR! syscall mkdir npm ERR! path /usr/local/lib/node_modules/@nestjs npm ERR! errno -13 npm ERR! Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/@nestjs' npm ERR! [Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/@nestjs'] { npm ERR! errno: -13, npm ERR! code: 'EACCES', npm ERR! syscall:..

재학습/오류 2023.06.26

[NestJS] [데코레이터] 속성 데코레이터

속성 데코레이터 클래스의 속성 바로 앞에 선언 선언파일 선언클래스에서는 사용하지 못함 특징 두 개의 인수를 가지는 함수이다. 정적 멤버가 속한 클래스의 생성자함수이거나 인스턴스 멤버에 대한 클래스의 프로토타입 멤버의 이름 메서드 데커레이터, 접근자 데커레이터와 비교해 볼 때 속성 설명자가 존재하지않다는 특징이 있음 반환값 무시됨 구현 export class PropertyDecorationTest { @format('Hello') greeting: string; } function format(formatString: string) { return function (target: any, propertyKey: string): any { let value = target[propertyKey]; func..

재학습/NestJS 2023.06.22

[NestJS] [데코레이터] 매개변수 데코레이터

매개변수 데코레이터 생성자 또는 메서드의 매개변수에 선언되어 적용 선언파일 선언클래스에서는 사용될 수 없다 반환값 무시 호출시 3개의 인수와 함께 호출됨 정적멤버가 속한 클래스의 생성자 함수이거나 인스턴스멤버에 대한 클래스의 프로토타입 멤버의 이름 매개변수가 함수에서 몇 번째 위치에 선언되었는지를 나타내는 인덱스 구현 import { BadRequestException } from '@nestjs/common'; export class ParameterDecorationTest { private name: string; @Validate setName(@MinLength(3) name: string) { this.name = name; } } function MinLength(min: number) { ..

재학습/NestJS 2023.06.21

[NestJS] [데코레이터] 접근자 데코레이터

접근자 데코레이터 접근자 바로 앞에 선언 접근자의 속성 설명자에 적용 접근자의 정의를 읽거나 수정할 수 있음 선언파일과 선언클래스에는 사용할 수 없음 반환값은 해당 멤버의 속성 설명자 구현 특정 멤버가 열거가 가능한지 결정하는 데코레이터 export class AccessorDecorationTest { constructor(private name: string) {} @Enumerable(true) get getName() { return this.getName; } @Enumerable(false) set setName(name: string) { this.name = name; } } function Enumerable(enumerable: boolean) { return function ( tar..

재학습/NestJS 2023.06.20

[NestJS] [데코레이터] 메서드 데코레이터

메서드 데코레이터 메서드 바로 앞에 선언 메서드의 속성 설명자(Property Descriptor)에 적용된다. 메서드의 정의를 읽거나 수정할 수 있다. 선언파일, 오버로드메소드, 선언클래스에는 사용할 수 없다. 메서드속성설명자(Property Descriptor)란? 객체속성의 특성을 기술한다. (속성의 정의를 수정할수있는지 여부, 열거형인지 여부, 속성 값, 수정가능여부, getter, setter) 메서드 데코레이터는, 세 개의 인수를 가진다. target: any, propertyKey: string, descriptor: PropertyDescriptor 정적 멤버가 속한 클래스의 생성자 함수이거나, 인스턴스 멤버에 대한 클래스의 프로토타입 멤버의 이름 멤버의 속성설명자(Property Desc..

재학습/NestJS 2023.06.19

[NestJS] [데코레이터] 클래스 데코레이터

클래스 데코레이터 클래스 바로 앞에 선언 클래스의 생성자에 적용 클래스의 정의를 읽거나 수정 가능 선언파일과 선언클래스내에서는 사용불가능 구현 @reportableClassDecorator export class ClassDecorationTest { type = 'report'; title: string; constructor(t: string) { this.title = t; } } function reportableClassDecorator( constructor: T ) { return class extends constructor { reportingURL = 'http://www.example.com'; }; } 클래스데커레이터는 생성자를 리턴하는 함수다. 결과 reportingURL은 선언해..

재학습/NestJS 2023.06.18

[NestJS] [데코레이터]

데코레이터 개념 횡단관심사를 분리하여 관점지향 프로그래밍을 할 수 있도록 해주는 기능 자바의 애너테이션과 유사함 @키워드를 붙여 사용 DTO검증뿐만아니라 다양한곳에 활용 가능 데코레이터 합성 각 데코레이터 표현은 위에서 아래로 평가된다. 결과는 아래에서 위로 함수로 호출된다. export class DecoCompositionTest { @first() @second() method() { console.log('method is called'); } } function first() { console.log('first() : factory evaluated'); return function ( target: any, propertyKey: string, descriptor: PropertyDescri..

재학습/NestJS 2023.06.17

[mitmproxy] 모바일웹 환경에서 헤더값을 추가하고싶다?

배경 일반적인 PC 웹 환경에서 헤더값을 추가하고싶을때는 크롬의 ModHeader 을 이용하여 손쉽게 헤더값을 추가할 수 있다. 그런데 모바일 웹 환경에서는 어떻게 추가할 수 있을까? 여러 방법이 있을 수 있겠지만, 나는 프록시환경을 사용하여 헤더값을 추가해주기 위해 mitmproxy를 사용했다. Mitmproxy - 오픈소스 - 파이썬API를 사용하여 데이터 조작가능 - mitmproxy(콘솔), mitmweb(웹), mitmdump(cli) 총 세 가지의 실행환경 지원 https://mitmproxy.org/ mitmproxy - an interactive HTTPS proxy Mitmproxy has a vibrant ecosystem of addons and tools building on it:..

재학습/개발툴 2023.02.20

[Npm] sill idealTree buildDeps

갑자기 오늘, npm install 을 입력했을 때 아래와 같은 오류문구가 발생된다. idealTree:[project-name]: sill idealTree buildDeps "idealTree:[project-name]: sill idealTree buildDeps" 메시지 1. 프로젝트의 package.json 파일에 있는 종속성이 일관되고 올바른지 확인하는 데 도움이 되는 도구인 'ideal-tree' 패키지에서 생성됨 2. ideal-tree 도구가 프로젝트의 package.json 파일에서 종속성을 확인하고 종속성 트리를 빌드하고 있음을 나타내지만 오류나 문제는 아님. 3. 이 문제를 해결하려면 package.json 파일을 업데이트하여 모든 종속성이 올바른지 확인한 다음 'npm instal..

재학습/오류 2023.01.16

[NestJS] Swagger 적용( 과 Swagger -> Redoc으로 변경..은 하려고하였으나~~ )

NestJS 애플리케이션에서 ReDoc을 사용하려면 NestJS용 Swagger(OpenAPI) 사양과의 통합을 제공하는 @nestjs/swagger 패키지를 설치해야 함 npm install @nestjs/swagger NestJS 애플리케이션에서 swagger.options.ts 파일을 만들고 OpenAPI 사양을 정의 여기에는 API 끝점, 요청 및 응답 본문 및 기타 관련 세부 정보에 대한 정보가 포함되어야 함 main.ts 파일 내에서 설정을 잡아줘야 함 이 파일에서 @nestjs/swagger에서 SwaggerModule을 가져오고 이를 사용하여 애플리케이션에서 Swagger를 활성화 import { DocumentBuilder, SwaggerModule } from '@nestjs/swagg..

재학습/NestJS 2023.01.08
반응형