데이터에 기반한 사용자 행위 분석 - 어떤 데이터를 수집해야할까?
·
project/wargame
공격적인지 등의 플레이 스타일이나 성향 분석도 재밌을 거 같고, 인게임 데이터를 수집해서 사용자의 행위를 분석하면서 AFK나 탈주같은 트롤 행위를 검출하면 좋을 것같다. 추후 수집된 데이터들을 기반으로 다시 고민해보겠다. 일단 수집이 먼저다.  데이터 파이프라인(Data Pipeline) 구축e커머스 서비스들로 예시를 들자면, 구매나 배송같은 트랜잭션 작업 이외에 장바구니에 담거나 다시 꺼내고 쿠폰을 적용하는 모든 사용자 액션을 로그 데이터로 수집하고자 한다. 이런 사용자 행위를 수집하고 분석하는 데이터 파이프라인을 구축하는 것을 목표로 한다. 기존에 이미 사용하고 있던 Kafka를 통해서 데이터를 스트리밍할 생각이다. Case 1. Kafka Consumer가 이벤트를 받아서 구축한 ELK에서 분석Ca..
비동기 프로그래밍, 얼마나 알고 있나요? (Advanced Asynchronized)
·
backend
이벤트 기반 IO 처리 방식의 비동기 설계 패턴으로 여러 방식이 존재하고, 비동기 작업을 관리하지만 그 방식이 상이하다. 비동기 방식의 구분 : 이벤트를 감지하는 주체가 누구인가?두 방식 모두 "-actor"로끝나며 행동하는 주체로서 행위자(actor)를 의미한다. 따라서 어떤 방식으로 행동하는지를 나타낸다고 볼 수 있다. Reactor : IO 이벤트가 발생하면 직접 반응(React)하여 실행Proactor : 미리, 앞서서(Pro) + IO 작업을 요청해두고, 완료되면 OS가 자동으로 실행 1. Reactor 패턴I/O 이벤트가 발생하면 핸들러(Callback)를 등록해 두고, 이벤트가 발생하면 이를 처리하는 방식 동작 방식애플리케이션이 비동기 작업을 요청하고, 처리할 핸들러(콜백)를 등록I/O 멀티..
토이프로젝트 - IOCP 서버와 유니티 클라이언트 구현(winsock2, cpp)
·
windows
네트워크 수업 자유 주제 과제로 IOCP 서버에 유니티 연동해서 클라이언트 구현함.아무래도 과제용이니까.. 대부분의 기능을 쳐냈음그래서 Accept 도 동기로 처리하고.. 패킷 처리도 엉성하고.. ​Unity3d 와 연동하는 자료는 찾아도 안나오니 공부하는데 참고만 하길 바람니당 ​​유니티 클라이언트에서는 해당 dummy들의 좌표 이동을 시각화해서 볼 수 있고 채팅 가능함server/client 디렉토리의 client.cpp : dummy를 N(defined)개 서버에 접속시키고 매 초당 무작위로 이동 (x,y : -1,1)유니티 클라이언트에서 시각화할때 유의미한 결과를 보여주기 위해서 제공한 기능/client 디렉토리는 unity project : 그냥 유니티의 tcpClient로 접속해서 cpp와 c..
IOCP(IO Completion Port) 쉽게 이해하기
·
windows
IOCP(IO Completion Port) 란?Windows 운영체제에서 제공하는 비동기 I/O 처리 모델게임 서버에서 사용해서 착각하는데, 소켓 네트워크 기술이 아니라 이벤트 기반 I/O 처리 방법론이다.​Linux는 소켓을 파일 디스크립터로 동일시하는 반면, 윈도우는 별개로 구분한다.​IOCP = Overlapped IO + ThreadPool + Completion Queue​​중첩 입출력(Overlapped I/O)비동기 I/O 작업을 가능하게 하는 Windows 기술I/O처리 요청을 스레드가 디바이스 드라이버에 위임하고 I/O작업 종료까지 해당 스레드는 다른 작업을 수행device driver가 IO 작업을 처리하고, 완료되면 이벤트 객체를 통해 전달IO 요청한 쓰레드가 이벤트를 확인하고 결과..
IOCP GetQueuedCompletionStatus, CreateloCompletionPort 함수의 변경점
·
windows
어쩐지 공부하던거랑 다르더라....자꾸 오류뜨길래 무시했는데 알고보니 최신 SDK에서 함수들의 인자 타입이 변경되었다. 최신... 이라 해봤자 한참 옛날이지만ㅜ​  GetQueuedCompletionStatus 같은 경우에 LPDWORD 인자를 PULONG_PTR로 변환해야함  그외에도 CreateloCompletionPort, GetQueuedCompletionStatus의 새 버전인 GetQueuedCompletionStatusEx도 있다.​난 왜 이제 알았는가   https://learn.microsoft.com/ko-kr/windows/win32/api/ioapiset/nf-ioapiset-getqueuedcompletionstatus GetQueuedCompletionStatus 함수(ioapi..