좋은 프로그램이란, 유휴 시간없이 하고 싶은 일을 최대한 많이 하는 프로그램을 의미합니다. 여기서 중요한 것은, 하고자 하는 일을 많이 해야 된다는 점이죠. 싱글 스레드 클라이언트 프로그램의 경우는 대게 아래와 같습니다. 1. 입력 받는 작업2. 연산 작업3. 화면 그리기 4. 1번으로 돌아감 시간을 재고, 특정 작업 시간이 오래 걸려 재 속도를 내지 못한다면, 연산량을 감소 시킬 수 있는 처리를 하거나 (초당 프레임 조정 등), 만약 연산량을 줄일 수 없는 경우라면 게임 속도가 느려지게 됩니다. 연산량을 감소시켜서라도 제속도를 낼 수 있는 임계치를 최소 사양이라고 부릅니다. 멀티 스레드 서버 프로그램의 경우는 어떨까요? 처리 스레드 종류에 대한 가정 - 소켓 이벤트 처리 6개 스레드 - 패킷 처리 1개..
1. 데이터를 동시에 쓰는 상황, 읽는 도중 값이 변경되는 상황, 읽는 도중 delete 되는 상황에 유의하라. -> 데이터를 동적으로 다뤄야 되는 상황 자체를 줄이는 것이 좋다. NULL 대신 NULL객체 처리를 선호하는 것이 멀티 스레드 프로그래밍에서 크래시를 줄이고 쉽게 예외 핸들링 할 수 있는 방법중 하나다. 2. 생성자 / 소멸자 호출 도중에 가상 함수를 읽지 않게 하라.-> 가급적 생성자 / 소멸자에선 로직 처리를 금하라. 실패 할 수 있는 동작은 생성자/소멸자에서 시도하지 않는 것이 좋다. 3. 동기화에 대해 주의하라. -> 어디서부터 어디까지 공유 데이터인지를 명확히하고, 그 이상의 접근을 막아라. 4. 스레드 마다 별도로 주어지는 공간 (스택), 모든 스레드가 공유하는 공간 (힙, 정적 ..
- Total
- Today
- Yesterday
- 리버스 엔지니어링
- EzShortcut
- Rails
- TraceRoute
- 루비 온 레일즈
- ruby
- TDD
- CppSQLite
- 좋은 프로그래머
- 멀티스레드
- 디자인 패턴
- svn
- ftp
- NDC2013
- RoR
- 임백준
- 바로가기 프로그램
- 게임개발포에버
- perfmon
- SQLite Spy
- 게임데브포에버
- EasyExec
- 디버깅
- c언어
- Ruby on Rails
- 엘키
- SDL
- 루비
- 조엘 온 소프트웨어
- MS-SQL
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |