본문 바로가기

전체 글45

[catGPT] 짱귀여운 고양이 GPT 챗GPT말고 세상에서 제일 귀여운 캣GPT를 소개합니다. https://cat-gpt.com/chat 고양이가 답을 해준다🤣 확성기를 클릭하면 소리도 나온다🤣 고양이가 세상을 구해준다고 했다🤩 세상에서 제일 귀여운 캣GPT로 고양이 테라피 충전하세요😊 2023. 7. 10.
[nodeJS] Docker로 Node.JS 배포하기 * 로컬에 있는 Node.js 프로젝트를 Docker로 포팅하는 방법 (Docker가 미리 설치되어 있는 것을 전제로 작업 진행) 1. Node.js 프로젝트의 루트 디렉토리 Dockerfile 작성 FROM node:16: Node.js 18.x 버전 이미지를 사용 WORKDIR /app: 작업 디렉토리를 /app으로 설정 COPY package*.json ./: package.json 및 package-lock.json 파일을 이미지에 복사 RUN npm install: npm 패키지 설치 COPY . .: 프로젝트 파일을 이미지에 복사 EXPOSE 3000: 3000 포트 사용 CMD [ "npm", "start" ]: 프로젝트가 실행될 때 "npm start" 명령을 실행 FROM node:18 .. 2023. 7. 3.
[nodeJS] 우분투로 Node.JS 배포하기 * 미리 우분투가 깔려있고, nodeJS 프로젝트는 로컬에 있는 것을 기준으로 설명합니다. 1. 로컬에서 작성한 Node.js 프로젝트를 압축 cd /path/to/your/local/project tar czvf project.tar.gz . 2. 압축한 파일을 우분투 서버에 전송 (밑의 'your_server_ip'와 'user'는 실제 내용으로 바꿔주세요) scp project.tar.gz user@your_server_ip:/path/to/server/ 3. 우분투 서버에서 Node, npm, PM2 설치 sudo apt-get update curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash - sudo apt-get install -.. 2023. 6. 27.
[nodeJS] 자주 사용하는 Node.js 패턴 정리 3 (이벤트 에미터 패턴) 1. 이벤트 에미터 패턴(Event Emitter Pattern) 이벤트 발생과 이벤트 리스너 등록, 그리고 이벤트 전달까지 프로그래밍 방식을 통해 처리하는 방법 이벤트 에미터란, 이벤트 발생 및 전달을 위한 기능을 제공하는 객체 이벤트 에미터 객체는 이벤트 목록을 관리하며, 등록된 이벤트 리스너들에게 이벤트 발생 시 적절한 처리 요청 2. 이벤트 에미터 패턴 사용하기 Node.js는 내장된 events 모듈을 통해 이벤트 에미터 패턴 지원 EventEmitter 객체를 생성하여 사용 2-1. 이벤트 발생 const EventEmitter = require('events'); // 이벤트 핸들러 선언 const myEmitter = new EventEmitter(); // 'my-event' 이벤트 등록.. 2023. 6. 23.
[nodeJS] 자주 사용하는 Node.js 패턴 정리 2 (콜백 패턴) 1. 콜백 패턴 (Callback Pattern) 비동기 작업을 처리할 때 일반적으로 사용되는 프로그래밍 패턴 작업이 완료되면 코드의 실행 흐름을 다시 호출자에게 돌려주는 방식 작업이 끝날 때까지 다른 코드의 실행을 차단하지 않고 진행 가능 2. Node.js에서의 콜백 패턴 Node.js에서는 표준 API 및 라이브러리 대부분이 콜백 패턴을 기반으로 생성됨 함수를 호출할 때 콜백 함수를 인자로 전달하여, 작업 완료 후 이를 처리 가능 3. 파일 읽기 콜백 파일을 읽은 뒤 결과를 콜백 함수를 인자로 호출하여 처리하는 readFile() 사용 const fs = require('fs'); fs.readFile('./example.txt', 'utf-8', (error, data) => { if (error.. 2023. 6. 22.
[nodeJS] 자주 사용하는 Node.js 패턴 정리 1 (모듈 패턴) 1. 모듈 패턴 (Module Pattern) 애플리케이션의 기능을 독립적인 코드 블록으로 나누어 작성하는 방식 각 블록은 재사용 가능하며 다른 모듈들과 결합하여 하나의 애플리케이션을 구성 2. Node.js에서의 모듈 패턴 Node.js는 CommonJS 표준을 따르는 모듈 시스템을 내장 이에 따라 작성한 코드를 모듈화하여 다른 파일에서 재사용하거나 의존 관계를 관리 3. 기본 모듈 패턴 기본 모듈 패턴은 파일 단위로 코드를 모듈화하여 작성하고, exports 객체를 사용하여 외부에서 접근 가능한 코드를 정의 // math.js const add = (a, b) => a + b; const subtract = (a, b) => a - b; const multiply = (a, b) => a * b; c.. 2023. 6. 21.
[nodeJS] Node.js와 Express에서 미들웨어 (Middleware) 사용하기 1. 미들웨어 (Middleware) 요청과 응답 사이에서 수행할 연산이나 작업을 처리하는 함수 사용자가 요청한 작업을 처리한 후 다음 미들웨어로 결과를 전달하거나 응답을 반환\ Express에서는 미들웨어를 사용하여 애플리케이션의 로직을 명확하게 구조화하고 모듈화 가능 2. 미들웨어 사용법 요청 객체(req), 응답 객체(res), 다음 미들웨어를 실행할 함수(next) 총 3개의 인수 받음 요청과 응답 객체를 사용하여 필요한 로직을 처리한 후에 next() 함수로 다음 미들웨어로 이동 function myMiddleware(req, res, next) { // 미들웨어 로직 console.log("Hello from my middleware!"); // 다음 미들웨어로 넘어감 next(); } 3. .. 2023. 6. 20.
[nodeJS] 변수 선언하기 (var, let, const) JavaScript (nodeJS)에서 변수를 선언하는 방법 : var, let, const 1. var ES6 이전의 JavaScript에서 변수를 선언하는 방법 선언한 변수를 함수 스코프 전체에서 사용 가능하기 때문에 사용하지 않는 것이 좋음 (변수의 스코프가 불분명하고 뜻밖의 상황에서 변경 가능) var name = "wrtn"; console.log(name); // wrtn if (true) { var name = "JS"; console.log(name); // JS } console.log(name); // JS name'을 선언하고 값을 할당한 후, if 블록 안에서 동일한 이름의 변수를 선언하고 다른 값을 할당할 경우 바깥쪽에서 'name'을 다시 가져올 때 변수의 값이 변경됨. 2. l.. 2023. 6. 19.
[nodeJS] body-parser로 JSON 파싱하기 1. body-parser HTTP 요청의 본문(body)을 쉽게 파싱하도록 도와주는 미들웨어 req.body는 body-parser를 사용하기 전에는 디폴트 값으로 Undefined이 설정되서 그냥 사용 시 에러 발생 요청 데이터를 서버에서 처리하기 쉽도록 데이터 포맷 지원 JSON (application/json) URL-encoded (application/x-www-form-urlencoded) Raw (application/octet-stream) Text (text/plain) 2. 사용 방법 npm install body-parser const express = require('express'); const bodyParser = require('body-parser'); const app .. 2023. 6. 17.