안녕하세요. N.K Dev Lab에 글을 안쓴지가 정말 오래되었네요. 올해는 저의 취업 시즌인 만큼 블로그에 글을 쓰는 것에 많이 소홀했었습니다. 더욱이 Dev Lab 리뉴얼과 관련하여 여러 일들이 있었는데, 저의 Dev Lab이 다시 Jekyll로 돌아오게 되었습니다. 이유는 여러가지가 있지만 이제 제가 취업을 하게 되면 현재 하고 있는 일들을 조금 미리 간소화 하는 작업이라고 보시면 될 것 같습니다. 한 가지 예를 들어, 이제 Dev Lab에 올리는 글은 저의 손에 의해 수동으로 NKLAB(Tistory)에 게시되지 않고 자동화 ...
C++ 언어에서 MQTT 사용해보기
오늘은 지난 포스트에 이어서, 프로그래밍 언어를 활용한 MQTT 사용에 대해 적어보고자 합니다. 오늘은 C++ 언어를 사용해보도록 하죠. libmosquittoC++ 언어에서 사용할 MQTT 라이브러리로 libmosquitto를 사용하려 합니다. 그럼 libmosquitto 라이브러리를 설치해야겠죠? 그럼 설치부터 시작해보겠습니다. $ sudo apt install libmosquitto 우분투 리눅스에서는 기본적으로 레포지터리에서 제공하는 libmosquitto 패키지가 있습니다. 해당 패키지를 사용해서 libmosquitto를 ...
Android 에서 MQTT를 사용하는 방법
안녕하세요. 요즘 취업 시즌이 한창이다보니, 블로그에 글쓰는게 또 게을러지게 되었네요. ㅜㅜ 오늘은 지난 포스트에 이어서, 프로그래밍 코드를 이용한 MQTT 메시지 교환 - 안드로이드 편을 포스트하고자 합니다. 혹시 아직 MQTT에 대한 개념이나, Broker를 설치하지 않으신 분들은 아래 링크를 통해, 이전 글을 반드시 구독해주신 후, 이 포스트를 참조하시기 바랍니다. MQTT 프로토콜 개념과 이해 Eclipse PahoMQTT 프로토콜을 사용해 메시지 교환을 하기 위해서는 MQTT 통신이 가능한 라이브러리가 필요합니다. 그 ...
Android CustomView를 만들어보자
벌써 8월이 시작됐네요. 올해 장마는 무척 길었던 것 같습니다. 오늘은 안드로이드의 CustomView를 제작하는 간단한 방법을 적어보고자 합니다. 저는 사실 디자인에 많이 약합니다. 제가 현재 맡고 있는 졸업 작품에서도 클라이언트로 안드로이드 앱 개발을 담당하고 있지만, 앱 디자인에 코드를 여러 번 뜯어고쳤습니다. 처음에는 그다지 디자인에 많이 신경도 쓰지 않았고, Android, android-support, material design에서 기본적으로 제공해주는 View, Widget을 가져다가 쓰는 것이 전부이고, 그 이상은 ...
Unix Thread의 기본을 다져보자
개발 글을 써온지 벌써 4개월이 지났지만, 학교 생활과 성적 관리 등으로 인해 컨텐츠가 많이 부족하여 이리저리 생각해 본 결과, 이 개발 블로그에 제가 알고 있는 모든 개발 지식들을 올리려고 합니다. 물론 용도는 여러 가지가 있겠지만, 주 용도는 사람의 기본적인 특성인 망각 특성 때문이겠죠? ㅎㅎ 오늘은 Unix Programming에 대한 카테고리를 새로 추가하여, pthread부터 시작해보려 합니다. 왜 쓰레드부터 시작하냐고요? 그렇군요. 올해는 유난히 제 프로젝트, 과제 등에서 모두 쓰레드를 사용했기 떄문이라고 이야기 하고 싶 ...
Android, 다른 쓰레드에서 UI 처리를 하는 방법
오늘 포스트는 어제에 이어서, 쓰레드에 대한 이야기를 계속해보려 합니다. 아무래도 UI 프로그래밍에 대한 이야기다보니, UI 프로그래밍에 많이 유명하다고 생각되는 Windows 쪽의 이야기를 많이 섞어보자 합니다. 읽으실 때, 이해가 조금 안되시는 부분도 있을테니 참고하시기 바랍니다. UI 리소스를 Sub Thread에서 직접 사용할 경우.안드로이드 앱에는 UI가 존재합니다. UI라고 하는 것은 사용자들이 터치하는 버튼, 텍스트 박스 등의 컴포넌트를 말하는데요. 주로 간단한 애플리케이션에서는 이 UI를 메인 쓰레드에서 처리합니다. ...
Android AIDL 을 사용한 Activity 와 Service 통신
안녕하세요. 처음으로 Android 포스트를 쓰게 되었네요. 안드로이드 포스트를 커리큘럼별로 포스팅을 해볼까 라는 생각도 했었지만, 커리큘럼에 대한 내용은 다른 블로그에서도 많이 찾아볼 수 있는 내용이고 또 어렵지 않은 내용이기에 커리큘럼이기 보다는 자주 사용하면서도 쉽게 이해하기 어려운 부분을 정리해보고자 처음 포스트를 AIDL로 삼게 되었습니다. AIDL ?AIDL은 Android Interface Definition Language의 약자로, 인터페이스를 정의한 언어입니다. 본래는 Android IDL은 Corba의 IDL 기 ...
Web 응답 메시지 상태 코드
최근 졸업 작품에 Node.js를 이용하게 되면서, Web 응답 메시지 상태 코드에 대해 자주 찾아보게 되었습니다.그래서, 간략하게 개발용 블로그에 Web 응답 메시지 상태 코드를 포스팅하려 합니다. 상태 코드 구분 1xx : 정보를 제공. 2xx : 요청이 성공적으로 이루어짐. 3xx : 요청한 해당 자원이 다른 곳에 있거나 누락. 4xx : 요청(클라이언트)에 문제가 있음. 5xx : 서버에 오류가 있음. 생각보다 어렵지 않다. 그 중 나는 4 단위와 5 단위만을 암기하고 있었다. 가장 눈에 익숙한 부분이고, 서버 개발이나 테 ...
Boost Library 설치와 사용
음 생각해보니, CMake에 관한 포스트를 Tistory에 게시를 해버렸네요. 이 개발자 페이지에 신경을 썼음에도 불구하고, 아무래도 아직 Tistory 블로그는 잊혀지지 않았나 봅니다. (다음에는 개발 포스트를 반드시 여기에 게시하도록 할게요 ㅠㅠ) 최근 저는 C++ 언어에 다시 몰두하기 시작했습니다. 작년까지는 학부 수업에서 두 개 이상 Java 언어로 수업을 받았었(?)… 사실 OpenCV는 C++ 언어로 진행하긴 했습니다만 Java 언어로 수업받았던 두 과목이 프로젝트로 진행되는 과목이어서 어쩌다보니 Java에 몰두하게 되 ...
OpenCV Trackbar 주무르기
안녕하세요. 새로운 블로그에 저도 모르게 상쾌한 기분이군요. 오늘은 Tistory 블로그에 이어서, 계속 OpenCV 코드 카테고리 글 작성을 계속하려 합니다. TrackbarOpenCV에는 Trackbar라는 컴포넌트가 존재합니다. (사실 컴포넌트라고 하기에는 조금 흠이 있지만…) 여러분이 원하는 영상을 마우스의 드래그만으로 형상을 변화시킬 수 있도록 하는 것이지요. 말씀만으로는 설명이 어렵기 때문에 간단한 예시를 보며 설명을 드리겠습니다. 위 사진은 Trackbar를 움직여서 가운데에 원을 그려놓고 그 크기를 점점 늘리고 줄 ...