• 카테고리
    • 전체 글

    • 카테고리1
    • 카테고리2
    • 카테고리3
    • 카테고리4
  • 태그
  • 방명록

'분류 전체보기'에 해당되는 글 1243건

  • 2009.09.14 이거원, 스팸 댓글이 다국적으로 바뀌었네요....
  • 2009.09.09 정말 INCA!!!! 게임가드 제대로 관리 안하나!!!! 4
  • 2009.09.09 망할 1.8 ZiF to 1.8 IDE 젠더!!!!!
  • 2009.09.08 아!!!! 위험했다.
  • 2009.09.02 CQ Workflow Viewer - 1 Day.
  • 2009.08.28 UnitTest++ 사용하기. 2
  • 2009.08.18 휴가 후..
  • 2009.08.11 VBScript를 이용한 XmlHttpRequest 하기.

이거원, 스팸 댓글이 다국적으로 바뀌었네요....

잡글 2009. 9. 14. 11:26
예전에는 온라인 카지노에서 부터, 각종 거시기한 사이트 광고까지,
다양한 종류의 스팸 댓글이 달려보았는데,
처음으로 일본말로 된 댓글이 달렸다.

애석하게도 유럽쪽 언어나, 아랍쪽 언어면 모를 수 있겠지만,
그나마 영어 다음으로 어느정도 잘 안다는 일본어로 쓸 줄이야....

풍속 산업 광고였는데, 왜 유인촌 관련 동영상에 걸었는지 도통 알길이 없다.
문화 광관부 장관 이라서 그런가? - 풍속 산업이 그 일본에서 통칭되는 Sex 산업을 의미합니다. -

여튼 지금은 낼름 지웠다.

아, 풍속 산업 구직 모집도 있던데 허허허.

스팸 필터 걸까 하다가, 내비뒀다.
728x90
블로그 이미지

하인도1

[하인드/하인도/인도짱 의 홈페이지] 저만의 공간입니다. 다양한 소재들을 나열하는 아주 단순 무식한 홈페이지 입니다. 다양한 문서 자료도 있겠지만, 저의 푸념들도 있답니다.

정말 INCA!!!! 게임가드 제대로 관리 안하나!!!!

잡글 2009. 9. 9. 16:20

Windows 7이 8월 16일 MSDN에도 배포되었다. 첫날은 모든 MSDN 가입자들이 달라 붙었는지 무척 느렸다. 그래서 이번에 몇일 지난 후 다운 받았다.

그리고 설치하고 사용하고 있었다.
집에 있는 PC. 그리고 내 놋북 이렇게 2대.
집에 있는 PC에서 대항해시대 온라인을 설치했고, 보니까 나름 잘 동작했다.
그래서 재미있게 즐기고 있었다. Windows 7 RTM에서 그 문제를 해결한 줄 알았다.

그러다 어느날, 노트북에 설치한 Windows 7위에 대항해시대 온라인을 실행해 볼일이 있었고,
집에 있는 PC에서 처럼 설치하고 실행해 보았다.
이게 왠걸…. 에러가 나기 시작했다. 이런 당혹.
그래서 INCA 쪽에 메일을 띄웠다.
그리고 받은 메일….(해당 이메일을 공개하기에는 개인정보에 가까워 수정해버렸음)

보낸사람 : 그쪽고객담당직원이름<그쪽이메일@inca.co.kr>
발신자 시간16:54(GMT+09:00)에 보냈습니다. 발송처 현지 시간: 오후 4:17 ✆
받는사람 : 내이메일@gmail.com, 그쪽이메일@inca.co.kr

날짜2009년 9월 8일오후 4:54
제목Re: [대항해시대_windows7] 대항해시대에서 오류 나네요.
보낸사람: inca.co.kr

세부정보 숨기기 16:54 (23시간 전)

안녕하세요. 잉카인터넷 게임보안사업본부입니다.
현재 게임가드는 Windows7 버전에 대해 지원을 하지 않고 있습니다.
윈도우7 정식 출시는 올해 10월~12월 사이로 공개되었습니다.
Vista커널 방식이지만 아직 MS사에서 여러가지 빌드 버전을 내놓는 베타버전입니다.
불안전한 요소가 있기 때문에 그 문제에 대해선
현재 게임가드 업데이트 작업을 통하여 Windows7 시스템에 적용 테스트를 진행중에 있고
이 후 정식버전이 출시 되면 게임사와의 적용을 통해 서비스를 실시할 예정입니다.
윈도우 XP나 Vista버전을 사용하실 권장합니다.
이용에 불편을 드려 대단히 죄송합니다.
감사합니다.

이.. 담당자 답변 메일 Copy & Paste 였나보다.

