OLED LCD 소비전력 차이, 더 효율적인 디스플레이는? LCD vs OLED 소비전력 LCD와 OLED의 소비전력과 특성 구동 방식의 기술적 차이에 의한 소비전력 차이 - LCD : Back Light가 가장 많은 전력 소모 * CCFL에서 LED로 전환 중 (LED : CCFL의 70% 수준 전력 소모) - OLED : 각각의 발광 소자가 가장 많은 전력 소모 * 현재 알려진 바에 의하면 OLED는 LCD보다 약 30% 정도 적은 소비전력 소모된다고 알려져 있음(LCD는 항시 Back Light On, OLED는 필요한 부분의 소자만 빛 발산). 모바일 기술의 진화, 소비전력은? 모바일 기기 한정된 전력으로 소비전력 중요 - 모바일 기기 전력 소모에서 가장 큰 비중을 차지하는 것이 디스플레이 - 발..
[배열 초기화 C++] static const char 초기화 배열 초기화하는 방법은 간단합니다. 12345// headerstatic const char kEXAM[]; // cppconst char ClassName::kEXAM[] = { 'E', 'X', 'A', 'M', '0', '1' };cs 헤더 파일에 상수화 시킬 변수를 선언만 해주세요.이때, 배열 초기화 대상의 배열의 크기를 미리 지정해도 됩니다. 12345// headerstatic const char kEXAM[6]; // cppconst char ClassName::kEXAM[6] = { 'E', 'X', 'A', 'M', '0', '1' };cs 저라면, 아직 개발 단계고 배열의 크기가 확정되지 않았다면, 배열 초기화를 위해 크기는..
Java Spring 포트폴리오 6가지 알아보기 (자바 스프링) Java Spring LDAP DI와 AOP 외에도 스프링 프레임워크를 통해 적용되는 또 다른 공통 기법은 JDBC 쿼리 또는 JMS 메시징같이 불필요하게 복잡한 작업에 대해 템플릿 기반의 추상화를 만드는 것이다. 스프링 LDAP은 LDAP에 스프링 스타일의 템플릿 기반 액세스를 제공하며, 일반적으로 LDAP 작업에 포함된 단순 반복적인 코드를 제거한다. 스프링 LDAP에 관한 더 많은 정보는 아래에서 확인 가능하다. 링크 - http://projects.spring.io/spring-ldap/ Java Spring 리치 클라이언트 웹 기반 애플리케이션이 전통적인 데스크톱 애플리케이션에서 주목을 빼앗아간 듯 보인다. 하지만 아직 스윙(Swi..
C++ Qt 문자열 변환 예제 QString to LPCTSTR Qt와 MFC 또는 Qt와 C++을 응용할 때 발생하는 문제입니다. QString만 쓰는 환경이라면 상관없지만, LPCTSTR 같은 다른 자료형을 쓰는 환경이라면 변환이 생각만큼 잘 되지 않죠. ▶ QString to LPCTSTR 응용 개발환경 비주얼스튜디오 2013Qt 5.3.2유니코드 환경 32, 64 비트 릴리즈 / 디버그 모드 위와 같은 환경에서 QString을 LPCTSTR로 변환하는 소스입니다. 12345QString qt_string = "Test"; to LPCTSTR mfc_string = qt_string.toLocal8Bit().constData();cs QString = QStringQString.toLocal8Bit..
[디자인패턴] Qt 싱글톤 패턴, 로그 생성 프로그램 Qt에서 디자인패턴 중 싱글톤 패턴 기반으로 로그 파일을 생성하는 프로그램입니다. Qt도 C++을 기초로 제작된 언어라 싱글톤 패턴 소스는 C++의 것을 그대로 사용했습니다. 특별한 경우가 아닌 이상, C++ 디자인패턴 소스는 Qt에서도 구동됩니다. 이 포스트의 전체 프로젝트 파일은 아래 링크를 누르시면 받을 수 있습니다. [디자인패턴] Qt 싱글톤패턴 프로젝트 - SingletonFileIO.zip [링크] 우선, 실행 화면부터 보시죠. 메인 화면에는 메시지 레벨 3단계가 표시됩니다. UI는 꽤 단순하죠? 로그를 생성할 때, 메시지 레벨이 존재합니다. 위의 버튼에 보이는 ERROR, WARNING, INFORMATION으로 총 3개입니다. 디자인패턴..
[자바 스프링 트랜잭션] 전파방식 7개 (Java Spring) 자바 스프링 1. PROPAGATION_MANDATORY해당 메소드 호출 전에 반드시 진행 중인 트랜잭션이 존재해야 한다. 진행 중인 트랜잭션이 존재하지 않을 경우에는 예외가 발생한다. 자바 스프링 2. PROPAGATION_NESTED이미 진행 중인 트랜잭션이 존재하면 해당 메소드는 중첩된 트랜잭션(NESTED TRANSACTION)에서 실행돼야 함을 나타낸다. 중첩된 트랜잭션은 둘러싼 트랜잭션(ENCLOSING TRANSACTION)과 독립적으로 커밋되거나 롤백될 수 있다. 만약 둘러싼 트랜잭션이 없는 상황이라면 이는 PROPAGATION_REQUIRED와 동일하게 작동한다. 그러나 이 전파방식은 벤더 의존적이며 지원이 안 되는 경우도 ..
C# Invoke로 크로스 스레드 해결, 간략한 소스 응용 [C#강좌] C# Invoke는 이럴 때 써야 합니다. 아래 에러 메시지 보시죠. InvalidOperationException이(가) 처리되지 않았습니다. 또는, 이럴 때도 C# Invoke를 써야 하죠. 처리되지 않은 'System.InvalidOperationException' 형식의 예외가 System.Windows.Forms.dll에서 발생했습니다. 추가 정보: 크로스 스레드 작업이 잘못되었습니다. 'tb_received' 컨트롤이 자신이 만들어진 스레드가 아닌 스레드에서 액세스 되었습니다. 위 에러가 발생했을 때 해결하는 방법은 3가지였습니다. (C# Invoke를 사용하지 않았을 때) 1. 델리게이트를 선언하고 그곳에 맞는 콜백 함수..
[MFC강좌] 폴더 파일 경로 5. PathSkipRoot 등 16개 함수 void PathSetDlgItemPath( HWND hDlg, int id, LPCSTR pszPath ); PathCompactPath와 유사하다. id로 지정된 Dialog Item에 출력하기 적합한 길이로 경로를 잘라준다. LPCTSTR PathSkipRoot( LPCTSTR pszPath ); 루트 경로를 제거한다. 로컬 경로인 경우 드라이브문자(c:\)가 지워지고, UNC 경로인 경우 서버 이름, 공유 폴더 이름이 제거된다. PathSkipRoot( "c:\temp\test.txt") = temp\test.txt PathSkipRoot( "\\server\c$\temp\test.txt") = temp\test.txt v..
[MFC강좌] 폴더 파일 경로 4. PathParseIconLocation 등 10개 함수 int PathParseIconLocation( LPTSTR pszIconFile ); pszIconFile에 파일 경로와 아이콘 인덱스가 포함된 경우 이를 적절하게 분리해 준다. pszIconFile에는 경로가, 아이콘 인덱스는 반환 값으로 나오게 되며, pszIconFile은 "경로, icon index" 형식이어야 한다. BOOL PathQuoteSpaces( LPTSTR lpsz ); lpsz에서 공백이 발견되면 lpsz를 큰 따옴표(")로 묶어준다. 공백이 없다면 아무 일도 하지 않고 FALSE가 반환된다. BOOL PathRelativePathTo(LPTSTR pszPath, LPCTSTR pszFrom..
[MFC강좌] 폴더 파일 경로 3. PathIsRoot 등 10개 함수 BOOL PathIsRoot( LPCTSTR pPath ); 경로가 루트 폴더(드라이브 바로 밑)인지 검사한다. PathIsRoot("c:\") = TRUEPathIsRoot("c:\windows") = FALSE BOOL PathIsSameRoot( LPCTSTR pszPath1, LPCTSTR pszPath2 ); pszPath1과 pszPath2가 같은 드라이브(루트 폴더)에 있는지 검사한다. PathIsSameRoot( "c:\test1\temp1.txt", "c:\test2\temp2.txt" ) = TRUE BOOL PathIsSystemFolder( LPCTSTR pszPath, DWORD dwAttrb ); 제시된 경로..
TCHAR -> string 변환, C++ 문자열 자료형 컨버팅 TCHAR에서 std::string으로 변환하는 예제 코드입니다. 12345678910111213const std::string TCHARToString(const TCHAR* ptsz){ int len = wcslen((wchar_t*)ptsz); char* psz = new char[2 * len + 1]; wcstombs(psz, (wchar_t*)ptsz, 2 * len + 1); std::string s = psz; delete[] psz; return s;}Colored by Color Scriptercs 위 함수 코드에 인자에 TCHAR 배열을 넘기면 string 변수가 리턴됩니다. 예를 들면 아래처럼 사용할 수 있습니다. 12..
CFileDialog, 윈도우7과 윈도우XP 호환 소스 (Modal Dialog) 아래는 CFileDialog를 이용한 Modal 소스인데 문제 될 것이 없는 평범한 소스입니다. CFileDialog를 Modal로 여는 것이죠. 1234567891011CFileDialog oFileDlg(TRUE, "bmp", "*.bmp", OFN_FILEMUSTEXIST | OFN_LONGNAMES, "BMP Files", this); oFileDlg.m_ofn.lpstrInitialDir = "C:\\"; oFileDlg.DoModal(); if(oFileDlg.GetPathName().Compare("") != 0){...........................}Colored by Color Scripterc..