Skip to content

jacking75/edu_Learn_ASPNetCore_APIServer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

93 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ASP.NET Core Web API 게임 서버 학습 자료 분석

본 문서는 저장소의 다양한 학습 자료를 분석하고, 카테고리별로 정리한 내용입니다. 각 자료의 유용성(★~★★★★)을 표기하여 학습자가 효율적으로 자료를 선택할 수 있도록 돕습니다.

참고사항

  • ★★★★: 필수 자료
  • ★★★: 매우 유용한 자료
  • ★★: 유용한 자료
  • ★: 선택적 학습 자료

본 분석은 각 학습 자료의 내용, 접근성, 최신성, 그리고 게임 API 서버 개발이라는 목적에 얼마나 부합하는지를 기준으로 평가되었습니다. 학습자의 배경지식과 경험에 따라 자료의 유용성은 달라질 수 있습니다.

사용 기술 스택

  • 언어: C#
  • 프레임워크: ASP.NET Core
  • 데이터베이스: MySQL, Redis
  • DB 연결: SQLKata, Kata Execution (EF Core 사용하지 않음) , Cloud Structures (Redis 라이브러리)
  • 로거: ZLogger
  • 게임 서버 OS: Linux
  • 기타 기술: Docker, nGrinder, 프로메테우스 & 그라파나
  • 클라이언트 테스트: C# Blazor (후순위)

목차

  1. 초급 학습자 추천 경로
  2. C# 프로그래밍
  3. ASP.NET Core 기초
  4. ASP.NET Core 고급
  5. 데이터베이스 연동 (MySQL)
  6. Redis 활용
  7. 로깅 및 모니터링
  8. 환경 설정 및 배포
  9. 참고 프로젝트
  10. 기타 학습 자료
  11. LinqPad 관련자료

초급 학습자 추천 경로

ASP.NET Core로 게임 API 서버를 개발하기 위한 학습 경로를 다음과 같이 추천합니다.
직접 실습해야 할 부분은, 실습을 해보면서 프로젝트를 진행해 나가야 합니다.

  1. 게임 서버 기초

  2. C# 프로그래밍 기초

  3. ASP.NET Core 기본

  4. 데이터베이스

  5. Redis 학습

  6. Redis 라이브러리 CloudStructure 학습

  7. 로깅 (ZLogger, SeriLog 중 택 1)

C# 프로그래밍

참고 자료

  1. C# 비동기 프로그래밍 정리 (★★★) - 비동기 프로그래밍 필수 자료
  2. (인프런 무료 영상) C# 초보 강좌 예제로 배우는 C# (★★) - 예제 중심 C# 학습
  3. 문법 (★★) - C# 기본 문법 학습
  4. (YOUTUBE) VisualAcademy (★★) - 다양한 C# 강의 모음
  5. 6.0 버전 이후의 새 기능 (★)
  6. C# 멀티스레딩 (★)
  7. (인프런 무료 영상) C# 프로그래밍 - 커리큘럼 총 63 개 (★★) - Advanced한 C# 강의
  8. YOUTUBE 닷넷데브 (★) - C#개발 관련으로 정말 다양한 자료

ASP.NET Core 기초

필수 자료

  1. ASP.Net Core - DI 시스템 사용하기 (★★★) - 의존성 주입
  2. C#(.NET) 이미 빌드 된 API 서버의 엔드 포인트 url을 변경하는 방법 (★★★) - appsettings 설정 자료
  3. .NET 6에서 Kestrel 포트를 설정하는 몇 가지(너무 많은?) 방법 (★★★) - appsettings 설정 자료
  4. Visual Studio - launchSettings.json을 이용한 HTTP/HTTPS 포트 바인딩 (★★★) - appsettings 설정 자료
  5. ASP.NET Core 앱에서 URL을 설정하는 5가지 방법 (★★★) - appsettings 설정 자료

