전체 글 116

Lua 스크립트의 함수를 C에서 간편하게 실행하기

C에서 Lua 스크립트의 함수를 호출하는 일반적인 방법은 아래와 같다.int main(void) { int ret = 0; lua_State *L = init_lua(); if (!L) return 0; /* function name */ lua_getglobal(L, "add"); /* call function - argument : 2 - return : 1 */ lua_pcall(L, 2, 1, 0); /* get return value */ ret = (int)lua_tointeger(L, -1); lua_pop(L, 1); printf("sum : %d\n", ret); lua_close(L); return 0; } C에서 Lua 스크립트의 함수를 편리하게 실행할 수 있도록 함수로 만들었다. (..

Lua 2015.03.30

Lua 스크립트 Visual Studio 개발 환경 구성

Lua 다운로드1. http://www.lua.org/download.html 2. 최신 버전을 다운 받아서 압축 해제 (lua-5.3.0.tar.gz) Visual Studio 2013 1. File > New > Project > Visual C++ > General > Empty Project > OK 2. Lua 압축 해제된 파일을 Visual Studio 프로젝트 경로에 복사 3. 프로젝트의 Header Files와 Source Files에 Lua의 .h와 .c파일 포함 ※ 단, main 함수 이름이 겹치지 않도록 lua.c와 luah.c 제거 4. Lua 스크립트 작성 후 Visual Studio 프로젝트에 저장 ("test.lua") #!/usr/bin/lua function add ( x,..

Lua 2015.03.30

MBR과 GPT

MBR (Master Boot Record) GPT (GUID Partition Table) 시스템 BIOS EFI 최대 파티션개수 4개 28개 1. Partition Table : 64 Byte 2. Partition Entry : 16 Byte 3. 64/16 = 4개 4. 확장 파티션, EBR 통해 4개 이상 생성 1. Partition Entry : 128 Byte 2. Partition Table : 16384 Byte 3. 16384/128 = 28개 파티션 최대크기 2TB 18EB 1. CHS 주소체계 : 232개 주소 2. 512 Byte(1섹터) * 232 = 2TB 1. LBA 주소체계 : 264개 주소 2. 512 Byte(1섹터) * 264 = 18EB 리눅스 명령 fdisk par..

Filesystem 2015.03.20

[TCP] window size full

TCP receive window size?수신자가 한 번에 버퍼링할 수 있는 최대 데이터 크기(bytes)를 의미합니다. 송신자는 수신자의 window size만큼 ACK를 기다리지 않고 데이터를 전송할 수 있습니다. Window Size Full? 수신자측에서 Read()를 수행하지 않아 수신자쪽 소켓 버퍼에 데이터가 쌓이게 되면 수신자의 window size는 점차적으로 감소하게 됩니다.수신자측의 버퍼가 가득차면 송신자에게 window size full을 알려서 데이터를 더 이상 전송하지 못하도록 합니다.즉, window size full은 아직 Read() 하지 않는 데이터가 수신자측 버퍼에 가득함을 의미합니다. 참조why would tcp full window happen TCP 세션 당 이론적..

Network 2015.03.18

[gsoap] 웹서버 오버헤드를 줄이기 위한 gsoap 버퍼링 구현

증상 HTTPS 사용 시 ONVIF 응답 지연 발생 원인 [gsoap] gsoap은 하나의 Response를 위해 여러 번의 send를 한다.soap_send_raw(soap, "", 1); ... [lighttpd] gsoap으로부터 recv한 패킷들을 각각 SSL_write → 오버헤드로 인한 전송 지연[963760976.648370]: ssl write begin [963760976.649320]: SSL_write [963760976.650925]: SSL_write [963760976.652421]: SSL_write [963760976.653860]: SSL_write [963760976.655395]: SSL_write [963760976.657133]: SSL_write ...... [96..

Network 2015.03.05