유니티 코루틴 및 yield 키워드 관련 공부

유니티에서 코루틴을 사용할 때 함수 이름의 문자열 또는 IEnumerator 를 반환하는 함수를 사용해서 호출할텐데, 이 때 사용되는 yield 가 무엇인지 더 자세히 알아보기 위해 공부 및 글을 남깁니다. 😄 코루틴? 💡 Quotation 반복기에서 yield 문을 사용하여 다음 값을 제공하거나 반복 종료를 알립니다. - MSDN 유니티에서 코루틴을 스레드 대신 사용한다고 하여 내부적으로 thread-safe 를 준수하는 스레드? 인 줄 알았으나, 단순히 싱글 스레드에서 반복문을 돌려 처리하는 것이었습니다. 그럼 어떻게 싱글 스레드에서 스레드를 사용하는 것 처럼 쓰일 수 있을까요? 아니 그 전에 스레드를 왜 사용했을까요? ...

2025년 01월 10일 · 3 min · 438 words · JongBin

유니티 WebGL 프로젝트에서 Websocket 사용하기

유니티 세계에서 통신을 하기 위한 방법으로 소캣, HttpRequest 등 다양한 방법들이 있습니다. 그 중 저는 실시간 양방향 통신이 필요해서 소캣을 이용하여 NetworkManager를 만들었습니다. 😭 일반 소켓을 웹에 사용하면 웹 소캣이겠지.. 라고 생각한 무지했던 과거의 나.. 하지만 일반 소캣과 웹 소캣은 프로토콜부터 달랐으며 서로 통신도 안된다는 것을 깨닫고 웹 소캣 통신을 하기위해 여러가지 시도를 하게 됩니다. 그 중 성공했던 방법을 공유해 드리겠습니다. 👍 System.Net.WebSockets (실패) 첫 번째로 시도한건 C# 에서 바로 사용할 수 있는 System.Net.WebSockets 이었습니다. 라이브러리를 받을 필요 없이 바로 추가해서 사용할 수 있기 때문이었습니다. ...

2025년 01월 01일 · 2 min · 283 words · JongBin

유니티 싱글톤 패턴 및 템플릿 구현

💡 Quotation 소프트웨어 디자인 패턴에서 싱글턴 패턴(Singleton pattern)을 따르는 클래스는, 생성자가 여러 차례 호출되더라도 실제로 생성되는 객체는 하나이고 최초 생성 이후에 호출된 생성자는 최초의 생성자가 생성한 객체를 리턴한다. 이와 같은 디자인 유형을 싱글턴 패턴이라고 한다. Wikipedia 싱글톤 패턴은 위 내용처럼 프로그램이 가동된 후 딱 하나의 인스턴스만 갖는 객체를 말합니다. 전역 변수의 개념이 있으며 해당 객체의 포인터를 알고 있다면 글로벌한 성격을 가질 수도 있습니다! 👍 하지만 전역 및 글로벌 변수들이 많으면 스파게티 코드가 된다는 단점이 있으며 사용하는 순간 종속되기 때문에 단위 테스트의 어려움을 가질수 있습니다. 따라서 구현 전에 적절한 설계가 반드시 필요합니다. ...

2025년 01월 01일 · 3 min · 639 words · JongBin