참고 자료

  1. 닷넷 빌드와 실행 (★★) - 닷넷 빌드와 실행 시 일어나는 일에 대한 상세 설명
  2. ASP.NET Core (★★) - 공식 사이트로 방대한 정보 포함
  3. ASP.NET Core 애플리케이션 최소 구현 치트 시트 (★★) - 최소 구현을 위한 환경 설정
  4. Microsoft Docs MCP Server (★★) MS Docs에 있는 ASP.NET Core 관련 기술 문서를 LLM으로 물어볼 때 도움이 된다.
  5. ASP.Net Core - DI에서 Dbcontext 사용하기 (★★) - Dbcontext를 사용하는 자료
  6. ASP.NET Core - DI로 추가한 클래스의 초기화 방법 (★★) - 간단한 예제
  7. ASP.NET Core 서버 시작까지 흐름 추적 (★) - 조금 예전 버전 자료

ASP.NET Core 고급

필수 자료

  1. ASP.NET Core에서 호스팅되는 서비스를 사용하는 백그라운드 작업 (★★★) - 백그라운드 작업
  2. ASP.NET Core 출력 캐싱 미들웨어 (★★★) - 성능 최적화

참고 자료

  1. ASP.NET Core의 속도 제한 미들웨어 (★★) - DDoS 방지
  2. 요청 본문을 Stream 또는 PipeReader로 바인딩 (해당 링크 중간 부분) (★★) - 대용량 파일 처리
  3. .NET Core9.0에서 CORS 설정하기 (★★) - CORS 설정
  4. ASP.NET Core에서 API 별 버전 관리 (★★) - API 버전 관리
  5. IHostedService 및 BackgroundService 클래스를 사용하여 마이크로 서비스에서 백그라운드 작업 구현 (★) - ASP.Net Core 백그라운드 작업 고급
  6. Client IP safelist for ASP.NET Core (★★) - 화이트리스트 기반 접근제어 미들웨어
  7. Custom ASP.NET Core Middleware Example (영어 자료)(★) - 미들웨어 example
  8. Exploring a minimal WebAPI with ASP.NET Core (★★) - minimal WebAPI 영어자료
  9. ASP.NET Core WebAPI에서 Custom Formatter를 이용하여 CSV 및 JSON 출력을 전환하는 샘플 (★★)
  10. ASP.NET Core - 우선순위에 따른 HTTP/HTTPS 호스트:포트 바인딩 방법 (★★)

gRPC

  1. ASP.NET Core gRPC 앱에서 gRPC JSON 코드 변환 (★★)
  2. gRPC JSON 코드 변환에 대한 HTTP 및 JSON 구성 (★★)
  3. .NET 앱에 대한 Protobuf 메시지 만들기 (★★)
  4. .NET용 gRPC 구성 (★★)
  5. .NET의 gRPC에서 로깅 및 진단 (★★)
  6. gRPC와 프로세스 간 통신 (★)
  7. 샘플코드 Transcoder (★)
  8. ASP.NET Core gRPC 앱에서 gRPC JSON 코드 변환 프로젝트 만들기 (★)

데이터베이스 연동

필수 자료

  1. 코드에서 DB 트랜잭션 하기 (★★★★) - 트랜잭션 처리
  2. 데이터 설계 (★★★) - 게임 DB 설계자료

참고 자료

Redis 활용

참고 자료

  1. CloudStructures - Redis 라이브러리 소개 (★★) - C# Redis 라이브러리
  2. Cache-Aside_pattern.md (★★★) - 캐싱 패턴 이해

로깅 및 모니터링

필수 자료

  1. ASP.NET Core 프레임워크 내부의 로그 수준 설정하기 (★★★) - 로그 레벨 설정

참고 자료

  1. fluentd 디렉토리 (★★) - 로그 수집 시스템
  2. prometheus_grafana 디렉토리 (★★) - 모니터링 시스템

환경 설정 및 배포

필수 자료

  1. Microsoft.Extensions.Configuration 및 Microsoft.Extensions.Options 사용 시작 (★★★★) - 설정 읽는 방법
  2. ASP.NET Core에서 여러 환경 사용 (★★★) - 환경별 설정

참고 자료

  1. Microsoft.Extensions.Configuration.Json에서 읽은 설정 값에 Prefix 부여 (★★) - 설정 관련 팁
  2. C#(.NET) 이미 빌드 된 API 서버의 엔드 포인트 url을 변경하는 방법 (★★) - 배포 후 설정
  3. .NET 6에서 Kestrel 포트를 설정하는 몇 가지 방법 (★★) - 포트 설정
  4. ASP.NET Core 앱에서 URL을 설정하는 5가지 방법 (★★★) - URL 설정
  5. "Docker Desktop for Windows" - ASP.NET Core 응용 프로그램의 소켓 주소 바인딩 (★) - Docker 설정
  6. docker 디렉토리 (★) - Docker 관련 예제 및 설명
  7. Visual Studio - .NET 8 프로젝트부터 dockerfile에 추가된 "USER app" 설정 (★) - 사용자 모드 같은 것에 대한 설정

