Public/tip & tech 122

libevent 사용 예

* 메인 홈페이지 : http://www.monkey.org/~provos/libevent/ kqueue, /dev/epoll과 같은 유명한 multiplexer 장치들을 캡슐화한 C 라이브러리. 상당히 안정적. 소스도 작다. 1.0c 릴리스. man 페이지 : http://monkey.org/~provos/libevent/event3.html 아래 설명은 man 페이지를 정말로 많이 참조한다음 제가 좀 고쳐본 것입니다. Contents 1 설치법 2 필요한 헤더 include 3 설명 [edit] 1 설치법 # 이유는 모르겠지만 mingw에서 빌드가 자꾸 실패한다. 다음과 같이 autotool 기반 빌드를 실행하면 된다. 기본적으로 /usr/local/include, /usr/local/lib에 설치되..

Public/tip & tech 2011.06.01

libevent 및 libev로 네트워크 성능 향상

다중 UNIX 네트워크 연결 관리 Martin Brown, Freelance Writer, Author Martin Brown has been a professional writer for more than seven years. He is the author of numerous books and articles across a range of topics. His expertise spans myriad development languages and platforms -- Perl, Python, Java™, JavaScript, Basic, Pascal, Modula-2, C, C++, Rebol, Gawk, Shellscript, Windows®, Solaris, Linux, BeOS, Mac O..

Public/tip & tech 2011.06.01

extern 과 static 선언의 차이

C에서 함수는 중첩선언이 허용되지 않고 원칙적으로 함수의 기억 클래스는 static 또는 extern으로 주어진다. static 함수는 정의된 파일에서만 가시적이고, extern 함수는 프로그램을 구성하는 모든 파일에서 가시적이다. 함수의 디폴트 클래스는 extern이기 때문에 static 일 경우에만 static으로 서술한다. static 함수는 원시프로그램 파일 안에서만 참조될 수 있으므로 비공개 함수로 사용될 수 있다. 즉, 다른 프로그램 파일에 같은 이름의 함수가 작성될 수 있음을 의미한다. extern 함수는 모든 프로그램 파일로부터 호출될 수 있다. static add(int x, int y) { return(x+y); } -- 이상 http://pllab.kangwon.ac.kr/lectur..

Public/tip & tech 2011.05.31

Thread 취소와 종료 (자주 보는 쓰레드 사용법)

JOINC.co.kr Thread 취소와 종료 Date: 2004/02/15 Topic: 시스템 프로그램 윤상배: dreamyun@yahoo.co.kr 1절. 소개 쓰레드에 대해서 학습을 해본 적이 있다면 Thread 취소와 종료에 대한 내용은 뻔한 것 아니냐라고 생각할 수 있을 것이다. 하지만 이 문서를 읽어 보면 왜 별도의 문서를 만들어서 종료와 취소에 대해서 다루었는지 이해하게 될 것이다. 2절. Thread 취소(cancellation)와 종료 쓰레드는 제어 가능한 객체로 필요에 따라 생성시킬 수 있듯이 필요에 따라서 중단시킬 수도 있다. 이 쓰레드 중단이라는 것이 매우 단순한 행위라고 생각되지만 생각처럼 그렇게 단순한 행위가 아니다. 멀티 쓰레드 프로그램이라면 쓰레드 간 동기화를 위해서 조건 변..

Public/tip & tech 2011.05.31

POSIX 쓰레드 - 메모리 공유에 필요한 간단하고 신속한 도구 (자주보는 쓰레드 사용법)

난이도 : 초급 Daniel Robbins, CEO, Gentoo Technologies, Inc. 2000 년 7 월 01 일 POSIX (Portable Operating System Interface) 쓰레드는 사용자의 코드 반응성 및 성능 향상에 필요한 방법이다. Daniel Robbins는 사용자의 코드에 쓰레드를 적용하는 방법을 제시한다. 감춰진 많은 세부사항을 다루기 때문에 이 글의 시리즈를 모두 읽은 후에는 스스로 멀티 쓰레드 프로그램(multithreaded programs)을 만들 수 있을 것이다. 재미있는 쓰레드 쓰레드의 올바른 사용법을 익히는 것은 훌륭한 프로그래머의 자격요건 중의 하나이다. 쓰레드는 프로세스와 비슷하다. 쓰레드는 프로세스와 같이 커널에 의하여 시간 분할(time-s..

Public/tip & tech 2011.05.31

Wi-Fi를 통한 동영상 스트리밍

고화질 3D 영화가 저장된 플래시 드라이브를 갖고 집에 도착하면, 당신은 노트북에 그 드라이브를 연결하고 기가비트 Wi-Fi를 통해 네트워크 파일 서버에 전송시킨다. 2분 뒤면 영화는 네트워크 엔터테인먼트 센터에서 당신의 벽걸이 HDTV로 60GHz의 무선 인터넷 연결을 통해 실시간 상영할 준비가 된다. Wi-Fi를 통한 동영상 스트리밍 유선 이더넷은 꾸준히 Wi-Fi보다 항상 빨랐지만, Wi-Fi진영은 유선 이더넷의 속도를 따라잡기 위해 계속 노력하고 있다. 2012년까지 802.11ac와 802.11ad 두 개의 새로운 프로토콜은 무선으로 1Gbps 이상의 데이터 전송속도를 제공하게 될 예정이다. 결과적으로 앞으로 사용자들은 집안 전체 그리고 방 안에서 여러 개의 고화질 동영상 스트리밍과 게임 스트리..

Public/tip & tech 2011.01.21

9-1. How IPSec Works

9-1. How IPSec Works Five Steps of IPSec IPSec의 목적은 필요한 보안 서비스와 함께 원하는 data를 보호하는데 있다. IPSec의 동작은 다음과 같이 5가지 주된 동작에 의해 이루어진다. Interesting traffic : Traffic은 보호될 필요가 있으며 보내지길 원하는 traffic이 VPN 장비에 의해 분간되어질 때 구분되어질 것이라고 생각한다. IKE Phase 1 : 보안 서비스의 기본 set은 negotiated(협상)과 peer사이의 협상이다. 이러한 보안 서비스는 peer사이의 모든 다음 통신을 보호하게 된다. IKE Phase 1은 peer상이의 통신 채널의 보안을 set up한다. IKE Phase 2 : IKE는 IPSec SA parame..

Public/tip & tech 2011.01.14

cp kkk.txt /dev/null

*널 장치(Null Device) 많은 유닉스 시스템이 /dev 밑에 /dev/null이라 부르는 특별한 파일을 가지고 있습니다. 이 파일은 유닉스에서는 아주 일반적인 것입니다. 어떤 데이터이든지 /dev/null에 쓴 것은 영원 히 사라져 버립니다. 그럼 왜 이런 기능이 요구되는지 의아할 것입니다. 그것은 어떤 프로 그램은 사용자가 무시하기를 바라는 결과를 만들기도 한다는 것입니다. 그러한경우에 단순 히 그 결과를 /dev/ull에 보내기만 하면 됩니다. /dev/null로부터 무언가를 읽으려 하면 곧바 로 즉시 파일 끝에 도달했다는 메시지를 받게 될 것입니다. 그래서 /dev/null은 널 파일 또 는 비어있는 파일이라고 부르기도 합니다. 여기로 들어오는 데이터는 결코 나가는 법이 없습니다.

Public/tip & tech 2010.12.14