티스토리

코딩하기 딱 좋은날
검색하기

블로그 홈

코딩하기 딱 좋은날

woowaa.net/m

소프트웨어

구독자
1
방명록 방문하기

주요 글 목록

  • Process 프로세스 Process 란 프로세스는 시스템의 자원들의 할당을 위한 기본적인 단위이다. 각 프로세스는 자신만의 주소공간과 (보통) 한 개의 제어 쓰레드를 갖는다. 프로세스는 프로그램을 실행한다; 당신은 같은 프로그램을 실행하는데 여러개의 프로세스를 가질 수 있지만, 각각의 프로세스는 자신의 주소공간에서 자신의 프로그램 복제본을 갖고 다른 프로그램 복사본과 독립적으로 실행된다. 프로세스들은 계층적으로 구성된다. 각 프로세스는 그것을 만들었던 부모 프로세스를 갖는다. 주어진 부모 프로세스에 의해 만들어진 프로세스는 자식 프로세스라고 불린다. 자식 프로세스는 부모 프로세스로 부터 그 속성의 대부분을 상속받는다. 여기서는 프로그램에서 어떤 자식 프로세스를 만들고, 종료하고, 제어하는지에 대해서 설명한다.실제로, 새로운 .. 공감수 0 댓글수 0 2024. 2. 6.
  • C 언어 cat 명령구현 C "cat" 명령을 구현해 보자. bool catFile(const char* file, char* buf){FILE* fp; if ((fp = fopen(file, "r")) == NULL){ERROR("%s file open fail\n", file);return false;}if (fscanf(fp, "%s", buf))fclose(fp);return true;} 공감수 0 댓글수 0 2020. 12. 16.
  • Java Daemon 백그라운드 프로세스 구현 Daemon Process Daemon 이란 백그라운드로 실행되면서, 사용자의 인터페이스(tty)가 없는 프로그램을 말한다. 주기적인 서비스 요청을 처리하기 위해서 커널상에 백그라운드 모드로 실행되는 프로세스이다. 우리가 흔히 사용하는 리눅스 서비스들은 대부분 데몬으로 동작하며, -d로 끝나는 프로세스 바이너리(예: sshd, syslogd)들이 모두 해당된다. 리눅스 명령인 nohup으로 백그라운드 구동은 가능하지만, kill 명령으로 종료해야 한다. 따라서 비정상 종료시의 처리를 하려면, OS로부터 signal을 받아야 하므로 데몬으로 구동시켜야 한다. 단독데몬 항상 백그라운드 모드로 실행되고 메모리를 상대적으로 많이 소비한다. 서비스(응답속도)가 빠르다. httpd와 같은 웹서비스 데몬이 대표적. .. 공감수 1 댓글수 0 2020. 10. 23.
  • C 데몬프로세스 만들기 백그라운드 데몬프로세스 구현 C 코드 서버 프로그램은, 대개 백그라운도로 동작하며, 이를 위해 백그라운드 Daemonize 기능을 구현해야 한다. 여러가지 방식이 있지만, 대강 구현 방식은 이렇다. 1. 총 2회의 fork()를 수행한다. main 함수가 호출되는 초기에 첫 fork() 수행하여, parent process 는 exit() 함과 동시에, Child Process 에게 session 권한을 부여한다. session 권한으로 주인이 된 child Process 는 두번째 fork()를 수행하고, Parent process 는 exit() 하고, 무한 loop 작업을 Child Process 에게 맡긴다. 마지막 Child Process 가 데몬의 주인이 된다. 2. 시그널 차단 작업 백그라운.. 공감수 1 댓글수 0 2020. 10. 16.
  • opensource VoIP,IP-PBX : asterisk 오픈소스기반 VoIP 기반 콜센터 구축 IP/PBX 오픈소스 asterisk 를 활용해보자 패키지 소스코드 http://downloads.asterisk.org/pub/telephony/asterisk/ **간단 한글참고 자료 : cafe.naver.com/synologynas/25598 Asterisk IP-PBX 인터넷전화 사용기(간략) 어찌하다가 Asterisk 라는 단어를 접하고 주말내내 씨름하다가 지금까지 알게된 내용을 공유차원에서 적어봅니다.1. Asterisk란 무엇인가?요점만 말해서 인터넷을 통해 ... cafe.naver.com 공감수 0 댓글수 0 2020. 6. 2.
  • C, File I/O, open(), fopen() 그리고 dup() 모든 프로그래밍 언어에서 빠지지 않는 영역이 있다면, 그것은 바로 I/O 가 아닐까 한다. 예외상황도 많고, 알 수 없는 에러가 I/O 영역에서 가장 많이 발생한다. 시스템 성능차원에서도, I/O 로 인한 부하 무시못한다. C 언어 에서 파일을 열고, 닫을때, 필수적으로 함수가 open()/close(), fopen()/fclose() 이다. 파일을 open() 함수를 사용하여 얻어낸 정수 값을 "파일 디스크립터"라고 한다면, fopen()으로 구한 FILE * 포인터로 얻어낸 포인터 값을 "파일 스트림 포인터"라고 할수 있다. 파일 디스크립터와 파일 스트림포인터. 어차피 파일을 다루기 위한 정보이지만, 주로 파일 I/O 에서는 Socket I/O 의 fd 처럼, 스트림(*포인터형) 보다는 디스크립터(숫.. 공감수 0 댓글수 0 2020. 3. 30.
  • select,epoll,poll 논리적으로는 select 는 느리고, epoll 은 빠르다고 하는데, 내가 실무에서 실제로 구현해보니, 성능상으로 그렇게 큰 차이점이 없었다. 그냥 편한거 쓰면 된다. epoll 의 경우는 event 방식이라, event(?) 적인 자세가 필요하다고 할수 있다. 더 민감하고 섬세하게 OS에서 반응해 준다. 처리해야 할 예외적인 부분이 많다. 직접 느껴보라. 아래의 아름다운 글은 어떤 착한 개발자가 올려놓은 글이다. 참고만 하도록 하자. -------------------------------------------------------------------------------------------------------------------- select 기반의 IO 멀티 플렉싱이 느린 이유 select .. 공감수 0 댓글수 0 2020. 3. 18.
  • C++,참조연산 C++,참조연산 여기서 참조연산자 & 과 주소참조 연산자 * 이 두개가 한꺼번에 쓰이고 있다. 왜 이렇게 썼을까? void allocate_doubles(double*& p, size_t& n); { cout > n ; p = new double[n] ; } 연산자를 단계별로 들여다 봅시다. double& 은 말그대로 double의 참조 입니다. double*&은 double*( 포인터 또는 array 배열 )의 참조입니다. 위와 유사하게 사용할수 있는, 이중포인터 double **p; 을 볼까요? p는 아래와 같이 사용할 수 있습니다. *p = new double [n]; **로 값을 받으면, 해당 오브젝트에서 p를 해제할수 있습니다. &참조로 받으면, 해제할 수 없습니다. 공감수 0 댓글수 0 2020. 3. 18.
  • [JAVA] DATA Type l 자료형 Boolean : 논리형 데이터 타입, true와 false로 이루어져 있다. Boolean a = ture; - 논리값 True : Boolean형에 대입할 때 쓰이는 키워드이거나 참을 뜻하는 결과값 False : Boolean형에 대입할 때 쓰이는 키워드이거나 다름을 뜻하는 결과값 Char : 문자형 데이터 타입 ‘ ‘로 에워싸서 표현한다. char a = ‘a’; Byte : 정수형 데이터 타입, 28까지 표현 할 수 있다. -128 ~ 127 Short : 정수형 데이터 타입, 216까지 표현 할 수 있다. -32768 ~ 32767 Int : 정수형 데이터 타입 , 232까지 표현 할 수 있다. -2147483648 ~ 2147483647 Long : 정수형 데이터 타입 , 264까지.. 공감수 0 댓글수 0 2016. 7. 12.
  • [ GPS ] GPS Packet Sheet 공감수 0 댓글수 1 2016. 1. 5.
  • [음성합성 기술 ] 음성합성 기술 및 국내외 현황 2013 음성합성 기술 및 국내외 현황제 1 장 음성합성의 개요제 2 장 음성합성 기술2.1 음성합성의 분류2.2 음성합성의 시스템구조2.3 음성합성의 과정제 3 장 응용분야 및 적용사례3.1 응용분야3.2 적용사례제 4 장 국내외 현황제 5장 결론제1장 음성합성의 개요음성인식과 더불어 음성 기술시장에서 큰 비중을 차지하고 있는 분야는 음성합성분야로, 음성합성(Test-to Speech or Speech Synthesis)란 문자 그대로 글(Test:ASCII text or Machine-readable text)을 말(speech)로 바꾸는 기술이다.일반적으로 자동응답시스템(ARS)에서 듣는 기계음의 목소리는 대부분 음성합성 기술을 활용해 제공되는 정보이다. 최근에는 음성합성을 이용해 인터넷 신문의 기사를 읽어.. 공감수 0 댓글수 0 2016. 1. 5.
  • [ IP-PBX ] 오픈소스 구축(2014.0806) asterisk패키지 소스코드 http://downloads.asterisk.org/pub/telephony/asterisk/ 1. 한글자료http://blog.naver.com/PostView.nhn?blogId=hsunryou&logNo=60104920690&parentCategoryNo=&categoryNo=&viewDate=&isShowPopularPosts=false&from=postView 2. 한글자료 http://blog.naver.com/PostView.nhn?blogId=credenda&logNo=80179665339&parentCategoryNo=&categoryNo=&viewDate=&isShowPopularPosts=false&from=postView 공감수 0 댓글수 0 2016. 1. 5.
  • [UNIX] Socket FAQ - 목 차 -1. 일반 정보와 개념1.1. 이 FAQ에 대하여1.2. 누구를 위한 FAQ 인가?1.3. 소켓은 무엇인가?1.4. 소켓은 어떻게 작동하는가?1.5. 책에 있는 소스코드를 구할 수 있는데가 있는가?1.6. 또 다른 정보들은 어디에서 구할 수 있는가?2. 클라이언트와 서버 양쪽에 관한 질문 (TCP/SOCK_STREAM)2.1. 언제 상대방쪽 소켓이 끊겼는지 알 수 있는 방법이 있는가?2.2. bind()의 두 번째 파라메터는 무엇인가?2.3. 주어진 서비스의 port번호를 얻는 방법은?2.4. bind() 가 실패 했을 때 소켓 디스크립터를 가지고 할 수 있는 일은?2.5. 정확하게 소켓을 닫는 방법은 무엇인가?2.6. 언제 shutdown()을 써야 하는가?2.7. TIME_WAIT 상태에.. 공감수 0 댓글수 0 2016. 1. 5.
  • [ Linux/C/C++] df명령, FileSystem 용량 Linux환경에서 프로그래밍을 할 때어떤 파일 시스템(window에서는 어느 드라이브)에 사용중인 용량이 얼마이고,남은 용량이 얼마인지를 구해야 할 때가 있다.아래의 특정 Filesystem의 남은 용량 구하는 예제 함수를 이용하면 된다.setmntent함수와 getmntemt함수를 이용하여 인자로 주어진 패스, 즉 특정 filesystem의남은 용량을 구한다.여러개의 NAS를 연동하는 서버에서 /nas 혹은 /nas2의 남은 용량을 구하기 위해 아래의 함수를 사용했다. #include // for statfs#include // for mntent/*struct mntent{char *mnt_fsname; // Device or server for filesystem.char *mnt_dir; // D.. 공감수 0 댓글수 1 2016. 1. 5.
  • [ WIN32 ] Windows Sockett sample code 윈도우즈에서 소켓 프로그래밍에서 제일 먼저 호출 하게 되는것이 WSAStartup 함수이다.이 함수는 UNIX 소켓 프로그램에는 없는것으로 WSACleanup 함수와 쌍을 이뤄 소켓 프로그램의시작과 끝을 나타낸다. 이 함수가 하는 일은 윈속 동적 연결 라이브러리를 초기화하고윈속 구현이 애플리케이션 요구사항을 충족하는지 확인한다.프로토 타입은 다음과 같다.int PASCAL FAR WSAStartup(WORD wVersionRequired, LPWSADATA lpWSAData);wVersionRequired : 애플리케이션이 사용할 수 있는 WindSock API의 최상위 버전상위 바이트가 마이너 버전, 하위 바이트가 메이저 버전lpWSAData : WSADATA 타입의 구조체에 대한 포인터이다.사용예는 .. 공감수 0 댓글수 0 2016. 1. 5.
  • [ C ] 전처리문 (#define, #if, #ifdef, #ifndef, #defined, .. ) 전처리문 (#define, #if, #ifdef, #ifndef, #defined, .. ) 실질적인 컴파일 이전에 미리 처리되는 문장으로 선행처리기라고도 한다.컴파일러는 사용자가 작성한 코드를 컴파일하기에 앞서 전처리문에서 정의해 놓은 작업들을 먼저 수행한다. 종류로는 #define, #if, #ifdef, #ifndef, #defined, #undef 등이 있다.이것은 기존에 있는 방대한 소스 코드를 지우지 않고 활성화와 비활성화하는 데에 가장 많이 이용된다.즉, 기존에 있는 소스 코드를 건드리지 않고 부분적인 컴파일을 하는 것이다. C의 전처리문이 오는 줄(Line)의 첫 문자는 항상 '#'으로 시작한다. ANSI 표준에 따른 C의 전처리문의 종류- 파일 처리를 위한 전처리문 : #include- .. 공감수 0 댓글수 0 2016. 1. 5.
  • [ C ] 소스 IPC_spectrum.c /*Introducing Speech and Language Processing http://www.islp.org.uk*/ //lpc_spectrum.c =============================================== #include #include #include #include "slputils.c" #include "four1.c" /* LPC_SPECTRUM.C */ /* Reads a signal from a disk file into a variable, x_in. */ /* Computes the LPC coefficients of sample_number, pads it with zeroes to 512 */ /* and writes the resulting sign.. 공감수 0 댓글수 0 2014. 8. 23.
  • Praat praat 다운로드 : http://www.fon.hum.uva.nl/praat/ 한글 사용법 소개 : http://fonetiks.info/praat/praatdown.htm http://blog.daum.net/shin55145/309 공감수 0 댓글수 0 2014. 8. 23.
  • #unix #c select sleep 구현하기 void u_sleep(int sec, int usec) { struct timeval tv; tv.tv_sec = sec; tv.tv_usec = usec; select(0, 0, 0, 0, &tv); } 공감수 0 댓글수 0 2014. 8. 18.
    문의안내
    • 티스토리
    • 로그인
    • 고객센터

    티스토리는 카카오에서 사랑을 담아 만듭니다.

    © Kakao Corp.