FrameWork/Express.js

🔔 #2.8~2.11 1. 방 이름 띄우기 띄우기 전 socket.io 의 adapter 기능에 대해 알고 넘어가야함 규모가 커짐에 따라 하나의 서버로 돌리지 못하는 경우가 생기는데, 여러 서버가 생기게 된다면, 여러 서버가 하나의 DB 를 보게 되고 이런 경우를 대처하기 위해 만들어진 것이 adapter(두 서버를 연결해서 데이터를 전송하는 기능을 맡음) https://socket.io/docs/v4/adapter/ Adapter | Socket.IO An Adapter is a server-side component which is responsible for broadcasting events to all or a subset of clients. socket.io rooms private room..
🔔 #2.4 ~ 2.7 1. 방 만들기 >> server.js join 메서드 하나로 쉽게 방을 만들 수 있음 rooms : 현재 소켓이 들어가있는 방을 표시 socket.id : 현재 소켓의 id 를 알 수 있는 메소드 # server.js wsServer.on("connection", (socket) => { # onAny = EventListener인셈, 이벤트가 발생하는지 확인할 수 있음 socket.onAny((event) => { console.log(`Socket Event: ${event}`); }); socket.on('enter_room', (roomName, done) => { socket.join(roomName); done(); socket.to(roomName).emit('wel..
🔔 #2.0 ~ 2.3 1. socket IO?! 실시간 기능을 만들어주는 프레임워크 역할 : 실시간 / 양방향 / event 기반의 통신을 가능하게 함 npm i socket.io 2. socket IO vs websocket socket IO는 프레임워크 websocket 은 socket IO가 실시간/양방향/event 기반 통신을 제공한는 방법 중 하나임 예를 들어 나의 브라우저나 핸드폰이 websocket을 지원하지 않다면 websocket는 문제가 생겨도 socket IO 계속 작동함 socket IO는 websocket 을 사용하고, 지원하지 않으면 HTTP long polling 같은 것을 사용 3. 코드 비교하기 # server.js import WebSocket from "ws"; con..
🔔 #1.6~1.9 1. 채팅 완성하기 서버와 클라이어트 간에 서로 연결이 됐으니, 서로 메세지를 주고 받는 것을 구현하기 먼저 home.pug에서 메세지를 담을 수 있는 input 과 send button 만들기 >> home.pug 코드 수정 # home.pug doctype html html(lang="ko") head meta(charset="UTF-8") meta(http-equiv="X-UA-Compatible", content="IE=edge") meta(name="viewport", content="width=device-width, initial-scale=1.0") title Zoom link(rel="stylesheet" href="https://unpkg.com/mvp.css@1.1..
🔔 #0 , #1.0 ~ 1.5 - 아나콘다 가상환경 설정 + 깃허브 https://print-blue.tistory.com/2 https://print-blue.tistory.com/46 1. 서버 작업 node.js 프로젝트 생성(설치) npm init -y description(프로젝트 설명) 프로젝트(패키지)의 설명을 지정 (npm search 사용 시 도움이 됩니다.) license 패키지 사용을 허용하는 방법과 제한 사항을 알 수 있도록 라이센스를 지정 "license": "MIT" => 수정 및 배포가 자유로우며 실무 혹은 상업적으로 이용해도 된다는 뜻 scripts 패키지 라이프 사이클에서 여러 번 실행되는 스크립트 명령을 포함 nodemon 사용할 거니까 scripts 부분에 nodemo..
print(blue)