::NPTEAM:: Network Programer Team

검색 :
RSS 구독 : 글 / 댓글 / 트랙백 / 글+트랙백

간단한 Doxygen 사용 방법

2009/11/29 16:30, 글쓴이 TTF

프로그래밍과 문서화, 문서화와 프로그래밍...
프로그래머를 직업으로 가진 사람들은 한정된 시간에 프로그래밍 결과물과 문서화를 동시에 이루어야 하는 숙명을 지니고 살아간다.

이 두마리 토끼를 한번에 잡을 수 있을까?
한번에 두마리 토끼를 잡으려면, 토끼 한마리를 잡은 다음 토끼가 친구를 데려오게 하는 방법이 좋다.(-_-;)

Doxygen은 주석을 문서화 해주는 측면에서 매우 유용하다. 쓸만하다. 좋다.... 라는 평은 많이 들었지만,
실제로 사용하기 전에는 약간은 망설이게 된다.

이제부터 Doxygen 사용법에 대해서 알아보자.
http://www.stack.nl/~dimitri/doxygen/ 여기에서 Doxygen을 다운로드 받는다.
doxygen-1.6.1-setup.exe 파일을 실행하여 설치한다.

그래프 구조로 보기 위해서
http://www.graphviz.org/Download..php 여기에서 graphviz를 다운로드 받는다.
graphviz-2.24.msi 파일을 실행하여 설치한다.

이제 모든 준비는 끝났다.
"C:\Program Files\doxygen\bin\doxywizard.exe" 를 실행한다.



위와 같이 설정후 Run을 누르면,
D:\Project\TEST_CODE\Document\html\index.html 로 다음과 같은 출력물을 볼 수 있다.

기본적인 출력만 하더라도 노력한 결과에 비해서 상당히 예쁜(프로그래머 입장에서) 결과물을 볼 수 있었다.

http://www.atomineer.com/AtomineerUtils.html 에서 atomineer 플러그인을 설치하면,
비주얼 스튜디오에서 다음의 메뉴가 활성화 된다.

위 플러그인을 이용해서 함수와 클래스에 약간의 설명을 추가해 보도록 한다.

2009/11/29 16:30 2009/11/29 16:30

맨 위로

개인용 무료 파티션 프로그램

2009/04/06 21:01, 글쓴이 TTF

파티션 매직 8.0은 비스타 지원이 안된다.
이미 파티션 매직 UI에 길들여진 분들은 비스타로 넘어오면서 많은 고통을 받아왔다.

그러나!! 짜잔.


오우, 예전에 보던 파티션 매직과 흡사한 인터페이스를 보여준다.
홈에디션은 무료
기업용 EASEUS Partition Master Professional Edition 은 US$ 31.96

파티션 매직의 향수에서 벗어나지 못한 분들을 위한 대체 프로그램으로 충분하지 않을까?
2009/04/06 21:01 2009/04/06 21:01

맨 위로

USB On 2.0 - autorun.inf 바이러스로 부터 해방~

2009/03/10 21:28, 글쓴이 TTF

지긋지긋한 USB 자동 실행 바이러스
윈도우 OS에서는 예전부터 "autorun.inf" 의 정보를 이용해서 CD-ROM 컨텐츠를 자동 실행하여 설치할 수 있도록 하였습니다.

CD-ROM 미디어에 포함되어 있는 컨텐츠는
 1. 대부분 바이러스 검사를 마친 배포 프로그램
 2. 읽기 전용인 미디어 특성
때문에 autorun.inf 파일로 자동실행되는 것이 문제되지 않았습니다.

그러나 읽기 / 쓰기가 가능한 USB 메모리를 사용하면서 문제가 발생한다.
autorun.inf 파일에 설정된 프로그램을 자동 실행할 수 있기 때문에 USB를 컴퓨터에 꼽는 것만으로도 루트킷 설치, 프로그램 설치 등등의 작업을 진행할 수 있다.

USB On은 autorun.inf 이름의 폴더를 생성하고, 만들어진 폴더의 읽기 쓰기가 불가능하도록 방지하기 때문에, 이러한 Autorun.inf 바이러스의 실행을 미리 방지할 수 있다.

2009/03/10 21:28 2009/03/10 21:28

맨 위로

[VS2005] 현재 편집 중인 문서 솔루션 익스플로러에서 찾기

2008/09/18 20:04, 글쓴이 TTF

Imports System
Imports EnvDTE
Imports EnvDTE80
Imports System.Diagnostics
 
