분류 전체보기
-
nestjs에서 registerAsync 사용시 isGlobal 설정NodeJS 2024. 6. 12. 16:12
nestjs에서 registerAsync 사용시 isGlobal 설정useFactory에 isGlobal을 설정 했지만, 동작 하지 않아서 테스트 해보다 보니 위치가 아래와 같습니다.@Module({ imports: [ ConfigModule.forRoot({ envFilePath: ['.env.local', '.env'], isGlobal: true, load: [database, logging, redis, cache, throttler], }), CacheModule.registerAsync({ isGlobal: true, // 여기에 들어가야 한다. imports: [ConfigModule], inject: [ConfigSe..
-
github action으로 jekyll 빌드와 배포 하기설치&설정 관련 2024. 6. 12. 16:11
github action으로 jekyll 빌드와 배포 하기다음의 단계로 배포 처리를 합니다.설정 > 개인 토큰 발급프로필 사진을 클릭 후 Settings 선택아래 메뉴에 Developer settings 선택Personal access tokens 선택Create New tokens 선택 후 tokens (classic) 선택이름을 설정하고, Expiration을 No Expiration으로 설정만료일을 설정 시 추후 변경 필요함Select scopes에서 repo 선택repository에 읽고 쓰고 등의 처리를 위해 필요Generated Token 버튼 클릭으로 토큰 생성토큰 복사토큰 값은 다시 확인이 불가하니 꼭 잘 저장 해야 함원천 소스가 되는 Repository로 이동Secrets and vari..
-
react 에서 build 이후에 환경(dev, product 등)에 따른 상수 처리HTML + JAVASCRIPT + CSS/ReactJS+AngularJS +VueJS 2023. 6. 12. 14:03
일반적으로 React에서의 상수는 .env를 활용해서 관리합니다. 하지만, 환경에 따라 상수를 변경해야 한다면 어떻게 처리해야 할까요? 정답은 build 이후에 환경 변수를 주입 할수 있게 설계 하면 됩니다. React에서는 public 이라는 디렉토리가 있고 이는 정적 파일을 보관하는 곳입니다. 또한 이 디렉토리에 있는 파일들은 빌드 시 자동으로 build 디렉토리에 복사 되며, 브라우저에서 접근이 가능한 파일로 사용이 됩니다. 전역 상수 파일 생성 먼저 환경 변수는 전역값으로 처리 하기 위해서 window 전역 객체에 env키를 이용해서 저장 합니다. // root 디렉토리에 키 값과 벨류 키값을 가진 _env-config.js 파일 생성 window.env = { REACT_APP_API: "V_R..
-
nestjs에서 swagger사용시, generic 타입에 대한 response schema 처리NodeJS 2023. 6. 5. 14:01
페이징 처리시 다음의 DTO를 사용하고 있습니다. export class Pagination { @ApiProperty() public results: T[]; @ApiProperty() public page_total: number; @ApiProperty() public total: number; constructor(paginationResults: PaginationResultInterface) { this.results = paginationResults.results; this.page_total = paginationResults.results.length; this.total = paginationResults.total; } } 다른 부분의 표현은 문제가 없는데, generic 타입인 p..
-
정규식을 이용해서 package-lock.json의 주소를 변경 처리NodeJS 2023. 6. 2. 14:00
package-lock.json에서 Nexus Repository 변경시 처리 방법 1. package-lock.json 파일에 대하여 package-lock.json 파일은 NPM 패키지 매니저에서 사용하는 파일 중 하나로, 프로젝트의 의존성(dependency) 정보를 저장하는 파일입니다. 이 파일은 npm install 명령을 실행할 때 자동으로 생성되며, 프로젝트에 필요한 의존성 패키지의 버전 정보를 담고 있습니다. 만약 Nexus Repository의 URL이 변경되거나 새로운 Nexus Repository를 사용해야 하는 경우, package-lock.json 파일을 업데이트해야 합니다. package-lock.json 파일의 구조는 다음과 같습니다. { "name": "lahuman", "v..
-
Node, Nginx를 설치하는 Dockerfile카테고리 없음 2023. 6. 1. 13:59
Dockerfile에서 Amazone Linux를 기반으로 nginx를 설치 하는 방법은 일반적으로 아래와 같은 명령어를 이용합니다 from amazonlinux RUN yum update --security --bugfix -y RUN yum install -y python3 pip3 RUN yum -y install gcc-c++ make RUN yum -y install curl # install nginx RUN amazon-linux-extras install -y nginx1 RUN nginx -v nginx에서 필요한 추가 모듈을 설치하기 위해서 (ex: http_sub_module) 컴파일 설치를 해야 합니다. 이때 사용하는 Dockerfile은 아래와 같습니다. from amazonlin..
-
VSCode에서 Jest Debug 설정NodeJS 2023. 5. 31. 13:58
VSCode에서 Jest Debug 설정 테스트 케이스를 실행 중 에러가 발생했습니다. 이를 해결하기 위해서는 console.log 만으론 부족하여서, jest + debug 처리를 해보았습니다. 시작하기 vscode에서 왼쪽에 run to debug 버튼을 클릭하여, Run and Debug 버튼을 클릭하여 .vscode 디렉토리 와 launch.json 파일을 생성합니다. launch.json 파일은 아래와 같은 설정을 가집니다 . { "version": "1.0.0", "configurations": [ { "type": "node", "request": "launch", "name": "Jest: current file", "program": "${workspaceFolder}/node_modul..
-
nestjs-pino 로깅 처리NodeJS 2023. 5. 30. 13:58
nestjs-pino 로깅 처리 상황 정리 위와 같은 WEB 환경에서 Some logging의 경우 Request(요청) 정보가 없기 때문에 동시 다발적인 이벤트의 로그들을 추적하기가 불가능 합니다. 이를 nestjs-pino 이용해서 각 로그별로 동일한 요청의 경우 연결 처리 할 수 있도록 작성합니다 nestjs-pino에서도 적혀 있지만, pino-http모듈을 nestjs에 녹인 프로젝트입니다. 필요 모듈 정보 nestjs-pino : nestjs와 연동 처리된 모듈 pino-http : pino 로그에 request, response 정보를 bind 처리한 모듈 file-stream-rotator : 파일 스트림을 기반으로 파일의 생명주기를 관리하는 모듈 pino-pretty : pino 로그의 ..