목록전체 글 (155)
센로그
◆ 프로젝트 소개온라인 오목 게임 서버를 제작한 프로젝트입니다.3개의 API 서버(Hive Auth 서버, Game API 서버, Matching 서버) 및 1개의 소켓 서버(오목 서버)로 구성되어 있습니다.오목 서버의 경우 Scale Out이 가능하도록 설계하였습니다. ◆ 프로젝트 개요개발 기간 : 2024.04. - 2024.06. (2개월)참여 인원 : 1인사용 언어 : C#깃허브 저장소: https://github.com/grace7040/Server-Project-Com2us/tree/main ◆ 사용 도구, 기술 및 라이브러리ASP.NET Core 8MySQLSqlKataRedisCloudStructureSuperSocketLite (소켓 통신 라이브러리)MemoryPack (데이터 직렬화 라..
◆ 프로젝트 개발 동기'이럴거면 게임 내가 만들지!' 게임을 하다가 이런 생각을 해본 적은 없으신가요?Sketcheez에서는 직접 자신만의 게임을 만들어나갈 수 있습니다.얼굴이 마음에 안드시나요? 그리세요!무기가 마음에 안드시나요? 그리세요!효과음이 마음에 안드시나요? 녹음하세요!이제, 내가 그린 무기와 내 목소리로 움직이는 캐릭터를 조종하여 스테이지를 클리어하세요. ◆ 프로젝트의 목적플레이어가 커스터마이징 할 수 있는 요소들을 만들자GPGS나 AdMob등 다양한 API를 사용해보자정기적인 코드 리뷰 및 리팩토링을 진행하자 ◆ 프로젝트 개요ㆍ 게임 제목 : Sketcheezㆍ 플랫폼 : Androidㆍ 장르 : 2D 플랫포머ㆍ 소개 : 몬스터를 처치하면 해당 색상을 얻을 수 있습니다.가지고 있는 색상을 ..
◆ 문제상황AdMob 보상형 광고 테스트 시 발생한 문제이다.Unity 에디터에서는 AdMob 광고가 잘 작동했으나, 빌드 후에는 작동이 되지 않았다.처음에는 광고가 정상적으로 로드되고 재생되었으나, Reward 지급 시 앱이 비정상 종료되었다.AdMob 패키지를 최신 버전으로 업데이트 한 후 다시 시도해보니, MobileAds.Initialize가 동작하지 않았다. ◆ 원인빌드시 구글 플레이스토어에 업로드하기 위해 R8을 사용했는데,R8이 빌드 과정에서 AdMob 관련 필요 정보들(com.google.android.gms.ads)을 난독화시키는 과정에서 일어난 문제로 보인다. ◆ 해결 방법R8이 난독화 시 AdMob 관련 클래스를 포함하지 않도록 해야한다. Edit > Project Settings >..
◆ Custom Middleware 미들웨어 커스터마이징하는 법!! 우선 미들웨어의 특성을 살짝 복습해보자 요청 및 응답을 처리하는 부품 매 요청시마다 항상 실행되어야 할 로직에 사용함 양방향에서 처리됨 미들웨어가 Response를 직접 생성하면, ShortCut 역할을 한다. 아래로 계속 보내는 게 아니라, 흐름을 가로채서 끊어내는 것 이런 특성들에 대해 조금 더 자세히 알아보고자 한다. 우리가 미들웨어를 직접 만들어서 사용하고 싶을 수 있다. 이때 다음 방법들을 사용해 미들웨어를 구성할 수 있다. Run 이용 항상 흐름을 종료(shortcut)시킨다. (터미널 미들웨어) Map 이용 Branching 미들웨어 모든 미들웨어가 항상 순차적으로 실행되어야 하는 것은 아니다. 흐름을 가로챘다고 해서 꼭 위..
◆ Logging 로깅은 언제 해야 하느냐? 버그를 찾을 때. 서버에서는 로깅이 특히 중요하다. 중단점으로는 디버깅하기 어려운 경우가 많기 때문 ASP.NET Core에서는 어떻게 로깅할까? 기본적으로 ILogger라는 로깅 클래스를 제공한다. ILogger : 로깅을 하는 주체 ILoggerProvider : 어디에 로깅할지 ConsoleLoggerProvider FileLoggerProvider ... Program.cs의 builder을 통해 로깅 기능을 설정할 수 있다. 얘를 실제로 사용하기 위해서는 DI를 이용해 ILogger을 주입해주면 되는데, MVC 기본 플젝에서는 홈컨트롤러가 기본적으로 ILogger _logger 을 갖고있다. 따라서 아주 간단하게는 이런식으로 로깅해주면 된다. (Hom..
◆ Authorization authorization은 권한과 관련된 문제이다. 인증을 통과한 사용자라고 하더라도 사용자마다 허용된 권한은 다를 수 있다. ASP.NET Core에서 권한 관련 작업은 필터를 통해 처리된다. 요청 처리 과정 속에서 보면, 다음 시점(4.1)에서 처리된다. Request Routing Authentication 미들웨어 (인증) MVC 미들웨어 Authorize 필터 적용 Action View Authorization시 사용하는 애트리뷰트는 다음과 같다. [Authorize] 권한이 있는 경우에만 해당 액션 또는 컨트롤러를 사용 가능하도록 함 [AllowAnonymous] 필터 특성상, 적용 범위를 세부적으로 설정할 수 있다. (Global, Controller, Actio..