본문 바로가기

Programming7

(Python) Enum to int class EProtocol(Enum): INFO = 0 TOKEN = 1 COMMAND = 2 CHAT = 3 위와 같은 Enum을 if __name__ == "__main__": value = int(EProtocol.CHAT) 위와 같이 형변환을 하면 Traceback (most recent call last): File "D:/Projects/Python/TCP_Test.py", line 28, in value = int(EProtocol.CHAT) TypeError: int() argument must be a string, a bytes-like object or a number, not 'EProtocol' 위와 같은 에러가난다. class EProtocol(Enum): INFO = 0 TO.. 2023. 3. 27.
(VS) Component too big for incremental LTCG with 32-bit toolset Visual Studio에서 64bit로 빌드하면 아래와 같은 에러가 나타날 때가 있다. "Component too big for incremental LTCG with 32-bit toolset, build without incremental LTCG; Consider switching to 64-bit toolset" 분명 프로젝트를 64bit로 빌드를 하는 것인데, 32bit toolset으로 빌드를 하고, 메모리가 부족해서 안된다고 하는 현상이다. 해당하는 프로젝트의 vcxproj 파일을 열고 "Globals" 프로퍼티 그룹을 찾는다. 그리고 true 위와 같이 넣어주면 해결된다. 2023. 3. 27.
(Python) 프로젝트 배포 시 필요한 패키지 한번에 설치하도록 하기 파이썬 프로젝트 배포시, 이 프로젝트에서 사용하는 모든 패키지를 한 번에 설치하도록 하고 싶을 수 있다. 그럴때는 requirements.txt를 만들어서 이 안에 필요로 하는 패키지 목록을 작성하면 된다. pycharm일 경우에는 requirements.txt를 열면 자동으로 위와 같이 설치하겠냐는 팝업창이 뜬다. 터미널에서는 pip install -r requirements.txt 로 설치가 가능하다. 2023. 2. 25.
Recast & Detour Navigation System - 1. 솔루션 설치 GitHub - recastnavigation/recastnavigation: Navigation-mesh Toolset for Games Navigation-mesh Toolset for Games. Contribute to recastnavigation/recastnavigation development by creating an account on GitHub. github.com RecastNavigation은 한 제작자가 만든 강력한 네비게이션 시스템이다. 외부에서 추출한 Level Geometry를 Import하여 NavMesh를 자동으로 생성할 수도 있고, Detour라는 경로찾기 키트를 통해 NavMesh 상에서의 길찾기를 수행할 수 있다. RecastNavigation의 가장 강력한 기능.. 2022. 10. 5.
(C#) if문에서의 null 체크와 null 연산자의 차이 public class EventSource { private EventHandler Updated; public void RaiseUpdates() { ... } private int counter; } 위와 같은 클래스가 있고, RaiseUpdates시 counter를 증가시키고, Updated 이벤트를 호출한다고 생각해보자. public void RaiseUpdates() { counter++; if(Updated != null) { Updated(this, counter); } } 그냥 Updated를 호출하면 null이면 Exception이 발생하기 때문에, null 체크를 해주는게 안전하다. 1. if 문으로 Updated의 null을 검사하거나 2. null 연산자를 이용하거나 두 가지의 방.. 2022. 8. 6.
(C#) Generic Method 에서 null return 하는 방법 public static T FindType() { /* * Find T type in specific container */ return null; } 위와 같은 T type에 대한 Generic Method가 있다고 생각해보자. T type에 대한 find가 성공할 경우 그 인스턴스를 반환, 실패할 경우 null을 반환하고 싶다. 그렇지만 T가 value type인지 reference type인지 알 수 없기 때문에 null return 부분에 에러가 뜨게 된다. 이걸 처리할 수 있는 방법이 3가지가 있다. 1. default(T) public static T FindType() { /* * Find T type in specific container */ return default(T); } def.. 2022. 7. 24.