- 닷넷에서 API Server용 게임서버 개발을 위해 학습을 하기 위한 것이다.
- ASP.NET Core 7.0의 새로운 기능
- Announcing ASP.NET Core in .NET 7
- C# 비동기 프로그래밍 정리
- (YOUTUBE) VisualAcademy
- practical-aspnetcore ASP.NET Core의 다양한 샘플 코드를 볼 수 있다.
이 저장소에 있는 코드는 약간의 오류나 좋지 않은 코드는 일부러 놓아두고 있습니다. 학습하는 사람이 학습하면서 수정하는 것을 유도하고 있습니다. PR은 받지 않습니다.
직접 예제 코드를 만들어 보면서 학습을 잘하자
- Redis의 기본 데이터 유형 및 명령
- (영상) Redis 야무지게 사용하기
- Redis 기능 학습하기
- C# Redis 프로그래밍 학습
redis_training
디렉토리에 있는 것으로 redis 실습을 해보기 바란다
.NET 에서 로그 라이브러리로 ZLogger를 추천한다.
사용 방법은 ZLogger
디렉토리를 보기 바란다.
학습자료_2022년_인턴
이라는 디렉토리에 2022년 인턴 사원으로 근무한 분이 만든 학습 자료가 있다.
이 자료들을 순서대로 한번 보기 바란다.
이것들을 본 후 실습을 하나씩 한다.
03_Dapper
, 06연습 프로젝트 구현
은 따라서 실습을 할 필요는 없다. 그냥 보기만 한다.
학습에서는 데이터 베이스 프로그래밍으로 Dapper
를 사용하고 있는데 실제 실습에서는 SqlKata
를 사용한다
SqlKata 소개
demo 프로그램 codes
디렉토리에 있는 github_sqlkata_demo.zip
파일이다.
- https://sueshin.tistory.com/category/%EA%B0%9C%EC%9D%B8%EA%B3%B5%EB%B6%80/Web%20API%20%EA%B2%8C%EC%9E%84%20%EC%84%9C%EB%B2%84%20%EA%B3%B5%EB%B6%80
- https://gist.github.com/jacking75/344fd3c8c16fc27fe51d4c983a3a6306
- https://paper-tub-6ae.notion.site/0be4168f7f224f82a89110423e3943cb
- ASP.NET Core로 Web API 만들기
- 워리할수있다 (tistory.com)
- Intro - WebAPI Server (gitbook.io)
- ASP (notion.site)
- 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
- https://beathe.at/2023-04/ASP.NET-Core-GameServer
학습자료_2024_서버캠퍼스2기
디렉토리를 보기 바란다
- Web서비스의 서버구성과목적
- DAO, DTO, VO 란? 간단한 개념 정리
- ASP.NET Core Web 시작 컨트롤러와 route 규칙 Request 처리 Response 처리
- ASP.NET Core 애플리케이션 최소 구현 치트 시트
- 설정 파일 app.config
- DI
- ASP.NET Core 입문 – 미들웨어와 파이프라인 해설
- C#(.NET) 이미 빌드 된 API 서버의 엔드 포인트 url을 변경하는 방법
- .NET 6에서 Kestrel 포트를 설정하는 몇가지(너무 많은?) 방법
- Visual Studio - launchSettings.json을 이용한 HTTP/HTTPS 포트 바인딩
- ASP.NET Core 앱에서 URL을 설정하는 5가지 방법
- ASP.NET Core의 속도 제한 미들웨어
- 요청 본문을 Stream 또는 PipeReader로 바인딩
- STREAM
- ASP.NET Core 출력 캐싱 미들웨어
- ASP.NET Core 프레임워크 내부의 로그 수준 설정하기
- ASP.NET Core에서 호스팅되는 서비스를 사용하는 백그라운드 작업
- IHostedService 및 BackgroundService 클래스를 사용하여 마이크로 서비스에서 백그라운드 작업 구현
- practical-aspnetcore ASP.NET Core 예제 프로젝트 모음
- ASP.NET Core 서버 시작까지 흐름 추적
- ASP.NET Caching
- Client IP safelist for ASP.NET Core
- Custom ASP.NET Core Middleware Example
- Exploring a minimal WebAPI with ASP.NET Core
- ASP.NET Core에서 API 별 버전 관리
- ASP.NET Core WebAPI에서 Custom Formatter를 이용하여 CSV 및 JSON 출력을 전환하는 샘플
- 실행, 배포
- CORS
- 외부 자료:
아래 영상과 예제 코드를 참고하면서 단계 별로 만들면서 배운다.
- (YOUTUBE)1~6단계로 ASP.NET Core 기본 실습
- 설명 문서
- 예제 코드는
codes
디렉토리의basic2
디렉토리 안에 있다.
code
디렉토리의APIServer_Templete
디렉토리에 있는 코드를 참고해서 만들기 바란다.- 프로젝트는 새로 만들고 구조나 코드 등을 참고한다.
APIServer_Templete
에 있는 코드 보다 더 좋은 코드를 만드는 것을 목표로 한다.
- 아래 프로그램은
codes
디렉토리 안에 있다. - 기획데이터(마스터 데이터)가 json으로 된 것을 로딩
- 미들웨어로 라우팅을 커스텀마이징
- 미들웨어로 클라이언트 보낸 요청 데이터의 암호를 풀어서 핸들러에 전달하도록 한다
- 필터로 클라이언트에 보내는 응답의 포맷을 변환하거나 암호화 하도록 한다
- 아래 프로그램은
codes
디렉토리 안에 있다. - 아래 기능을 사용하여 JSON을 주고 받을 수 있도록 한다. 아직 클라이언트에서 gRPC 통신을 쉽게 할 수 없는 경우가 많다.
- MS Docs
- 샘플코드 Transcoder
- ASP.NET Core gRPC 앱에서 gRPC JSON 코드 변환 프로젝트 만들기
- (2022년) 신입 사원 교육 프로젝트
codes/practice_robotmon-go
디렉토리에 있다..NET 6
버전 사용
- 2023년 지니어스 인턴 프로젝트
- (2024년 1월) 신입 사원 교육 프로젝트
- 미니게임천국 모작
codes/practice_MiniGameHeavenAPIServer
디렉토리에 있다..NET 8
버전 사용
- 2024년 API 서버로 만든 오목 게임 서버
- 두 개의 프로젝트가 있다. 둘다 만드는 게임은 같지만 각각 개발자는 달라서 구현도 조금씩 다르다
- API 서버로 실시간 게임 콘텐츠를 구현하는 방법을 볼 수 있다. 롱 폴링 방식 사용
codes/practice_omok_game-1
, 'codes/practice_omok_game-2`
- Controllers: 컨트롤러 클래스를 저장하는 곳
- Dto: 클라이언트와 데이터를 주고받을 때 모델 클래스를 저장하는 곳
- Infrastructure: DB, 메일, 기타 시스템 연동 등의 설정파일을 저장하는 곳
- Libraries: 프로젝트 내 공통 처리를 저장하는 곳
- Repositories: DB 접근 처리를 저장하는 곳
- Services : 비즈니스 로직을 저장하는 곳
│ ├── Controllers │ │ └── TodoController.cs │ ├── Dto │ │ ├── CreateRequestDto.cs │ │ └── CreateResponseDto.cs │ ├── Infrastructure │ │ ├── Configure │ │ │ ├── DatabaseConfigure.cs │ │ │ └── ServiceConfigure.cs │ │ └── Database │ │ └── TodoEntity.cs │ ├── Libraries │ │ ├── Exception │ │ │ └── ValidationException.cs │ │ └── Middleware │ │ └── CustomExceptionMiddleware.cs │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── Repositories │ │ └── Todo │ │ ├── ITodoRepository.cs │ │ └── TodoRepository.cs │ ├── Services │ │ └── Todo │ │ ├── ITodoService.cs │ │ └── TodoService.cs │ ├── TodoApi.csproj │ ├── TodoApi.sln │ ├── TodoApi.http │ ├── appsettings.Development.json │ └── appsettings.json ├── Api.Tests │ ├── Api.Tests.csproj │ ├── Api.Tests.sln │ ├── GlobalUsings.cs │ └── UnitTests │ └── Services │ └── TodoServiceTests.cs └── dotnet-todo-web-api.sln
- 팜 게임 만들기:
api_server_training_tany_farm
디렉토리 - 수집형 RPG 게임 만들기:
api_server_training_dungeon_farming
디렉토리
- 학습에는 LinqPad라는 툴을 사용하면 편리하다
- 빠르게 핵심 위주로 배우고 싶다면 예제로 배우는 C# 프로그래밍 사이트의 글을 본다.
- (인프런 무료 영상) C# 초보 강좌 예제로 배우는 C# - 11 강 ∙ 8시간 17분
- (인프런 무료 영상) C# 처음부터 배우기 - 커리큘럼 총 11 개 ˙ 3시간 53분의 수업
- (인프런 무료 영상) C# 프로그래밍 - 커리큘럼 총 63 개 ˙ 29시간 56분의 수업
- YOUTUBE 닷넷데브