개발자의 기록 노트 (153) 썸네일형 리스트형 [MFC] 알아두면 유용한 형변환 // CString -> int 변환 CString CNum = _T("234"); int iNum = _ttoi(CNum); // int -> CString 변환 int iNum = 234; CString CNum; CNum.Format(_T("%d"), iNum); // CString -> double CString CNum = _T("41.53"); double dNum = _wtof(CNum); // double -> CString double dNum = 41.53; CString CNum; CNum.Format(_T("%f"), dNum); [Android] 죽지않는 서비스 만들기 안드로이드에서 죽지않는 서비스 만들기안드로이드는 시스템의 메모리 상황에 따라 각 Process별로 OOM Score (Out Of Memory Score)를 부여하고, 이 값을 기준으로 메모리가 부족해지면 OOM Score가 높은 Process부터 선택적으로 동작중인 서비스를 죽이기도 한다. 또한 나중에 다시 살리기도 한다. 만약 앱 개발을 하면서 죽지않고 항상 떠서 동작하는 서비스를 구현해야 하는 요구사항이 있다면, 이런 일이 발생하는 것에 당황할 수 있다. 이러한 상황에 부딪히면 자신이 개발중인 서비스를 죽지 않도록 만들고자 방법을 찾아볼 텐데, 이런 경우를 위한 방법이 있다. 바로 알람서비스를 이용하여 서비스가 죽으면 다시 살리는 방법이다. 많은 경우 이런 방식을 이용하는 것으로 보인다. 예제 소스.. [안드로이드] Push Notification 구현 [안드로이드] Push Notification 구현 안드로이드에서 Push notification을 구현하기 위한 방법으로 XMPP를 이용하는 방법과 MQTT를 이용하는 방법이 있다. 여기서는 MQTT를 이용하여 C2DM을 지원하지 않는 안드로이드 2.1이하 버전에서 PUSH notification을 지원하기 위한 방법에 대해 설명한다. 안드로이드 앱에서 Push notification을 지원하기 위한 방안은 3가지정도의 방안이 있다. 폴링이게 진정 push일까?? 어쨌든 단말에서 주기적으로 서버에 가져갈 메세지가 있는지 확인하여 push event를 수신할 수 있다. 장점 : 구현이 쉽고 비용도 안든다. 단정 : 실시간이 아니지 않은가... 게다가 이는 배터리소모까지 발생시킨다.. 끔찍하다. 이에 대한.. [안드로이드] 커스텀 프로그레스바 안드로이드 기본 프로그레스바를 사용하다보면 느끼는 것이 정말 안이쁘다는 것이다. 그리고 어플리케이션 디자인에 따른 프로그레스바의 색을 지정한다면 더 좋은 디자인을 갖는 어플을 개발 할 수 있을 것이다. 안드로이드 어플을 개발하면서 나쁜 것은 디자인적인 요소이지만 좋은 것은 그 디자인적 요소를 어떻게든지 커스터마이징 할 수 있다는 것이 장점이다. 프로그레스바는 현재 어플이 어떠한 작업을 하고 있다는 것을 사용자에게 보여주는 요소로 시간이 걸리는 작업을 수행하거나 혹은 좀더 좋은 효과를 표현하는데 사용될 수 있다. 이러한 프로그레스바를 커스텀 하는 방법은 간단한다. 먼저 /res 폴더아래에 drawable이라는 폴더를 만들고 그 안에 커스텀한 프로그래스바의 이름을 정한 xml파일을 만든다. 그리고 그 xml.. [안드로이드] 안드로이드의 이미지 Canvas, Bitmap, Drawable 개요 안드로이드의 이미지 Canvas, Bitmap, Drawable 개요 안드로이드에서는 이미지를 다루기 위한 몇가지 클래스가 존재한다.Canvas, Bitmap, Drawable이 그것이다.각각의 이미지 관련 클래스들에 대해 전반적인 사항을 알아보고자 한다. Drawable, 앱의 resource 디렉토리에 저장되어 있는 이미지 다루기기본적으로 resource에 저장되어 있는 이미지의 경우에는 "Drawable" type의 객체로써 해당 이미지를 다룰 수 있다."Drawable" type을 화면에 그리는 예제 코드는 아래와 같다. Drawable drawable = getResources().getDrawable(id); drawable.setBounds(0,0, drawable.getIntrinsicWi.. MFC 재배포 DLL MFC 재배포 DLL 간단한 MFC용 ODBC을 배포하려고 하는데 필요한 DLL을 확인해보았습니다. 프로젝트 형식은 [Win32]-[Win32 콘솔 응용 프로그램]이고 템플릿 마법사(응용 프로그램 설정)에서 추가 옵션에 '미리 컴파일된 헤더'에 체크 및 공용 헤더 파일 추가 대상에 'MFC' 에 체크하였습니다. 미리 컴파일된 헤더(PCH) 헤더 파일인 stdafx.h에 TODO 부분에 #include // MFC ODBC 를 추가하고 main함수가 있는 cpp 파일에 CDatabase db; BOOL res = db.OpenEx(TEXT("~~~~)); // ~~~~부분에는 ODBC 연결 문자열이 들어갔습니다. if(res) { db.ExecuteSQL(TEXT("Insert into ABBA.dbo.u.. 해시 테이블에 대하여 (about Hash Table) 해시 테이블은 한마디로 공간을 팔아 시간을 사다 라는 말로 표현할 수 있다. 주소를 이용해서 배열같이 직접 탐색이 가능하다. 해시테이블의 기본 개념은 다음과 같다. 데이터를 담을 테이블을 미리 크게 확보해 놓은 후 입력받은 데이터를 해시하여 테이블 내의 주소를 계산하고 이 주소에 데이터를 담는 것, 이것이 바로 해시 테이블의 기본 개념이다. 해시테이블은 특이하게도 데이터가 입력되지 않은 여유공간이 많아야 제 성능을 발휘할 수 있다. 테이블 내의 주소를 계산할 때는 해시함수를 이용하는 데 이에는 두가지 방법이 사용된다. 1) 나눗셈법 주소 = 입력값 % 테이블의 크기 하지만 이는 충돌과 클러스터 문제가 발생할 가능성이 높다. 2) 자릿수 접기 Hello -> 72 + 101 + 108 + 111 = 500.. OpenCV 2.2 - Visual Studio2010 에 설치하기 OpenCV 2.2부터는 VS2010용 pre-compiled 버전(VS2008도 사용 가능)이 나온 동시에 OpenCV의 라이브러리들이 대대적으로 정리되고 이름들도 많이 바뀌어서 예전에 만들어둔 프로젝트를 돌리는데 문제가 좀 생기게 되었습니다. 새 버전에 어서 적응하는 방법 밖에 없겠습니다. 허허허헛... 2.1에 비해 달라진 점 중 눈에 띄는 몇 가지는 다음과 같습니다. - 라이브러리들의 재정리 및 이름 변경 - 새로운 스테레오비전 알고리즘 등의 최신 기술을 사용한 알고리즘 다수 추가 - 약 200여 가지의 대대적 버그 수정 (아직 부분적으로 메모리 누수 현상이 있다고 합니다) - NVIDIA의 OpenCV에 대한 공식 지원 (CUDA 라이브러리와의 연동으로 데이터 연산에 3D 가속 기능 사용 가능).. 이전 1 ··· 13 14 15 16 17 18 19 20 다음