no image
[OpenTracing] Jaeger UI를 이용한 분산 추적 (1)
OpenTracing은 분산 추적 및 모니터링을 위한 애플리케이션 및 OSS 패키지를 위한 오픈 표준이다. Cloud Native Computing Foundation에서 나온 Uber 기술로 부터 나온 분산 추적 시스템인 Jaeger 의 HotROD 애플리케이션을 통해 OpenTracing Demo 를 수행해보았다. OpenTracing : http://opentracing.io/ OpenTracing Quick Start : https://medium.com/opentracing/take-opentracing-for-a-hotrod-ride-f6e3141f7941 데모 수행 환경 1. Go toolchain - 1.7 이하 버전 사용 시 "/bin/sh: 1: glide: not found" 라는 에..
2018.09.21
[Qt] setPixmap 화면 업데이트 안되는 문제
리눅스 환경에서 OpenCV + Qt 를 이용하여 GUI 화면에 동영상을 출력하는 예제 작성 중 preview 라는 라벨에 프레임이 지속적으로 뿌려지지 않고, 마지막 프레임만 뿌려지는 문제 발생 시 즉, 화면이 지속적으로 업데이트 안될 때 (Pixmap 업데이트 충돌시) 코드 추가 QApplication::processEvents(); img = QImage((const unsigned char*)(cvMat.data), cvMat.cols,cvMat.rows, QImage::Format_Indexed8); if (!img.isNull()){ ui->preview->setAlignment(Qt::AlignCenter); ui->preview->setPixmap(QPixmap::fromImage(img)...
2018.07.12
Wrapper 개념
참고자료 1 : http://tip.daum.net/question/175446참고자료 2 : 래퍼클래스 네이버 블로그 공부를 하다보니 라이브러리를 쓰려는데 Wrapper 개념이 나와서 정리해두려고 한다. 어떤 카테고리에 넣을지 고민되서 자료형으로 설명 할 수 있으니까 C & JAVA 카테고리에 적어본다.. 자료형에서의 Wrapper wrapper의 사전적 의미는 '(특히 식품) 포장지'라는 뜻입니다. 여기서 래퍼 클래스는 기본 자료형(primitive data types)에 대한 클래스 표현을 래퍼 클래스(wrapper classes)이다. 기본 자료형에 대해서 객체로서 인식되도록 '포장'을 했다는 뜻인데, 객체라는 상자에 기본 자료형을 넣은 상태로 생각하면 된다. 필요시 컴파일러가 자동으로 수행하기 ..
2017.07.28
no image
[MFC] 3. MFC 프로그램 기본 구조 및 MFC 기초 클래스
정말 오랜만에 다시 꺼내든 MFC 윈도우 프로그래밍 책, 다시 여유시간이 생겨 공부해보려고 한다. 지난번에는 SDK 프로그램 기본구조에 대해서 살펴보았는데 이번엔 그와 비슷한 MFC 프로그램 기본 구조를 살펴보려고 한다. SDK 기본 구조의 골격은 다음과 같다. 1. 윈도우 클래스를 정의(초기화)하고 운영체제에 등록한다.2. 윈도우를 생성하고 화면에 보이게 한다.3. 메시지 루프를 구동한다.4. 윈도우 프로시저에서 메시지를 처리한다. 그와 비슷한 MFC 기본 구조의 골격은 다음과 같다. 1. 응용 프로그램 클래스를 정의한다.2. 메인(프레임) 윈도우 클래스를 정의한다.3. 응용 프로그램 객체를 선언한다.4. 메시지 맵을 선언한다. MFC 응용 프로그램을 개발 할 때는 일반적으로 AppWizard를 이용하..
2017.01.02
no image
[MFC] 2. 윈도우 프로그래밍 및 SDK 프로그램 기초
1. 윈도우 프로그래밍 개요 윈도우 프로그래밍이란 윈도우 운영체제에서 구동되는 응용 프로그램을 만드는 것이다. 따라서 윈도우 운영체제의 특징을 알아야 한다. 기존에 운영되었던 DOS와 같은 텍스트 기반 운영체제에 비해 WINDOW와 같은 그래픽 기반 운영체제가 훨씬 보기 편한게 사실이다. 이러한 프로그램을 만들기 위해서 메세지 구동 구조에 대해 알아야한다. 윈도우 운영체제에서 실행되는 대부분의 응용 프로그램은 메세지 구동 구조(Message-Driven Architecture)로 동작한다. 메세지는 운영체제가 프로그램의 외부 또는 내부에 변화가 발생했음을 해당 프로그램에 알리기 위한 개념이다. 하지만 대부분의 윈도우 응용 프로그램은 순차적으로 실행되지 않고 어떤 메세지를 받는가에 따라 코드의 실행 순서가..
2016.11.12
no image
[MFC] 1. MFC 기본 및 프로젝트 생성
실행환경 : Visual Studio 2013, Windows 32........ 영상처리 프로그램을 개발하는 데 있어서 가장 기본적인... 가장 기본적인 MFC 프로그래밍이 필요할 때가 와서 드디어 배워보려고 마음을 먹었다. 원래 프로그램을 짤 때 Qt 를 이용하여 작성하였었는데, 내가 생각하기엔 MFC를 먼저 배우고 Qt를 더 배우는게 낫지 않을까 싶다. 현업에서도 Qt 보다는 MFC를 많이 쓰는 실정이니깐... DC 관리를 하라고 꾸지람을 들은게 1년 정도 지난 것 같은데 이제서야 배우게 되서 조금 부끄럽기도 하지만 11월 한달 간 열심히 배워봐야겠다. 일단 MFC 프로그래밍은 Microsoft foundation classes 의 약자라고 내가 참고하는 블로그 관리자가 친절히 알려주었다. MFC는..
2016.10.31
no image
OpenGL 콜백 프로그래밍
OpenGL 콜백 프로그래밍 저번 포스팅에서는 윈도우 뷰포트 설정을 살펴보았다. 윈도우 뷰포트 설정을 하지 않으면 자동으로 뷰포트 설정이 되는데, 사용자가 창 위치를 변경한다던지, 창 크기를 늘리는 등의 행위를 했을 때 동적으로 반응하는 콜백함수가 있어야 물체가 왜곡되지 않는다. 오늘 포스팅에서는 이러한 사용자의 행위에 대해 동적으로 반응하는 콜백 프로그래밍을 다루려고 한다. 프로그래머는 리세이프 콜백(Reshape Callback) 함수를 통해 이러한 이벤트에 어떻게 대응할 것인지를 원하는 대로 명시할 수 있다. 리셰이프 이벤트를 등록하기 위한 콜백 함수 프로토타입은 다음과 같다. void glutReshapeFunc(void (*func) (int width, int height)); 다소 복잡해 보..
2015.11.22
html
http://charlesk.tistory.com/14
2015.11.14
자바 import 주석 한글 깨짐 현상 해결
해결법 1.Window - Preferences 을 들어간다Content Types - Java Source File - Default encoding에서 UTF-8 이라고 적어주고 Update 를 누르면 해결 해결법 2.Window - Preference 를 들어간다General - Workspace - Text file encoding 선택란에서 UTF-8 설정 해결법 3.Window - Preference 를 들어간다General - Content Type - Text - Java Source File 을 선택한 후마지막 칸의 Default encoding을 EUC-KR 로 변경 후에 Update를 선택
2015.11.09
버퍼 오버플로우 공격(Buffer Overflow Attack)이란?
버퍼 오버플로우 공격(Buffer Overflow Attack) 이란? 간단히 말해서 프로그램에 버퍼를 조작할 수 있는 버그가 존재할 경우 컴퓨터에게 해커가 원하는 일을 하도록 지시시켜 공격하는 것이다. 버퍼 오버플로우가 발생하는 C코드 1234567#include int main(int argc, char* argv[]){char buffer[200];strcpy(argv[0], buffer);printf("Hello %s",buffer);} 이 코드는 버퍼 오버플로우 취약성이 있는 코드다. 코드를 컴파일하고 실행시켰을 때 첫 번째 인자에 200자 이상의 문자를 입력하면 버퍼 오버플로우가 발생하게 된다. 이 경우 악의적인 공격자가 컴퓨터의 루트 권한을 뺏어 올 수 있게 되어 자유자재로 컴퓨터에게 악영향..
2015.11.02