본문 바로가기
반응형

ICT (이슈, 기술, 트랜드)29

쓰레드의 진실 - CreateThread,_beginthread,_beginthreadex,AfxBeginThread # Thread (쓰레드) 의 진실 프로그래밍을 하다보면 쓰레드를 많이 사용하게 된다. 하지만 쓰레드는 굉장히 위험한 엔진?이므로 잘 돌려야 한다. 대부분 쓰레드를 생성할때 사용할 수 있는 함수들이 CreateThread 함수, _beginthread 함수, _beginthreadex 함수, AfxBeginThread 함수 이렇게 4가지 정도 사용되어지는데.. * CreateThread 함수 : 쓰레드 생성 함수 (사용자제요망) C/C++ 표준함수를 호출하려하면 문제가 발생할 수 있음. * _beginthread 함수 : C/C++ 표준함수가 안전하게 실행되어질 수 있다. 하지만 생성시 반환되는 핸들을 무효화시켜 커널 오브젝트에 접근할 수 있는 방법을 막아버리는 문제점이 있다. * _beginthread.. 2014. 2. 18.
서버 구현 방법 - 멀티태스킹/멀티플렉싱/멀티쓰레딩 서버 구현 방법 - 멀티태스킹/멀티플렉싱/멀티쓰레딩 - 멀티태스킹 : 프로세스 생성을 통한 멀티테스킹 서버의 구현. 여러개의 프로세스를 생성하여 작업들을 처리하는 구현방식. 많은 프로세스가 생성될 수 있으므로 서버의 리소스가 많이 필요하게 되는 구현 방법이다. - 멀티플렉싱 : select 함수에 의한 멀티플렉싱 서버의 구현. 수많은 클라이언트에 하나의 프로세스로 서버를 구현하는 방식. 클라이언트와 서버간의 송수신 데이터량이 작은 경우 또는 송수신이 비연속적인 경우에 적합하다 할 수 있다. - 멀티쓰레딩 : 쓰레드를 기반으로 하는 멀티쓰레딩 서버의 구현. 멀티태스킹이 여러 프로세스를 이용한 구현 방법이라면, 멀티쓰레딩 방식은 하나의 프로세스에서 멀티태스킹을 구현한 방식이라 할 수 있겠다. 2014. 2. 14.
구글 화상회의 시장 진출 구글이 화상회의 시장에 뛰어 들었다고 합니다. 기존 시장을 주도하던 시스코와 폴리콤이 긴장을 좀 할것 같습니다^^ 화상회의 시장은 장비사업이라 해도 과언이 아닐정도로 화상회의에 필요한 각종 캠 또는 카메라, 스피커 또는 헤드셋 패키지 셋탑들로 장비판매 수익을 올리고 있습니다. 구글은 크롬박스 패키지를 들고 전세계 시장을 공략할 것으로 보입니다. 2014. 2. 9.
Windows XP 지원 중단 # 마이크로소프트에서 Windows XP 지원 중단 을 한다고 합니다. 아직 많은 사용자들이 XP를 사용하고 있음에도 불구하고 일방적으로 이렇게 지원을 중단한다고 하는것이 글쎄요.. XP가 처음 나와서 세상에 이런 OS는 없는것 처럼 마치 영원히 각종 지원 서비스를 받을 수 있을 것 처럼 영업하더니 본인들에게 귀찮은 존재로 전락하자 이런 결정을 하게 된 것 같습니다. XP 지원 중단이 아니라 새로운 OS의 기능과 지원의 확대로 사용자를 자연스럽게 이끌어 내는 것이 더 중요할 것 같은데 지금의 MS를 만들어준 사용자들에게 너무 푸대접 하는건 아닐까요?! 이번에 아직 최대주주인 빌게이츠가 기술고문으로 MS에 다시 돌아오고 나델라 CEO 가 새로 선출되면서 MS가 다시 예전 처럼 그 명성을 끌어 올릴 수 있을.. 2014. 2. 7.
네트워크 (IP) 주소 체계 및 클래스 # 네트워크 (IP) 주소 체계 및 클래스 * class A (1.0.0.0 ~ 127.255.255.255) - 127.0.0.0 ~ 127.255.255.255 는 루프백 주소로 예약됨. - 대규모 네트워크에 할당됨. * class B (128.0.0.0 ~ 191.255.255.255) - 대규모 네트워크에 적용됨. * class C (192.0.0.0 ~ 223.255.255.255) - 소규모 네트워크에 적용됨. * class D (224.0.0.0 ~ 239.255.255.255) - 멀티캐스트 주소로 사용 * class E (240.0.0.0 ~ 255.255.255.254) - 연구용 2014. 2. 5.
BSD(Berkeley Software Distribution) - 버클리 소프트웨어 배포 # BSD(Berkeley Software Distribution) - 버클리 소프트웨어 배포 버클리에서 개발한 유닉스계열의 OS를 말한다. 일딴 유닛스가 벨 연구소에서 1969년에 그 원형이 완성되었고 1973년에 C언어로 수정되어 이식성이 높아졌다. 또한 소스도 공개된 상태였기 때문에 누구나 소스를 참조하고 연구 개발할 수 있었다. 그러다가 1974년에 버클리 대학에서 그 소스를 활용하여 새로운 유닉스를 탄생시켰고 그 후 최초의 BSD인 1BSD 가 1978년 3월 9일에 출시되었다. 그 후로 여러가지로 파생되어지고 많은 OS에 근간이 되는 소스로 활용되었다. 참조1> 참조2> 이미지 저작자 : 크리에이티브 커먼즈. 라이선스 : 크리에이티브 커먼즈 저작자표시-동일조건변경허락 3.0 Unported 라.. 2014. 2. 3.
알고리즘을 재미있게.. # 알고리즘은 글쎄요 구지 몰라도 프로그래밍을 못하는것은 아니겠지만 어떤 문제를 해결할때 보다 생각할 시간을 줄일 수 있는 수단이 될 수도 있겠지요 또는 효율적인 알고리즘을 보다 명분있게 구현해 나아가는데 도움도 될 수 있겠구요 . 이왕이면 공부해 두는 것이 여러모로 도움이 많이 된다고는 생각되어 지네요. 1. 분할 정복(Divide and Conquer) 문제를 부분부분 나눠서 해결하고, 해결한 문제들을 합쳐나가면서 전체적인 문제를 해결해나가는 과정입니다. 대표적인 정렬(Sorting) 알고리즘으로 퀵소트(quick-sort)가 존재합니다. 대표적인 예 : 퀵소트 알고리즘, 하노이의 탑 2. 다이나믹 프로그래밍(Dynamic Programming) 프로그램이 알아서 문제를 해결해나가도록 만들어서 이전 .. 2014. 2. 2.
Direct Show - VMR9 필터 활용법 #. Direct Show - VMR9 필터 활용법 #include #include #include CoCreateInstance(CLSID_VideoMixingRenderer9, NULL, CLSCTX_INPROC_SERVER, IID_IBaseFilter, (void **)&m)pVMR); CComQIPtr pVMRFC9(m_pVMR); if(pVMRFC9 != NULL) pVMRFC9->SetRenderingMode(VMR9Mode_Windowless); //모드 설정 CComQIPtr pVMRWC9(m_pVMR); if(pVMRWC9 != NULL) pVMRWC9->SetVideoClippingWindow(m_hWnd); //출력할 비디오 창 지정 IGraphBuilder *pGB; IFilter.. 2014. 1. 31.
반응형