Web55 15. 환경변수, 웹소켓 1. 환경변수 관리 - 로컬에서 개발 또는 서버에 배포할 때 DB 연결, 포트 설정, 시크릿 키 등 안전하게 관리하기 위하 환경변수로 처리 - .env라는 파일에 환경 변수를 설정 설치 npm i dotenv .env 파일 만들기 .env > # DB DB_HOST=127.0.0.1 DB_PORT=3306 DB_USER=root DB_PASSWORD=1234 # JWT JWT_SECRET=abcd1234%^&* JWT_EXPIRE_SEC=172800 # BCRYPT .. 2024. 5. 3. 14. Postman 정리, 아이디 중복체크 1. Postman 정리 postman _ collection 추가 postman _ collection_request 추가 1-1. 모든 트윗 가져오기 Ⅴ Ⅴ Ⅴ 더보기 1-2. 해당 아이디에 대한 트윗 가져오기 Ⅴ Ⅴ Ⅴ더보기 1-3. 해당 이름에 대한 트윗 가져오기 Ⅴ Ⅴ Ⅴ더보기 1-4. 트윗 생성하기 Ⅴ Ⅴ Ⅴ더보기 1-5. 트윗 수정하기 Ⅴ Ⅴ Ⅴ더보기 1-6. 트윗 삭제하기 Ⅴ Ⅴ Ⅴ더보기 2-1. 회원가입하기 Ⅴ Ⅴ Ⅴ더보기 2-2. 로그인하기 Ⅴ Ⅴ Ⅴ 2-3. 나 확인하기Ⅴ Ⅴ Ⅴ더보기 폴더정리하기 2. 문제 회원가입시 아이디 중복체크 하기 단, 중복이라면 409를 리턴 data > auth.js 추가 .. 2024. 5. 2. 13. Authentication, bcrypt, JWT 1. Authentication(인증) session & cookie- 쿠키 : 클라이언트 컴퓨터에 저장되는 작은 데이터 조각 : 서버로부터 전송되어 웹브라우저에 저장 : 텍스트 형식으로 주로 사용자 인증, 설정, 장바구니 등에 사용- 세션 : 웹서버 측에서 유지되는 상태 정보 : 사용자에 대한 고유한 세션ID를 통해 식별 : 서버 메모리 또는 데이터베이스에 저장 가능 2. bcrypt- 해시 함수를 사용하여 비밀번호를 안전하게 저장하는데 사용되는 암호화 라이브러리- 단방향 해시 함수로 한번 해시된 값을 다시 원래 값으로 역추적하는 것이 불가능- 솔트(salt): 해시에 고유한 솔트 값을 추가하여 보안성을 높임. 같은 비밀번호를 가진 사용자가 있더라도 서로 다른 해시값을 가짐- 작업인.. 2024. 4. 29. 12. Validate(데이터 검증) 1. Validate express-validatorExpress.js를 사용하여 웹 애플리케이션을 개발할 때 입력 데이터의 유효성을 검사하기 위한 패키지 npm i express-validator를 통해 validator 설치모듈 안의 여러 매서드를 사용하여 제한을 걸어줌 설치 npm i express-validator 파일생성 validation_ 파라미터에 대한 GET 요청 validation.js > import express from 'express'; import {body,param,validationResult} from 'express-validator'; const app = ex.. 2024. 4. 29. 11. 리팩토링 1. 리팩토링- 소프트웨어 개발 과정에서 코드를 재구성하여 가독성을 높이고 유지보수를 쉽게 만드는 과정- 코드의 구조를 개선하고 중복을 제거하여 더 나은 설계 패턴을 도입함으로 코드의 품질을 향상- 코드의 기능을 변경하지 않으면서 코드를 개선하는 방법 🔻 지난 코드 리펙토링해보기 router> tweets.js 에 있던 데이터 ---> data> tweets.js 에 분리하기더보기 data > tweet.js > let tweets = [ { id: '1', text: '안녕하세요!', createdAt: Date.now().toStri.. 2024. 4. 26. 10. 실습: Tweet ✔ 파일을 만들어 실습해보자!더보기1. 2. 3.4. 5. 6. 7. 8. 9. 파일 생성 app.js app.js > import express from "express"; import morgan from "morgan"; import tweetsRouter from './router/tweets.js' const app = express(); app.use(express, json()); // json로 연결 app.use(morgan("dev")); app.use('/tweets', tweetsRouter); //tweetsRouter 미들웨.. 2024. 4. 26. 09. git 설치, github 간단 연동 1. 버전관리 여러 파일을 하나의 버전으로 묶어 관리하는 것 버전관리 시스템의 종류1. 클라이언트 _서버모델 - 하나의 중앙 서버로 여러 클라이언트들이 각자 필요한 것만 가져와서 작업하고 다시 중앙서버로 보내서 통합하는 방식- SVN, CVS2. 분산 모델 - 하나의 중앙서버가 존재하지만 여러 클라이언트들은 각자의 컴퓨터 저장소에 전체 사본을 가지고 작업하는 방식 - Git 2. Git 버전 관리 시스템의 일종 Git 의 장점1. 동시에 작업하는 사람들과 소스코드를 주고받을 필요 x2. 같은 파일을 여러명이 동시에 병렬 개발이 가능3. 변동 과정을 체계적으로 관리할 수 있고, 언제든지 지난 시점의 버전으로 되돌리기 가능4. 인터넷이 연결되지 않은 곳에서도 개발을 진행할 수 있고, 중앙 서버.. 2024. 4. 25. 08. Express 웹 프레임워크, route, morgan 1. Express 웹 프레임워크웹 서버를 생성하고 HTTP 요청에 대한 라우팅 및 처리, 미들웨어를 통한 요청 및 응답 처리 등을 간단하게 구현할 수 있음다양한 확장 기능과 모듈을 제공하여 개발 생산성을 높일 수 있음 express 모듈 설치 npm i express >>> - [package.json] "type":"module""start":"nodemon 7_express>>> - [terminal] npm start 미들웨어 js > import express from 'express'; //객체 생성 const app = express(); //미들웨어 .. 2024. 4. 25. 07. http 모듈, 템플릿 엔진 1. http 모듈 웹 서버와 클라이언트를 만들고 관리하는데 사용되는 핵심 모듈 HTTP 서버를 만들거나 HTTP 클라이언트 요청을 만들 수 있음 HTTP 서버를 생성_요청에 따라 파일을 제공 js > const http=require('http'); const fs=require('fs'); console.log('http 모듈 테스트'); console.log('노드몬이 실행중입니다!'); //req:request(사용자가 전달한 객체) //res:response(사용자가 전달받을(사용자에게 전달할)객체) const server=http.crea.. 2024. 4. 24. 이전 1 2 3 4 5 ··· 7 다음