본문 바로가기

분류 전체보기45

[nodeJS] JWT를 이용한 로그인 시스템 구현하기 JWT(JSON Web Token)는 클라이언트와 서버간에 정보를 안전하게 전달하기 위한 방법입니다. JWT는 상태를 유지하지 않는 Stateless한 특성을 가지고 있어, 확장성 있는 시스템을 구축하는 데 매우 유용합니다. 하지만, JWT는 만료 시간이 있어 주기적으로 갱신해야 합니다. 1. 필요한 모듈 설치하기 npm install express jsonwebtoken body-parser 2. JWT 생성하기 로그인 요청이 들어오면, 서버는 클라이언트에게 JWT를 발급하기 위해 'jsonwebtoken' 모듈의 'sign' 메소드를 사용하여 JWT를 생성 app.post('/login', (req, res) => { const user = { id: 1, username: 'test', }; con.. 2024. 1. 6.
[nodeJS] fs 모듈을 이용하여 다중 폴더 생성하기 Node.js에서 파일 시스템을 조작할 수 있는 'fs' 모듈을 이용하여 다중 폴더를 생성하는 방법에 대해 알아보겠습니다. 'fs' 모듈은 Node.js의 내장 모듈로서, 파일을 생성, 읽기, 쓰기, 삭제하는 등의 다양한 기능을 포함하고 있습니다. 1. fs 모듈 불러오기 내장 모듈인 fs를 사용하기 위해 import 구문으로 불러오기 import fs from 'fs'; 2. 다중 폴더 생성하기 fs 모듈의 'mkdir' 함수를 이용하여 폴더를 생성하기 'recursive' 옵션을 true로 설정하면, 한 번에 여러 개의 폴더 생성 가능 fs.mkdir('./folder1/folder2/folder3', { recursive: true }, (err) => { if (err) throw err; con.. 2023. 12. 30.
[nodeJS] node 버전 변경하기 (nvm) 다양한 프로젝트를 동시에 진행할 때 nodeJS 버전 때문에 고생하신 적 있으신가요? NVM을 사용하면 그 문제를 해결할 수 있습니다. 1. NVM 설치 Download Now! -> nvm-setup.zip 다운로드 https://github.com/coreybutler/nvm-windows/ GitHub - coreybutler/nvm-windows: A node.js version management utility for Windows. Ironically written in Go. A node.js version management utility for Windows. Ironically written in Go. - GitHub - coreybutler/nvm-windows: A node.js .. 2023. 11. 30.
[질문정리] 백엔드 면접 질문 정리 (기술면접) 백엔드 (Spring, nodeJS, DB 등) 기술면접 질문 정리입니다. (뒤죽박죽 섞여있습니다. 나중에 정리하겠습니다.) 1. NodeJS와 Spring의 차이점 NodeJS는 자바스크립트를 사용해 서버를 구축하기 위한 도구입니다. 이를 이용하면 손쉽게 서버를 구축하고, 비동기 처리를 통해 빠른 처리속도를 보장합니다. 반면에 Spring은 자바를 사용한 서버 사이드 애플리케이션을 구축하기 위한 프레임워크입니다. 강력한 보안 기능과 트랜잭션 관리 등과 같은 엔터프라이즈급 기능을 지원하며, 큰 규모의 안정적인 애플리케이션을 만드는데 적합합니다. NodeJS는 자바스크립트 기반의 간단하고 빠른 서버 구축을, Spring은 자바 기반의 복잡하지만 강력한 기능을 지원하는 서버 구축을 가능하게 합니다. 2. J.. 2023. 11. 16.
[nodeJS] html-escaper 모듈을 이용하여 HTML 이스케이프 문자 파싱하기 HTML 이스케이프는 HTML 코드에서 특수 문자를 안전하게 처리하거나 보여주기 위해 필요합니다. 웹 페이지의 구조를 파괴할 수 있는 특수 문자를 방지하거나, 사용자가 입력한 데이터를 안전하게 표시할 수 있습니다. 1. html-escaper 모듈 설치 Node.js에서 HTML 이스케이프를 쉽게 다룰 수 있게 해주는 'html-escaper' 모듈 설치 npm install html-escaper 2. html-escaper 모듈 불러오기 import 구문을 이용해 'html-escaper' 모듈 불러오기 import {escape, unescape} from 'html-escaper'; 3. 이스케이프 처리하기 'html-escaper' 모듈의 'escape' 함수를 이용하여 HTML 문자열에서 특수.. 2023. 11. 11.
Bun 1.0과 ElysiaJS로 API 만들기 JavaScript와 TypeScript 개발을 위한 빠르고 통합적인 툴킷인 Bun 1.0과 Bun 웹 프레임워크인 ElysiaJS를 사용하여 API를 만드는 방법에 대해 알아보겠습니다. 1. Bun 설치하기 curl -fsSL https://bun.sh/install | bash -s "bun-v1.0.0" 또는 npm install -g bun 2. 새로운 프로젝트 생성하기 bun create elysia hi-elysia 3. bun이 설치된 디렉토리로 이동하기 cd hi-elysia 4. src/index.ts 파일 열고 코드 확인하기 import { Elysia } from 'elysia' const app = new Elysia() .get('/', () => 'Hello Elysia') .l.. 2023. 9. 25.
[nodeJS] Puppeteer로 간단한 검색 웹 매크로 만들기 Chrome 브라우저를 제어할 수 있게 해주는 Node.js 라이브러리인 Puppeteer로 사용자 인터랙션을 모방하거나 웹사이트 스크래핑 등 다양한 작업을 자동화할 수 있습니다. 이번에는 네이버에 검색어를 입력하여 스크린샷으로 저장하는 매크로를 만들어 보겠습니다. 1. Puppeteer 설치하기 npm install puppeteer 2. 크롬 브라우저에서 네이버 접속하기 * puppeteer.launch() : 새 브라우저 인스턴스를 생성 * puppeteer.newPage() : 함수로 새 탭 열기 * page.goto() : 특정한 링크로 이동 const puppeteer = require('puppeteer'); async function run() { const browser = await p.. 2023. 9. 9.
[Visual Studio Code 확장 프로그램] Turbo Console Log 디버깅 과정에서 콘솔 로그 메시지를 자동으로 작성해주는 기능을 제공하는 Turbo Console Log를 소개하겠습니다. 1. 자동 로그 메시지 삽입 : 변수를 선택하거나 마우스 오버한 후, 단축키(ctrl + alt + L 또는 ctrl + option + L)를 누르면 해당 변수에 대한 로그 메시지가 자동으로 생성됩니다. 생성된 로그 메시지는 선택한 변수에 대한 클래스 이름, 함수 이름 등의 정보와 함께 출력됩니다. 2. 모든 로그 메시지 주석 처리/제거 : Turbo Console Log 확장 프로그램이 삽입한 모든 로그 메시지를 한 번에 주석 처리하거나 제거하는 기능도 제공합니다. 단축키(alt + shift + c/d/u 등)로 간단히 실행할 수 있습니다. Turbo Console Log 확장 .. 2023. 9. 1.
[nodeJS] JWT 인증하기 JWT(JSON Web Token)는 웹 애플리케이션에서 사용자 인증과 권한 부여를 위해 널리 사용되는 토큰 기반 인증 방식입니다. JWT는 서버와 클라이언트 간의 안전한 정보 전달을 가능하게 하며, 토큰 자체에 필요한 정보를 포함하여 사용자 식별 및 권한 확인을 수행합니다. 1. jsonwebtoken 모듈 설치하기 npm install jsonwebtoken 2. JWT 토큰 생성하기 jwt.sign() 함수를 사용하여 토큰 생성 첫 번째 인자로 토큰에 포함될 데이터(payload)를 전달하고, 두 번째 인자로 시크릿 키를 전달 시크릿 키는 서버와 클라이언트 간에 공유되어야 하며, 토큰의 유효성 검사에 사용 const express = require('express'); const jwt = requ.. 2023. 8. 31.