1. 환경 변수 관리
- 로컬에서 개발 또는 서버에 배포할 때 db연결, 포트 설정, 시크릿 키 등 안전하게 관리하기 위한 환경 변수로 처리
- .env라는 파일에 환경 변수를 설정
npm i dotenv
2. HTTP 통신
- 요청(request, 클라이언트)과 응답(reponse, 서버)으로 이루어짐
- 클라이언트가 요청을 먼저하고 서버는 수동적으로 응답해주는 구조
- 반이중통신
3. 웹소켓(Web Socket)
- 브라우저에서 지원하는 소켓통신
- 실시간 네트워킹이 보장
- 전이중통신
웹소켓의 동작 원리
- 최초 연결 요청 시 클라이언트에서 HTTP를 통해 웹서버에 요청
- (핸드쉐이크, Handshake: Websocket 프로토콜로 전환)
- 연결이 수립되면 클라이언트와 서버 양측간의 데이터 통신 단계가 시작
- 양방향 통신(전이중통신)
- 상대방에서 ping 패킷을 보낼 수 있음, 수신한 측은 pong 패킷을 전송함
- 클라이언트 혹은 서버 양측 누구나 연결을 종료할 수 있음
웹소켓의 동작 원리
- Node.js 기반의 웹소켓 라이브러리
- 실시간 양방향 통신을 가능하게 해주는 도구
npm i socket.io
socket.join(값): 해당 값에 속한 소켓 객체가 됨
// 채널 설정
socket.join(channel) // 해당 채널의 속한 객체가 됨
// 메세지 설정
io.emit(); 모든 소켓 객체에게 이벤트를 발생
io.to(channel).emit(): 해당 채널의 속한 객체에게만 이벤트를 발생
4. ORM(객체 관계 매핑, Object Relational Mapping)
- 객체 지향 프로그래밍 언어에서 사용되는 객체와 관계형 데이터베이스 간의 불일치를 해결하기 위한 기술
- 객체 모델과 관계형 데이터베이스의 테이블 간의 매핑을 수행하여 개발자가 SQL 쿼리 대신 객체 지향 코드를 사용할 수 있도록 함
5. ODM(객체 문서 매핑)
- NOSQL 데이터베이스와 객체 지향 프로그래밍 언어 간의 매핑을 제공하는 기술
- 주로 문서 지향 데이터베이스(MongoDB)와 함께 사용
'웹 개발' 카테고리의 다른 글
36. React란 및 설치 (0) | 2024.05.13 |
---|---|
35. Sequelize와 MongoDB (0) | 2024.05.09 |
33. Express 리팩토링 & 유효성 검증 (0) | 2024.04.24 |
32. 자바스크립트 다양한 출력들8 (0) | 2024.04.24 |
31. 자바스크립트 고급 정리4(node.js) (0) | 2024.04.24 |