========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 그냥 문제 없는 단순 오타이긴 한데 제보드립니다.. 리플렉션 강의노트와 강의자료 MethodV2 클래스 주석에 동적 메서드 호출 - 리플렉션 사용인데 사요로 되어 있어서 제보드립니다. 감사합니다.
함수와 재귀함수 (v2) 59:06에서 arr[0]이 어떻게 리턴이 되는지 궁금합니다. arr[0]이 max 값으로 리턴 되는건가요? return arr[0]값이 위에 int maxval로 리턴이 돼서 밑에 있는 maxVal(arr, size-1) 함수에 값이 대입이 돼서 max에 arr[0]이 대입된건가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 강사님이 보시는 문서 볼 수 있는 곳이 있나요?
1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 배열에서 int [][]를 입력할때 오른쪽 방향키를 누르지 않고 바로 첫번째[]를 넘어가서 []를 입력가능한 단축키가 있을까요?
컨트롤러에서 직접 사용자 인증처리를 구현하는데 마지막에 Oauth2AuthenticationToken을 SecurityContextHolder를 사용해 securityContext에 저장하는데, 이 처리는 이번 요청이 끝나면 securityContext가 초기화되므로 securityContext를 세션에도 저장해줘야 하는거 아닌가요?
스킬시스템의 public bool Use(Skill skill) { skill = Find(skill); Debug.Assert(skill != null, $"SkillSystem::IncreaseStack({skill.CodeName}) - Skill이 System에 등록되지 않았습니다."); return skill.Use(); } 여기에서 스킬을 사용한다는것은 알겠는데 등록되어있는 스킬을 사용하는 방식이 어떤건지 잘 모르겠습니다. 모든 참조를 이용해서 찾아도 스킬테스트에서 사용한 것 말고는 없고 이벤트를 이용한것인가 싶어서 다 찾아보아도 안보여서 질문을 드립니다.
[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
루키스님 안녕하세요? 기존 SendBuffer.cs는 메모리 누수 이슈 등으로 삭제하고 새로운 기법을 알려준다고 말씀해주셨는데 그게 최종적으로 ClientSession.cs의 Send()함수가 되는게 맞을까요? (아래 코드블록) 맞다면 Send()가 호출 될 때 마다 버퍼를 새로 생성하기 때문에 SendBuffer.cs의 강점이었던 하나의 거대한 메모리를 사용하면서 버퍼 생성 및 Copy가 줄어드는 이점이 없어진 걸로 이해가 됐는데, 기존의 SendBuffer.cs와 새로운 대체된 Send()의 장단점이 각각 궁금합니다. ClientSession.cs public void Send(IMessage packet) { string msgName = packet.Descriptor.Name.Replace("_", string.Empty); MsgId msgId = (MsgId)Enum.Parse(typeof(MsgId), msgName); ushort size = (ushort)packet.CalculateSize(); byte[] sendBuffer = new byte[size + 4]; Array.Copy(BitConverter.GetBytes((ushort)(size + 4)), 0, sendBuffer, 0, sizeof(ushort)); Array.Copy(BitConverter.GetBytes((ushort)msgId), 0, sendBuffer, 2, sizeof(ushort)); Array.Copy(packet.ToByteArray(), 0, sendBuffer, 4, size); Send(new ArraySegment<byte>(sendBuffer)); }
뭔가 빠져서... 이게 맞겠죠..? a = [1, 2, 3] b = a c = [1, 2, 3, 4] print(a is b) # 출력: True print(a is c) # 출력: False print(b is not a) # 출력 : False print(b is not c) # 출력 : True print(a == c) # 출력: False print(a != c) # True print(a != b) # False print(c != b) # True 같다 : is 와 is not 과의 차이 ==, != != 값이 다른지 판단 (내부) == 값이 같은지 is = 객체가 같은지 is not = 객체가 다른지 # 예제 def add(a, b, c): return a + b + c nums = [1, 2, 3] print(add(*nums)) # 출력: 6 kwargs = {'a': 1, 'b': 2, 'c': 3} print(add(**kwargs)) # 출력: 6 print(add(*kwargs)) # 출력: abc 딕셔너리에서는 문자열도 언팩킹해서 값으로 보내는 느낌이 있네요 . 키 값이라서 안될 줄 알았는데. (이게되네..?)
안녕하세요? AraaySegment 관련해서 코드리뷰하다 궁금한게 생겨서 질문 드립니다. ArraySegment<byte>.Offset이 잘 이해가 안가서요. 제가 알아 본게 맞다면? Offset은 항상 0이 아니고 데이터가 시작하는 위치를 가르킴 그렇다면 _buffer는 항상 0부터 데이터를 사용하고 있으므로 항상 Offset은 0임 그렇다면 RecvBuffer.cs의 이 코드는 이렇게 바꿔도 되지 않을까? 원래 코드 public void Clean() { int dataSize = DataSize; if (dataSize == 0) { // 남은 데이터가 없으면 복사하지 않고 커서 위치만 리셋 _readPos = _writePos = 0; } else { // 남은 찌끄레기가 있으면 시작 위치로 복사 Array.Copy(_buffer.Array, _buffer.Offset + _readPos, _buffer.Array, _buffer.Offset, dataSize); _readPos = 0; _writePos = dataSize; } } 수정 후 Array.Copy(_buffer.Array, readPos, buffer.Array, 0, dataSize); _readPos = 0; _writePos = dataSize; 마찬가지로 Session.cs 에서 _buffer정보를 리턴해 주는 이 코드는 이렇게도 되지 않을까? 수정 전 void RegisterRecv() { if (_disconnected == 1) return; _recvBuffer.Clean(); ArraySegment<byte> segment = _recvBuffer.WriteSegment; _recvArgs.SetBuffer(segment.Array, segment.Offset, segment.Count); 수정 후 _recvBuffer.Clean(); ArraySegment<byte> segment = _recvBuffer.WriteSegment; _recvArgs.SetBuffer(segment.Array, segment.Offset, segment.Count); 제가 계속 곱씹어봤는데 Offset에 대한 이해가 안되서 ㅜㅜ 답변해주시면 감사하겠습니다.