본문 바로가기

Programming & Platform161

NestJS mailer 활용하여 이메일 보내는 방법 NestJS mailer 활용하여 이메일 보내는 방법 NestJS에는 다양한 모듈이 있는데요. 이 중 mailer 모듈을 활용하여 NestJS로 이메일을 손쉽게 보낼 수 있습니다. 이 글에서는 NestJS로 이메일 보내는 방법에 대해 소개하겠습니다. NestJS mailer 사용법 NestJS에서 이메일을 보내기 위해서는@nestjs-modules/mailer 라는 모듈을 사용해야 합니다. 이를 사용하기 위해서는 아래의 과정이 필요합니다. 설치 yarn과 npm 중 사용자 환경에 맞는 설치를 진행합니다. yarn add @nestjs-modules/mailer nodemailer #or npm install --save @nestjs-modules/mailer nodemailer 이메일 템플릿 설치 이는.. 2024. 1. 15.
Git에서 fatal: not a git repository 오류 해결하기 Git에서 fatal: not a git repository 오류 해결하기 Git을 사용하다보면 가끔 'fatal: not a git repository'와 같은 오류 메시지를 만날 수 있습니다. 이 글에서는 이 오류가 발생하는 이유와 해결 방법을 설명하겠습니다. 예시 코드를 통해 각 단계를 자세히 살펴보겠습니다. fatal: not a git repository 오류란? 이 오류는 현재 디렉토리나 부모 디렉토리에 Git 저장소가 없는 경우에 발생합니다. 이 오류는 Git이 작동하는 디렉토리가 없거나 잘못된 디렉토리에서 Git 명령을 실행하려고 시도할 때 발생합니다. git init 명령어를 사용하여 Git 저장소 초기화 가장 간단한 해결 방법은 현재 디렉토리에서 Git 저장소를 초기화하는 것입니다. 다.. 2024. 1. 14.
웹 브라우저, 매일 같이 스마트폰과 PC로 접속하는 디지털 세계의 대문 웹 브라우저, 매일 같이 스마트폰과 PC로 접속하는 디지털 세계의 대문 웹 브라우저는 마치 디지털 세계의 문 같은 존재입니다. 이 문을 열면 무한한 정보, 서비스, 소통의 세계로 들어갈 수 있습니다. 웹 브라우저는 우리의 창조적인 공간을 개척하고, 웹 개발자와 브라우저 개발자의 혁신으로 더욱 발전합니다. 이 글에서는 웹 브라우저의 역할과 그 뒤에 숨겨진 중요성을 살펴보고, 그 미래를 향한 놀라운 전망을 엿봅니다. 웹 브라우저에 대한 호기심이 깨어날 준비가 되셨나요? 함께 여정을 떠나볼까요? 웹 브라우저에 대해 다양한 프로토콜 지원, 연결의 핵심 웹 브라우저는 다양한 프로토콜을 지원합니다. 가장 흔히 쓰이는 **http** (HyperText Transfer Protocol)를 통해 웹 페이지를 가져올 수.. 2024. 1. 13.
NestJS createQueryBuilder 사용하는 방법, 예시코드 NestJS createQueryBuilder 사용하는 방법, 예시코드 NestJS는 TypeScript 기반의 서버 사이드 애플리케이션을 개발하는 데 사용되는 강력한 프레임워크입니다. 데이터베이스와의 상호작용은 매우 중요하며, 그 중에서도 typeorm 라이브러리의 createQueryBuilder를 사용하여 쿼리를 작성하는 방법에 대해 알아보겠습니다. NestJS createQueryBuilder 사용법 1. createQueryBuilder 소개 createQueryBuilder는 TypeORM에서 제공하는 강력한 쿼리 빌더 중 하나입니다. 이를 사용하면 SQL 질의어를 직접 작성하는 대신, TypeScript를 사용하여 쿼리를 구성할 수 있습니다. 2. createQueryBuilder의 기본 구.. 2024. 1. 10.
NestJS TypeORM 트랜잭션 사용방법, 예시코드 NestJS TypeORM 트랜잭션 사용방법, 예시코드 트랜잭션은 데이터베이스에서 수행되는 작업의 단위를 나타냅니다. 이는 다른 트랜잭션과 독립적으로 일관되고 안정적인 방식으로 처리되어야 합니다. NestJS에서 TypeORM을 사용하여 트랜잭션을 다루는 방법에 대해 알아보겠습니다. NestJS 트랜잭션 사용방법 DataSource 주입 우선, 일반적인 방법으로 DataSource 객체를 클래스에 주입해야 합니다. @Injectable() export class UsersService { constructor(private dataSource: DataSource) {} } QueryRunner를 사용한 트랜잭션 생성 이제 이 객체를 사용하여 트랜잭션을 생성할 수 있습니다. async updateUser.. 2024. 1. 6.
NestJS 빠른 테스트를 위한 명령어 npm run start:dev NestJS 빠른 테스트를 위한 명령어 npm run start:dev 프로젝트를 개발하면서 코드를 작성하고 테스트하며 개발환경을 구축하는 일은 빈번한 작업 중 하나입니다. NestJS를 사용하는 경우에도 자주 사용하는 명령어 중 하나가 npm run start입니다. 그러나 npm run start:dev 명령어를 사용하면 테스트 작업을 더욱 편리하게 수행할 수 있습니다. 이 글에서는 두 명령어의 차이와 npm run start:dev의 편리한 기능에 대해 알아보겠습니다. npm run start vs npm run start:dev 먼저, npm run start와 npm run start:dev의 차이를 살펴봅시다. npm run start 기본적인 개발 서버를 시작합니다. 코드가 수정되면 수동으로.. 2024. 1. 5.
NestJS ejs 적용하는 방법, 동적 웹페이지 렌더링 하기 NestJS ejs 적용하는 방법, 동적 웹페이지 렌더링 하기 NestJS는 강력한 서버 사이드 애플리케이션 프레임워크로, EJS(Embedded JavaScript)와 같은 템플릿 엔진을 사용하여 동적인 웹 페이지를 렌더링할 수 있습니다. 이 글에서는 NestJS 프로젝트에 EJS를 적용하는 방법에 대해 알아보겠습니다. NestJS ejs 적용하는 방법 1. NestJS 프로젝트 생성 NestJS 프로젝트를 생성하기 위해 터미널에서 다음 명령어를 실행합니다. nest new my-nest-project cd my-nest-project 2. EJS 패키지 설치 NestJS에서 EJS를 사용하려면 관련 패키지를 설치해야 합니다. npm install ejs --save 3. 메인 파일 수정 main.ts.. 2024. 1. 4.
MySQL 저장된 시간이 JavaScript에서 조회한 시간 다를 때 해결 방법 MySQL 저장된 시간이 JavaScript에서 조회한 시간과 다를 때 해결 방법 MySQL에 저장한 시간을 JavaScript에서 조회할 때 다르게 나타는 문제가 발생하였습니다. 이번 글에서는 MySQL에 저장된 시간과 JavaScript 시간대가 다른 이유와 해결 방법에 대해 소개하겠습니다. MySQL시간 JavaScript에서도 맞추려면 문제 상황 MySQL 데이터에는 Fri Dec 29 2023 00:00:00 GMT+0900 (한국 표준시)와 같이 저장되어 있지만 JavaScript에서 이를 조회하면 2023-12-28T15:00:00.000Z와 같이 시간이 변경된다는 문제가 발생합니다. 이는 MySQL과 JavaScript 간의 시간대 차이 때문에 발생하는 문제입니다. 문제 해결 방법 이러한 .. 2024. 1. 3.
JavaScript 함수에서 forEach와 return 사용 시 주의사항, 해결방법 JavaScript 함수 에서 forEach와 return 사용 시 주의사항, 해결방법 코드 내에서 JavaScript의 forEach 함수를 사용하면서 반복을 돌면서 특정 조건에 따라 함수를 종료하고 싶은 상황을 마주했습니다. 하지만 forEach 함수 내부에서 사용한 return은 예상대로 동작하지 않았습니다. 이 글에서는 forEach문이 return을 하지 못하는 이유와 해결방법에 대해 소개해드리겠습니다. ForEach 안에서는 return이 안 된다 forEach와 return의 동작 forEach 함수는 반복 중간에 return을 사용하더라도 해당 return이 forEach 함수 자체를 종료하는 것이 아니라 내부 반복문만 종료하고 다음으로 넘어갑니다. 이는 함수 자체의 반환값에는 영향을 주지.. 2024. 1. 2.