전체 글 62

Android process 의 waitfor() 호출 시 에러

void Func() { Process process = Runtime.getRuntime().exec(cmd); process.waitFor() } 아래는 유니티에서 호출하는 안드로이드 함수 내에서 프로세스를 실행을 하고 기다리기 위해 waitFor 을 호출했을 때 발생하는 컴파일 에러다. Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 F:\Work\Unity_Projects\GSB\Unity\GSBGame\Library\Bee\Android\Prj\IL2CPP\Gradle\unityLibrary\src\main\java\com\google\firebase\MessagingUnityPlayerActivity.java:124: error: unreported ..

공부/Unity 2023.12.27

HackerRank - Merge Sort: Counting Inversions

머지 소트 구현! 이전부터 공부해보고 싶었던 알고리즘인데 마침 해커랭크 문제가 있어서 구현해봤습니다. 어려워 보일 수도 있으나 원리만 정확히 이해하면 누구나 충분히 구현 할 수 있을 것 같습니다. 소트나 검색 알고리즘에서 항상 트리를 이용하기 때문에 트리 검색이나 소트 할 때 가장 최적화된 방식으로 하는 걸 공부하고 고민하면서 머지 소트에 대한 이해도를 높이는 것도 도움이 될 것 같습니다. 다음엔 대부분의 라이브러리에서 소트된 키-밸류 컨테이너를 구현할 때 사용하는 레드 블랙 트리를 직접 구현해보고 싶네요 👻 struct MergeArray { vector left; vector right; }; shared_ptr Split(const vector& arr) { MergeArray mergeArray;..

c# try catch finally

try catch 를 쓰는 이유 - https://stackoverflow.com/questions/4540155/why-cant-i-write-just-a-try-with-no-catch-or-finally catch 를 쓰면 throw 한 exception 을 삼켜 버린다. 그러므로 catch 를 쓸거면 exception handling 과 로그를 남겨야 한다. 만약 적절한 exception handing 과 로그를 남기지 않을 거면 catch 를 쓰지 말고 exception 을 throw 하게 냅두는 것이 낫다. 이후에 당연히 throw 한 exception 을 보고 처리를 해야 한다. catch 를 쓰지 않고 try - finally 만 쓰는 경우도 있다. finally 는 exception 을 ..

공부/C++ \C# 2023.08.01

c# init 키워드

프로퍼티의 get 지정자에 private 을 붙이면 선언한 클래스(구문) 내에서만 수정이 가능하다. init 키워드를 사용하면 private 보다 더 제한된 방법으로만 변수를 바꿀 수 있다. init 키워드를 사용하면 초기화 시점 외에는 변수 변경이 불가능하다. class Person { public string Name { get; init;} private string _name; } int Main() { var john = new Person { Name = 1984 }; john.Name = 1926; //Not allowed, as its value can only be set once in the constructor } init 보다 값 변경을 더 제한하는 키워드는 readonly, con..

공부/C++ \C# 2023.07.26