Public Module SolutionExplorer
 
    Sub FindInSolution()
        Dim p = DTE.Properties("Environment", "ProjectsAndSolution").Item("TrackFileSelectionInExplorer")
        p.value = 1
        p.value = 0
    End Sub
 
    Sub CollapseNode(ByRef item As UIHierarchyItem)
 
        Dim subitem As UIHierarchyItem
        For Each subitem In item.UIHierarchyItems
            If (subitem.UIHierarchyItems.Expanded = True) Then
                CollapseNode(subitem)
                subitem.UIHierarchyItems.Expanded = False
            End If
        Next
 
    End Sub
 
    Sub CollapseAll()
 
        ' Get the the Solution Explorer tree
        Dim UIHSolutionExplorer As UIHierarchy
        UIHSolutionExplorer = DTE.Windows.Item(EnvDTE.Constants.vsext_wk_SProjectWindow).Object()
 
        ' Check if there is any open solution
        If (UIHSolutionExplorer.UIHierarchyItems.Count = 0) Then
            ' MsgBox("Nothing to collapse. You must have an open solution.")
            Return
        End If
 
        ' Get the top node (the name of the solution)
        Dim UIHSolutionRootNode As UIHierarchyItem
        UIHSolutionRootNode = UIHSolutionExplorer.UIHierarchyItems.Item(1)
 
        CollapseNode(UIHSolutionRootNode)
 
        ' Select the solution node, or else when you click on the solution window
        ' scrollbar, it will synchronize the open document with the tree and pop
        ' out the corresponding node which is probably not what you want.
        UIHSolutionRootNode.Select(vsUISelectionType.vsUISelectionTypeSelect)
 
    End Sub
End Module
 
2008/09/18 20:04 2008/09/18 20:04

맨 위로

[팁] 비주얼 스튜디오 2005 서비스팩(SP1) 설치시 실패 문제

2008/07/07 14:27, 글쓴이 TTF
비주얼 스튜디오 2005 서비스팩 실패에 대한 많은 문제점들이 있다.

윈도우 2003에서는 아래의 핫픽스가 필요했다.

Windows Server 2003용 업데이트(KB925336)

이 업데이트를 설치하면 큰 Microsoft Windows Installer(.msi) 패키지 또는 Microsoft Windows Installer 패치(.msp) 패키지를 설치할 때 디지털 서명 정책 오류 메시지가 나타나는 문제를 해결할 수 있습니다.

http://support.microsoft.com/kb/925336/ko


http://weblogs.asp.net/scottgu/archive/2006/12/15/visual-studio-2005-service-pack-1-sp1-released.aspx
2008/07/07 14:27 2008/07/07 14:27

맨 위로

네트워크 파일 및 프린터 공유 프로토콜로 윈도우 시간 동기화 하기

2008/03/24 08:49, 글쓴이 TTF


■ 서버 설정하기(윈도우 시간 동기화)
  1. 네트워크 연결 -> 사용중인 네트워크 선택 -> 속성 -> 로컬 영역 연결 속성
       a. Microsoft 네트워크용 파일 및 프린터 공유 설정을 체크 합니다.

  2. 실행(윈도우Key + R)에서 firewall.cpl을 입력합니다.(윈도우 방화벽 설정)
       a. 예외 -> 파일 및 프린터 공유 -> 서비스 편집
       b. TCP 139, 445 포트에 윈도우 시간 동기화를 사용하고자 하는 대상 컴퓨터의 IP를 입력한다.

  3. 윈도우 시간 동기화 서버 설정 종료.


■ 클라이언트 설정하기(윈도우 시간 동기화)

  1. 윈도우 시간을 동기화 하기 위해서 다음과 같이 배치 파일을 생성한다.
net use  \\(윈도우 동기화 서버 IP) /USER:(아이디) 패스워드
net time \\(윈도우 동기화 서버 IP) /SET /Y
net use  \\(윈도우 동기화 서버 IP) /delete

  2. 배치 파일을 실행하면 시간이 동기화 된다.

  3. 윈도우 예약된 작업에 해당 배치 파일을 넣는다.
       a. 예약 작업 추가를 실행하고, 2에서 만든 배치 파일을 등록합니다.


      b. 시작 시간을 매일 오전 9시로 설정합니다.(임의로 수정가능)


      c. Windows 로그인 ID와 PW를 입력합니다.


      d. 마침을 클릭합니다.

      e. 예약 작업이 추가되었습니다.

