본문 바로가기

Nodejs28

[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.
[Node.js] 콜백헬을 해결하기 위한 Promise와 Async/await 알아보기 안녕하세요. 오늘은 콜백헬이 뭔지 알아보고 해결하기 위한 방법인 promis와 Async/await에 대해 알아보겠습니다. 1. 동기 vs 비동기 동기방식은 하난가 끝날 때까지 다음 작업을 수행할 수 없는 방식으로, 데이터의 요청과 결과가 한 자리에서 동시에 일어나는 것입니다. 비동기 방식은 요청과 결과가 한 자리에서 일어나지 않는 방식으로, 요청 후 응답을 기다리지 않고 다른 활동을 합니다. 2. 콜백 (Callback) 함수? 함수가 끝난 뒤 실행되는 함수로, 함수를 만들 때 parameter로 함수를 받아서 사용합니다. 3. 예시 console.log("1 start"); // cb: callback function function login(id, pw, cb) { setTimeout(() => .. 2023. 11. 28.
[Node.js] 특정 확장자 파일만 필터링해서 불러오기 안녕하세요. 지난 시간에 '대상 디렉토리 내의 모든 파일 읽어오기'에 이어서 '특정 확장자 파일 불러오는 방법'에 대해 알려드리겠습니다. 해당 글을 먼저 읽어보시길 권장드립니다. https://stickode.tistory.com/993 1. 파일 만들기 2. index.js const fs = require('fs'); const path = require('path'); files = fs.readdirSync(__dirname); // 디렉토리를 읽어온다 console.log("\Filenames with the .md extension:"); files.forEach(file => { if (path.extname(file) == ".md") // 확장자가 md인 파일만 조회하기 console.l.. 2023. 11. 9.
[Node.js] 대상 디렉토리 내의 모든 파일 읽어오기 안녕하세요. 오늘은 node js에서 대상 디렉토리 내의 모든 파일 읽어와보겠습니다. 1. 모듈 설치 npm install fs fs는 file system으로 node.js환경에서 파일시스템에 접근, 사용할 수 있게 해주는 모듈입니다. 2. 파일 만들기 node js가 설치되어있다고 가정하겠습니다. index.js 파일 내에 아래의 코드를 작성해주세요. 그리고 a.js파일과 b.js파일에는 임의의 코드를 작성해서 넣어주세요. 파일 이름을 불러오는거라 내용물은 상관없습니다. 3. index.js const fs = require("fs"); filenames = fs.readdirSync(__dirname); // 디렉토리를 읽어온다 console.log("\nCurrent directory filena.. 2023. 10. 28.
[Node.js] dotenv을 사용하여 환경변수 설정하기 .env 환경변수 Node.js에서 프로그래밍에 필요한 값들을 서술할 수 있는 .env 환경변수 파일에 대하여 알아보겠습니다. 패키지 설치 .env을 이용하기 위해서는 프로젝트에 dotenv 패키지를 설치해야합니다. npm i dotenv 예제 .env파일을 만들고 내부에 변수를 작성해줍니다. .env 파일 # This is sample .env MESSAGE=hello NUMBER=1234 stickode.js 파일 require('dotenv').config(); console.log(process.env.MESSAGE); 또는 아래처럼 변수로 선언해서 사용할 수도 있습니다. require('dotenv').config(); const { MESSAGE, NUMBER } = process.env; c.. 2023. 10. 19.
[Node.js] axios 활용해서 비동기로 http 통신하기 axios 란 브라우저나 node.js에서 비동기로 http 통신을 하기 위한 도구입니다. 비슷한 라이브러리로 reqeust 등이 있습니다. promise 용법을 사용 가능합니다. 패키지 다운로드 방법은 npm install axios 를 사용하면 할 수 있습니다. get과 post방식이 있습니다. 1.get방식 const axios = require('axios') axios({ method : 'get', url : 'https://www.naver.com/' }).then((res)=>{ console.log(res) }) 네이버로 응답값을 받아보겠습니다. const axios = require('axios') axios({ method : 'get', url : 'http://rembridge.s.. 2023. 10. 8.