Category Archives: Development

libevent 라이브러리

libevent 는 규모있는 네트워크 서버를 개발하기 위한 이벤트 통지(Event Notification) 라이브러리 입니다. libevent API는 파일 명세자(file descriptor)에 대해 특정 이벤트가 발생하거나, 타임 아웃에 도달했을 때, 콜백 함수를 실행시켜 주는 메커니즘을 제공합니다. libevent가 지원하는 이벤트 및 멀티플렉서는 다음과 같습니다. /dev/poll kqueue … Continue reading

Posted in Development | Tagged , , | 1 Comment

libmicrohttpd 내장 웹서버 라이브러리

최근 프로젝트에서 내장 웹서버를 운영하기 위해 libmicrohttpd 라이브러리를 적용해 보았습니다. 물론, 임베디드 시스템에서 많이 사용하는 GoAhead 등과 같은 상용 라이브러리를 사용하거나, BusyBox 내장 웹서버, 또는 다른 많은 오픈소스 라이브러리를 사용할 수도 있지만, 라이센스도(LGPL 또는 eCos) 괜찮고, 성능과 API 구성이 단순하고 … Continue reading Continue reading

Posted in Development | Tagged , , , | Comments Off

도메인 메일 호스트(MX) 주소 얻기

예를 들어 nobody@hades.net이라는 메일 주소의 서버는 hades.net인 것 같지만 실제로 메일을 호스팅하는 서버는 해당 도메인 서버에 질의해서 MX 레코드에 기록된 호스트를 찾아야 합니다. 그리고 이 작업을 위해 DNS 관련 프로토콜을 직접 구현하거나. djbdns 등과 같은 라이브러리를 이용합니다. 그런데, 요즘 기존 … Continue reading Continue reading

Posted in Development | Tagged , , | Comments Off

Ice 인터넷 통신 엔진

GStreamer 2011 컨퍼런스 발표 자료를 보다가 Ice 미들웨어라는 걸 알게 되었습니다. 참고로 제가 본 발표 자료에서는 원격 임베디드 장치와 PC 사이의 비디오 스트리밍 및 장치 제어에 사용하고 있습니다. Ice(The Internet Communication Engine) 미들웨어는 쉽게 말해 간편하게 사용할 수 있는 통신 … Continue reading Continue reading

Posted in Development | Tagged , , | Comments Off

GUDev 사용하기

이제는 리눅스 데스크탑 뿐 아니라 임베디드 시스템에서도 당연하게 사용하는 udev 시스템은 단순히 장치 파일을 자동으로 생성해 주는 역할 뿐 아니라 여러 핫플러그(hot-plug) 방식 장치를 감지하는데도 유용하게 사용됩니다. 비단 키보드, 마우스 같은 입력 장치 뿐 아니라 USB 플래시, SATA / IDE … Continue reading Continue reading

Posted in Development | Tagged , , , | Comments Off