경고 수준 높이기
타입 변환에 문제가 발생해 런타임 오류가 나는 걸 발견하여, C++ 컴파일러의 Warning level을 3에서 4로 올리기로 결정했다. 전부터 생각만 해오던 일을 어제 문제가 불거지고 나서야 실천에 옮기게 됐다. 서버 팀원…
윈도우 2003 서버를 기준으로 ADO 바이너리가 두 군데 나뉘어 배포된다. x32 바이너리는 C:\Program Files (x86)\Common Files\System\ado\에 있고, x64 바이너리는 C:\Program Files\Common Files\System\ado\에 있다. 그러니 ADO를 import할 땐 이런 식으로 하면…
오랜 만에 광고 좀 합니다. 마이크로소프트웨어의 칼럼을 맡아 쓴지도 어느새 2년 가까이 되어 갑니다. 지난 해엔 커뮤니티 노트라는 칼럼을 썼고, 기대했던 것보다 즐겁게 읽은 독자가 많은 듯 해서 저도 기뻤습니다.…
WIN32에 있는 FILETIME로 표시된 값을 데이터베이스에 저장하는 코드가 있었다. 시간 값을 저장하기 위해 데이터베이스에서는 numeric 타입을 사용했다. FILETIME이 DWORD 두 개로 구성된 구조체이기 때문에 적당한 기본 타입이 없었기 때문이다. 어쨌거나…
일부 잘못된 비트 연산 사례를 발견했다. 어떤 것이 제대로 된 코드인지 확인하고자 UnitTest++로 단위 테스트 코드를 짜봤다. /* EPA_NONE = 0x00000000, EPA_PRIMARY_KEY = 0x00000001, EPA_DB_INDEXING = 0x00000002, EPA_DB_SELECT = 0x00000004,//…
로컬 컴퓨터에 설치된 MDAC의 버전을 확인하는 코드이다. from_string 함수는 그저 문자열로 표현된 버전 번호를 숫자로 변환하기 위한 함수일 뿐이다. 소스 코드에 참고한 문서의 링크를 적어놨다. // REFERENCE: codeguru.com/forum/showthread.php?t=231054 template <class…
What’s in a name?란 제목이 생뚱맞아서 화면 스크롤을 내리려다 구글이란 말에 살짝 들여다 봤는데, 꽤나 생각해볼만한 주제였다. 10줄 정도 밖에 안 되는 글이라 소개하는 게 사실상 번역하는 꼴이 될지도 모르겠다.…
SQL Server 2005에선 TOP의 값을 동적으로 결정할 수 있다. SQL Server 2000은 이 기능을 지원하지 않아서 SET ROWCOUNT를 사용하거나, 그것도 안 될 때에는 동적 쿼리를 사용했었다. 항상 아쉬워하던 기능이 제공되니…