파이썬을 접한지 얼마 안되고 본 프로젝트를 시작한 뒤 얼마안되 작은 문제에 봉착하였습니다. 스레드의 사용이 필요해진 것입니다. 바로 다음과 같은 이유 때문입니다. pygame은 메인스레드에선 작동하게끔 되어 있습니다. 물론 메인스레드에서 pygame을 수행하면서 소켓작업(send,recv)까지 해도 되긴 하겠지만 그래픽작업에 있어 중간에 소켓작업까지 겹친다면 원하는 속도를 보장할 수 없을거라 생각하였습니다. 때문에 threading을 상속받아 소켓을 select형태의 non-blocking형식으로 설계하여 프로젝트를 진행하려 했습니다. (non-blocking으로 한다면 recv에서 자원을 선점하지 않을테니 메인스레드 하나로도 게임 실행에 문제는 없을것입니다) 하지만 어느정도 구현이 진척되고 테스트를 해..
함수포인터에 대한 기초적인 사용 방법은 https://www.joinc.co.kr/w/Site/C/Documents/FunctionPointer 에서 참고바랍니다. 함수포인터의 사용의의라 하면 유연하게 코딩을 할 수 있다는데 있겠습니다. 또 코드의 양을 줄일수도 있습니다. 거두절미 하고 코드로 먼저 확인하겠습니다. 헤더파일에 typedef로 정의된 함수포인터는 두가지가 있습니다. ElementComprator ReturnValueComprator typedef로 정의해서 간략하게 함수포인터를 이용할 수 있습니다. 그렇지 않으면 일일이 함수의 헤더를 그대로 적어야겠죠. ElementComprator는 사용자정의 comp함수입니다. 클래스의 객체를 만들어 낼 때 매개변수로 넘길 수 있는데 이 함수포인터는 R..
자료구조 트립입니다. 저에겐 처음들어보는 자료구조였습니다. 하지만 개념자체는 이해하기 어려운 자료구조는 아니였으며 그 구현의 이해를 이해하는데 조금 시간이 걸렸을 뿐입니다. 제목처럼 트립은 힙과 트리의 결합형입니다. 다시말해 우선순위 힙과 이진트리 탐색의 장점을 합쳐놓은 것으로 주요목적은 트리가 한쪽으로 치우지지 않고 되도록 고르게 노드가 잡혀서 탐색, 삽입, 삭제등의 작업을 O(logN)에 마칠 수 있도록 하는것입니다. 이진트리의 탐색은 구현도 복잡하지만 자칫 잘못하면 운이 나빠 트리가 선형구조로 되어서 O(N)이 될 수도 있기 때문입니다. 또 힙의 장점으로써 하위노드들은 부모노드 보다 우선순위가 낮음을 이용합니다. 우선 트립을 구현한 헤더파일입니다. 보다시피 이진트리나 힙처럼 일반적인 구조를 갖고 있..
- Total
- Today
- Yesterday
- 피아노
- 코드잼
- kernerl
- C language
- yiruma
- C++
- Pointer
- 드럼
- 이루마
- peram jam
- Algorithm
- cpp
- Spring
- 카카오 공채
- 중국
- 정규표현식
- 알고리즘
- 문자열
- 중국여행
- printf
- python
- Codejam
- 여행
- regex
- 사천
- 악보
- STL
- compile
- link
- linux
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |