Programming/Nodejs

Programming/Nodejs

[NodeJS] Standalone Executable File 만들기

이번에는 NodeJS 프로그램을 실행 가능한 바이너리 프로그램으로 만들어, 소스가 외부에 공개되지않고 NodeJS 설치 없이 실행할 수 있는 방법을 설명드리겠습니다. Executable file로 만들기 위해서 저는 Pkg 라이브러리를 사용했습니다. 릴리즈 버전이 4.4.0번으로 라이브러리가 어느 정도 안정화 되어있다고 생각됩니다. zeit/pkg Package your Node.js project into an executable. Contribute to zeit/pkg development by creating an account on GitHub. github.com 본 포스트에서 사용하는 예시 프로그램은 블로그에 연재하고 있는 NestJS 기반 API 서버입니다. Typescript 기반으로 간..

Programming/Nodejs

[NodeJS] APK 파싱

const APK_READER = require('node-apk-parser'); const READER = APK_READER.readFile('./app-debug.apk'); const manifest = READER.readManifestSync(); // apk 내의 manifest 내용을 선택하여 출력할 수 있다. console.log(` versionCode: ${manifest.versionCode} versionName: ${manifest.versionName} packageName: ${manifest.package}`) // promise const apkParser = require('node-apk-parser-promise'); (async () => { let reader ..

Programming/Nodejs

[NestJS] AWS S3 Image Upload

최근 NestJS 기반으로 서버 개발을 하고 있다. S3에 사용자 프로필을 업로드해야 하는 요구사항이 있어 다음과 같이 코드를 작성하여 사용하고 있다. NestJS의 Multer 라이브러리와 Multer-S3를 활용한다. 검색을 해보면 대부분 Controller 단에서 Multer-S3 라이브러리를 불러와 업로드를 하는데, 서비스단에서 비즈니스 로직을 수행하는게 맞다고 생각하여 업로드 서비스로 구분하여 구현하였다. [config.module.ts] import { Global, Module } from '@nestjs/common'; import { ConfigService } from '../service/config.service'; // Make Configuration Module To Globa..

Programming/Nodejs

NodeJS AES 256 암복호화 코드

회사에서 서버 개발을 하다가, 모바일 API 전문 암호화 요구사항이 있어서 AES256 암호화 및 복호화 코드를 만들고 사용하고 있다. 코드는 다음과 같다 (Typescript 사용 중). import * as Crypto from 'crypto'; /** * AES Algorithm Based Data Encrypt Function * @param secretKey - Encrypt Key * @param plainText - The Data Of To Be Encrypt */ export const encryptWithAES256 = (secretKey: string, plainText: string): string => { const secretKeyToByteArray: Buffer = Buffe..

Programming/Nodejs

[NestJS 기반 게시판 REST API 만들기] 3. 회원가입 및 로그인, 파라미터 검증 및 예외 처리

지난 포스트 [NestJS 기반 게시판 REST API 만들기] 2. 회원가입 및 로그인 기능을 위한 DB 연동 지난번 포스트에서는 데이터베이스를 연동하고, 유저 테이블을 만들고, 엔티티 클래스를 만들어 연동까지 했습니다. 이번 시간에는 회원가입 API를 만들어 유저 테이블에 직접 데이터를 넣어보고, 로그인 API를 통해 로그인 기능까지 구현해보겠습니다. 또한 입력 파라미터를 검증하는 과정과 에러 처리과정을 보여드리겠습니다. 1. UserService 구현하기 이전 포스트에서 만들어두기만 했던 UserService를 회원가입과 로그인 처리를 위해 구현해보도록 하겠습니다. 가장 먼저 사용자 패스워드를 암호화 하기 위하여 bcryptjs 라이브러리를 추가합니다. 사용자 비밀번호가 평문으로 저장되어있다면 법적..

Programming/Nodejs

[NestJS 기반 게시판 REST API 만들기] 2. 회원가입 및 로그인 기능 을 위한 DB 연동

지난 포스트 [NestJS 기반 게시판 REST API 만들기] 1. 프로젝트 환경 구축 (Tistory가 에디터에서 마크다운을 지원한다고 하여 마크다운으로 작성했었는데,, 많이 깨지는 부분이 있어 이번 게시글부터 일반 에디터로 작성하겠습니다 ㅠ) 이번 글에서는 DB를 다루는데 TypeORM 공식 문서를 보고 오시면 좀 더 빠르게 이해하 실 수 있습니다. 1. Nest CLI 살펴보기 이번에는 게시판을 이용하는 유저 정보를 저장하기 위해 데이터베이스 테이블을 만들고 TypeORM을 사용하여 NestJS와 연동하는 방법을 설명드리겠습니다. NestJS CLI는 명령어를 통해 모듈, 서비스, 컨트롤러 등을 자동으로 환경을 맞추고 파일을 생성해줍니다. nest cli는 다음과 같은 명령어를 가지고 있습니다. ..

Programming/Nodejs

[NestJS 기반 게시판 REST API 만들기] 1. 프로젝트 환경 구축

들어가기에 앞서 [1] 사용하는 스택은 다음과 같습니다. NodeJS Typescript NestJS TypeORM Mysql (or MariaDB) Redis [2] 프로젝트 요구사항 NodeJS 가 기본적으로 설치가 되어있어야 합니다. NestJS는 V8.9.0 이상을 요구하고 있습니다. (저는 v8.15 사용 중입니다.) 데이터베이스는 Mysql를 사용합니다. 프로젝트에서 사용되는 모든 내용은 NestJS Doc에 있는 내용을 기반으로 합니다. 만약 이해가 안 되는 내용이 있을 경우 해당 레퍼런스를 체크하시면 좋을 것 같습니다! 프로젝트 환경 구축 하기 1. 먼저 NestJS CLI를 글로벌로 설치해줍니다. npm install -g @nestjs/cli 2. NestJS CLI를 활용하여 새 프로..

JohnMark
'Programming/Nodejs' 카테고리의 글 목록