본문 바로가기

Computer Science

Google Glass / MS Hololens 1. Google Glasses 핸즈프리 비디오 녹화(720p) 윙크를 통한 사진촬영 GPS 네비게이션 영상통화 Google Now : 시간과 장소에 기반하여 연관성 있는 정보를 제시해주는 기능이기 때문이다 단점 : 너무나 짧은 배터리 수명(1시간), 2. Mircrosoft Hololens Hololens는 여러명이 동시에 같은 화면을 볼 수 있고 스크린이 한정되어 있지 않고 모든 시야에 적용됨. 상용화 안됨. 윈도우10환경으로 플랫폼 구축. 더보기
[Scrap] 시리얼 포트, TCP/IP, UDP/IP 터미널 프로그램 (시리얼 통신 프로그램) 이번에 소개 드리는 프로그램은 시리얼 포트(COM port)나 TCP/IP, UDP/IP 프로토콜로 데이터를 주고받을 수 있는 프로그램입니다. 시리얼이나 TCP, UDP 프로토콜로 통신하는 장비를 연결하는 프로그램을 작성하기 전에 프로토콜이 어떻게 동작하는지 간단히 테스트 하는 용도로 이 프로그램을 사용해 볼 수 있습니다. 그동안 제가 하이퍼터미널(hyperterm)이나 테라텀(TeraTerm)을 사용하면서 불편하게 생각했던 여러 기능들을 추가하여 만들었습니다. 아마도 저와 같은 각종 디바이스를 다루고 통신 프로토콜을 구현하는 개발자들에게 유용한 프로그램이 되지 않을까 합니다. 다음은 프로그램을 실행하고 [Connect] 버튼을 눌러 COM 포트로 연결한 그림입니다. 기본적으로 텍스트로 보여주면서 HEX.. 더보기
[C#] 프로세스 강제종료 process force kill private static void killps(string processName) { Process[] process = Process.GetProcessesByName(processName); Process currentProcess = Process.GetCurrentProcess(); foreach (Process p in process) { if (p.Id != currentProcess.Id) p.Kill(); } } 더보기
[MFC] String 문자열 공백 없애기 [모든 공백을 없애기] str.Replace( _T(" "), NULL ); [왼쪽 공백만 없애기] str.TrimLeft( _T(" ") ); [오른쪽 공백만 없애기] str.TrimRight( _T(" ") ); 더보기
[MFC] BMP 비트맵 투명 그리기 (Draw, Paint만 사용가능) HANDLE bmp; CBitmap cBitmap; BITMAP bmpinfo; //CDC는 pDC CDC memdc; bmp = LoadImage(NULL, _T("DDR_Skin/button/bt_Loop.bmp"), IMAGE_BITMAP, 0,0, LR_LOADFROMFILE); cBitmap.Attach(bmp); cBitmap.GetBitmap(&bmpinfo); memdc.CreateCompatibleDC(pDC); memdc.SelectObject(bmp); //pDC->BitBlt(chkboxrect.left,chkboxrect.top,bmpinfo.bmWidth,bmpinfo.bmHeight, &memdc, 0,0,SRCCOPY); pDC->Trans.. 더보기
[MFC] 부모 다이얼로그 함수 변수 호출 함수 ((CDDR3Dlg*)GetParent())->AdditemDrag(Itemcnt,AddDragPath); 변수 ((CDDR3Dlg*)GetParent())->m_cnt = 1; 더보기
[MFC] force shutdown process #include BOOL Cex_ProcessKDlg::KillProcess(CString strName) { strName.MakeUpper(); HANDLE hSnapshot = CreateToolhelp32Snapshot ( TH32CS_SNAPPROCESS, 0 ); if ( (int)hSnapshot != -1 ) { PROCESSENTRY32 pe32 ; pe32.dwSize=sizeof(PROCESSENTRY32); BOOL bContinue ; CString strProcessName; if ( Process32First ( hSnapshot, &pe32 ) ) { do { strProcessName = pe32.szExeFile; //strProcessName이 프로세스 이름; strPr.. 더보기
Hashing 이란? 1. (Hashing)이란 무엇인가? - 해싱(hashing)이란 한마디로 말해서 많은 양의 데이터(data)들을 그보다는 작은 크기의 테이블(table)로 대응 (mapping)시켜 저장할 수 있도록 하는 일종의 데이터 관리 기법이다. 데이터들을 저장하거나 찾을 때 인덱스 (index)라는 또다른 데이터 스트럭쳐(data structure)를 이용하는 대신, 각 데이터들이 테이블의 어느 영역에 위 치할 것인가를 결정해주는 해쉬함수(hash function)를 사용하여 일정한 시간 내에 데이터들을 효과적으로 찾을 수 있도록 해주는 것이 바로 해싱이다. 따라서 데이터들은 순차적으로 저장되는 것이 아니라 테이블 전 영역에 걸쳐서 고루 분포하게 되며, 저장된 데이터를 찾을 때에도 해쉬함수를 사용하면 곧바로 그.. 더보기
[Linux] nm nm 명령은 주어진 라이브러리의 심볼 리스트를 보고한다. 라이브러리, 컴파일된 오브젝트 모듈, 공유 오브젝트 파일, 독립 실행 파일 등의 바이너리 파일을 검사해서 그 파일 들에 저장된 내용 또는 메타 정보를 표시한다. GNU 프로젝트는 높은 기능을 갖춘 nm 프로그램을 GNU Binutils 패키지에 포함시키고 있다. GNU 툴체인의 다른 부분과 함께 주어진 nm 바이너리는 특정 컴퓨터 아키텍쳐와 바이너리 포멧만을 위해 컴파일 된 것이므로 의심스런 바이너리를 검사하기 위해 nm을 사용하는 보안 전문가들은 보통 여러 타겟 용으로 만들어 놓은 nm 바이너리를 갖고 있다. 사용 예 - 특정한 라이브러리 찾기 특정한 함수를 사용하여 컴파일을 하다 보면 링크 에러가 발생할 때가 있다. 이럴 때는 그 함수를 정의하.. 더보기
[C/C++] 주민등록번호 규칙 주민등록번호 각 자리별 의미 12번째 코드는 보통 많아야 2~3이므로 4를 넘어가는 경우 조작된 주민등록번호 라는걸 알 수 있다. 마지막 오류검증번호는 앞에 12자리를 이용하여 생성이 되고 그 공식은 아래와 같다. 예를들어 주민번호 7 8 0 9 2 5 - 1 3 2 4 0 1 1 위의 예를 들은 주민번호를 이용하여 계산해보면 2*7 + 3*8 + 4*0 + 5*9 + 6*2 + 7*5 + 8*1 + 9*3 + 2*2 + 3*4 +4*0 + 5*1 =186 186 / 11 = 16(몫) ----- 10(나머지) 11 - 10(나머지) = 1 (검증코드) 7 8 0 9 2 5 - 1 3 2 4 0 1 X 에서 X=1 라는 것입니다. 간단한 주민등록번호 생성, 검사 프로그램을 만들 수 있습니다~!! 하지만 .. 더보기