[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part8: Entity Framework Core
[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part8: Entity Framework Core
수강정보
(5개의 수강평)
272명의 수강생
스킬태그 #게임개발, #EF Core, #ORM

이 강의는

원활한 데이터베이스 연동을 위해 .NET ORM인 Entity Framework Core에 대해 학습하는 강의입니다.

MMORPG 개발에 필요한 모든 기술,
C# + Unity로 Step By Step! 🕹️

기초부터 끝판왕까지, MMORPG 개발하기 🎮 

아무런 지식도 없다는 가정하에 누구나 부담없이 차근차근 수강할 수 있도록 구성된 게임 개발 강의입니다. 최종적으로는 500~1000명의 유저를 수용할 수 있는 MMORPG 인디게임을 출시하는 것을 목표로 합니다.

이번 시리즈에서는 C#과 유니티(Unity)를 이용하여 유니티에서 제공하는 무료 에셋을 토대로 2D 로그라이크 게임을 만들어 볼 수 있도록 단계별로 필요한 기술을 학습합니다. 함께 도전해볼까요?


이런 걸 만들 수 있어요 ✨

▲ 간단한 에셋을 가지고 RPG 게임의 필수적인 기능을 구현해보세요. (샘플 포트폴리오 클립)

▲ 온라인 멀티플레이 게임을 만드는 핵심 서버 연동 기술까지 배우게 됩니다.


학습 내용 📚 

  • Part1 : C# 프로그래밍 입문
  • Part2 : 자료구조와 알고리즘
  • Part3 : 유니티 엔진
  • Part4 : 게임 서버 (네트워크, 멀티쓰레드, OS)
  • Part5 : 데이터베이스(SQL Server)
  • Part6 : 웹서버 (ASP.NET Core Blazor, WebApi)
  • Part7 : MMORPG 컨텐츠 구현 (Unity + C# 서버 연동)
  • Part8 : Entity Framework Core (.NET ORM) 현재 강의
  • Part9 : MMORPG 컨텐츠 구현 (DB 연동 + 대형 구조 관리 + 라이브 준비)
  • 번외편 : AWS로 시작하는 서버 운영
  • 번외편 : ASP.NET Core 심화편
데이터베이스 연동을 위한 EF Core 강의
ORM(Object Relational Mapping)이란 데이터베이스와 프로그래밍 언어 간의 데이터를 변환하는 기법입니다. 복잡하게 SQL 구문을 하나하나 작업할 필요 없이, 기존처럼 C# 문법을 이용해 메모리상의 데이터를 수정하면 DB에도 변경 사항이 적용되는 마법이 일어나게 됩니다. 
ORM을 공부하면 개발 속도가 매우 빨라질 뿐 아니라, DB 버전 관리 지옥에서도 벗어날 수 있는 일석이조의 효과를 볼 수있습니다. 9시간을 투자해서 DB 마법 공부를 시작해보시죠!
다음 순서로 학습해보세요!

개론 👉 데이터 쿼리 👉 데이터 수정 👉 세부 설정 👉Migration 👉 DBContext

파트8, 이런 분들께 추천합니다!

EF Core를 배우고 
싶었던 분

ORM의 여러 이점을 
경험하고픈 분

MMORPG 기술에 
관심이 많은 분


Q&A 🙋‍♀️

Q. 강의 환경이 무엇인가요?
A. 모든 시리즈는 Windows 환경이라 가정하고 제작이 되었으며, macOS에 대한 부가적인 설명은 없습니다.

Q. 비전공자도 들을 수 있나요?
A. 선수 지식이 아예 없다고 가정을 하고 진행하기에 아무런 문제 없습니다.

Q. 이 강의를 시작하게 된 계기를 소개해주세요.
A. 개인적으로 서버 공부를 시작하면서 참고할 자료가 없어서 어려웠던 기억이 있습니다.
취업 후 실제 돌아가는 라이브 MMORPG 코드를 비교하며 보면서, 헤딩을 통해 만든 제 코드의 잘못된 점을 많이 깨닫게 되었습니다. MMORPG 개발에 관한 전반적인 내용을 기초부터 끝까지 간략하게 다루는 수업이 있었으면 시간도 절약하고 덜 고생했을 것 같다는 생각을 했습니다.
이 수업이 여러분들에게 MMORPG 게임 입문의 길잡이 역할을 해줄 것으로 기대합니다.

Q. C++이나 언리얼 엔진은 사용하지 않나요?
A. [인디 게임을 위한 C#/Unity를 이용한 버전(해당 시리즈)]과 [취업을 위한 C++/UE4 버전]으로 구분해서 제작할 예정입니다.
MMORPG는 네트워크, OS, 멀티쓰레드, 웹, 클라이언트 엔진, 등등 다뤄야 할 내용이 굉장히 많은데, C++ 기반으로 진행할 경우 난이도가 높아서 입문자에겐 적합하지 않습니다. 특히 게임 개발에 대한 지식이 없다면 C# 버전으로 먼저 전체적인 숲을 훑어 보시기 바랍니다.

Q. 하나의 Part를 구매하면 다른 Part는 무료인가요?
A. 각 파트는 독립적으로 제작되어 별도로 판매됩니다.


C# + 유니티 게임 개발 로드맵 🏃‍♂️

로드맵을 통해 〈C#과 유니티로 만드는 MMORPG 게임 개발 시리즈〉 파트 1~9까지 전체 시리즈 과정을 학습할 수 있습니다. (클릭하면 바로가기: 번외편은 포함되지 않습니다.)

이런 걸 배워요

  • .NET
  • Entity Framework Core
  • 데이터베이스
  • ORM

도움 되는 분들

  • MMORPG 기술에 관심이 많은 사람
  • C#과 데이터베이스 연동에 관심이 많은 사람
  • Entity Framework Core 입문자

선수 지식

  • RDBMS 및 SQL 기본 지식

공개 일자

2020년 9월 10일 (마지막 업데이트 일자 : 2020년 9월 10일)

지식공유자 소개

학력

- Condorcet Prépa MPSI 수료 (프랑스)
- 칭화대학교 소프트웨어공학 학사 (중국)
- 고려대학교 정보보호대학원 석사 (한국)

주요 경력

- 前 크래프톤 (테라 서버팀)
- 前 엔씨소프트 (Blade&Soul2 컨텐츠 프로그래밍팀)

관심 분야

- 리버싱 및 취약점 분석
- MMORPG 게임 개발 (C++, C#)
- 외국어 (영어, 프랑스어, 중국어, 일본어)

소개

해킹 공부를 위해 순전히 호기심으로 시작한 게임 개발인데...
시간이 흘러 어느덧 5년차 게임 개발자가 되었습니다.
"이래서 언제 게임을 만들지~?"
한숨 나오는 기초 문법부터 시작해서,
차츰 만들어가는 나만의 게임 세상.
그리고 그 세상에 접속한 다수의 플레이어를 볼 때의 뿌듯함.
공부를 할 수록, MMORPG의 매력에는 헤어나올 수가 없습니다.
제가 느낀 감동을 여러분도 느낄 수 있으면 좋겠네요.

5.0
5개의 수강평
default_profile.png
VRCREW 16일 전
부와아아악
default_profile.png
igbtkd 1달 전
항상 좋은 강의 감사합니다.
default_profile.png
1122 1달 전
좋은 강의 감사드립니다 ㅎㅎ

교육과정

모두 펼치기 27 강의 8시간 53분
섹션 1. 데이터 쿼리 (Read)
3 강의 61 : 45
섹션 2. 데이터 수정 (Create & Update & Delete)
6 강의 103 : 06
Entity 상태 관리
20 : 09
Update 기초
10 : 37
Connected vs Disconnected
22 : 11
Foreign Key와 Nullable
18 : 40
Relationship Update
20 : 01
Delete
11 : 28
섹션 3. 세부 설정 (Configuration)
7 강의 166 : 36
Data Modeling Config
27 : 44
Relationship Config
27 : 07
Shadow Property & Backing Field
20 : 01
Entity Class & Table Mapping
36 : 25
Backing Field + Relationship
15 : 12
User Defined Function (UDF)
18 : 52
Default Value
21 : 15
섹션 4. Migration
2 강의 50 : 54
Migration #1 (Code-First)
36 : 46
Migration #2 (DB-First, SQL-First)
14 : 08
섹션 5. DbContext
5 강의 97 : 54
Entity State & Relationship #1
24 : 03
Entity State & Relationship #2
17 : 47
State 조작
23 : 38
SQL 호출
20 : 32
결론
11 : 54

수강 문의

  • 민규이 프로필 민규이
    2020-11-09 89166

    답변 정말 감사합니다 그럼 혹시 큰 팀이 아닌 경우 C++ IOCP 서버 같은 경우는 대부분 ORM을 이용하지 않고 직접적으로 서버와 데이터베이스가 접근하여 통신을 하나요?

    Rookiss
    Rookiss
    Rookiss
    2020-11-09 77955

    네 그렇습니다. 한땀 한땀 SQL 구문을 만들고 ODBC 등을 이용해 DB 연동을 하는데요. 경우에 따라 이런 부분을 조금 자동화 하는 경우도 있습니다. (일종의 자체제작 ORM)

  • 민규이 프로필 민규이
    2020-11-09 89124

    Rookiss님 데이터베이스 강의 정말 잘 들었습니다! 듣고 난 후 IOCP 서버와 DB서버를 연동 할 때 Entity Framework를 쓰면 유용할 것 같아서 질문드립니다 1. C++ 에서도 Entity Framework가 가능한가요? 2. 만약 가능하다면 C++ 과 C# 문법 차이가 많이 날까요? 항상 좋은 강의 감사드립니다

    Rookiss
    Rookiss
    Rookiss
    2020-11-09 77947

    1. 안됩니다. C# 전용이라고 보시면 됩니다. 2. 다만 온라인 게임을 만들 때 게임서버에 바로 DB를 연결시키지 않고, 게임서버와 DB(및 로깅 등)서버를 분리해서 CPU 부하와 IO 부하를 나누는 경우가 꽤 많이 있습니다. 매우 효율적이고 바쁘게 움직여야 하는 게임서버는 C++로, DB 저장 및 기타 잡기능을 담당하는 서버는 C#으로 구분해서 [클라] -> [GameServer C++] - [DB Server C#] 이렇게 가는 것도 괜찮다고 봅니다. 큰 팀 단위라면 DBA가 따로 있으니 딱히 상관없지만 작은 규모라면 SQL 만들고 DB 연동하고 DB 버전 관리하고 하는 부분이 잡일이 너~~무 많습니다.

  • 열심히하자 프로필 열심히하자
    2020-09-15 64376

    Rookiss님 안녕하세요 좋은강의 올려주셔서 감사합니다 수강하기전에 궁금한 사항들이 있어서 질문남깁니다 디비를 MSSQL 사용안하고 MYSQL 사용해도 Entity Framework를 사용할 수 있나요? 그리고 MYSQL로 게임서버 구동해도 성능에 큰 문제가 없는지 궁금합니다. MSSQL은 유료로 알고 있어서요... 감사합니다

    Rookiss
    Rookiss
    Rookiss
    2020-09-15 70901

    물론 가능합니다! 그리고 요즘은 일부 대형 MMO 프로젝트가 아닌 이상, MySQL이나 기타 다른 DB 제품을 더 많이 사용하는 추세입니다.

다른 수강문의 보기
지식공유자 되기
많은 사람들에게 배움의 기회를 주고,
경제적 보상을 받아보세요.
지식공유참여
기업 교육을 위한 인프런
“인프런 비즈니스” 를 통해 모든 팀원이 인프런의 강의들을
자유롭게 학습하는 환경을 제공하세요.
인프런 비즈니스