๋ ธ๋
-
- [React.js] Node.js ์ค์น๋ถํฐ ๋ฆฌ์กํธ ํ๋ก์ ํธ ํ ์คํธ๊น์ง ์ ๋ฆฌ
Node.js ์ค์น๋ถํฐ ๋ฆฌ์กํธ ํ๋ก์ ํธ ํ ์คํธ๊น์ง ์ ๋ฆฌ ๋ค์ด๊ฐ๋ฉฐ Node.js ์ค์น, NVM ์ค์น, ๋ฆฌ์กํธ ํ๋ก์ ํธ ์์ฑ ๋ฐ ํ ์คํธ๊น์ง์ ๊ณผ์ ์ ์ ๋ฆฌํด๋ณธ๋ค. ๋ฐฉ๋ฒ (1) Node.js ์ค์น ํ์ฌ ๋๋ ํ์์ ์ฌ์ฉํ๊ณ ์๋ ๋ฒ์ ์ Node.js๋ฅผ ์ค์นํ๋๋ก ํ๋ค. Node.js Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. nodejs.org (2) nvm ์ค์น NVM(Node Version Manager)์ Node.js์ ๋ฒ์ ์ ๊ด๋ฆฌํด์ฃผ๋ ํ๋ก๊ทธ๋จ์ด๋ค. @nvm-setup.exe@ ์ค์น ํ์ผ์ ๋ค์ด๋ก๋ ๋ฐ์ ์คํํ๋ค. Releases · coreybutler/nvm-windows A node.js version mana..
2024.02.05 -
- [Node.js] ๋ชจ๋ ์ค์น ์ ์์กด์ฑ ๋ฌธ์ ํด๊ฒฐํ๊ธฐ (npm-check-updates)
๋ชจ๋ ์ค์น ์ ์์กด์ฑ ๋ฌธ์ ํด๊ฒฐํ๊ธฐ (npm-check-updates) ๋ค์ด๊ฐ๋ฉฐ ์ธํฐ๋ท์ ๊ณต๊ฐ๋ ๋ ํฌ์งํ ๋ฆฌ๋ฅผ ๋ค์ด๋ก๋ ๋ฐ์์ ๋ณธ์ธ์ PC์์ ํด๋น ๋ชจ๋์ ์ค์นํ ๋, Node.js์ ๋ฒ์ ์ด ๋ฌ๋ผ ์์กด์ฑ ๋ฌธ์ (Dependency Problem)์ด ๋ฐ์ํ๋ ๊ฒฝ์ฐ๊ฐ ์๋ค. ์ด๋ฌํ ์์กด์ฑ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด @npm-check-updates@ ํจํค์ง๋ฅผ ์ฌ์ฉํ ์ ์๋ค. @npm-check-updates@ ํจํค์ง @package.json@ ํ์ผ ์์ ๋ช ์๋ ๋ชจ๋๋ค์ ๋ฒ์ ์ ๋ฌด์ํ๊ณ ์ต์ ๋ฒ์ ์ผ๋ก ์ ๋ฐ์ดํธํ์ฌ ์์กด์ฑ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด์ฃผ๋ ํจํค์ง์ด๋ค. ๋ฐฉ๋ฒ ์ธ๋ถ ๋ ํฌ์งํ ๋ฆฌ๋ฅผ ๋ค์ด ๋ฐ์์ @npm install@ ๋ช ๋ น์ ์ด์ฉํ์ฌ ํ์ํ ๋ชจ๋์ ์ค์นํ๊ธฐ ์ ์ ์๋์ ์์ ์ ์ํํด์ค๋ค. โ @npm-check-updates..
1 2023.11.27 -
- [Node.js] PostgreSQL ์ค์น ๋ฐ ์ฌ์ฉํด๋ณด๊ธฐ
PostgreSQL ์ค์น ๋ฐ ์ฌ์ฉ๋ฐฉ๋ฒ๋ค์ด๊ฐ๋ฉฐNode.js์์ @npm@์ ์ด์ฉํ์ฌ PostgreSQL์ ์ค์นํ๊ณ , ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด์. PostgreSQL ์ค์นํ๊ธฐํฐ๋ฏธ๋์ @npm@์ ์ด์ฉํ์ฌ ์๋์ ๋ช ๋ น์ผ๋ก PostgreSQL์ ์ค์นํ ์ ์๋ค.$ npm install pg ์ฌ์ฉ ๋ฐฉ๋ฒ@db.connect()@๋ฅผ ์ด์ฉํ์ฌ PostgreSQL DB์ ์ฐ๋ํ ํ, @db.end()@ ๋ช ๋ น์ ์ด์ฉํ์ฌ DB ์ฐ๋์ ํด์ ํ๋ค.import pg from "pg";const db = new.pg.Client({ user: "postgres", host: "localhost", database: "world", password: "123456", // ์ค์น ์ ์ค์ ํ๋ ์ํธ por..
2023.11.17 -
- [Axios] Axios ๋ผ์ด๋ธ๋ฌ๋ฆฌ
Axios ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ด๊ฐ๋ฉฐAxios ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ํด ์์๋ณด์. Axios๊ฐ๋ Node.js ๋ฐ ๋ธ๋ผ์ฐ์ ์์ ๋์ํ๋ HTTP ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค ํ๋์ฃผ๋ก HTTP ์์ฒญ(Request)์ ์์ฑํ๊ณ ์๋ต(Response)์ ์ฒ๋ฆฌํ๋ ๋ฐ ์ฌ์ฉ๋๋ค.Axios๋ Promise ๊ธฐ๋ฐ์ผ๋ก ์์ฑ๋์ด ์์ด ๋น๋๊ธฐ ์ฝ๋๋ฅผ ์ฝ๊ฒ ๋ค๋ฃฐ ์ ์๋ค.๋์ผํ ์ฝ๋๋ฒ ์ด์ค๋ก ๋ธ๋ผ์ฐ์ ์ Node.js์์ ์คํํ ์ ์๋ค.์๋ฒ ๋จ(Server-Side)์์๋ ๋ค์ดํฐ๋ธ Node.js์ @http@ ๋ชจ๋์ ์ฌ์ฉํ๊ณ , ํด๋ผ์ด์ธํธ(๋ธ๋ผ์ฐ์ )์์๋ @XMLHttpRequests@๋ฅผ ์ฌ์ฉํ๋ค.Axios๋ฅผ ์ฌ์ฉํ๋ฉด HTTP ์์ฒญ์ ์ฝ๊ฒ ์์ฑํ๊ณ ์๋ต์ ์ฒ๋ฆฌํ ์ ์๋ค.ํนํ ๋น๋๊ธฐ ํ๋ก๊ทธ๋๋ฐ์์ Promise๋ฅผ ์ฌ์ฉํ๋ฏ๋ก ์ฝ๋๊ฐ ๋ ์ฝ๊ธฐ ์ฝ๊ณ ์ ..
2023.11.15 -
- [Node.js] EJS(Embedded JavaScript)
EJS(Embedded JavaScript) ๋ค์ด๊ฐ๋ฉฐ EJS(Embedded JavaScript)์ ๋ํด ์์๋ณด์. EJS(Embedded JavaScript) ๊ฐ๋ JavaScript ๊ธฐ๋ฐ์ ํ ํ๋ฆฟ ์์ง ์๋ฒ ์ธก(Server-side)์์ ๋์ ์ธ ์น ํ์ด์ง๋ฅผ ์์ฑํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ค. EJS๋ฅผ ์ฌ์ฉํ๋ฉด HTML ์ฝ๋ ์์ JavaScript ์ฝ๋๋ฅผ ์ฝ์ ํ์ฌ ๋์ ์ผ๋ก ํ์ด์ง๋ฅผ ์์ฑํ ์ ์๋ค. ํน์ง โ ํธ๋ฆฌํ ๋ฌธ๋ฒ EJS๋ ๊ฐ๋จํ๊ณ ์ง๊ด์ ์ธ ๋ฌธ๋ฒ์ ์ ๊ณตํ๋ค. HTML ์์ @@์ ๊ฐ์ ํ๊ทธ๋ฅผ ์ฌ์ฉํ์ฌ JavaScript ์ฝ๋๋ฅผ ์ฝ์ ํ ์ ์๋ค. โก ํ ํ๋ฆฟ ์ฌ์ฌ์ฉ EJS๋ฅผ ์ฌ์ฉํ๋ฉด ํ ํ๋ฆฟ์ ์์ฑํ์ฌ ์ฝ๋๋ฅผ ์ฌ์ฌ์ฉํ ์ ์๋ค. ์ด๊ฒ์ ์น ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ผ๊ด๋ ๋ ์ด์์์ ์ ์งํ๋ ๋ฐ ๋์์ด ๋๋ค. โข ๋ณ์ ์ฝ..
2023.11.09 -
- [Node.js] morgan ํจํค์ง
morgan ํจํค์ง ๋ค์ด๊ฐ๋ฉฐ Node.js์ @morgan@ ํจํค์ง์ ๋ํด ์์๋ณด์. @morgan@ ํจํค์ง ๊ฐ๋ Node.js ์น ์ ํ๋ฆฌ์ผ์ด์ ์์ ๋ก๊น (๋ก๊ทธ ๊ธฐ๋ก)์ ๋์์ฃผ๋ ๋ฏธ๋ค์จ์ด ํจํค์ง ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ๋ค๋ณด๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ์ ๋์๊ณผ ์ํ๋ฅผ ๋ชจ๋ํฐ๋งํ๊ณ ๋๋ฒ๊น ํ๊ธฐ ์ํด ๋ก๊ทธ๋ฅผ ์์ฑํ๊ณ ๊ธฐ๋กํด์ผ ํ ๋๊ฐ ๋ง์๋ฐ, @morgan@์ ์ด๋ฅผ ํจ๊ณผ์ ์ผ๋ก ์ฒ๋ฆฌํ๋๋ฐ ๋์์ ์ค๋ค. @morgan@์ ์ฌ์ฉํ๋ฉด HTTP ์์ฒญ๊ณผ ์๋ต์ ๊ดํ ๋ค์ํ ์ ๋ณด๋ฅผ ๋ก๊ทธ๋ก ๊ธฐ๋กํ ์ ์์ผ๋ฉฐ, ์ด๋ฅผ ํตํด ์ ํ๋ฆฌ์ผ์ด์ ์ ๋์์ ์ถ์ ํ๊ณ ๋ฌธ์ ๋ฅผ ์๋ณํ ์ ์๋ค. @morgan@์ ์ฃผ๋ก ์น ์๋ฒ ๋ฏธ๋ค์จ์ด๋ก ์ฌ์ฉ๋๋ฉฐ, Express.js ๋ฐ ๋ค๋ฅธ Node.js ์น ํ๋ ์์ํฌ์ ํจ๊ป ์์ฃผ ์ฌ์ฉ๋๋ค. @morgan@์ ์ฌ์ฉํ์ฌ ๊ธฐ๋กํ ..
2023.11.09 -
- [Node.js] ๋ ธ๋๋ชฌ(nodemon) ํจํค์ง
๋ ธ๋๋ชฌ(nodemon) ํจํค์ง ๋ค์ด๊ฐ๋ฉฐ Node.js์ ๋ ธ๋๋ชฌ(Nodemon) ํจํค์ง๋ฅผ ์ค์นํ๊ณ ์คํํด๋ณด์. ๋ ธ๋๋ชฌ(Nodemon) ๊ฐ๋ Node.js ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐ ๋ฐ ์คํํ๋ ๋ฐ ๋์์ ์ฃผ๋ ์ ์ฉํ ๋๊ตฌ ์ค ํ๋ ๊ฐ๋ฐ์๊ฐ ์ฝ๋๋ฅผ ๋ณ๊ฒฝํ๊ณ ์ ์ฅํ ํ ์๋ฒ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์๋์ผ๋ก ๋ค์ ์์ํ์ฌ ๊ฐ๋ฐ ํ๋ก์ธ์ค๋ฅผ ๋ ํจ์จ์ ์ผ๋ก ๋ง๋ค์ด์ค๋ค. ์ฃผ๋ก ๊ฐ๋ฐ ์ค์ธ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ค์๊ฐ์ผ๋ก ๋ชจ๋ํฐ๋งํ๊ณ ๋ณ๊ฒฝ ์ฌํญ์ ๋ฐ์ํ๋ ๋ฐ ์ฌ์ฉ๋๋ค. ํน์ง ์ฝ๋ ๋ณ๊ฒฝ ๊ฐ์ง ๋ ธ๋๋ชฌ์ ์ฝ๋ ๋ณ๊ฒฝ์ ์ค์๊ฐ์ผ๋ก ๊ฐ์งํ๊ณ ์ ์ฅํ ํ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์๋์ผ๋ก ๋ค์ ์์ํ๋ค. ์ฝ๋ ์์ ํ ์๋์ผ๋ก ์๋ฒ๋ฅผ ์ฌ์์ํ ํ์๊ฐ ์์ด ๊ฐ๋ฐ์์ ์์ฐ์ฑ์ ํฅ์์ํจ๋ค. ๋ค์ํ ํ์ผ ์ ํ ์ง์ ๋ ธ๋๋ชฌ์ JavaScript ํ์ผ ๋ฟ๋ง ์๋๋ผ HTML, ..
2023.11.08 -
- [Node.js] URL QR ์ฝ๋ ์์ฑ๊ธฐ ๋ง๋ค๊ธฐ
URL QR ์ฝ๋ ์์ฑ๊ธฐ ๋ง๋ค๊ธฐ ๋ค์ด๊ฐ๋ฉฐ Node.js๋ฅผ ์ด์ฉํ์ฌ ๊ฐ๋จํ๊ฒ URL์ ์ ๋ ฅํ๋ฉด ํด๋น URL์ QR ์ฝ๋๋ฅผ ์์ฑํด์ฃผ๋ ํ๋ก๊ทธ๋จ์ ๋ง๋ค์ด๋ณด์. ๋ฐฉ๋ฒ ํ์ํ ๋ชจ๋ ์ค์น ๋ค์ ๋ช ๋ น์ ์คํํ์ฌ @npm@์ ์ด์ฉํ์ฌ ์ฌ์ฉ์์ ์ ๋ ฅ์ ๋ฐ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ @inquirer@ ๋ชจ๋๊ณผ QR ์ด๋ฏธ์ง๋ฅผ ์์ฑํด์ฃผ๋ @qr-image@ ๋ชจ๋์ ์ค์นํด์ค๋ค. > npm install inquirer qr-image ์ฝ๋ ์์ฑํ๊ธฐ import inquirer from "inquirer"; import qr from "qr-image"; import fs from "fs"; inquirer .prompt([{ message: "Type in your URL: ", name: "URL", }]) .then((answers..
2023.11.07 -
- [Node.js] ๋ชจ๋ ๋ถ๋ฌ์ค๋ ๋ฐฉ์ (require, import)
Node.js์์ ๋ชจ๋ ๋ถ๋ฌ์ค๋ ๋ฐฉ์ (require, import) ๋ค์ด๊ฐ๋ฉฐ Node.js์์ ๋ชจ๋(Module)์ ๋ถ๋ฌ์ค๋ ๋ฐฉ์์ ํฌ๊ฒ 2๊ฐ์ง๊ฐ ์๋ค. CommonJS ์คํ์ผ๋ก ๋ถ๋ฌ์ค๋ @require@ ๋ฐฉ์๊ณผ ES6 ๋ชจ๋ ์คํ์ผ๋ก ๋ถ๋ฌ์ค๋ @import@ ๋ฐฉ์ 2๊ฐ์ง๊ฐ ์๋ค. ์ด ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ ์ฐจ์ด์ ์ ๋ํด ์์๋ณด์. Node.js์์ require๊ณผ import์ ์ฐจ์ด์ ? require require๋ Node.js์ ๊ธฐ๋ณธ ๋ชจ๋ ์์คํ ์์ ์ฌ์ฉ๋๋ ๋ฐฉ๋ฒ์ด๋ค. CommonJS ์คํ์ผ๋ก ๋ชจ๋์ ๊ฐ์ ธ์จ๋ค. // ํ์ผ ์์คํ ๋ชจ๋ ๊ฐ์ ธ์ค๊ธฐ const fs = require('fs'); // ์ฌ์ฉ์ ์ ์ ๋ชจ๋ ๊ฐ์ ธ์ค๊ธฐ (์๋ ๊ฒฝ๋ก ์ฌ์ฉ) const math = require('./math'); requi..
2023.11.07