묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part6: 웹 서버
OnGet 하고 OnPost가 어떻게 호출될수 있죠?
OnGet, OnPost는 override가 아니라서 cshtml 기준에선 이 함수가 있다고 판단할수없습니다(제 생각). reflection 으로 메소드 찾아서 매번 invoke 하는거라면 이해하겠는데.. PageModel class에 virtual로 만들면 장점이 더 많을거같은데 이해가 안되네요. Unity Update같은것도 이런 방식이던데 작동되는 방식이랑 장점을 알고싶습니다.
-
미해결생산성을 향상시키는 스프링부트 기반의 API 템플릿 프로젝트 구현
로그아웃시 refresh token 은 만료 시간 업데이트 했지만 access token 은 만료 시간 업데이트 못하는건가요?
로그아웃 하게된다면웹 브라우저시에 쿠키 및 로컬 스토리지에 아직 access token 이 남아 있을텐데다른 사용자가 이걸 발견하고 이용하면 문제 있는거 아닌가요??
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part6: 웹 서버
DB를 수정하는 과정에서 Lock의 사용 유무
현재 강의를 보며 DB를 실시간으로 수정하는 것을 확인했습니다. 궁금한 점은 DB를 수정하는 과정에서 별도의 Lock이 없이 코드를 작성했다는 점입니다. 멀티 쓰레드, 멀티 유저 상황에서 DB에 접근한다면 race condition이 발생할 수 있다고 생각이 듭니다. 현재 블레이저로 만든 툴은 맛보기 정도라서 그런 상황을 고려하지 않은 거고 추후 서버에서 DB의 정보를 수정할 때는 lock을 걸어서 관리할 예정인가요? 찾아봐도 await 자체가 그런 기능을 하지 않는 것 같아 질문 남겨봅니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part6: 웹 서버
예외가 발생했네요
강의 내용 그대로 따라 했는데 에러가 생기네요.. RankingService가 등록이 되어있는데 왜이럴까요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part6: 웹 서버
visual studio 최신버전 깔아서하시면 많이 다릅니다...
이름 다른거에 크게 의미 두지 마시면서 따라하시면 될꺼같아요. 지금 2022버전으로 받으면 NET 6.0 에 StartUp도 없고 파일 생성할 떄 부터 이름이 많이 달라요!
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part6: 웹 서버
_showPopup 부분 질문
어떻게 검색해야 할 지 몰라서 밤늦게 질문드립니다 ㅠㅠ 혹시라도 주무시는데 알람이 갈까 미리 사과드립니다. @if(_showPopup)을 이용해서 다이얼로그를 띄우는 부분에 관해서 질문입니다. 버튼을 이용해서 _showPopup을 true로 바꿔주면 다이얼로그가 뜨는 부분이 잘 이해가 되지 않습니다. true로 바꾸어주었다고 해도 @if 부분을 다시 가야 다이얼로그 부분이 뜰텐데, while로 백그라운드로 체크하는건지 true가 되면 Callback으로 if를 체크해서 다이얼로그를 띄워주는건지 어떤 방법으로 true로 바뀐 것을 확인하고 다이얼로그를 띄우는건가요? +) 이번엔 출시된 디아블로2 레저렉션을 짬짬이 하고 있는데 햄딘이라는 캐릭을 키우고 있습니다. 캐릭터를 기준으로 반지름을 가지고 원 궤도로 회전하는 해머를 소환해서 닿는 몬스터를 때리는 기술을 쓰는데, 어떻게 구현을 한건지 해머를 돌리면서 자주 생각이 들더라구요. 디자인 패턴이 익숙치 않아 떠오르는 대로 다음처럼 생각 해보았는데요, 구현 자체의 문제점이라거나 해머를 많이 생성하면 서버와 통신할 때 문제가 생길까요? 해머라는 Class를 다음과 같이 설계해서 Class Hammer { public int _playerId { get; set; } public Vec3d _pos {get; set; } public _damage {get; set; } } 해머의 위치 _pos를 일정 프레임 단위로 체크해서 닿는 몬스터의 체력을 _damage만큼 업데이트 해주고, 해당 몬스터의 체력이 0 이라면 _playerId를 찾아서 경험치를 주거나 아이템 권한을 설정해주는 식으로 구현해주면 되지 않을까 생각해봤습니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part6: 웹 서버
blazor ui업데이트 시기 질문
안녕하세요 binding 실습하다 궁금한 부분이 생겨 질문드립니다. 바인딩이 너무나 편리한 것은 몸소 체감했습니다. 이전에 MVC를 실습했을 땐 Controller 부분에서 View를 반환함으로서 View의 업데이트가 일어났는데 Blazor는 명시적으로 반환값이 없으니 언제 UI의 업데이트가 발생하는지 궁금합니다. 아래 코드처럼 OnInitialized() AddUser() KickUser() 등 override함수와 사용자 정의 함수가 호출된 다음 종료되는 시점에 자동적으로 UI 업데이트가 이뤄지는 건가요? @code { List<UserData> _users = new List<UserData>(); string _inputName; protected override void OnInitialized() { _users.Add(new UserData() { Name = "MINGU" }); _users.Add(new UserData() { Name = "FAKER" }); _users.Add(new UserData() { Name = "DEFT" }); } void AddUser() { _users.Add(new UserData() { Name = _inputName }); _inputName = null; } void KickUser(UserData userData) { _users.Remove(userData); } }
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part6: 웹 서버
blazor 질문입니다.
안녕하세요 질문드립니다 ㅎㅎ 강사님 말씀대로 로직을 한 번 따라가봤는데 @Body 부분에 의문이듭니다. NavMenu -> herf = home, counter, fetchdata -> Counter.razor... NavMenu를 그리는건 Sidebar의 영역인데 전체 html의 body를 채우는건 아이러니하게도 NavMenu의 home.razor, counter.razor, fetchdata.razor 내부의 view와 controller가 담당하고 있더라구요 저 @Body가 핵심인 것 같은데요.. @Body와 [home.razor, counter.razor, fetchdata.razor] 요 녀석들이 어떤식으로 연결된건지 못찾겠습니다 ㅠㅠㅠ.. 설명 부탁드립니다.. @inherits LayoutComponentBase <div class="sidebar"> <NavMenu /> </div> <div class="main"> <div class="top-row px-4"> <a href="https://docs.microsoft.com/aspnet/" target="_blank">About</a> </div> <div class="content px-4"> @Body </div> </div>
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part6: 웹 서버
post 함수의 호출 관련 질문
안녕하세요 오랜만에 질문드립니다 ㅎㅎ Razor 실습중에 View에서 <form method="post"> method = "post"가 컨트롤러의 OnPost를 말하는건가요? post와 OnPost가 왜 연결이 되는지 궁금합니다.. 대소문자의 차이와 On 문자의 존재 여부도 다른데 말입니다. 문법이라면 문법이겠지만 규칙성이 있는지 궁금합니다. <form method="post"> <label asp-for="HelloMsg.Message">Enter Message</label> <br /> <input type="text" asp-for="HelloMsg.Message"/> <br /> <button type ="submit">Submit</button> </form> public class IndexModel : PageModel { //모델 바인딩 참가 암시 [BindProperty] public HelloMessage HelloMsg { get; set; } public string Noti { get; set; } public void OnGet() { this.HelloMsg = new HelloMessage() { Message = "Hello Razor Pages" }; } public void OnPost() { this.Noti = "Message Changed"; } }
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part6: 웹 서버
ASP.NET Core 웹 애플리케이션
환경설정 강의에서 Core가 없습니다. 영상에 Core가 달린 ASP.NET이 없네요. 그냥 Core가 없는걸로 해봤는데 Razor부분에서 웹 응용 프로그램이 없습니다(3:30)ㅜ
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part6: 웹 서버
Service 추가 방법
2회차 보고 있는중에,, ConfigureServices에 RankingService외에 다른 서비스를 추가하려면 어떻게 해야할까요? 서비스 명만 다르게 아래와 같이 동일하게 추가하면 page 접근시 연결이 자동 종료 되버립니다. services.AddHttpClient<RankingService>(c => { c.BaseAddress = new Uri("https://localhost:44351"); }); services.AddHttpClient<InventoryService>(c => { c.BaseAddress = new Uri("https://localhost:44351"); });