목록2022/11 (4)
KoreanFoodie's Study

위젯 리플렉터 언리얼의 위젯 리플렉터 기능을 이용하면, 현재 플레이하고 있는 창에서 어떤 위젯이 어떤 블루프린트를 사용하고 있는지, visibility 상태는 어떠한지 등을 한눈에 파악할 수 있다(위젯 리플렉터 : 창 > 개발자 툴 > 위젯 리플렉터). 더 자세한 사항은 이득우님 블로그의 에디터 확장 기초 글을 참고하자. 위의 히트 테스트 가능 위젯을 누르면, 다음과 같이 플레이 화면과 위젯 리플렉터 창이 바뀌는 것을 확인할 수 있다(이미지는 공식 문서에서 가져옴) 해당 위젯의 계층 구조를 파악할 수 있으며, 실시간으로 위젯을 끄고 킬 수도 있어 위젯 관련 디버깅에 매우 유용한 기능이다!
집착을 하지 않는 방법이 있을까. 누군가는 집착을 하려고 할 때마다, 자존감을 높여주는 책을 읽으려 한다는 우스갯소리를 한 적이 있다. 뭐, 그 조언을 그대로 실천하지는 않겠지만, 공감이 되어 피식 웃음이 나오는 것은 사실이다. 나는 왜 집착을 하는가? 연인이 있다는 사실 그 자체만으로도 매 순간 감사한다면, 상대방을 옭아매고 구속할 필요가 없을텐데. 집착은 사랑이 아니라 병이다. 상대방을 답답하게 만들면서 자신의 마음을 상처투성이로 너덜너덜하게 만드는, 아주 몹쓸 병이다. 지하철에서 법륜 스님의 설법을 들었다. 오해할 것 같아 덧붙이자면, 나는 평소에 설법을 듣는 취미를 갖고 있지 않다. 다만 유투브에서 관련 내용을 검색을 하니 제일 상위에 나왔을 뿐이다. 사랑을 글로 배우는 나에게 있어 유투브는 지식..

Asio 는 Asynchronous IO 의 약자이다. Asio 를 이해하기 위해서는, 다음과 같은 용어들을 알고 있어야 한다. IO Service 클래스 : 커널에서 발생한 입출력 이벤트를 디스패치 해주는 기능을 수행. 디스패치란, 우선순위가 높은 작업이 우선적으로 수행될 수 있도록 시스템 자원을 할당하는 것을 의미한다. IO Service 클래스는 커널에서 발생한 네트워크상의 접속 및 데이터 처리 이벤트를 처리한다. 종단점(Endpoint) : 네트워크 상의 특정 컴퓨터에서 실행되고 있는 하나의 프로그램. 구체적으로 IP 주소와 포트 번호의 한 쌍을 종단점이라고 함. DNS(Domain Name Server) : Boost Asio 에서는 도메인 주소를 이용, IP 주소를 알아내어 종단점을 구한다. ..

IOCP는 CPU 개수만큼만 쓰레드를 쓰는 서버이다. IOCP 를 사용한 모든 Send/Recv 는 Overlapped I/O 로 동작한다. 멀티쓰레드에서 동작하며, 콜백함수들을 동시에 동작해서 성능을 높인다. IOCP가 사용하는 IOCP 객체는 커널 안에서 관리된다. 커널 내에는 DEVICE LIST 라는 자료구조가 존재하는데, 소켓을 IOCP 에 등록하면 IOCP 객체는 DEVICE_LIST 에 소켓들을 등록해서 처리한다. 프로그래머는 DEVICE_LIST 를 직접 보거나 제어할 수 없다. 흐름을 다음과 같이 요약해 볼 수 있을 것 같다 : I/O 디바이스(소켓, FD) IOCP 에 등록 : CreateIoCompletionPrt 함수를 통해 디바이스와 CompletionPort(이하 CP) 를 바인..