기본 콘텐츠로 건너뛰기

2012의 게시물 표시

커밋 메세지 강조나 Trac 티켓에 대한 링크 걸기 - Trac

원문보기 아래 그림과 같이 따라합니다. 속성에서 bugtraq 항목을 아래와 같이 생성합니다.  bugtraq:url   (%URL_TRAC_ENV%) /ticket/%BUGID%  bugtraq:logregex  (?:ticket: *|#)(\d+) *(?:, *(\d+))*  bugtraq:label  Ticket 위의 (%URL_TRAC_ENV%)은 실제 주소로 대체해야 합니다. (Ex: http://localhost:8000/site/testdb) 이렇게 설정한 후 커밋 메세지에 ticket:1 혹은 #1을 입력하면 이 부분이 강조되어 나타나게 됩니다.

문자열 함수 테스트

Dim CmdLine As String Dim Tokens ( 3 ) As String Dim position ( 2 ) As Integer CmdLine = Chr ( 34 ) + "a.exe" + Chr ( 34 ) + " " + Chr ( 34 ) + "b c d" + Chr ( 34 ) + " " + Chr ( 34 ) + "e f" + Chr ( 34 ) position ( 0 ) = InStr ( CmdLine , Chr ( 34 ) ) position ( 1 ) = InStr ( position ( 0 ) + 1 , CmdLine , Chr ( 34 ) ) Tokens ( 0 ) = Mid ( CmdLine , position ( 0 ) + 1 , position ( 1 ) - position ( 0 ) - 1 ) position ( 0 ) = InStr ( position ( 1 ) + 1 , CmdLine , Chr ( 34 ) ) position ( 1 ) = InStr ( position ( 0 ) + 1 , CmdLine , Chr ( 34 ) ) Tokens ( 1 ) = Mid ( CmdLine , position ( 0 ) + 1 , position ( 1 ) - position ( 0 ) - 1 ) position ( 0 ) = InStr ( position ( 1 ) + 1 , CmdLine , Chr ( 34 ) ) position ( 1 ) = InStr ( position ( 0 ) + 1 , CmdLine , Chr ( 34 ) ) Tokens ( 2 ) = Mid ( CmdLine , position ( 0 ) + 1 ,

메일 연동 - trac

원문보기 5명이 하는 작은 프로젝트니까 메일 연동 필요없겠지... 했는데 아무래도 있어야 될거 같다 -_- (전날 누가 뭘했고 어떤 티켓이 발급되었는지 알길이 없다!) trac.ini를 적당히 수정하면 되는데, 메일서버 구축까지도 필요없다. 다만 보내는 사람은 smtp 서비스가 되는 메일 계정이 있어야 하는데, gmail이 가장 무난할듯 싶다. [notification] smtp_always_cc = 받을 사람의 메일 주소를 적고, 복수일 경우는 쉼표로 구분한다 smtp_default_domain = gmail.com smtp_enabled = true smtp_from = 보내는 사람의 메일 주소 smtp_password = 보내는 사람의 메일 주소 비밀번호 smtp_replyto = 보내진 메일에 대해 reply를 보냈을 때 받을 메일 주소 smtp_server = smtp.gmail.com smtp_user = smtp server의 실 사용자 use_tls = ture 오.. 잘 된다. 그런데 trac+svn server의 ID와 보고자의 ID가 틀려서 좀 문제가 있다 -_-; 다음에 할땐 메일 서버를 구축해야겠다 -_-; /// gmail은 잘되는데 왜 회사 메일 서버는 되지 않을까^^;;

SmartSketch Application 구하기

C# 프로젝트에서 SmartSketch.tlb 파일을 참조합니다. = 샘플 코드 = const string progID = "SmartSketch.Application"; private void GetSmartSketchApp() { try { mApp = (SmartSketch.Application)Marshal.GetActiveObject(progID); mApp.Visible = true; } catch { try { Type acType = Type.GetTypeFromProgID(progID); mApp = (SmartSketch.Application)Activator.CreateInstance(acType, true); mApp.Visible = true; } catch { MessageBox.Show( "Cannot create object of type \"" + progID + "\"" ); } } }

graphic element들의 색상(gray color) 변경

색상을 변경하는 예제입니다. ULong elemAddr[50], eofPos, filePos; int scanWords, numChanged=0, status, i, numAddr; Scanlist scanList; int grayColor = 32; MSElementUnion el; mdlScan_initScanlist (&scanList); mdlScan_noRangeCheck (&scanList); scanList.extendedType = FILEPOS; mdlScan_initialize (0, &scanList); do { scanWords = sizeof(elemAddr)/sizeof(short); status = mdlScan_file (elemAddr, &scanWords, sizeof(elemAddr), &filePos); numAddr = scanWords / sizeof(short); for (i=0; i<numAddr; i++) { mdlElement_read(&el, 0, elemAddr[i] ); mdlElement_setSymbology(&el , &grayColor , NULL , NULL); mdlElement_rewrite(&el , NULL , elemAddr[i]); } } while (status == BUFF_FULL);

테이블의 칼럼명을 콤마로 분리하여 출력

SELECT SUBSTR(COL,2,LENGTH(COL)) FROM( SELECT MAX(SYS_CONNECT_BY_PATH (COLUMN_NAME, ',')) AS "COL" FROM ( SELECT ROWNUM ROW_NUM,COLUMN_NAME FROM ( select COLUMN_NAME FROM all_tab_columns where owner= {DATABASE_NAME} AND TABLE_NAME = {TABLE_NAME} )) START WITH ROW_NUM = 1 CONNECT BY PRIOR ROW_NUM = ROW_NUM - 1);

Singleton 객체 만들기

프로젝트에서 Setting들을 저장하기 위해서 Singleton 객체를 만들어서 사용하곤 했었는데 이제껏 만들어 사용하던 것이 잘못되어 있던 것을 발견했습니다. class CAppDocData { CAppDocData(void); public: static CAppDocData& GetInstance(); ~CAppDocData(void); } 위의 클래스는 아래와 같이 복사 생성이 허용되기 때문에 Singleton 패턴이 깨어져 버립니다. CAppDocData docData = CAppDocData::GetInstance(); 따라서 복사 생성자를 private으로 두어 복사 생성을 하지 못하게 막아야합니다. class CAppDocData { CAppDocData(void); CAppDocData(const CAppDocData& rhs){} public: static CAppDocData& GetInstance(); ~CAppDocData(void); }

C++ 0x : 람다(Lambda)

원문:  http://scor7910.tistory.com/55 Visual C++ 팀블로그에 C++0x에 대한 소개 자료중 람다(Lambda)에 관한 내용을 번역했습니다. 차후에 나머지도 번역해서 올리겠습니다. 번역이 만만치 않은 작업이근영....  원본 :  http://blogs.msdn.com/vcblog/archive/2008/10/28/lambdas-auto-and-static-assert-c-0x-features-in-vc10-part-1.aspx Lambdas, auto, and static_assert: C++0x Features in VC10, Part 1 마이크로소프트   비절   스투디오  2010CTP(Community Technology Preview) 에서는  C++ 0x 에   포함된   lambdas ,  auto ,  static_assert , rvalue references   라는  4 가지의   개념을   제공합니다 .    여기서는   처음   세가지에   대해   이야기를   하겠습니다 . 첫번째로   ,  내용을   쓰기전 ..: 1.  이   포스트는  Visual C++  라이브러리   개발자인 Stephan T. Lavavej  님이 작성했습니다 .  그리고   Stephan T. Lavavej 님이   위의   네가지   기능에   대한   구현을   담당하지   않았음을   밝힘니다 . 2.  내용에서  VS 2010 에서  Visual C++  컴파일러를  VC10 이라고   칭할   것   입니다 (10 은  2010 의   약어가   아님 ). 3. C++0x 는   아직   논의   중인   차세대  C++  표준을   의미합니다 . ( 표준   위원회 (The Standardization Committee) 2009 에  C++09 라는   이름으로   발표되기   원하지만  2010 이나   더   걸릴수   있기   때문에  x 를   붙였다