뭐가 죄송이냐.. 자신이 쓴 메일이 제정신이였다고 생각하나?
Windows 7 정품이 나온지 얼마인지, 소식은 들었는지 궁금하다. 아니 그전에 RTM의 의미는 알기는 하는지?
적용 테스트? 진행중? 거짓말 나부랭이만……

결국 GG 했고, 어찌할까 하다가, 혹시나 하는 마음에 구글 사마에 문의해봤다.

그리고 아래의 링크를 보았다.

펌) 게임가드 오류 해결방법(http://www.inven.co.kr/board/powerbbs.php?come_idx=1781&query=view&p=2&category=&sort=PID&orderby=&where=&name=&subject=&content=&keyword=&sterm=&iskin=&l=3847)

허허… 이럴 수가… 전혀 다른 곳에서 이미 이 관련된 패치가 나왔고,
해결이 됐다. 어허허… 실제 업무를 담당해야 하는 회사는 시일차일 미루는데 말이다.

위에서 언급한 사이트에 먼저 접속한 뒤,

http://windows7center.com/forums/windows-7-software-support/2243-fix-gameguard-windows-7-issues.html

그 안에서 회원 가입을 한다. ( 양키쪽 사이트이기 때문에, 가입 절차가 울나라 것 처럼 복잡하지 않다!!!)
그리고 저 링크에서 파일 한개를 다운 받는다.

그리고 게임이 설치된 폴더인 GameGuard.des 을 덮어 써주면 된다. 그러면, 자연스럽게 게임가드는 업데이트되고 게임이 진행된다.

INCA 게임가드 쪽은 반성하고 각성해야 한다.
그리고 고객 대응도 철저하게 개선해야 겠다!!!!!!!

728x90
블로그 이미지

하인도1

[하인드/하인도/인도짱 의 홈페이지] 저만의 공간입니다. 다양한 소재들을 나열하는 아주 단순 무식한 홈페이지 입니다. 다양한 문서 자료도 있겠지만, 저의 푸념들도 있답니다.

망할 1.8 ZiF to 1.8 IDE 젠더!!!!!

잡글 2009. 9. 9. 16:03

작년 여름 경에 내 UMPC인 U1010에 SSD를 달았다.
그 때 MTRON에서 1.8’ 32기가 제품을 싸게 팔아서 그 때 질렀다.

아무것도 모른 채로 받은 제품은 ZiF 인터페이스였고,
나로써는 좌절이였다. 왜냐면 U1010은 CF 스타일의 IDE였던 것이였다.
그래서 이런저런 사이트들을 돌아다니다 보니 1.8 ZiF to 1.8 IDE 젠더가 그 때 당시
유일한 솔루션이였다. 그런데 간혹 그 젠더를 구성하다가 쇼트 나면 버닝한다는 이야기가
있었다. 그 때는 그냥 그런가 했다.

그.런.데.

결국 내 UMPC에도 그 현상이 발생하고 말았다.

어느날 HDD 부분이 무쟈게 뜨거워지길래 껐다가 한참 후 다시켜니깐 말짱해졌다.
그러나… 그것이 바로 모든 문제의 시작이였을 뿐이였다.
그 다음날 다시 켜고 동영상 보면서 출근을 했는데, 회사에 들어가기 전에
다시 켜보니 또 안됐다. 그래서 문제가 있나 싶어 드라이버로 안을 들여다 보았다.
얼라… 젠더의 컨넥터 부분이 타버렸다.
그래서 당황하고 다시 젠더를 새로운것을 구매했다.

그리고 오늘 연결해서 켰는데……

안된다. 안된다. 한참을 기다리니.. 이번에는 SSD 근처에서 연기가 모락모락…

내용물을 끄집어 내보니… 놋북의 HDD 데이는 부분이 시꺼멓게 타들어가버렸다.

아뜨…. 결국 SSD는 다이 하신것 같고. 22000원 주고 산 젠더는 무용지물.

그냥 SSD 버리시고, HDD로 전환이나 해야 겠다. 된장.

728x90
블로그 이미지

하인도1

[하인드/하인도/인도짱 의 홈페이지] 저만의 공간입니다. 다양한 소재들을 나열하는 아주 단순 무식한 홈페이지 입니다. 다양한 문서 자료도 있겠지만, 저의 푸념들도 있답니다.

아!!!! 위험했다.

잡글 2009. 9. 8. 10:30

U1010이라는 UMPC에 SSD를 연결하기 위해 ZIP to CF 라는 컨버터를 사용했다.
처음에 SSD를 구매했을때, U1010에는 연결되지 않아 상당한 낭패였는데,
어찌 어찌 구해서 간신히 연결할 수 있게 되었다.

그러다가 한동안은 못쓰고, 원피스 보기 위해 들고 다니면서 조금씩 쓰기 시작했다.
그런데 어느날, HDD 위치에서 미묘한 열기가 물씬 나는 것이였다.
원인도 모른채 일단 전원을 내리고, 드라이버가 없던 탓에, 내부 확인도 못하고 있었다.
그 날 Windows 7을 막 깔았던 시점인지라, 더욱더 막막했다. 또… 깔아야 되는가…라는..

혹시나 하는 마음에 다시 켜보았고, 다행이 잘 움직여 주었다.
기우였나 라는 마음이 지나가고, 그냥 넘어 갔다.
그리고 아침. 다시 원피스를 보면서 회사에 도착했다.
간단한 식사 겸해서 원피스를 켜는데 왠걸? 다시 안켜진다.
아무리 해도 안된다.
무엇이 문제일까…

회사에서 드라이버를 찾아 수소문 끝에 노트북 HDD 부분을 열어보았다.
그.러.자.

혹… 컨넥터가 노랗게 익어버렸다.
합선인지도 모르겠지만, 이거 상당히 당혹스러웠다. 싸구려 컨넥터 였던 것인가?
다행히 SSD는 완전 나간건 아니고… 해서 일단 사진만 찍고 치워놨다.
일단 다시 Auction을 찾았고, Zip To CF 제품 중 거의 일체형에 가까운 제품을 찾을 수 있었다.
이거 받아서 다시 껴보고 제대로 동작하는지 확인해봐야 겠다.

하여간… 무척 당혹스럽게 만든 제품인것 같다.

!!! 니 따위 컨넥터는 하나 걱정안해!!!! 단지 내 U1010과 SSD가 걱정된단 말이닷!!!!!!

728x90
블로그 이미지

하인도1

[하인드/하인도/인도짱 의 홈페이지] 저만의 공간입니다. 다양한 소재들을 나열하는 아주 단순 무식한 홈페이지 입니다. 다양한 문서 자료도 있겠지만, 저의 푸념들도 있답니다.

CQ Workflow Viewer - 1 Day.

잡글/작업로그 2009. 9. 2. 13:27

이 작업에서 기술적으로 풀어야 되는 최고의 숙제는 COM 개체를 CPP 코드를 이용하여 붙이는 작업이다.
그렇다고 COM 관련 API를 직접 붙여 만들기는 귀찮기도 하고, 기술적으로 능력이 딸리기 때문에, 힘들고, 대신 Visual Studio의 기능을 십분활용하는 방법으로 진행한다.

이 중 MFC 기반으로 만드는 응용 프로그램인 경우, 전체 프로그램의 사이즈는 커지지만,
그래도 편하게 작성할 수 있는 장점은 확실히 이용가능하다고 본다.
여기서 작업 결과물은 ActiveX로 나와야 겠지만, 먼저 COM 연결과 같은 테스트에 가까운 작업 부분에 대해서는 MFC 기반 응용 프로그램으로 만들어 직접 테스트와 디버깅을 하여 결과물을 만든 후 그 내용을 ActiveX로 붙이는 것이 좋을 것 같다.
이를 위해 하는 작업은 COM의 TypeLib를 사용하여 ProxyClass를 자동으로 생성하는 방법을 적용한다.
TypeLib에서 ProxyClass를 만드는 방법은 Visual Studio 버전에 따라 틀리지만, 여기서는 모든 작업을 Visual Studio 2005로 할 것이며, 이 방법을 중심으로 펼칠 예정이다.

Proxy Class 만들기.

  • 프로젝트에서 컨텍스트 메뉴를 띄우고 추가를 선택한다.
  • 추가 아래에서 클래스를 선택한다.
  • 클래스 추가라는 제목의 마법사가 뜨면, 그 중 MFC 항목을 선택한 후 템플릿 중 TypeLib의 MFC 클래스를 선택한다.
  • 사용 가능한 형식 라이브러리에서 원하는 COM을 선택한다. 여기서는 ClearQuest OleServer를 선택한다.
  • 그러면 이 COM에 딸린 각종 인터페이스들이 나열되는데, 그 중 필요한 인터페이스를 선택한다. 여기서는 CQ Workflow의 작업에 필요한 IOAdEntityDef, IOAdEntityDefs, IOAdSession 세가지가 필요하다. 그래서 그 클래스를 추가한다.
  • 그러면 프로젝트의 헤더 파일 목록에 위의 세가지에 대한 프락시 클래스 정의 내용이 담긴 헤더 파일(*.h) 파일이 추가된다.

 

일단 위의 헤더 파일이 만들어졌으면 1차적으로 완성된 것이다.

 

Proxy Class 활용하기.

COM에서 인터페이스를 이용하여 사용하려면, COM에 대한 인스턴스가 필요하다. 지금 위의 작업까지 된 부분은 운영체제 내 등록되어 있는 COM 자체의 설정 값들을 읽어온 것이 전부이다. 이 설정 값만으로는 실제 메모리 존재하는 것이 아니다. 그렇다고 단순하게 Proxy Class를 new 해서 만드는 것은 사실 아무 의미 없다. Proxy Class를 new해서 만드는 것 만큼이나, COM 자체에 대한 인스턴스를 만드는 것이 같이 병행 되어야 하고, 인스턴스화 된 COM 개체를 new해서 만드는 Proxy Class와 연결하면 되는 것이다. 이제 이 COM을 메모리에 올리고 new 해서 만드는 Proxy Class와 연결하는 작업을 수행할 것이다.

ClearQuest OleServer를 사용하려면, 최초 Session 이 필요하다. 즉 이 Session에 대한 인스턴스가 있다면, 이 인스턴스를 통해서 각종 하위 내용들을 끄집어 낼 수 있다. 즉 시작점 같은 의미를 하는 부분을 먼저 인스턴스화 하는 것이 핵심인 것이다.  그래서 다음과 같은 순서로 실행하면 된다.

먼저 Proxy Class를 new 해준다. 여기서는 시작 인스턴스로 사용할 IOAdSession 이라는 것을 먼저 시도하게 된다.
COAdSession *pSession = new COAdSession();

이제 만들어진 ProxyClass에 COM 인스턴스를 싣는다. 이 Proxy Class들은 모두 COleDispatchDriver를 상속받는데, 그 상위 클래스에 정의된 CreateDispatch 함수를 실행하면 된다. 이 때 Program ID 혹은 CLSID를 알아야 하는데, 이 중 제일 접근하기 쉬운 Program ID로 정의해서 넣는다.
pSession->CreateDispatch(_T(“CLEARQUEST.SESSION”));

이제 인터페이스에 정의된 매소드를 실행해 본다.
pSession->UserLogon(_T(“admin”), _T(“”),_T(“udb1”), 1L, _T(“7.0.0”));

 

정리를 하자면, 일단 TypeLib를 통해 ProxyClass를 만든다. 이 작업은 직접 만들 수 있지만, 귀찮으니, MFC에서 제공하는 자동화 도구를 사용해서 만든다. 그리고 난뒤, Proxy Class의 인스턴스를 만들고, 그 안에서 다시 COM 자체의 인터페이스를 생성한 뒤, 실제로 사용한다는 것이다.

728x90
블로그 이미지

하인도1

[하인드/하인도/인도짱 의 홈페이지] 저만의 공간입니다. 다양한 소재들을 나열하는 아주 단순 무식한 홈페이지 입니다. 다양한 문서 자료도 있겠지만, 저의 푸념들도 있답니다.

UnitTest++ 사용하기.

기술자료/CPP 2009. 8. 28. 18:02

계속 .NET으로 만들고 작성하다 보니, 어느새 VS 에 물이 들만큼 들어 Unit Test 할 때도 VS 에서 제공하는 Unit Test를 그럭저럭 사용할 수 있게 되었다. 그래서 어느새 C#을 이용한 프로젝트 생성시, VS의 UnitTest로 다양한 TDD 적용을 시도할 수 있었다. 게다가 UI나 기능도 나름대로 흡족했다.

 

그런데, 어느날 프로젝트의 구성을 Visual C++로 구성해야 될 일이 생겼다. 그런데 막상 VS의 테스트 기능을 보고 나니 VS에서 제공하는 UnitTest기능은 .NET의 Managed Code에서만 동작하는 반쪽짜리 UnitTest 였다. 그러니 MFC나 Win32 순수 API 프로그램에서는 VS의 UnitTest를 사용할 수 없었다. 다른 대안을 찾아야 되는 시점이 오고야 만 것이다.

만일 TDD를 몰랐다면, 예전 처럼 처음 부터 하나씩 다시 짤 생각이 꽉찼을지 모른다. (아직은 초보이긴 하지만)이미 TDD의 맛을 맛보고, 감동의 여운속에서 헤메는 나로써는 결국 결국 C++용 TDD를 찾기 시작했다.

C++ 언어를 위한 TDD Framework를 찾아보면 알겠지만, 무척 다양하다. 그래서 처음 찾아본 내 입장에서는 무엇이 좋고, 나쁜지를 명확히 알 수 없었다. 그 중 나름대로 평이 좋다는 이런 저런 블로그 이야기를 듣고
UnitTest++를 선택했다. ( http://unittest-cpp.sourceforge.net )


하지만 이 UnitTest 방법은 VS의 UnitTest와는 다른 형태였고, 어떻게 하는지 전혀 알 수 없었다. 겨우 겨우 하나씩 따라 갈 수 있을 정도까지 익히고 보니, 이젠 결과물이 문제였다. 실제로 샘플코드를 시작해보았더니 왠 까만 화면만 휙 나타나다 휙 사라져버렸다. 맨날 녹색 깃발이라고 불리는 테스트 All Green은 커녕, 오로지 텍스트 기반의 메시지 밖에 없을 뿐이였다. 


그러다가 찾은 것이 Visual UnitTest++( http://code.google.com/p/vutpp ) 이였다. 이 도구를 사용하면 UnitTest++의 결과를 Visual Studio에서 Add-on 형식으로 녹색깃발을 구경할 수 있다는 것이였다.

그래서 하나씩 적용해 보았고, 그 실행 결과에 대한 내용을 적어보록 한다.

 

기본작업 환경.

개발자들은 각 개발내용이나 프로젝트에 따라 개발자별 개발 환경이 다를 수 밖에 없다.
그래서 아마 이 작업을 할때도 그 변경된 사항이나 구성된 제품들에 따라 조금씩 다를 수 있다.
이에 이 작업이 성공한 환경을 먼저 언급하고 정리하도록 한다.


- 개발 운영 체제 : MS Windows 2003 Enterprise 한글판.
- 개발 도구 : MS Visual Studio 2005 Team Suite
- SDK : Windows SDK 6.0A

 

UnitTest++ 설치(?) 하기.

맨 먼저 다음 위치(http://sourceforge.net/projects/unittest-cpp/files/) 에서 최신 버전의 UnitTest++을 받도록 한다. 이거 압축 풀면 소스 밖에 없다. 즉 컴파일을 할 수 있어야 된다는 의미다. 지금까지 계속 Visual Studio로 개발을 해왔다면, 이런 형태의 결과물은 받자마자 많이 당혹스럽다.

 

일단 이 소스를 적당한 위치에 넣도록 한다. 여기서는 압축 푼 내용을 모두 D:\Works\UnitTest++\ 에 모두 복사했다. 복사된 결과값을 보면 그 안에, VS 2003과 2005용 솔루션 파일을 볼 수 있다. ( 2008은 솔루션과 프로젝트 파일을 업그레이드 한 뒤 작업을 해야 할 것 같은데, 아직 해본적은 없다.)

파일  들 중에, UnitTest++.vsnet2005.sln 파일이 VS 2005 솔루션 파일인데, 이 파일을 열도록 한다.

솔루션 탐색기에서 보면  다음과 같이 보일 것이다.

이 프로젝트 내용 중 “UnitTest++.vsnet2005”를 컴파일 하도록 한다. 그러면 폴더 아래 쪽에  debug 라는 폴더가 자동으로 만들어지면서, 그 안에 UnitTest++.vsnet2005.lib 파일이 생성된다. 이 파일이 이 UnitTest++의 핵심 파일인데, 이 파일의 위치를 나중에 넣어서 사용하니까, 명확히 경로를 기억하도록 하자.

여기 까지가 UnitTest++ 설치 작업이였다.

 

UnitTest VisualUnitTest++ 설치.

UnitTest의 메인은 위의 단계까지 하면 끝이긴 하다. 하지만, All Green Flag와 같은 Unit Test 만의 로망인 결과값을 보기가 어렵다. 모든 결과값이 텍스트로 Success와 Fail 밖에 없기 때문이다. 그래서 이 내용을 그림으로 보여고 싶으면 이런 별도의 솔루션을 설치하는 것이 좋다. ( 혹시 DOS 창에서 Success와 Fail 로 표시되는 Text에 로망이 가득하신 분은 무시해도 상관 없다.)

 

현재(2009/8/29 기준) 최신 버전은 0.4 버전으로 다양한 UnitTest 솔루션을 지원한다. 하지만 현재로 사용할 내용은 UnitTest++ 이며, 원래 이 Visual UnitTest++도 UnitTest++을 지원하기 위해 태어난 존재이기 때문에 호환에 아무런 문제가 없다.

일단 사이트에서 최신 버전을 다운로드 받는다. ( http://code.google.com/p/vutpp/downloads/list  )

여기서 꼭 받아야 되는 파일이 두가지인데, 한개는 확장자가 .msi 로 끝나는 파일로 이 파일이 Visual UnitTest++을 실행해주는 중요한 파일이다. 그리고 vuppsample.X.X.zip 파일을 받는다. ( X.X는 버전을 의미) 설치 파일이야 당연히 필요하지만, 대개  sample 파일은 잘 받지 않는 편이다. 하지만, 이 도구로 작업 결과를 보려면 sample 파일이 꼭 필요하다. 문서화가 조금 부실해 설명 내용으로 잘 이해되지 않는 부분이 많은데, 이런 부족한 설명은 바로 이 Sample을 보고 터득해야 되기 때문이다. 여튼 설치 파일과 Sample 파일은 꼭 받기를 바란다.

 

다운로드가 되었다면, 먼저 .msi를 실행하고 설치한다.

시스템에 문제가 없다면 정상적으로 설치되며 VS를 실행해서 메뉴 항목을 보면 다음 그림과 같이 도움말 옆에 떡하니 붙어 있게된다.

일단 실행하지 말고, 이제는 아까 받은 샘플 파일 압축을 풀도록 한다.
이건 굳이 정해져 있는 것이 아니기 때문에, 바탕화면과 같이 적당하게 풀고 그 프로젝트를 열도록 한다.
그러면 C++ 용 UnitTest Framework 별로 프로젝트가 달랑 달랑 붙어 있다.  자 여기서는 최소한 Unit Test가 어떻게 되는지를 보고, 설정이 제정신으로 되었는지를 체크하는데 그 주안점을 둘 예정이다. 그래서 다른 프로젝트는 일단 두고, 이 Samle 에서 제공하는 SampleUnitTest++.2005 만 이용하여 설정 관련 확인 작업을 할 예정이다.

자 이제 Unit Test를 그럴싸 하게 할 모든 준비가 되었다.
이제 본격적으로 진행할 시점만 나왔다.

 

UnitTest 프로젝트 생성.

이 UnitTes++은 그 프로그램이 무척 간단하기 때문에, Windows UI로 동작되는 부분이 전혀 없다. 그래서 이 Test용 프로젝트는 단순 “Win32 콘솔 응용 프로그램”로 생성해주면 된다.

자신이 진행 중인 솔루션이 있다면 그 솔루션에서 오른쪽 버튼을 클릭한 뒤, 새 프로젝트를 해주도록 한다.

그러면 생성할 새 프로젝트에 대한 템플릿들을 보여주는데, 그 중 Visual C++의 Win32 항목에 있는 Win 32 콘솔 응용 프로그램을 선택해주면 된다.

적당한 프로젝트 이름을 주고(가급적이면 맨 앞의 이름을 test 라고 붙이는게 좋을 것이다. ) 만들기 하면 정상적으로 완료될 것이다. 그러면 stdafx.h와 cpp 파일 그리고 프로젝트 이름과 동일한 CPP 파일이 생성된다.
일단 stdafx 파일들은 그냥 삭제하시고 프로젝트 이름의 cpp 파일만 남겨놓도록 한다.

이제 프로젝트를 수정하도록 한다.

제일 먼저 구성 속성의 C/C++의 일반 속성 에서 “추가 포함 디렉터리” 부분에 아까 압축을 풀어 넣었던 "UnitTest++” 프로젝트의 Src 경로를 걸어주도록 한다.

이제 C/C++ 트리 안쪽에 있는 전처리기 항목에 들어가 “전처리기 정의” 에서 VUTPP_UNITTEST++ 을 추가한다.

아래쪽에 있는 미리 컴파일된 헤더 항목으로 이동해서 이번엔 “미리 컴파일된 헤더 만들기/사용” 항목 중 미리 컴파일된 헤더 사용 안 함을 선택하도록 한다. ( 그래야 아까 뺀 stdafx.h 와 cpp 파일을 찾지 않는다. )

마지막으로 아래의 링커 부분에서 입력 부분에 들어가 “추가 종속성”에서 아까 만들어진 UnitTest++을 컴파일해서 만든 .lib 파일을 연결하도록 한다.

이렇게 한 뒤, 이제 마지막으로 프로젝트 이름의 .cpp 파일을 열도록 한다. 연 뒤에, Visual UnitTest++의 샘플 파일 중 VUTPPBind.cpp 파일 내용에서 전부 복사 해오도록 한다.

자 이제 테스트 로직을 하나 추가한다. 적당한 이름의 .cpp 파일을 만들고 아래의 코드로 넣도록 한다.

#include <windows.h>
#include "UnitTest++.h"

namespace
{
    TEST(testUnitTest)
    {
        bool bResult = true;
        CHECK(bResult);

    }
}

그리고 컴파일 해보자.


컴파일 오류가 났다면 에러의 내용을 보고 위의 내용을 참고하여 수정하도록 한다.

정상적으로 컴파일 되었다면, 이제 VS의 메뉴에 있는 VUTPP –> UnitTestBrowser를 실행하도록 한다.
화면 상에 VisualUnitTest++이 뜰 것이고, Run All을 하면 아래의 화면과 같은 결과를 볼 수 있다.

 


UPDATE : 2009 / 12 / 24

주의사신 님 댓글을 보고 저도 잠시 이 포스팅 내용을 조금 읽었습니다. 약간 쇼크.
제가 다시 보는데 이게 무슨 말이야… 라고 생각이 들었습니다.

조금 다듬어 보려고 했지만, 결과는 비슷한듯 싶군요.

단지 보기가 조금이나마 편하라고, 약간의 정리만 해봤습니다.

728x90
블로그 이미지

하인도1

[하인드/하인도/인도짱 의 홈페이지] 저만의 공간입니다. 다양한 소재들을 나열하는 아주 단순 무식한 홈페이지 입니다. 다양한 문서 자료도 있겠지만, 저의 푸념들도 있답니다.

휴가 후..

잡글 2009. 8. 18. 11:16
이번에 경기도 용인시 양지 쪽에 위치한 한 펜션(더 후)에 갔었다.
사실 전체 계획을 2박 3일로 잡았기 때문에, 그 짧음을 예감했고, 그다지 많은 신경은 안썼다.
사실 Full Time 하루라는 시간은 무척 짧기 때문이다. 그래도 잠시나마 자동차 소리에
시달리지 않고, 그나마 맑은 공기를 마실 수 있다는 그 맛에 가려고 생각했고,
생각한대로 행동에 옮겼다.

시작은 8월12일. 오전.
일단 각기 만나기로 했는데, 문제는 각기 챙긴 짐들이 의외로 많았다는 사실.
짐들은 대충 싣고 집결 장소를 이마트로 변경하여, 바로 음식물 부터 사러 갔다.
이런 저런 음식거리들과 잡스러운 물건들을 주섬주섬 샀다.
(2박3일의 짦음을 아직 이 친구들은 경험하지 않은 건지, 참 많이도 샀다.)
일단 간단하게 먹으려는 생각은 맥도널드까지 미치고, 각기 햄버거를 먹고,
결국 1시 좀 넘어서야 출발했다.
아무리 빨라야 1시간 30분은 족히 걸릴 거리.
약간의 착오와 길 헤멤 후에 간신히 도착했다. 도착했을때가 대략 3시 좀 넘어서...

인터넷이나, 기타 가구 배치나, 짐 정리를 하는데, 이거 원.... 여기 인터넷이 그닥 좋지 않은 상황이였다.
공유기가 반파된 상태였고, 예전 ADSL로 연결된 조금은 열악한 환경이였다.
떠나기전 공유기는 챙겨 왔기 때문에, 그거 설치해주고, 일단 간단하게나마 인터넷을 했다.
인터넷 시설이 꾸지다 보니, 컴퓨터로 무언가 하기는 틀린 것 같았고,
그냥 X-Box 360이나 돌렸다.
TV도 영 구닥다리라 그다지 명퀘한 것은 아니였지만, 그래도 이런 저런 시설덕에 일단
이용할 만했다. 난 책도 읽고, 음료수도 마시고, 커피도 마시면서 어떻게 있는게 편할까,
이런 저런 고민했다. 그렇게 하루.

2일째. 청소년 수련관쪽으로 간단하게 산책하고와서, 다시 책을 잡았다.
시원한 공기와 자연의 소리를 벗삼아, 차가운 커피 그리고 담배로 여유를 갖고 나니
무언가 충전되는 기분이였다.
오후는 뭐 이런 저런 오락하면서 시간을 보냈다.
그리고.. 밤 늦게.
고기를 궈먹었다. 이 때부터 음식물 치우기에 무슨 의무감 들기 시작한 그 시점이였다.

3일째. 이제 철수해야 되서, 짐 정리하느라, 변변히 먹는 것 없었다.
주섬 주섬 무언가 챙겨 먹었지만, 그다지....
게다가 남은 음식물도 꽤 많았고.
결국 나눠나눠 친구들이 가져갔고, 다시 차 2대에 나눠 타고는 서울로 돌아왔다.

나름대로 만족하지만 무언가 정말 무언가 부족한 휴가였다.
다음에는 5박6일로 여유있게 이동하여 여유있게 시간을 보낼 수 있도록 계획해봐야 겠다.
역시 무언가 쫒기면 싫다.
728x90
블로그 이미지

하인도1

[하인드/하인도/인도짱 의 홈페이지] 저만의 공간입니다. 다양한 소재들을 나열하는 아주 단순 무식한 홈페이지 입니다. 다양한 문서 자료도 있겠지만, 저의 푸념들도 있답니다.

VBScript를 이용한 XmlHttpRequest 하기.

기술자료/Web 2009. 8. 11. 13:01
지금 ClearQuest로 XMLHttpRequest를 해야 되는 경우가 발생되어 적용하는 중,
예제로 준 방법이 Perl 방법이라 난해 한데다 제대로 수행되지 않는 경우가 발생했다.
그래서 VBScript로 적용 선회를 했고 간신히 성공했다.
여기저기 사이트를 통해 알아본 결과 내용을 정리하면 아래와 같다.


맨 먼저 VB에서 HttpRequest 처리를 하려면, XMLHttpRequest를 지원하는 Object를 만들어야 한다.

Dim xmlhttp

xmlhttp = CreateObject("Microsoft.XMLHTTP")


위의 내용을 보면 Microsoft.XMLHTTP라는 오브젝트를 생성하게 되는데, 대개 위의 오브젝트를 생성하면 크게 버전문제와 상관 없이 동작할 것이다. 간혹 유사한 이름이긴 한데, 다른 형태의 XMLHTTP를 부르려면, XML 버전에 따라 지원하기도 하고 안하기도 하는 변덕을 구경하기 때문에, 그냥 위의 내용 처럼 적용해주면 된다.

xmlhttp.open "POST" "http://localhost/ReceiverForData.aspx", false


이번엔 위에서 정의해서 만든 HttpRequest 오브젝트로 실제 호출하기 위한 구성을 해준다.
POST 부분은 데이터가 어떻게 HttpRequest를 타고 전달되는지를 결정하게 되는데,
GET으로 하게 되면 주소값 내에 전달할 데이터가 담기게 되고, POST를 하게 되면 별도로 데이터를
추가해 넣을 수 있다. 이 때 데이터가 크거나 다양한 경우 가급적 POST로 전달하는게 좋다.

xmlhttp.setRequestHeader "Content-Type","application/x-www-form-urlencoded"

  
사실 HttpRequest는 일종의 숨겨진 웹브라우저를 띄워 웹서버를 호출 하는 것이다. 단지 사용자 눈에 브라우저가 뜬 것을 보지 못할 뿐, 뒤쪽에서는 마치 그런 짓을 하고 있는 것이다. 이 때 웹 서버를 호출하는 순간 웹서버에게 자신의 신분을 알려주는 작업을 해야 하는데, 이 작업에 해당하는게 바로 Header에 데이터를 넣는 것이다.
여기서는 현재 웹서버에 데이터를 전달 할때, form 기반으로 데이터를 전달하는 형태라는 것을 알리게 된다.

xmlhttp.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.2)"

  
위와 동일한 역할을 한다. 단지 이 부분은 현재 웹브라우저나, 컴퓨터 설정 상태들을 담는 내용이다. 완전히 웹서버를 속이고 자신이 마치 IE 8.0 인양 알려주는 작업이다. 간혹 일부 웹서버에서는 위와 같이 브라우저 버전이 IE, FireFox, 같은게 아니면 튕기는 작업을 당할 수 있기 때문에, 가급적 자신의 신분을 저렇게 숨겨 놓는게 제일 좋다.
xmlhttp.send "ID=OKSK&Name=OsakuSakurazo"

Post 형태의 데이터를 전송할 때 저렇게 한다. 보낼 데이터가 없으면 빼면 되고, 있다면, 변수이름=값 형태로 쭉 나열한다. 2개 이상의 값을 전송할 때는 사이에다 "&"를 넣어주도록 한다.

만일 결과물이 필요하다면....

xmlhttp.responseText


에서 빼오면 된다.(웹페이지 내에서 Text만 쭉 긁은 값이 나오게 된다.)

이 자료를 만드는데 사용한 Reference들은 다음과 같다.
http://web5.w3.org/TR/XMLHttpRequest/
http://msdn.microsoft.com/en-us/library/ms535874%28VS.85%29.aspx

728x90
블로그 이미지

하인도1

[하인드/하인도/인도짱 의 홈페이지] 저만의 공간입니다. 다양한 소재들을 나열하는 아주 단순 무식한 홈페이지 입니다. 다양한 문서 자료도 있겠지만, 저의 푸념들도 있답니다.

  • «
  • 1
  • ···
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • ···
  • 156
  • »
250x250

블로그 내에 소스 코드 삽입 이사온 기념 스킨도... RSS 전문 기능 비활성화 관련. 스킨 바꾸어 보았습니다. 서버 파일 정리 좀 했습니다.

«   2025/05   »
일 월 화 수 목 금 토
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

Buscuit 비스킷 Visual Studio 인터파크 me2dayzm Azure 협업 지름신 수 Google Apps Engine WSS java me2sms 친구 me2photo moss MOSS 2007 2010 Tutorial twi2me 매뉴얼 e-book 불만 좀 블로그 것 오류 SharePoint 개발환경 windows

  • Total :
  • Today :
  • Yesterday :

Copyright © 2015-2025 Socialdev. All Rights Reserved.

Copyright © 2015-2025 Socialdev. All Rights Reserved.

티스토리툴바