2008/03/24 08:49 2008/03/24 08:49

맨 위로

콘솔 명령으로 특정 포트를 사용하는 Process 확인하기

2008/03/11 09:00, 글쓴이 TTF


가끔 Tcpview나 Process Explorer를 사용하지 않는 컴퓨터에서
특정 포트를 열고 있는 프로세스 목록을 확인하고 싶을때가 있다.

netstat -ano 로 열어서 PID 확인하고 작업관리자에서 해당 Process를 찾기는 참... 힘들다. ^^;;

그래서 다음과 같이 키보드 타이핑을 좋아하는 사람들에게 유용한 방법을 소개하고자 한다.


위와 같이 netstat -ano 명령은 PID를 출력해줘~ 라는 옵션인데, 윈도우 XP 이상에서만 지원한다.
윈도우 2000 사용자는 속편하게 ProcessExplorer를 사용하세요.

그 뒤에 | find "4899"  는 파이프라인으로 나온 결과를 find 명령을 이용해서 4899 라는 문자열이 있는 라인만 필터링 해줘~

이제 4899포트를 사용하는 PID를 찾을 수 있습니다.

tasklist /FI "PID eq 436"

는 프로세스 목록 중에서 PID 436과 일치하는(eq = equal) 내용만 필터링(/FI) 해서 보여줘~ 라는 명령인데, 이것도 윈도우 XP 이상에서만 지원합니다.
윈도우 2000 사용자는... ^^;

4899포트를 사용하는 프로세스를 종료하려면 다음과 같은 방법을 사용합니다.
for /f "tokens=5" %p in (' netstat -ano ^| find ":4899" ') do taskkill /F /PID %p

4899포트를 사용하는 프로세스를 보려면 다음과 같은 방법을 사용합니다.
for /f "tokens=5" %p in (' netstat -ano ^| find ":4889" ') do tasklist /FI "PID eq %p"

PS. 간단한 팁을 하나 더 추가합니다.
콘솔창이 너무 불편해요~~ 결과를 메모장에서 보여주시면 안될까요?
이런 분들을 위해 해결 방법을 알려드리겠습니다.

netstat -ano > net.txt && notepad net.txt

오호~ 이제 보기가 한결 쉬워졌네요. 다른 응용 방법들도 생각해보시면 콘솔의 위대함을 느끼실 수 있답니다.

pslist를 이용해서 특정 프로세스 로그 남기기
for /f "tokens=*" %p in ('pslist -s 1 -m ^| find "explorer"') do @echo %date%%time% %p >> explorer.txt
2008/03/11 09:00 2008/03/11 09:00

맨 위로

7zip으로 특정 확장자(포함/제외)하고 압축하기

2008/03/06 22:06, 글쓴이 TTF

7zip의 콘솔 명령을 이용하면 다음과 같이 편리한 압축이 가능합니다.

7zip으로 특정한 확장자를 포함한 파일들만 압축하기(하위 폴더 포함)
7z  a -r -tzip test.zip *.txt *.diz *.chm
7zG a -r -tzip test.zip *.txt *.diz *.chm


7zip으로 특정한 확장자만 제외한 파일들만 압축하기(하위 폴더 포함)
7z  a -r -tzip test.zip -x!*.txt -x!*.diz -x!*.chm
7zG a -r -tzip test.zip -x!*.txt -x!*.diz -x!*.chm
 

7zip으로 특정한 확장자를 포함한 파일들만 하나의 폴더에 모아서 압축하기(하위 폴더 탐색)
@echo off
SET ZipPath="C:\Program Files\7-Zip\7zG.exe"
%ZipPath% a -tzip %TEMP%\ExtractTxt.zip SourceData\ *.txt *.cpp *.h -r
%ZipPath% e %TEMP%\ExtractTxt.zip -o%TEMP%\ExtractData\ *.txt *.cpp *.h -r
del %TEMP%\ExtractTxt.zip /F
%ZipPath% a -tzip ExtractTxt.zip %TEMP%\ExtractData\*
rd %TEMP%\ExtractData /S /Q
 
2008/03/06 22:06 2008/03/06 22:06

맨 위로

[C] 효과적이고 효율적인 C코딩기법

2008/02/06 16:16, 글쓴이 TTF
커플이 님이 블로그를 만드셨습니다.

블로그 글을 보다가 흥미가 생기는 블로그 내용이 있네요.

아래에 링크를 달아봅니다.

