일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- ERD
- HTTP
- 백준 32028번
- 백준 28303번
- PROJECT
- branch
- MySQL
- 자바스크립트
- ucpc 2023 예선 i번
- Express.js
- 백준 32029번
- JavaScript
- 그리디
- ccw 알고리즘
- insomnia
- MongoDB
- Prisma
- 게임 서버 아키텍처
- html5
- pm2
- string
- localstorage
- map
- 지금 자면 꿈을 꾸지만
- ucpc 2023 예선 d번
- router
- 더 흔한 색칠 타일 문제
- Next
- ucpc 2024 예선 e번
- Github
- Today
- Total
목록내일배움캠프 (70)
dh_0e
전송 계층(Transport Layer)OSI 모델의 4번째 계층으로, 데이터의 종단 간 전송을 담당함주요 목적은 두 호스트 간의 신뢰성있고, 효율적인 데이터 전송을 보장하는 것응용 프로그램 간에 데이터 패킷을 전송하고 수신하는 데 필요한 서비스와 기능을 제공함으로써 이루어짐개념과 필요성데이터 분할 및 재조합데이터는 큰 덩어리로 전송되지 않으며 작은 패킷으로 분할되어 전송됨전송 계층은 이러한 패킷을 적절한 순서로 재조합하여 원래 데이터 형태로 복원함신뢰성 있는 전송전송 계층은 데이터가 손실되지 않고, 도착지에 도달하도록 보장함오류 검출 및 수정, 재전송 등의 메커니즘을 사용하여 신뢰성을 확보함흐름 제어데이터 손신과 수신 속도 간의 불균형을 조절하여 송신 측이 수신 측을 압도하지 않도록 함혼잡 제어네트워크..
1. 데이터 테이블 로드파일 시스템을 사용하여 서버에서 필요한 데이터 테이블을 메모리에 로드할 수 있음파일 시스템(file system) - Node.js의 fs 모듈은 파일 시스템에 접근하고, 파일을 읽고 쓰는 기능을 제공함동기적 및 비동기적 방식 모두로 파일 I/O 작업을 수행하며 CRUD 작업을 할 수 있음다양한 형태의 파일 기반 작업을 가능하게 해줌DB(DataBase), CDN(Cloud Delivery Network), File 등으로 테이블을 관리하며 file이 가장 간편함 2. 유저 접속 관리유저가 서버에 웹소켓 프로토콜을 통해 접속을 하면 소켓 아이디가 발급됨현재 유저가 서버에 접속해있다는 상태를 저장하기 위해서 웹소켓에서 데이터를 주고받기 위해 존재함소켓 id는 임시적이어서 접속이 끊기..
게임 기획 순서1. 시나리오, 장르, 방향성 설정게임의 스토리, 장르, 방향성을 설정한다.시나리오 ex) 산에서 좀비때를 만났는데 하필 보이는 자동차가 수동 화물 트럭밖에 없어서 도망가기 위해 탑승하여 운전하여 안전한 곳 까지 운전을 하는 스토리Stage에 따라 체력 감소, 휴게소에 들려서 체력을 회복할 수 있음 등의 게임의 방향성 설정데이터 테이블 생성노션, 미로 등 툴을 사용하여 데이터 테이블을 만든 뒤 Json 형식으로 변환하여 가시화'#'으로 시작하는 것은 기획 관리용 이름으로 실제 데이터가 아닌 참고용임 API 명세서 작성 ≒ 패킷 구조 설계 요청 사항, 아이템 획득 및 스테이지 이동 등 게임 로직에서 전달받을 사항 설계
HTTP의 특징Request Response 구조요청이 있어야만 응답이 있다.비연결성 - 연결을 유지하지 않음 >> 리소스가 적다 >> 트래픽이 적으므로 처리가 빠르다Stateless(무상태)유저의 경험을 저장하지 않는다좋은 유저 경험을 위해 세션, 쿠키, DB에 저장하여 임의로 처리하긴 한다. HTTP 메시지 구조HTTP 헤더 - Genereal Header, Req/Res Header, Entity Header많은 양의 데이터가 key-value 형태로 헤더에 포함됨 TCPOSI 4 계층(transport layer)에 존재하며 HTTP로만 할 수 없는 통신을 할 수 있게 해 줌HTTP는 비연결성이지만 TCP는 TCP는 데이터를 교환하기 위해서 무조건 연결을 해야 하는 연결지향성임 TCP 3-wa..
CCU가 엄청나게 늘어나면 Pool에는 커넥션이 메마르고, 데이터베이스가 부족해진다. 이 떄 샤딩이란 기술을 활용하여 이 문제를 해결해보자. 샤딩(Sharding)데이터를 조각내 분산 저장하는 데이터 처리 기법으로 일괄적 관리가 힘든 거대 데이터베이스나 네트워크를 물리적으로 쪼개는 기술이다.즉, 하나의 게임 서버 데이터를 하나의 데이터베이스에서 관리하는 것이 아닌 여러 데이터베이스에서 나눠서 관리를 한다는 것장점더 많은 커넥션을 준비시킬 수 있어 CCU가 늘어나도 크게 지장을 받지 않음샤드는 독립적으로 작동하기 때문에 요청을 병렬적으로 처리할 수 있음 > 전반적인 성능 향상특정 샤드가 문제가 생겨도 일부 유저들을 제외하고는 전체 게임 자체의 가용성은 계속 유지할 수 있음방법로직으로 샤드를 나눌 수 있다...