XmlDataProvider 해당 노드의 Attribute 값을 목록에 넣기

xml

<?
xml version="1.0" encoding="utf-8" ?>
<Labels>
 
<btnOne Label="Button1"/>
 
<btnTwo Label="Button2"/>
</Labels>


xaml
<Button Content="{Binding Source={StaticResource XMLLabels}, XPath=btnOne/@Label}" /> 
  

만약 btnOne 의 라벨 부분의 이름을 넣으려면 위와 같이 XPath=btnOne/@Label 을 넣어주면 된다.

실용주의 프로그래머

무엇이 실용주의 프로그래머를 만드는가
- 얼리어덥터/새로운것에 빨리 적응하는 성향
- 캐묻기 좋아한다.
- 비찬적인 성향의 소유자.
- 현실적이다
- 다방면의 기술에 익숙하다.

- 자신의 기술에 관심을 가져라
- 자신의 일에 대해 생각하면서 일하라

이것은 끊임없이 지속되는 과정이다
- 카이젠은 지속적으로 조금씩 자주 개량하는 것을 뜻하는 일본어다.

1장. 실용주의 철학
1. 고양이가 내코드를 삼켰어요
- 어설픈 변명을 만들지 말고 대안을 제시하라.

2. 소프트웨어 엔트로피
- 시스템 내의 '무질서' 를 일컫는말
- 깨진 창문을 내버려두지 말라.

VC++ 메모리릭 덤퍼 로그로 메모리 활당 위치 추적하기 (Dumping objects)

헤더파일: <crtdbg.h>

 

_CrtDumpMemoryLeaks() :

이 함수는 함수 호출 시점 전까지 발생한 메모리 릭 정보를 출력한다

* 디버그 모드에서만 사용한다.

 

_CrtSetDbgFlag() :

이 함수는 메모리릭 발생 된 이후 시점에서 호출한다.

 

/////////////////////////////////////////////////////////////////////////////

 

프로그램 시작부분에 아래와 같이 함수를 호출하여 사용한다.

_CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF );

 

_CRTDBG_ALLOC_MEM_DF  플래그 값이 디버그모드에서 메모리 할당이 일어날 때 마다 추적한다.

_CRTDBG_LEAK_CHECK_DF 플래그 값이 프로그램이 종료되기 전에 자동으로 _CrtDumpMemoryLeaks() 함수를 호출하여 메모리를 할당한 후 해제 하지 않는 메모리가 있는지 확인한다.

 

// 예제 코드
#include <stdlib.h>  // malloc 함수 사용
#include <crtdbg.h>

 

void main()
{
  _CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF );

  char* cp;
  cp = (char*)malloc(16);
}

 

위와 같이 하면 malloc(16) 에 대해서 메모리 릭을 경고한다. (할당 후 해제 하지 않았으므로)

 [참조 : http://loger1000.springnote.com/pages/1715936]

 

 

-------------추가 설명-------------

 

 

-------------디버그용 범용 클래스-------------

 


 

[참고 : http://support.microsoft.com/kb/601929/ko]

 
출처 : http://blog.naver.com/dkfqkeorkfl/120131502699


Effective STL GameDev

1. 효과적인 컨테이너 요리법
    항목 1 : 적재적소에 알맞은 컨테이너를 사용하자
        - 표준 STL 시퀀스 컨테이너 : vector, string, deque, list
        - 표준 STL 연관 컨테이너 : set, multiset, map, multimap
        - 비표준 시퀀스 컨테이너 : slist(단일 연결 리스트), rope(대용량 string)
        - 비표준 연관 컨테이너 : hash_set,  hash_multiset, hash_map, hash_multimap
        - string 대신 사용되는 vector<char>
        - 표준 연관 컨테이너 대신 사용되는 vector 
        - STL에 속하지 않는 표준 컨테이너 : 배열, bitse
        - list는 시퀀스 중간에 빈번한 삽입, 삭제
        - deque는 대부분의 삽입 삭제가 앞과 끝에서 일어난 경우
        - 연속 메모리 컨테이너 : deque, vector, string

제프리 리처의 Windows Via c/c++ GameDev

1. 에러 핸들링
 GetLastErr(); 에 반환되는 결과값은 WinError.h에 define 되어있다. 사용자가 에러를 넣으려면 SetLastError(); 를 사용해서 에러를 넣을 수 있다. ERROR_SUCESS는 에러가 없는 것.
에러의 내용을 문자열로 가져올 수 있다. P.39

2. 문자와 문자열로 작업하기
유니코드로의 개발을 추천. DBCS(Double-bytes character set) 은 1바이트와 2바이트 문자로 구성되어 있다. UTF-16은 2바이트로 구성되어 있다.
wcslen(유니코드), strlen 두가지 함수를 사용환경에 맞게 바꾸어 주는 함수 _tcslen을 사용하는 것이 좋다.
새로운 문자열 안전 함수인 _tcscpy 보다 _tcscpy_s 문자열의 길이를 받는 함 수 사용을 권장. _s(secure를 의미)


1 2 3 4 5