Server programming

00_01_OT_OT

devRiripong 2023. 3. 12.
반응형

루키스님의 '[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버' 강의를 수강하고 정리하는 포스팅입니다.

 

서버 프로그래머가 기본적으로 알아야 하는 모든 내용에 대해 학습을 하게 된다.
 
전반적 이해 하면 어떤 프로젝트에 임하더라도 쉽게 프로젝트에 적응할 수 있는 기본기를 쌓게 된다.
 
반짝 거리는 내용
 

개요

 
스레드
 
  • 스레스 생성, 아토미 타입, 락은 무엇인지, 락 구현, 데드락은 왜 일어나는지, 스핀락, 슬립, 이벤트 방식
  • TLS, 스택을 만들 때 Lock을 기반으로 만드는 StackQueue 같은 자료구조, LockFree 구조로 Stack과 Queue를 만드는 실습
  • Thread관리에 관한 거,  DeadLockProfiler 데드락 상황을 디버그 상황에서 감지할 수 있고 문제해결을 위한 방안들을 마련하는 방법
 
메모리
 
  • New, delete를 이용해서 할당하는 방식이 아니라 Customizing 된 할당자를 붙여서 메모리를 관리하는 기법
  • 각종 할당자를 만들어서 StompAllocator를 붙여서 메모리 오염이 일어났을 때 잡아보는 실습
  • Memory Pooling 실습
  • 다이나믹 캐스트 대신 빠르게 사용할 수 있는 TypeCast에 대한 개념, 실습
 
네트워크 프로그래밍
 
  • 무엇인지, 소켓 프로그래밍의 기초
  • TCP, UDP 개념
  • 블로킹 소켓, 논 블로킹 소켓, 각종 네트워크 입출력 모델에 대한 실습
 
네트워크 라이브러리 제작
 
  • 본격적으로 네트워크 라이브러리 제작 iocp 모델을 이용해 쌓아 올리기 시작함
  • 몇천의 유저가 들어와도 전혀 문제 없이 잘 처리 됨
 
패킷 직렬화
 
  • 어떤 기법이 있는지
  • Protobuf
  • 자동화 코드
  • 지금 실질적으로 코드들이 자동화 되어서 처리 되고 있어
  • 실무에서 사용하는 자동화 기법
 
JobQueue
 

 

DB연동 관련 실습
 
  • DB 버전 관리
  • 데이터 베이스 버전 관리
  • 자동화 된 코드 이용해 관리
  • 원하는 구조에 따라 만들어져
  • 프로시져도 자동화된 툴 이용해서 편리하게 활용할 수 있는 실습

 

출처: https://inf.run/FxnK

반응형

댓글