본문 바로가기

nodejs

(6)
Nodejs 비밀번호 암호화 요즘에는 소셜 로그인을 많이 하기 때문에 비밀빈호가 전혀 필요하지 않는 경우가 많다. 비밀번호가 필요한 경우, 일반적으로 본인 외 누구도 알아서는 안되는 코드이기 때문에 암호화가 기본이다. 이번에는 가장 많이 쓰이는 단방향 암호화를 통해 비밀번호를 아주 비밀스럽게 만드는 방법을 코드로 알아보자. import { pbkdf2Sync, randomBytes } from 'node:crypto'; const encryptPassword = (password) => { const salt = randomBytes(64).toString('base64'); // random salt 생성 const iteration = 100000; // 해시 함수 반복 수 const keylen = 64; // 암호화 된 비밀..
Nodejs + Express + Typescript 프로젝트 세팅 필요 선행 작업 $ npm i -g yarn $ npm i -g typescript *** 만약 git 이 설치되어 있지 않다면, 아래 명령어 실행 $ brew install git 프로젝트 생성 프로젝트를 시작할 폴더를 생성 후 해당 폴더 내에서 아래 명령어 실행 $ yarn init -y $ tsc --init $ git init 라이브러리 추가 Express, nodemon, typescript 설치 $ yarn add express $ yarn add -D @types/express @types/node ts-node typescript nodemon tsconfig.json 설정 tsc --init 명령으로 파일이 생성되었을 것이다. 해당 config 에 typescript 컴파일 옵션을 추가한..
Nodejs 로 텍스트 파일 가져오기 node v18 텍스트 파일을 읽기 위해 nodejs 에서는 readFile, readFileSync 가 있다. 1. async/await readFile import { readFile } from 'node:fs/promises'; const path = 'YOUR_TEXT_FILE_PATH'; try { const text = await readFile(path, 'utf8'); console.log(text); } catch (err) { console.log(err); } 2. Callback readFile import { readFile } from 'node:fs'; const path = 'YOUR_TEXT_FILE_PATH'; readFile(path, 'utf8', (err, data..
Socket.io 다루기 - 실시간 투표앱, A to Z 프로젝트, 기대의 시작 "오늘 점심 뭐 먹지..?" 아마 직장을 다니는 분이라면 공감할텐데, 중요하진 않은것 같지만 모두가 매일같이 고민하고 또 고민하는 그 질문. 오늘 뭐먹지. 점심에만 하면 다행인데 하루에 최소 두번은 하는 고민이지 싶다. 그래서 조금이나마 이런 고민을 덜어주고 오히려 이런 고민을 단순하지만 재밌게 게임처럼 메뉴를 골라볼 수 있도록 런치고고를 만들었다. 서버와 클라이언트 모두 자바스크립트 기반의 node.js 와 리액트를 사용했다. 전체적인 플로우는 다음과 같다. 메인페이지에서 새로운 룸이 생성되면 사용자의 위치를 확인한다. 동의시 사용자의 현재 위치를 기준으로 투표결과에 따라 가까운 거리순으로 식당 목록을 알려준다. => 만약 미동의시, 사용자가 직접 입력할 수 있도록 주소 검색 컴..
[TIL] node.js 서버 구성 MAIN ACTIVITY : Node.js 환경에서 서버를 만들고, 기존에 만들었던 채팅앱에서 GET 과 POST 를 써서 데이터를 주고 받을 수 있도록 만들었다. 아래 코드는 다른 모듈을 사용하지 않고 node.js만을 이용해 클라이언트의 요청에 따라 처리할 수 있도록 서버를 만든 것이다. 아주 간단한 어플리케이션 서버이고 이러한 구성으로 만들어 나갈 수 있다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 const http = require('http'); const port = 3000; const ip = '127.0.0.1'; const server = http.createServer((request,..
Node.js 서버사이드 자바스크립트를 사용하는 프론트엔드 개발자들도 이 자바스크립트를 사용하여 백엔드 서비스 개발을 할 수 있도록 만들어준게 바로 이 Node.js이다. 여기서 말하는 백엔드 서비스란, API(Application Programming Interface) 라고도 불린다. 유저들과 직접적으로 액션이 일어나는 Web App 이나 Mobile App 도 이 백엔드 서비스를 통해서 데이터를 주고 받아 보여지게 된다. 왜 Node.js 인가? 1. 프로토타입핑과 애자일 개발에 효과적이다. 애자일 소프트웨어 개발이란 : 완전한 무계획이나 너무 완벽한 계획에서 벗어나 일정한 주기로 프로토타입을 만들어 이를 발전시켜가는 방법론이다. (출처: 위키피디아) 2. 시스템적으로 빠르고 예상한 결과를 쉽게 측정하고 얻어낼 수 있다. ..