안녕하세요,
[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈]를 연재중인 Rookiss입니다.
금일 [Part5 : 데이터베이스]가 오픈되어 공유 드립니다.
Part5는 MMO에서 데이터를 저장하고 불러오는
관계형 데이터베이스 (RDBMS)를 다루는 강의입니다.
기본적으로 야구 데이터베이스를 조회해보면서 MS-SQL을 학습하고,
회사 데이터베이스를 분석하면서 SQL 원리와 튜닝에 대해 알아보는 강의입니다.
돌이켜보면 신입으로 입사할 때 제가 가장 게을리하고 싫어했던 파트가 DB인데,
그래서인지 이런 저런 자잘한 실수를 많이 한 기억이 있네요.
굳이 서버 파트가 아니라도 프로그래머 면접을 준비하신다면
Index (Clustered, NonClustered)와 Join(NL, Merge, Hash) 원리 정도는 숙지를 하시면 좋습니다.
아무튼 Part 3, 4에 비해 난이도가 어마어마하게 높진 않으므로
살짝 쉬어가는 Part라고 생각하시면 되겠습니다.
이어서 다음 강의는 Part6: 웹서버 (ASP.NET Core)로 결정되었습니다.
지난 공지에서 말씀드린대로 커리큘럼에 살짝 고민이 있긴 했는데,
의외로 ASP.NET에 관심을 갖는 분들이 많아 변경없이 .NET으로 가기로 했습니다.
MMO에서 웹기술의 용도는 여러가지가 있는데,
우선 처음 접속할 때 계정을 처리하는 account 서버 (로그인 서버)를 생각할 수 있고,
또 라이브 운영툴 (GM 툴)도 대부분 웹으로 구현하게 됩니다.
가령 로그를 찾아보고, 특정 유저한테 아이템을 우편으로 쏴주고 하는 등의 GM작업을
웹 홈페이지에서 한다고 생각하시면 되겠습니다.
MMO가 아니라 일반적인 퍼즐 게임 등의 인디 게임이라 생각한다면,
랭킹이나 SNS 친구 목록 등을 웹으로 구현하게 됩니다.
아무튼 MMO에서 웹서버가 아주 중요하고 많이 사용되는 것은 아니기에
Part5처럼 가볍게 진행하려 했었으나,
05월22일 ASP.NET Blazor가 정식으로 나오면서 계획이 바뀌게 되었습니다.
간단히 요약드리자면 기존에는 웹기술로 홈페이지를 반응성 있게 만들라면
클라(frontend) 쪽에서 Javascript (혹은 Typescript)을 사용했어야 했습니다.
그런데 이번 신기술 도입으로 인해 클라/서버 양쪽에서 C#으로 모든 작업을 할 수 있게 되었습니다 (!)
새로 나온 기술이라 아직 제대로 된 문서나 전문 서적도 6월에야 나올듯 합니다만,
게임 업계에서 상당히 환영받을 기술이라 생각되어
강의 출시를 조금 미루더라도 Blazor에 관한 내용을 어느 정도 중점을 두고 다룰 예정입니다.
이런 추가적인 내용도 있고,
또 근래에 병행하는 일들이 다 동시에 바빠지는 시기라
다음 강의는 7월말 정도에 오픈할 예정입니다.
Part6 : 웹서버와 ASP.NET Core 에서 다룰 내용은 대략적으로 다음과 같이 구성될 예정입니다.
- 1) 웹 기초 (HTML, CSS, 웹 원리 등의 개론)
- 2) 고급 C# 문법 (Nullable, LINQ 등 웹에서 은근 자주 사용되는 문법들 학습)
- 3) ASP.NET 둘러보기 (ASP.NET 5종 세트인 MVC, Razor Pages, WebAPI, Blazor Server, Blazor Client 맛보기)
- 4) WebAPI와 Blazor 심화 과정 및 간단한 랭킹 프로젝트 구현
이상입니다.
- MMO 인디게임을 출시하는 날까지 -