http://couple.haruschool.com/tc/26
2008/02/06 16:16 2008/02/06 16:16

맨 위로

윈도우 .NET 프레임워크 원격 코드 실행 패치

2008/01/31 08:44, 글쓴이 TTF


.NET 프레임워크 1.1, 2.0을 사용하는 비주얼 스튜디오 닷넷 버전(2003, 2005, 2008)
사용자들에게 필요한 보안 패치 입니다.

해당 운영체제별 패치를 따로 다운 받아야 합니다.
2008/01/31 08:44 2008/01/31 08:44

맨 위로

UserDump 실행중인 Process의 Dmp 파일 추출하기

2008/01/30 14:12, 글쓴이 TTF


MS에서 제공하는 UserDump.exe 입니다.

UserDump는 다음과 같은 기능을 제공합니다.

UserDump [PID : 프로세스 ID번호]
예) UserDump 622

UserDump [실행중인 Process Image Name]
예) UserDump explorer.exe

위와 같이 실행하면 해당 프로세스의 Dmp 파일이 추출되는데, 기존에 PDB 파일을 백업해놨다면

하나의 같은 폴더에 Dmp 파일과 PDB 파일을 넣고 비주얼 스튜디오 2003, 2005, 2008 중의 하나로 Dmp 파일을 열면 해당 프로세스의 현재 상태의 Dump 내용을 볼 수 있습니다.
2008/01/30 14:12 2008/01/30 14:12

맨 위로

[VS2005] MSVCP80D.dll을 찾을 수 없습니다. 문제 해결 방법

2007/11/30 00:35, 글쓴이 TTF


VS2005로 프로젝트 컴파일해서 실행한 결과 다음과 같은 화면이 나와서 당황스러웠다.



띵! 소리와 함께 실행되지 않는 exe 파일... 갑자기 왜 그럴까?

이유는 여러가지가 있겠지만(MS의 농간?), 한가지 해결방법을 찾았다.

나름데로 프로젝트 실행파일을 가볍게(?) 만들기 위해서 속성에서 매니페스트 속성을 끈 것이 화근이었다!


"아니오" 라고 설정하고 컴파일하면 에러 발생!!

결국 매니페스트를 사용하겠다고 맹세(?)를 한 후에 제대로 실행되는 화면을 볼 수 있었다...

참고자료 : http://www.serious-code.net/moin.cgi/RedistributingVisualCppRunTimeLibrary
2007/11/30 00:35 2007/11/30 00:35

맨 위로

[레지스트리] 즐겨찾기 저장 위치 변경

2007/09/01 15:00, 글쓴이 TTF
웹 서핑 중 즐겨찾기 저장 위치를 변경할 수 있는 레지스트리를 발견하였다.
Windows Registry Editor Version 5.00
 
; author  :leejisung.com
; homepage  :이지성닷컴 http://www.leejisung.com
;
; ※ 윈도우즈 XP에서 추출한 즐겨찾기의 경로설정 부분을 보다 빠르게 수동으로 변경하기 위한
;    레지스터리 파일입니다. 아래 경로 부분을 수정하신 후 더블클릭합니다.
;    재부팅을 하시거나 모든 창을 닫으셨다가 실행하시면 사용하실 수 있습니다.
;    경로 수정을 하실 때 \ 부분을 두번 입력하셔야 합니다.
;    ex) D:\\backup\\Favorites  (D드라이브의 backup폴더안에 즐겨찾기 폴더명을 지정
;    아래와 같이 즐겨찾기 폴더명을 "My Favorites"라고 해도 실제는 "즐겨찾기"로 나타남
 
 
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders]
"Favorites"="D:\\My Documents\\My Favorites"
 
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders]
"Favorites"="D:\\My Documents\\My Favorites"
 
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main]
"FavoritesImportFolder"="D:\\My Documents\\My Favorites"

해당 드라이브 위치를 편집해서 사용하면 편하게 사용할 수 있다.
2007/09/01 15:00 2007/09/01 15:00

맨 위로

[서버 구성 팁] 인텔 랜카드 2개로 팀을 구성해 보자

2007/08/15 00:19, 글쓴이 TTF

웹서핑 중 눈에 띄는 특이한 것을 발견하였다.

인텔 랜카드 2개로 팀(Team)을 구성해보자!!

오~ 팀? 혹시 로드 벨런싱이나 에러 발생시 대처를 해주는 기능인가? 궁금 궁금(+_+)

