전체 글192 17. Sequelize 1. Sequelizenode.js에서 mysql 등 RDBMS를 쉽게 다룰 수 있도록 도와주는 라이브러리 사이트: https://sequelize.org/ branch 추가 설치 npm i sequelize db > database.js : import, 객체 바꿔주기 db > database.js > // import mysql from 'mysql2'; // 삭제 import { config } from '../config.js'; import SQ from 'sequelize'; //추가 // 삭제 // const pool = mysql.createPool({ .. 2024. 5. 8. 16. ORM 1. ORM ORM (객체 관계 매핑, Object Relational Mapping)- 객체 지향 프로그래밍 언어에서 사용되는 객체와 관계형 데이터베이스 간의 불일치를 해결하기 위한 기술- 객체 모델과 관계형 데이터베이스의 테이블 간의 매핑을 수행하여 개발자가 SQL 쿼리 대신 객체 지향 코드를 사용할 수 있도록 함(데이터 베이스의 모든 쿼리를 객체로 만들어서 실행하는 매개체, Node.js에도 노드로 존재) ODM(객체 문서 매핑, Object Document Mapping)- NoSQL 데이터베이스와 객체 지향 프로그래밍 언어 간의 매핑을 제공하는 기술- 주로 문서 지향 데이터베이스(MongoDB)와 함께 사용(SQL 문법을 사용하지 않고 자바스크립트, 트리로 데이터를 넣는 방법) 2. Br.. 2024. 5. 3. 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. 이전 1 ··· 9 10 11 12 13 14 15 ··· 22 다음