IT 219

무거운 TortoiseSVN을 가볍게 만들기

(부제: SVN 아이콘이 사라지는 문제 해결법) TortoiseSVN을 설치하고 사용하다보면 리비전이 커지면서 점점 무거워지는 것을 느낄 수 있습니다. 특히 느린 컴퓨터나 노트북의 경우에는 커밋이나 업데이트를 한번 할라치면 수십년이 걸리는 경우도 다반사입니다. 이 모든 문제의 원인과 열쇠는 TSVNCache.exe가 가지고 있습니다. 작업 관리자를 열어서 TSVNCache.exe를 열어보면 항상 열심히 일하고 있는 프로세스가 하나 보일 겁니다. 이 프로세스는 컴퓨터에 체크아웃해서 사용하고 있는 SVN 데이터들의 정보를 열심히 얻어내고 캐쉬해서 사용자로 하여금 안락한 SVN 사용이 가능하도록 도와주는 놈입니다. 하지만 문제는 이 놈이 너무 열심히 일하다보니 로컬 PC의 모든 영역에서 SVN의 머리카락 하나..

#pragma warning 좀 더 잘 사용하기

1. 경고 번호 줄여쓰기 #pragma warning( disable : 4702 ) → #pragma warning( disable : 702 ) 컴파일러가 알아서 4000을 더해줍니다. 2. 같은 warning 지시어에 대해 줄여쓰기 #pragma warning( disable : 4507 ) #pragma warning( disable : 34 ) → #pragma warning( disable : 4507 34 ) 3. 다른 warning 지시어를 한 줄로 줄여쓰기 #pragma warning( disable : 4507 34 ) #pragma warning( once : 4385 ) #pragma warning( error : 164 ) → #pragma warning( disable : 450..

Urldownloadtofile()

URLDownloadToFile http 를 이용해 파일을 다운받기 위한 함수. 예전에 잠깐 테스트를 위해서 써본적이 있고, 단순히 파일을 받는것에는 아무 문제가 없었다. 하지만 당시 일반적인 http request 가 아니었기 때문에 http socket class 를 코딩했었다. URLDownloadToFile 자체 보다는 콜백 인터페이스를 상속받아서 구현한 부분이 오히려 가치가 있는 소스다. source 부를때 CBindTransferStatus m_bindTransfer; ... ... HRESULT hr = URLDownloadToFile(NULL, "http://a.b.c/d.avi", "c:\\d.avi", dwReserved, &m_bindTransfer); 콜백 인터페이스 구현 CBind..

IT/Windows API 2009.05.06

eMbedded Visual C++ 4.0

WM 어플 개발할 수 있는 eMbedded Visual C++ 4.0가 얼마 전에 배포됨. 1. eMbedded Visual C++ 4.0 http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=1dacdb3d-50d1-41b2-a107-fa75ae960856 에서 다운받을 수 있습니다. 거기에 서비스팩 최신으로 받고, 2. eVC 4.0 Service Pack 4 http://www.microsoft.com/downloads/details.aspx?familyid=4A4ED1F4-91D3-4DBE-986E-A812984318E5&displaylang=en 개발하려는 WM 버전의 SDK를 아래에서 골라받으면, 3. WM 6 SDK ..

빌드중 Output 창에 무언가 메시지를 출력시키고 싶다면

빌드중 Output 창에 무언가 메시지를 출력시키고 싶다면, #define _mkSTR(x) #x #define mkSTR(x) _mkSTR(x) #define mkMSG(desc) __FILE__ "(" mkSTR(__LINE__) "):" desc #define prMSG(desc) message(__FILE__ "(" mkSTR(__LINE__) "):" desc) #ifdef NOOMSG #define oMSG(desc) #else #define oMSG(desc) message(__FILE__ "(" mkSTR(__LINE__) "):" desc) #endif 이렇게 선언해주고... #pragma oMSG("이거 수정하고 절대 체크인 하지 말 것~ 하면 주거~!!.") 이렇게 쓰면 됩니다.

Incredibuild - 네트워크 분산 빌딩시스템

IncrediBuild 가 무엇이냐? IncrediBuild 는 VC++ 의 느린(?) 컴파일 속도를 개선하기 만들어진 네트워크 분산 빌딩시스템 입니다. 큰 프로젝트를 Full Build 하면 컴파일 & 링크 시간이 오래 걸리는 것을 알 수 있을 것이다. C/C++ 언어만이 가지고 있는 장점이자 단점이기도 합니다. 이런 단점을 보완하기 위해 네트워크(TCP/IP)를 통해 한 프로젝트를 여러 PC에 분산해 컴파일 & 링크 하는 유틸리티입니다. IncrediBuild 의 최대 장점은 빠른 컴파일 & 링크 속도와 TCP/IP 만 된다면 원격지의 PC도 작업에 참여 시킬수가 있습니다. 그리고 VC++ 6.0 과 .NET을 지원하며, VC++ IDE 환경에 통합됩니다.. 설치 프로그램은 간단하다. [Coordin..

CDN(Content Delivery Networks)

◇CDN서비스의 부각배경 - UCC가 이슈화되면서, 단기간에 급속하게 집중되는 트래픽을 안전하고 빠르게 처리할 수 있는지에 대한 관심 증대 ◇CDN서비스의 개념 - 콘텐츠 제공업자(CP)의 웹 서버에 집중돼 있는 콘텐츠 중 용량이 크거나 사용자의 요구가 잦은 콘텐츠를 ISP측에 설치한 CDN 서버에 미리 저장, CDN 서버로부터 최적의 경로로 사용자에게 콘텐츠를 전달하는 기술 - 동영상이나 음악 스트리밍, 파일 다운로드 등 대용량 파일 전송시 이용자가 몰려 전송 속도가 떨어질 때, 네트워크 주요 지점에 전용 서버를 설치해 두고 해당 콘텐츠를 미리 저장해 둡니다. 이후 이용자가 몰릴 때 가까운 곳의 서버가 이를 내보내 문제를 해결하는 방식 ◇CDN의 개념도 ◇CDN서비스의 특징 - 일반적인 인터넷 구조에서..