궁금하신 분은 위에 출처를 눌러보시면 어떤 기능을 하는지 알려줍니다~

그래도 제일 중요한 부분의 스샷은 링크 깨짐 방지용으로 하나 떠 놓아야 겠죠~


와우~ 좋은 기능이 있었네요. ㅎㅎ 그런데 인텔 랜카드가 2개 있어야 한다는 점이 아쉽습니다.

그래서 더 찾아 보니 이런 프로그램도 있었습니다.



http://www.falconstor.co.kr/sub/catalog.php?CatNo=13

NIC Express 소프트웨어는 고급 장애 허용성을 제공하고 이중 링크 상에서 트래픽을 로드 밸런싱하면서 네트워크 상에서 모든 단일 실패 점(SPOF)을 제거하여 네트워크 성능을 증가시킵니다. 수 많은 포츈 500대 기업에서 이 소프트웨어를 배치하면서 이것은 전세계 대부분이 요구하는 미션 크리티컬 네트워크 중 일부를 보호합니다.

NIC Express 제품 라인은 여러분에게 완벽한 데이터 가용성을 제공하겠다는 FalconStor의 약속을 계속해서 지켜나가고 있습니다. IPStor는 SPOF(Single-Point-Of-Failure)가 없는 스토리지 네트워킹 환경을 구축할 수 있도록 하는 반면, NIC Express는 이중성의 범위를 네트워크의 모든 측면에서 즉, 서버 또는 워크스테이션으로 확장합니다.

NIC Express을 사용한다면, 여러분의 전체 엔터프라이즈에서 항상 데이터를 사용할 수 있는지에 대해 안심하셔도 됩니다. 연중무휴, 24시간 영원히 사용할 수 있습니다.
NIC Express 로드 밸런싱 및 페일오버 기능의 Key features:
고급화된 페일오버 감지
네트워크에서 결함 식별
스위치 방식의 trunking을 네트워크 끝까지 확장
ELB(Enhanced Load Balancing)로 병목현상 제거
대중적인 포트 트렁킹 표준 지원
많은 시스템에 쉽게 배치
웹 기반 콘솔을 통한 원격 모니터링
뛰어난 사용자 정의 기능으로 어떤 네트워크 환경에도 맞출 수 있음

이러한 기능이 있다고 한다. 2가지 중에 한가지를 선택해서 로드 밸런싱을 맞춰주면 될 것 같다.

역시나 네트워크 쪽은 어려워 (T_T)
2007/08/15 00:19 2007/08/15 00:19

맨 위로

[프로그래밍 팁] comp 명령어를 이용해서 간단히 파일 비교하기 - 2

2007/08/03 23:47, 글쓴이 TTF

지난번에 작성한 블로그 글에서 삽질한 것을 수정하려고 한다. -_-;
[프로그래밍 팁] comp 명령어를 이용해서 간단히 파일 비교하기 <-- 지난번 블로그 글

---------------- 지난번 블로그의 내용 [시작] --------------
파일 이름 : compare.bat

@echo off
comp "%1" "%2" < n.txt
 
IF "%ERRORLEVEL%" == "0" GOTO END
ECHO
ECHO ========================================
ECHO %1 원본 파일과
ECHO ----------------------------------------
ECHO %2 대상 파일이 일치하지 않습니다!
ECHO ========================================
pause
 
:END

위의 파일에서 중요한 점은 n.txt 이다. n.txt가 뭔가요? 하고 반문하신다면 프로그래머의 기질이 있으신것이고, < 리다이렉션만 보고 결과를 아셨다면, DOS 부터 열심히 컴퓨터를 해보신 분일 것입니다.

파일이름 : n.txt

N

---------------- 지난번 블로그의 내용 [끝] --------------

세상에 위와 같이 N.txt를 만들어서 Y/N을 통과하려 했다니.. 참 한심하다.

이번엔 N.txt 파일 없이 깔끔하게 끝내보자!

파일 이름 : compare.bat
@echo off
echo N | comp "%1" "%2"
 
IF "%ERRORLEVEL%" == "0" GOTO END
ECHO
ECHO ========================================
ECHO %1 원본 파일과
ECHO ----------------------------------------
ECHO %2 대상 파일이 일치하지 않습니다!
ECHO ========================================
pause
 
:END

위와 같이 echo n | comp "%1" "%2" 이렇게 수정하면 된다.

그러면 n.txt 파일이 필요가 없어진다.

2007/08/03 23:47 2007/08/03 23:47

맨 위로