Sesac 웹 풀스택[새싹X코딩온]18 Socket.io로 채팅방 구현하기(feat. Node.js, Sequelize, React.js) Websocket과 Socket.io의 개념에 대해서 정리 Websocket 과 Socket.io Websocket이 태어난 배경 WebSocket은 HTTP와는 구분되는 별도의 통신 프로토콜이지만 HTTP를 기반으로 동작한다. HTTP는 단방향 통신을 지원하는 프로토콜이므로 서버에서 클라이언트로 데이터를 보내 everysmallstep.tistory.com Node.js 환경에서 실시간 1:1 채팅을 구현하기 위해서 socket.io를 사용했다. emit과 on으로만 구현하였고, 수정이나 삭제는 구현하지 않았다. 채팅 시작 전 채팅 목록은 room 테이블과 연결되어 있어서 채팅 페이지에 들어가게 되면 axios 요청을 통해 mysql(DB)에서 데이터를 가져온다. 1. 채팅 시작 시 프론트에서 채팅에 .. 2023. 6. 25. [Linux:Ubuntu]http 서버 https로 변경해서 node, react 프로젝트 배포 Cafe24 도메인 AWS EC2에 연결하기 (Route53) AWS 인증서 발급 받아 https 적용하기 : aws certificate https nginx let's encrypt로 https 적용하기 ubuntu - Let's Encrypt으로 Nginx에 무료 SSL 적용 https 서버로 바꾸기 위한 절차 1. 도매인 구매 후, EC2 서버를 https로 변경한다. (보안그룹에 443 port 열어놔야한다. : https 서버라서) => 시간 좀 걸림 2. https로 변경되었으면 리눅스서버(우분투)에서 Let's Encrypt 인증서 발급한다. 3. 인증서가 발급 되었으면 받은 공개키와 비밀키위치를 nginx와 연결한다. 4. 그럼 https로 react 프로젝트가 열리는데 그 다음에는 no.. 2023. 3. 21. [Docker] Docker Compose 기본 개념 및 node, react(nginx) 연결 - 여러 의 컨테이너로부터 이루어진 서비스를 구축, 실행하는 순서를 자동으로 해, 관리를 간단하게 하는 기능 - Docker compose는 compose 파일을 준비해 커맨드를 1회 실행하는 것으로, 그 파일로부터 설정을 읽어들여 모든 컨테이너 서비스를 실행시키는 것이 가능하다. - 즉, 여러 개의 컨테이너를 한 번에 돌릴 수 있고, 한 번에 관리 가능한 것이 docker compose - 각 폴더 안에 Dockerfile을 참조해서 DockerCompose.yml을 만드는 데 만약에 DockerCompose.yml에다가 각 폴더 안의 Dockerfile에 들어가는 내용을 넣으면 각 폴더의 Dockerfile이 필요 없다. Docker compose 사용 순서 각각의 container 별로 Dockfi.. 2023. 3. 21. [Docker] Dockerfile, Dockerfile node와 연결, nginx(react)와 연결 - 필요한 최소한의 패키지를 설치하고 동작하기 위한 자신만의 설정을 담고 있는 파일 - 즉, 기본 이미지가 아닌 기본 이미지를 바탕으로 설정이 담긴 이미지를 만들기 위해 사용하는 파일 - Dockerfile을 작성 후 빌드하면 Docker는 Dockerfile에 나열된 명령문을 차례대로 수행해 DockerImage를 생성 - Dockerfile을 작성할 땐 실제 파일의 이름을 'Dockerfile'로 해야 함 #베이스 이미지 : 어느 이미지에서 시작할 건 지 FROM #새로운 레이어에서 명령어를 실행하고 새로운 이미지생성 Run #build 명령 중간에 호스트의 파일 또는 폴더를 이미지에 가져오는 것 COPY #Dockerfile의 빌드로 생성된 이미지에서 열어줄 포트 #호스트 머신과 컨테이너의 포트 매.. 2023. 3. 21. [Docker] 기본 개념 및 설치(오류), 주요 명령어(docker run) Container - Linux 기반의 기술 중 하나로 필요한 라이브러리와 애플리케이션을 모아 별도의 서버처럼 구성한 것 - 네트워크 설정, 환경 변수 등의 시스템 자원을 독립적으로 소유하고 있다. hypervisor - 호스트 컴퓨터에서 다수의 운영 체제(operating system)를 동시에 실행하기 위한 논리적 플랫폼 - 하나 이상의 가상머신(virtual machine manager[VMM])을 실행하는 컴퓨터가 호스트(Host)가 되고 각 가상머신들은 게스트(Guest)가 된다. VM 가상화 플랫폼(Virtual Machines) Hypervisor라는 것을 통해 컴퓨터가 가지고 있는 리소스들에 대해 VM 별로 배분하고, 각 VM이 독립적인 OS를 갖고 동작 확장성 낮음 : 독립적인 플랫폼을 .. 2023. 3. 21. 6. JPA(Java Persistence API) 및 실습 자바의 ORM 기술 표준 JAP가 개발자 대신 적합한 SQL을 생성하고 DB에 전달하고, 객체를 자동으로 Mapping 해주기에 SQL을 직접 작성할 필요가 없다. ex) Hibernate ( JPA를 구현한 대표적 오픈소스) 장점 단점 생산성이 뛰어나고 유지보수가 용이하다 JPA의 장점을 살려 잘 사용하기 위해서는 학습 비용이 높고, 복잡한 쿼리를 사용할 때 불리하다. DBMS에 대한 종속성이 줄어든다. 잘못 사용할 경우 SQL을 직접 사용하는 것보다 성능이 떨어질 수 있다. JPA 사용하기 1. build.gradle JPA를 사용하기 위해 dependency 추가 2. application.properties 수정 #기본 설정 spring.datasource.driver-class-name=com... 2023. 3. 16. 이전 1 2 3 다음