...

Node.js

Node.js

[Node.js] Sequelize 공부하기

1. ORM 이란? Object-Relational Mapping 객체지향 패러다임을 활용하여 관계형 데이터 베이스(RDB) 의 데이터를 조작하게 하는 기술이다 직접 sql 문을 작성하지 않아도 프로그래밍 언어를 이용해서 DB에 접속할 수 있다 2. Sequelize 란? ORM 의 일종으로, 자바스크립트 객체와 데이터베이스의 릴레이션을 매핑해주는 도구이다 프로그래밍 언어를 사용하여 DB 에 접근할 수 있으므로 SQL 문법을 몰라도 된다는 장점을 가진다 3. 설치 및 초기화 // npm 초기화 npm init -y // Sequelize 및 MySQL (dotenv express 등등 )설치 npm install sequelize mysql2 dotenv express Sequelize app.js 구성..

Node.js

[Node.js] socket.io 로 채팅, 귓속말, 접속자 기능 만들기

조건 채팅방 옆 접속자를 보여주는 탭을 하나 만들자 접속자가 아이디로 보일수 있게 해당 귓속말을 할때 아이디를 클릭해서 귓속말 버튼을 누르면 귓속말이 전송될수있게 1. 코드 1) main.ejs (page 폴더) 귀여운 동물 카톡 로그인 접속 고양이 방 강아지 방 보내기 귓속말 들어온 사람 2) app.js socket.emit : 클라이언트 측에서 서버로 커스텀 이벤트를 전송하기 위해 사용되는 메소드 클라이언트는 데이터를 전송하고 서버에서 특정 이벤트를 트리거할 수 있다 서버는 socket.on 을 사용하여 해당 socket.on : 서버 측에서 socke.on 을 사용하여 클라이언트가 내보낸 특정 이벤트를 수신할 수 있다 서버는 socket.on 을 사용하여 클라이언트로부터 받은 특정 이벤트에 대한 ..

Node.js

[Node.js] socket.io 로 채팅방 만들기

1. node 초기 설정 // 터미널에서 package.json 만들기 npm init -y // package.json 에서 script 부분에 "start" : "node app.js" 추가해주기 // 이렇게 하면 터미널에 npm start 치면 node app.js 가 실행됨 // 사용할 모듈 : express , socket.io , ejs npm i express socket.io ejs 2. 유저접속, 메시지 보내기 구현 1) 로컬 서버 만들기 1-1 main.ejs (page폴더에 있는 파일) 문자 사용자 아이디 전송하기 1-2 app.js const express = require("express"); const path = require("path"); const socketIo = r..

Node.js

[Node.js] Web Socket 과 Socket.io

1. WebSocket vs Socket.io 둘은 다른 개념이다. 웹소켓은 양방향 소통을 위한 프로토콜이다 (프로토콜 : 서로 다른 컴퓨터끼리 소통하기 위한 약속) 반면에 socket.io 는 양방향 통신을 하기위해 웹소켓 기술을 활용하는 라이브러리 이다 2. WebSocket HTML5 웹 표준 기술 클라이언트와 서버 간에 양방향 통신을 제공하는 통신 프로토콜이다 (프로토콜 : 서로 다른 컴퓨터끼리 소통하기 위한 약속 ) 클라이언트와 서버 모두 지속적인 HTTP 요청 없이 언제든지 데이터를 송수신 할 수 있는 실시간 양방향 데이터 전송이 가능함 실시간 채팅 을 구현하거나 실시간으로 해야하는 작업이 있을 경우 사용함 (ex. 가상화폐 거래소 와 같이 데이터 전송이 자주 일어나는 경우) 웹소켓을 사용하면..

Node.js

[Node.js] Accesstoken 과 Refreshtoken (JWT)

1. Access token 이용자가 로그인 시도 서버에서 이용자를 확인하고 토큰(입장권)을 발급하는데 JWT 토큰 인증정보를 Payload 에 할당하고 생성 생성한 토큰을 클라이언트에 반환해주고 클라이언트는 이 입장권을 가지고 있는다 클라이언트가 서버에 요청 할때 이 토큰(입장권)도 같이 보내서 요청을 시도한다 서버는 요청을 받아서 그 토큰(입장권)을 확인하고 payload 의 인코딩되어 있는 값을 디코딩 해서 사용자의 권환을 확인하고(입장권이 맞는지) 요청을 처리하고 요청에 대한 응답을 한다 입장권이 정상적인지 확인하고 (토큰이 썩었는지 변조가 됐는지) 비정상이라면 다시 재로그인 시킨다 (입장권 새로 산다) 단점 : JWT 의 단점 중, 한 번 발급된 경우 유효기간이 지날때 까지 계속 사용할수 있기 ..

Node.js

[MySQL] 설치 및 쿼리문

1. MySQL 설치 및 쿼리문 mysql 설치 참고 사이트 (mac기준) : https://losskatsu.github.io/it-infra/mysql-install-mac/ 설치가 완료되었다면 mysql 에 접속해 보자 접속 명령어 mysql -u root -p 접속 종료 명령어 exit quit 현재 있는 데이터 베이스들을 확인하는 쿼리문 show databases; 데이터 베이스를 추가 해주는 쿼리문 (test1 은 임의의 데이터베이스 이름이다 / 테이블이름, 인코딩은 소문자) CREATE DATABASE test1 CHRACTER SET utf8; 데이터 베이스를 삭제하는 쿼리문 drop database test1; 사용할 데이터 베이스를 선택하는 쿼리문 use test1; 사용할 데이터 베이..

유도미
'Node.js' 카테고리의 글 목록