본문 바로가기

Dev

이미지 변환 모듈 (모바일용, GDI+) - 이미지의 포맷 변환 및 퀄러티, 크기조정(비율) 모듈 - Windows 환경, C++, GDI+, Component STDMETHODIMP CMobileImage::Convert(BSTR Src, BSTR Output, BSTR ImgFormat, long Quality, long Width, long Height, VARIANT_BOOL* pSuccess) { *pSuccess = VARIANT_FALSE; _bstr_t bstrSrc(Src); _bstr_t bstrOutput(Output); _bstr_t bstrImgFormat(ImgFormat); ULONG_PTR gdiToken; Gdiplus::GdiplusStartupInput gdiInput; Gdiplus::GdiplusStartu.. 더보기
Crypto++ 사용하기, 예제 Crypto++ (http://www.cryptopp.com) C++ 용 암호화 라이브러리 Crypto++ 컴파일 우선 해당 사이트에서 라이브러리를 다운 받은 후 원하는 컴파일러로 컴파일을 하여 dll 이나 lib 파일을 생성한다. VC++ 2008 버전의 경우 프로젝트 파일이 따로 있지는 않고 VC++2005 버전을 업그레이드 후 컴파일 하면 됨 컴파일을 하면 cryptopp560\Win32 디렉토리에 각각 파일이 생성되고, dll 의 경우는 cryptopp560\Win32\DLL_Output 폴더에, static library 의 경우는 cryptopp560\Win32\Output 폴더에 각각의 모듈이 생성 된다. 내가 테스트 할때는 dll 의 버전의 경우 이상하게 링크에러가 발생을 하여, stati.. 더보기
COM+ 패키지 활성화별 세션 상태 정리 패키지 활성화 JIT 활성화 멤버변수 상태 유지 전역변수 상태 1. 서버 응용 프로그램 활성 유지 않함 유지 (활성화 개체 단위) 2. 서버 응용 프로그램 비 활성 유지 유지 (활성화 개체 단위) 3. 라이브러리 응용 프로그램 활성 유지 않함 유지 (세션 단위) 4. 라이브러리 응용 프로그램 비 활성 유지 유지 (세션 단위) * JIT 활성화가 있는경우 Method 단위로 m_spObjectContext->SetComplete() 를 호출 하여 테스트 * 풀링의 세팅의 경우 위의 결과와 틀리게 멤버변수의 상태가 달라 질 수 있음 * CreateObject 이후 Nothing 까지의 상태 내용 - JIT 활성화인 경우 Method 단위로 클래스의 생성자 및 소멸자 호출 - 풀링 설정의 경우 패키지가 시작할.. 더보기
Redmine 세팅 BitNami Redmine Stack 받기: http://bitnami.org/stack/redmine 한글을 문제 없이 사용위해 DB를 UTF-8 로 설정 하기 위한 작업 + 기타 등등.. 1. MySql 설정 변경 -> \BitNami Redmine Stack\mysql\my.ini [client] default-character-set=utf8 [mysqld] character-set-client-handshake = FALSE init_connect=SET collation_connection = utf8_general_ci init_connect=SET NAMES utf8 default-character-set=utf8 character-set-server=utf8 collation-serve.. 더보기
SerializeToXML - C# - 기존에 TextWriter 객체에 Serialize 하니 XML Declaration 부분에 UTF-16으로 고정 되어서 MemoryStream 로 교체 - MemoryStream는 XML Declaration 부분을 표시 하지 않음 using System.IO; using System.Text; using System.Xml; using System.Xml.Serialization; // 구현 protected string SerializeToXML(T t) { string strXml = ""; XmlSerializer xs = new XmlSerializer(typeof(T)); try { using (MemoryStream ms = new MemoryStream()) { xs.Serialize.. 더보기
C# Web Service -> REST Web Service(WSDL), REST 어떤 방식으로 서비스를 만들면 좋을것인가 고민을 한적이있다. 그런데 왜 난 꼭 REST 방식을 웹페이지로 따로 만들어야 된다고 생각을 했을까? 그냥 아래와 같이 Web Service에 대해서 GET, POST 방식을 같이 노출하면 같이 사용할 수 있는데.. Web Service 의 인터페이스 메쏘드의 Input 파라미터에 대해서 Complex Type을 쓰지 않고 기본 타입을 쓰고, web.config 에 아래와 같이 GET, POST 방식을 노출 해주면 끝. 하지만 Basic Type 을 쓰면 Strong한 타입 체킹을 할 수 없다는 단점이 있긴하다.. 더보기
C++0x, RValue Reference C++0x RValue Reference 라는것이 추가 되었다. RValue Reference는 Move semantics와 Perfect forwarding 이라는 두가지 기능을 가진다. 1. Move semantics 기존 부터 있던 Reference는 LValue Reference 라고 불린다. int n = 10; int &r = n; // LValue Reference int *p = &n; // 포인터 참조 방식 cout 더보기
C++0x Lambda 아래 링크의 글 중 Herb Sutter 의 Lambda 예제 및 설명에 관한 리플.. http://herbsutter.wordpress.com/2008/03/29/trip-report-februarymarch-2008-iso-c-standards-meeting/ []와 []안에 들어가는 내용에 대해서 명쾌하게 설명을.. Herb Sutter Re binders: Okay, I give! I’ll use a better example next time. (no name) asked: "How are local variables captured?" You have to specify whether it’s by copy or by reference. So this example is illegal beca.. 더보기
C++0x 지원 컴파일러 목록 http://wiki.apache.org/stdcxx/C++0xCompilerSupport 더보기
C++ Refactoring 기 작성되어 있던 C++ 컴포넌트에서 한개의 함수에 너무 많은 코드로 인해, 컴파일러 내부 오류를 경험하고 해당 코드에 대해서 리팩토링을 결심!! 관련된 작업은 Extract Method 이며 자동으로 해당 부분을 추출하여 Method를 만들어 주는 툴을 중심으로 알아 보았다. 이것 저것 알아보던 중 2개의 후보가 눈에 띠었다. 대상은 "Refactor! For Visual C++ 2005"와 "Visual Assist X" 에서 지원하는 Refactoring 에 관련된 기능이다. 결론부터 얘기하면 "Refactor! For Visual C++ 2005"의 기능이 쓸만 하였고 Visual Assist X 의 리팩토링 기능은 간단한 기능을 제외하고는 그다지 유용하지 못하였다. Visual Assist X .. 더보기
ATL Com Project VC++ 6 에서 VC++ 8 변환(업그레이드) VC++ 6 에서 ATL Com Project 만들어진 프로젝트를 VC++ 8 로 업그레이드를 할 경우 몇가지의 문제가 발견 되었다. 1. LINK : fatal error LNK1104: 'mtxguid.lib' 파일을 열 수 없습니다. 확인 해보니 더 이상 VC++ 8 버전에서는 'mtxguid.lib'가 존재 하지 않는다. 다른 lib 로 바이너리들이 통합 된것으로 보이며 링커 옵션에 추가 되어 있는 'mtxguid.lib' 를 지우면 된다. 추가적으로 main을 못찾는다는 링크 에러가 발생하면 "ATL에서 CRT 사용 최소화" 옵션을 사용 하지 않는다. 2. GetObjectContext 링크 에러 링크 옵션에 "comsvcs.lib" 를 추가 하면 된다. 3. def 파일의 심볼에 서수 지정 경.. 더보기
An Overview of the Coming C++ (C++0x) Standard C++ 0x에 대한 리뷰 동영상인가 보다. 시간있을때 하나씩 정리를 해볼까 하는데.. 움.. 더보기