Unplugging ethernet (이더넷 연결 끊김)Qt에서 tcp ip 소켓을 사용하다보면 끊어진 경우를 확인해야할 상황이 발생합니다. 굳이 Qt가 아니더라도 언제 어디서나 서비스 제공자는 무조건 통신 상태를 확인해야 합니다만, Qt 프로그래밍에선, 플러그가 뽑힌 경우를 체크하기 까다롭습니다. 왜냐면 QAbstractSocket 클래스가 제공하는 ConnectedState는 tcp ip 연결된 이후에 물리적인 플러그 뽑힘 현상을 알려주지 않습니다. 슬프게도, Qt가 제공하는 그 어떤 소켓 클래스들도 물리적인 플러그 Unconnected를 확인하질 못합니다. 그래서 돌아가는 방법을 찾아야 합니다. Simple Main Code (이더넷 연결 끊김 기본 소스)우선, 간단한 tcp ip Socket Pr..
아래는 간단한 모드버스 다이어그램입니다. 그리고 실제 Modbus ASCII와 RTU의 차이는 아래와 같습니다. 모드버스 프로토콜 차이점 (ASCII - RTU) Modbus/ASCII Modbus/RTU Characters ASCII 0...9 and A..F Binary 0...255 Error check LRC CRC Frame start character ':' 3.5 chars silence Frame end characters CR/LF 3.5 chars silence Gaps in message 1 sec 1.5 times char length Start bit 1 1 Data bits 7 8 모드버스 프로토콜 차이점 (시리얼 프로토콜) Parity even/odd none even/odd ..
변수 사이의 상관계수만을 구하고 싶을 경우 창에 아래 명령어를 입력합니다. (피어슨 상관분석에 필요) cor(x, y, trim=0, na.method="fail", unbiased=T) 상관분석 필요 인자x 숫자형(복소수 포함) matrix, vector 혹은 data frame 형태의 상관분석 관심변수 이름을 입력합니다. x가 matrix일 경우 열은 변수로 행은 개별 관찰치로 인식합니다. x가 data frame인 경우 숫자형이 아닌 변수는 결측치로 인식합니다. y 또다른 관심변수의 이름을 입력합니다. 형식은 x와 같으며 x변수와 같은 길이를 가진 변수를 입력해야 합니다. trim 낮은 확률밀도를 가진 관측치를 생략합니다. 0.5 보다 작은 값을 사용하며 생략된 관측치의 전체에 대한 비율을 나타냅니..
구글어스를 다뤄본 분들은 다들 아실만한 파일인 KML에 대한 글입니다. 2009년도에 논문 작성을 위해 정리한 글이라 지금과 다른 사항이 있을 수 있습니다. 구글어스 KML 파일을 다루기 위한 상세한 동영상도 제공되니 참고해 보세요. KML 101 -- How to Create Amazing Maps in Google Earth and Maps [클릭] Keyhole Markup Language - KML 가이드 Intro XML(eXtensible Markup Language)은 HTML(Hyper Text Markup Language)을 개선하여 생성된 언어로 웹 페이지의 구축과 기능을 향상시키며 시스템의 복잡한 연산 과정을 쉽게 처리하도록 돕는 언어로써, 사용 시기와 용도에 따라 구조적인 문법을 매..
MFC가 지원하는 것이 거의 없어서 일일이 코딩해야 한다는 단점이 있습니다. 그런데, 이 포스트에서 소개하는 차트처럼, 누군가 구현해서 공개하니 참 좋네요. 이 차트의 소스를 실행하면 아래처럼 그라데이션이 들어간 막대기들을 확인할 수 있습니다. 『그리드, 라벨, 툴팁 등』 차트나 그래프들이 가져야할 기본 요소들은 다 구현이 되어 있습니다. 이걸 응용해서 원하는데로 수정해 사용하면 되겠네요. 어느 분이 만든건진 모르겠으나 여튼, 감사합니다. 누가 만들어서 배포해 주신건진 모르겠으나 고맙네요. 관련 글[MFC] BCGControlBar Chart Control 예제, RC 코드 수정MFC BCGControlBar Chart Control 설치 [GUI 프로그래밍]MFC 스크롤바 Scrollbar 다이얼로그에..
HRESULT, 윈도우 COM 함수에서 대부분 사용 RESULT는 COM(Component Object Model)에서 사용되는 함수 대부분이 사용합니다. COM에서 HRESULT 사용을 강제하진 않지만, 일반적으로 호출된 함수가 정상적으로 사용이 되는지 그 여부를 가리는 용도로 자주 사용이 되고 있습니다. 32 bit 정수(Long)를 반환하며, Succeed와 Faield 매크로와 함께 사용됩니다. HRESULT의 코드는 Severity, Facility, Information으로 구성이 되고 그 설명은 ESRI 사이트[클릭]에서 참조합니다. Severity : 첫 번째 비트는 성공(1)이나 실패(0)를 나타냄Information : 하위 16비트는 특정 오류 코드를 나타냄Facility : 상위 1..
1. 회귀분석이란?회귀분석(Regression Analysis)은 이론이나 경험적 근거에 의해 설정된 종속변수와 독립 변수 간의 함수관계가 유의한지 알아보는 통계분석 방법입니다. 종속변수와 독립변수 사이의 함수는 매우 다양하지만, 일반적으로 다루기 편하고 해석하기 쉬운 선형함수의 형태를 고려하게 되는데 이런 이유로 회귀분석을 선형(Linear) 회귀분석이라 합니다. 선형함수가 아닌 회귀모형에 대한 분석을 비선형(Nonlinear) 회귀분석이라 합니다. 회귀모형의 형태에 따라 하나의 종속변수에 대해 독립변수가 하나인 경우를 단순회귀분석(Simple Regression Analysis), 반면에 하나의 종속변수에 대해 독립변수가 둘 이상인 경우를 다중회귀분석(Multiple Regression Analysi..
리눅스 QWT 설치 환경Linux Ubuntu 14.04 32비트Qt 5.3.2qwt 6.1.1리눅스 qwt 설치하려면 필요한 패키지들이 있습니다. 관련된 우분투 패키지 참조 사이트는 바로 아래 링크입니다. 링크 - One Command To Install All Ubuntu Packages for Qt 5 Build [클릭] sudo apt-get install \g++ ruby gperf bison flex sqlite libsqlite3-dev libfontconfig1-dev \libfreetype6-dev libx11-dev libxext-dev libxfixes-dev libxi-dev \libxrender-dev libxcb1-dev libx11-xcb-dev libxcb-glx0-dev l..
MFC CString to double 변환 사용법 (atof, wtof, tstof) MFC에서 CString을 double로 변환하는 방법입니다. 아래엔 형 변환이 이뤄지는 3가지 예가 있는데, 공통적으로 CString은 LPCTSTR과 const char*로 먼저 변환이 됩니다. 변환된 char형의 자료를 함수들이 double로 변환을 하게 됩니다. 참조 - How do I convert a CString to a double in C++? [클릭] Knowing this, you can use atof(): CString thestring("13.37");double d = atof(thestring)....or for Unicode builds, _wtof(): CString thestring(..
주요 자동차용 반도체 업체 (상위 20개 매출 순위) 반도체의 분야별 주요 업체를 살펴보면 MC는 프리스케일, 르네사스, NEC, 텍사스 인스트루먼트(TI), 후지쯔, 인피니언 등이 주도하고 있고, ASI/ASSP는 ST마이크로일렉트로닉스, 인피니언, NXP, 보쉬, 프리스케일 등이 선도하고 있다. 아날로그의 경우 리니어 테크놀로지, NewJRC, 르네사스, 산켄, 온세미컨덕터 등이 주도하고 있으며, 디스크리트(Discrete)는 인피니언, 보쉬, 덴소, NXP, NEC 등이 선도하고 있다. 아래 표에 나타난 자동차용 반도체 2013년 매출 순위를 보면, 일본의 르네사스가 31억 7,600만 달러 매출과 11.9%의 시장 점유율로 1위, 독일의 인피니언이 23억 1,000만 달러 매출과 8.6%의 시장점..
※ 이 포스트는 Ubuntu 32비트 14.04에서 작업. Linux Symbolic Link 1개 만드는 예제 리눅스에서 심볼릭 링크를 만들어야 할 상황이 몇 가지 있는데, 이 포스트에서는 ttyUSBx에 대한 심볼릭 링크를 다룬다. 여러 대의 usb 장치를 사용하면 링크 번호가 변경된다. 재부팅 해도 변경되고, 꽂는 순서에 따라 변경되고, 장치를 뺏다 꽂아도 변경되고... 고정되지 않아 코드에서 수정을 몇 차례 해야 한다. 여간 까다롭게 신경 쓰이는 일이 아닐 수 없다. ttyUSBx의 심볼릭 링크를 사용하면 이런 문제점을 해결할 수 있다. USB 정보 알아내기심볼릭 링크를 만드는 데 필요한 정보는 3가지이다. 1. Vender ID2. Product ID3. Serial Number 위의 세 가지 ..
페졸드 형님의 책에 나온 윈도우 핸들(windows handle)입니다. 바로 아래는 식별자와 의미를 나타냅니다. HINSTANCE - '인스턴스(instance)' 핸들(프로그램 자체)HWND - 윈도우 핸들HDC - 디바이스 컨텍스트(device context) 핸들 핸들은 빈번하게 사용되며, 대표적으로 HICON(아이콘 핸들), HCURSOR(마우스 커서 핸들), HBRUSH(그래픽 브러쉬 핸들)이 존재합니다. 핸들은 단순한 숫자(흔히 32비트 크기)로서 객체를 참조.윈도우즈의 핸들은 C언어나 MS-DOS 프로그래밍의 파일 핸들과 유사.프로그램은 거의 항상 윈도우즈 함수를 호출함으로써 핸들을 얻음.프로그램에서 다른 윈도우즈 함수를 호출할 때 객체를 참조하기 위해 이 핸들을 이용하지만, 핸들의 실제 ..