본문 바로가기

Nodejs51

[Nodejs]ES 모듈 관련 예시 만들기 오늘은 ES 모듈 관련 더하기 빼기 계산 하는 간단한 예시를 만들어 보겠습니다. ES 모듈, 즉 ECMAScript 모듈은 재사용을 위해 자바스크립트 코드를 패키징하는 공식 표준 형식(https://tc39.es/ecma262/#sec-modules)입니다. 즉, 자바스크립트 코드를 function 단위, class 단위, 객체 변수 단위 등 여러 형태의 단위로 필요에 따라 작게 나눠 재사용 및 체계적인 관리를 돕는 표준 형식입니다. import 및 exeport 문을 사용하여 모듈들을 정의하고 불러올 수 있습니다.  1.프로젝트 생성 및 초기화mkdir 생성할 폴더명cd 방금 생성한 폴더명npm init -y=> 원하는 경로에 폴더를 생성하고 해당 폴더로 이동 후 프로젝트 생성 및 초기화 시켜줍니다. .. 2024. 8. 26.
[Nodejs]babel 활용하기 오늘은 babel을 활용하는 예시를 만들어 보겠습니다. babel은 자바스크립트 컴파일러로, ECMAScript 2015 이후 형태의 코드들을 현재 및 예전 브라우저 또는 환경에서 사용할 수 있게, 즉 이전 자바스크립트 버전에 호환되는 형태로 변환시키는데 사용할 수 있습니다.  1.프로젝트 생성 및 초기화mkdir 생성할 폴더명cd 방금 생성한 폴더명npm init -y => 원하는 경로에 폴더를 생성하고 해당 폴더로 이동 후 프로젝트 생성 및 초기화 시켜줍니다.  2.babel 관련 모듈 설치npm install --save-dev @babel/core @babel/cli @babel/preset-env => babel/core 는 코드변환, 플러그인 관리 등 babel 의 핵심 기능, babel/cl.. 2024. 8. 20.
[Nodejs]mysql2 활용하기 오늘은 nodejs의  mysql2 모듈을 활용해 mysql db의 데이터를 조회하는 예시를 만들어 보겠습니다. 위 자료를 가진 example 테이블의 데이터를 조회해 보겠습니다. 1.프로젝트 생성 및 초기화mkdir 생성할 폴더명cd 방금 생성한 폴더명npm init -y => 원하는 경로에 폴더를 생성하고 해당 폴더로 이동 후 프로젝트 생성 및 초기화 시켜줍니다.   2.mysql2 설치npm install mysql2  3.mysql2 활용할 js파일 생성touch js 파일명 => 프로젝트 폴더 내에서 js 파일을 생성합니다.  저는 위 이미지와 같이 생성하였습니다.   4.mysql2 활용할 js파일 코드 작성//설치한 mysql2 importconst mysql = require('mysql2.. 2024. 8. 14.
[Nodejs]bcryptjs 활용하기 오늘은 bcryptjs를 활용해 비밀번호 해시 처리가 된 간단한 회원가입 및 로그인 예시를 만들어보겠습니다.  1.프로젝트 생성 및 초기화mkdir 생성할 폴더명cd 방금 생성한 폴더명npm init -y => 원하는 경로에 폴더를 생성하고 해당 폴더로 이동 후 프로젝트 생성 및 초기화 시켜줍니다.   2.express , bcryptjs 설치npm install express bcryptjs => 해당 경로에서 express 와 bcryptjs를 설치합니다.   3.회원가입, 로그인 html 파일들이 위치할 폴더, 서버용 js 파일, 회원가입 로그인 파일 생성mkdir 로그인, 회원가입 파일들을 모아둘 폴더명touch express 서버용으로 쓸 js 파일명touch 사용할 로그인 html 파일명tou.. 2024. 8. 9.
[Nodejs]pug 활용하기 오늘은 pug를 활용하여 간단한 웹페이지를 만들어 보겠습니다. pug는 Node.js 와 브라우저들을 위한 자바스크립트 언어로 구현된 템플릿 엔진 입니다.pug를 활용하면 기존의 HTML 코드를 더욱 간결한 코드로 만들 수 있으며 동적 웹페이지를 만들시 생산성 향상에 도움을 줍니다.  1.프로젝트 생성 및 초기화mkdir 생성할 폴더명cd 방금 생성한 폴더명npm init -y => 원하는 경로에 폴더를 생성하고 해당 폴더로 이동 후 프로젝트 생성 및 초기화 시켜줍니다.  2.express , pug 설치npm install express pug => 해당 경로에서 express 와 pug를 설치합니다.  3.템플릿 파일들이 위치할 폴더, 서버용 js 파일, pug 파일 생성mkdir 템플릿 파일들을 모.. 2024. 8. 2.
[Nodejs] IPFS 이미지 업로드 안녕하세요. 오늘은 IPFS에 이미지를 등록하고 해당 이미지가 잘 저장되었는지 확인해 보겠습니다. 우선 IPFS에 대해 간단하게 설명드리면 분산 파일 시스템으로, 전통적인 중앙 집중식 파일 시스템과는 대조적으로 분산 환경에서 작동합니다. IPFS는 중복되는 데이터를 최소화하고 빠른 속도와 안정성을 제공하며, 파일을 유일한 해시 값으로 참조하는 방식으로 동작합니다. 우선 npm을 통해 fs, ipfs-http-client, buffer를 설치해주고 아래 코드를 입력해주세요. ProjectID와 Secret키는 ipfs.infura.io에 가입하시고 발급받아주세요. import fs from 'fs'; import {create} from 'ipfs-http-client' import {Buffer} fro.. 2024. 1. 24.
[Nodejs] Nodemon으로 오류 기록하고 자동 재시작하기 Nodejs으로 서버 실행 중에 에러가 날 때, 예외처리가 되어있지 않다면 서버가 멈춰버립니다. 하지만 아래 코드를 활용하면 어떤 원인으로 서버가 멈췄는지 error.log를 통해 확인 가능하고, 지속적인 서버 운영도 가능합니다. nodemon.json { "restartable": "rs", "events": { "crash": "nodemon --delay 500ms" } } package.json { "name": "your-project-name", "version": "1.0.0", "scripts": { "start": "nodemon app.js" }, "dependencies": { "express": "^4.17.1", "moment-timezone": "^0.5.33", "winston.. 2024. 1. 18.
[Nodejs] node-cron 사용해서 설정한 주기 마다 작업 실행하기 안녕하세요. 오늘은 nodejs의 node-cron을 통해 설정한 주기마다 로그를 찍게끔 코드를 작성해보겠습니다. 하루에 한번 혹은 1시간에 한번식 실행해야 되는 작업이 있으면 사용하기 좋습니다. 코드에 대한 설명은 주석을 통해 남겼습니다. const cron = require('node-cron'); // 설정한 시간 마다 실행할 함수 const scheduledTask = () => { // 5초마다 실행하는지 체크 하기위해서 시간을 찍어보겠습니다. console.log('Scheduled task is running at:', new Date().toLocaleTimeString()); }; // cron 표현식을 사용하여 작업을 스케줄링합니다. // 아래는 5초마다 실행되게 작성하였습니다. 만약 .. 2023. 12. 28.
[Nodejs] express에서 mongoose 사용해보기 안녕하세요. 오늘은 express에서 mongodb의 라이브러리인 mongoose를 사용해 보겠습니다. 간단하게 mongodb에 대해 설명드리면 NoSQL 데이터베이스로 JSON 형식의 데이터를 저장합니다. 다른 db와 달리 테이블이 아닌 문서Document)를 사용하여 데이터를 표현합니다. 당연히 값은 키-밸류 형식으로 저장이 됩니다. 오늘은 간단하게 todo리스트를 불러오는거랑 추가하는 코드를 한번 짜봤습니다. 코드 작성하기 전에 먼저 라이브러리를 설치해줍니다. npm install express mongoose const express = require('express'); const mongoose = require('mongoose'); const app = express(); const POR.. 2023. 12. 19.