본문 바로가기

전체 글66

[nodeJS] Node.JS와 mySQL 연동 방법 MySQL 서버를 이미 설치하고 실행한 경우를 전제로 작업 진행 1. MySQL 패키지 설치 npm install mysql 2. MySQL 연결 생성 mysql 패키지를 import 후 연결을 설정할 객체와 연결 정보(호스트, 사용자, 비밀번호, 데이터베이스 이름 등) 입력하고, connect() 메소드를 사용하여 MySQL 서버에 연결 const mysql = require("mysql"); const connection = mysql.createConnection({ host: "localhost", user: "your_username", password: "your_password", database: "your_database", }); connection.connect((error) => {.. 2023. 8. 7.
[nodeJS] 에러 및 예외 처리 방법 1. Try-Catch 구문 try 블록에서 예외가 발생하면 즉시 catch 블록으로 이동하여 예외를 처리 function syncFunction() { // 예외 발생 가능한 코드 throw new Error("Error occurred"); } try { syncFunction(); } catch (error) { console.error("Catch block handling the error:", error); } 2. Error-first Callback (오류 우선 콜백) Node.js에서 콜백 함수의 첫 번째 매개변수는 오류고 나머지 매개변수는 결과 데이터 const fs = require("fs"); fs.readFile("non_file.txt", "utf8", (error, data) .. 2023. 8. 6.
[크롬확장프로그램] 크롬을 열 때마자 개발 정보 받는 방법 (daily.dev) 크롬 브라우저를 실행하자마자 개발자를 위한 정보를 받을 수 있는 방법을 소개하려고 합니다. Chrome 웹 스토어에서 매일 최신 개발 정보를 제공하는 데일리데브(daily.dev) 확장 프로그램을 설치하겠습니다. https://chrome.google.com/webstore/detail/dailydev-the-homepage-dev/jlmpjdjjbgclbocgajdjefcidcncaied daily.dev | The homepage developers deserve Get one personalized feed for all the knowledge you need as a developer. chrome.google.com 데일리데브(daily.dev) 확장 프로그램 설치하기 1. Chrome 웹 스.. 2023. 7. 11.
[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.