참고 프로젝트

  1. 미니 게임 천국 (★★★★) - 가장 추천되는 참고 프로젝트
  2. api_server_training_dungeon_farming (★★★★) - 완성된 API 서버 프로젝트
  3. 지니 팜 (★★★) - 인턴 프로젝트
  4. 수집형 RPG API 서버 (★★)
  5. 2024년 API 서버로 만든 오목 게임 서버 (★★)
    • 두 개의 프로젝트가 있다. 둘다 만드는 게임은 같지만 각각 개발자는 달라서 구현도 조금씩 다르다
    • API 서버로 실시간 게임 콘텐츠를 구현하는 방법을 볼 수 있다. 롱 폴링 방식 사용
    • codes/practice_omok_game-1 , 'codes/practice_omok_game-2`
  6. 2025년 신입 사원 교육 프로젝트 (★★)
    • 하스스톤 모작
    • codes/HearthStone 디렉토리에 있다.

기타 학습 자료

API Server 개발하기

  • code 디렉토리의 GameAPIServer_Template 디렉토리에 있는 코드를 참고해서 만들기 바란다.
    • GameAPIServer_Template_Doc 에 코드에 대한 설명 문서가 있으니 꼭 보기 바란다
  • 프로젝트는 새로 만들고 구조나 코드 등을 참고한다.
  • GameAPIServer_Template 에 있는 코드 보다 더 좋은 코드를 만드는 것을 목표로 한다.

example_filter_APIServer

  • 해당 프로그램은 codes 디렉토리 안에 있다.
  • 기획데이터(마스터 데이터)가 json으로 된 것을 로딩
  • 미들웨어로 라우팅을 커스텀마이징
  • 미들웨어로 클라이언트 보낸 요청 데이터의 암호를 풀어서 핸들러에 전달하도록 한다
  • 필터로 클라이언트에 보내는 응답의 포맷을 변환하거나 암호화 하도록 한다

Deep Wiki

이 저장소의 내용을 DeepWiki로 만들었습니다. 2025년 5월 9일 제작한 위키는 영어로 작성되어 있습니다.

인턴 자료

  1. 학습자료_2022년_인턴 폴더 (★★★) - 인턴 학습 자료
  2. 코드 디렉토리 (★★★) - 다양한 예제 프로젝트 모음
  3. 인턴 서버 개발 기초 (★★★) - 게임 서버 개발자 기초
  4. 인턴 서버 개발 기초2 (★★★) - 게임 서버 개발자 기초 자료
  5. 인턴 서버 개발 기초3 (★★★) - 컴팩트한 서버 개발 기초자료
  6. 인턴 .NET 개발 기초 (★★★) - .NET 서버 개발 기초
  7. 워리할수있다 (tistory.com)(★★)
  8. Intro - WebAPI Server (gitbook.io) (★★)
  9. ASP (notion.site) (★★)
  10. https://velog.io/@oak_cassia/%EC%84%9C%EB%B2%84%EC%BA%A0%ED%8D%BC%EC%8A%A4-1%EA%B8%B0-ASP.NET-Core (★★)
  11. https://beathe.at/2023-04/ASP.NET-Core-GameServer (링크 끊김)
  12. 학습자료_2024_서버캠퍼스2기 (★★★) - 2024 서버캠퍼스 수료생 자료

.Net 예제

  1. ASP.NET Core 다양한 샘플 코드 (★★★) - 다양한 예제 코드 모음)

게임 엔진 아키텍처

  1. 게임 엔진 아웃라인 (☆)

네트워크 및 통신

  1. 네트워크 기초 (★★) - 네트워크 기초

LinqPad 관련 자료

  1. LinqPad 소개 (★★★) - LinqPad 기본 사용법
  2. LinqPad 무료 버전에서 nuget 사용하기 (★★★) - NuGet 패키지 관리

About

ASP.NET Core Web API 학습을 위한 저장소

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published