본문 바로가기

개발48

Internet Explorer 버전별 테스트 http://modern.ie Internet Explorer 버전, OS 버전에 따라 테스트가 필요한 경우 쉽게 테스트할 수 있도록 가상 시스템(VM)을 무료로 제공하는 사이트입니다. Mac, Linux, Windows용으로 VirtualBox, Virtual PC, VMWare, Parallels의 VM을 다운로드할 수 있습니다. 웹페이지의 호환성 테스트 뿐만 아니라 데스크탑 프로그램의 IE 버전에 따른 호환성 체크가 필요한 경우에도 유용하게 사용할 수 있겠네요. 2014. 5. 11.
Adobe Alchemy 컴파일 환경 설정하기 Adobe Alchemy는 C/C++ 코드를 컴파일해서 ActionScript Virtual Machine(AVM2)에서 사용하게 해주는 툴로 기존 C/C++ 라이브러리를 Adobe Flash나 Adobe AIR에서 사용할 수 있도록 해준다. Windows에서 컴파일 환경 설정 방법이 간단하지 않아 정리해보았다. Cygwin을 다운로드하고 설치한다. http://cygwin.com/install.html Cygwin setup.exe를 실행한다. Select packages에서 perl, zip, gcc-g++, [gdb, make]를 선택한다. Cygwin 설치를 완료한다. JAVA를 설치한다. http://www.oracle.com/technetwork/java/javase/downloads/inde.. 2012. 5. 3.
Qt 네트워크 프로그래밍 팁 Qt로 네트워크 프로그래밍을 할 때 주의하거나 참고할 만한 팁들을 정리해보았다. Qt 4.7.0 버전 대상이라 다른 버전에서는 조금 다를 수도 있다. Http를 위해 사용하는 QNetworkAccessManager에서 Persistent Cookie를 지원하지 않는다. QNetworkCookieJar를 상속해서 별도로 구현해야 한다. 아래 툴 소스에서 구현 예제를 찾을 수 있다.(PersistentCookieJar)qt/tools/qml/qmlruntime.cpp 바로가기 파일(.lnk)가 심볼릭 링크로 처리된다. QFileInfo::isDir(), QFileInfo::exists() 등의 함수가 바로가기 파일이 아니라 대상 파일의 속성이 나오니 주의해야 한다. Signal, slot 연결 시 멀티스레드.. 2011. 6. 11.
AIR 네이티브 인스톨러 사일런트 설치 air application을 프로젝트의 일부로 사용하거나 별도의 설치파일로 설치할 필요가 있을 경우 아래의 방법으로 설치할 수 있습니다. 먼저 release할 때 native installer로 export하거나 .air 파일을 .exe로 변환합니다. adt -package -target native installer_file air_file 사일런트 모드로 설치합니다. installer_file -silent -location "\"설치경로\"" -allowDownload 실제 설치 위치는 설치경로 하위에 프로그램 디렉토리가 하나 만들어지고 그 위치에 설치됩니다. 설치 시점에서 실제 설치 위치(설치경로\프로그램 디렉토리)는 존재하지 않아야 합니다. 설치경로에 공백 문자가 있다면 반드시 앞 뒤에 \"을.. 2010. 11. 29.
Adobe AIR 2의 새로운 기능 네이티브 프로세스 네이티브 프로세스를 실행하고 통신할 수 있도록 해준다. 통신은 표준입출력과 에러출력을 통해서 한다. flash.desktop.NativeProcess flash.desktop.NativeProcessStartupInfo flash.events.NativeProcessExitEvent 기본 연결 프로그램으로 파일 열기 기본 연결로 등록된 파일을 열 수 있다. flash.filesystem.File.openWithDefaultApplication() 향상된 드래그 앤 드롭 특정 URL을 로컬 파일 처럼 로컬 머신으로 드래그 아웃할 수 있도록 해준다. air.desktop.URLFilePromise 로컬 마이크 입력 서버 지원 없이 로컬 마이크 입력 오디오를 기록할 수 있다. flash.me.. 2010. 7. 8.
goto 대신에 do { ... } while (false)를 사용한 에러처리 C/C++ 코딩을 하다보면 흔히 아래와 같은 에러처리 코드를 만나게 된다. ... if (!condition1) goto cleanup; ... if (!condition2) goto cleanup; ... if (!condition3) goto cleanup; ... if (!condition4) goto cleanup; ... cleanup: // 메모리 해제등의 정리 작업 고급 언어에서는 goto를 사용하지 말라고 많이 하고 실제 goto의 사용이 스파게티 코드를 만드는 경우가 많기 때문에 사용하지 않는 것이 좋지만 C/C++에서는 finally를 지원하지 않기 때문에 위와 같은 코드는 묵인해주는 경우가 많다. 그래도 goto를 피하고 싶기 때문에 아래처럼 하기도 한다. ... if (!condit.. 2010. 3. 25.