본문 바로가기

이미지 변환 모듈 (모바일용, 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.. 더보기
요즘 IT 관심사 - 2009.09.02 1. 효과적인 Backend System 구현 - IE + ActiveX 환경에서의 진화 2. Prototype.js vs jQuery - Prototype.js를 쓰고 있는데 도통 jQuery 인기다. - Prototype.js을 열심히 쓸것이냐? 아니면 jQuery 로의 전환을 시도 할것인가 - 팔랑팔랑 ㅎㅎ 3. 모바일 서비스 - 예약/예매 시스템의 모바일 서비스 최적화 4. UX (User eXperience) - 기술집약 혹은 복잡한 서비스들의 UX 개선 방향 - 기획 단계에서의 UX 적용 방법 5. designed, specified, implemented, tested, documented and shipped 6. 업무프로세스 + 개발프로세스를 쉽게 작성, 표현 할 수 있는 툴, 방법 찾기.. 더보기
twitter 잡담 1. 티맥스 OS 사태(?)를 계기로 트위터를 시작했다. 여기저기 돌아 댕기면서 부담없이 Follow를 하고 의견, 정보를 공유하는 것이 왠지 메신저의 내용을 rss 구독 하는 느낌이 든다 비슷한 서비스인 미투데이 경우는 몇번이고 시도 해봤지만 어디서 부터 시작해야 될지 모른다는 느낌에 손이 가질 않는다. 2. 좀 더 편하게 사용할 요량으로 클라이언트를 몇개 사용해 봤는데, 왠지 딱 이거다 하는 툴은 없어보인다. 대부분은 Adobe AIR 플랫폼을 개발이 되어 있고 몇몇은 .NET 환경도 있는듯 하다. Adobe AIR의 경우 트위터 어플을 통해서 사람들한테 가장 많이 사용되어 지지 않았나 생각이 든다. 지금까지 사용해본 몇개의 어플의 개인적인 불편한 점은.. TweetDeck 은 가장 많이 사용하는 어.. 더보기
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한 타입 체킹을 할 수 없다는 단점이 있긴하다.. 더보기
근황, 단상 - 2009.08.08 1. 서버의 "예약된 작업" 을 웹으로 모니터링 하기 위한 페이지를 만들기 우선 관련 API 를 조사하던 도중 아래의 것이 나왔다. http://msdn.microsoft.com/en-us/library/aa383614%28VS.85%29.aspx Developer Audience The Task Scheduler provides APIs for the following developers: Task Scheduler 1.0: Interfaces are provided for C++ development. Task Scheduler 2.0: Interfaces and objects are provided for C++ and scripting development respectively. Run-Time.. 더보기
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 더보기