투수 규정이닝 및 야수 규정 타석
야구에서는 투수의 방어율 순위 결정, 야수 중 타율 1위를 결정하기 위해, 규정 이닝 규정 타석 수 라는 규칙이 있다. 이런 규칙이 왜 있을까? 만약 이런 규칙이 없다면, 투수의 경우, 단 1이닝 투구만 하고 무실점하면 방어율 1위가 되고, 야수의 경우, 단 한 타석에만 들어서 안타를 치면 타율 1위가 되는 웃지 못할 상황이 생길 수 있을 것이다. 아마 방어율 1위와 타율 1위가 수십 명이 되는 사 태가 생길 수도 있을 것이다. ^^ 이를 방지하기 위해, 규정 이닝, 규정 타석수라는 규칙이 있다. 먼저 규정이닝은 소속팀의 경기수 이다. 이건 KBO 나 MLB 모두 마찬가지인 거 같다. MLB는 162이닝, KBO는 133이닝이다. 다음으로 규정 타석 수는, 소속팀 경기수 * 3.1 이다. 이것도 한국, ..
2013. 9. 5.
[SOCKET]TCP KEEPALIVE 옵션 설정
TCP의 경우, connection oriented protocol이지만, 송수신 중, 상대방 프로세스가 종료되는 등 정상적인 상황이 아닌 경우에는 세션의 종료 여부를 감지할 수 없다. 단지, 송신 측 TCP 버퍼가 가득 찬 경우에 EAGAIN을 발생시킬 뿐이다. 다시 말해, LAN 케이블이 뽑힌다든지, 기타 비정상적인 종료가 있을 경우, 상대 측에서 감지할 수 없다는 것이다. TCP option 중, SO_KEEPALIVE라는 옵션이 있는데, setsockopt 함수에서 SO_KEEPALIVE를 1로 setting하면 소켓 내부적으로 일정시간 간격으로 heartbeat을 전송하여, 비정상적인 세션 종료에 대해 감지한다. 그런데 SO_KEEPALIVE를 설정할 경우, 시스템에서 설정한 시간 간격으로 세션..
2013. 8. 29.