Ankhsvn Shortcut

etc 2013. 10. 30. 13:38

// 나중을 위한 메모 수준의 글 //






VS2012 기준


TOOLS -> Options -> Environment -> Keyboard


CompareBase 에 Alt + 1

CompareLatest 에 Alt + 2

File.CommitItem 에 Alt + 3

ProjectandSolutionContextMenus.CrossProjectSolutionProject.SolutionCommit 에 Alt + 4

EditorContextMenus.CodeWindow.Subversion.DocumentHistory 에 Alt + 5  << 파일의 리비전 히스토리뷰

AnkhSVNContextMenus.LogViewerList.LogShowChanges 에 Crtl + ` << 리비전 히스토리 창에서 선택한 리비전의 Show Change 띄워줌.


를 할당.


Alt + 숫자키는 팀파운데이션 기능 바인딩이라 .. professional 버전 사용 중이니 그냥 무시하고 셋팅해버림..


'etc' 카테고리의 다른 글

잡설  (0) 2013.05.16
Sublime Text 2 설정  (0) 2013.03.06
LINK : fatal error LNK1201: error writing to program database ...  (0) 2012.03.16
:

deprecated declaration (VC++)

Short Articles 2013. 7. 20. 20:30

오랫만의 포스팅 이군요.


deprecated 선언에 대한 간단한 얘기를 좀 남겨볼까 합니다.


보통 C++ 를 배우고 Visual C++ 을 IDE 로 채택해서 작업을 해나가는 프로그래머들이


언뜻 언뜻 CRT 의 함수 중 보안 취약성으로 인해서 C4995 경고를 만나게 되면서


deprecated 에 대해서 인지하게 되지 않나 싶은데요.


msdn (http://msdn.microsoft.com/en-us/library/044swk7y.aspx을 보면 설명이 나오지만


나타내고자 하는 바는 단순합니다. 


deprecated 로 선언된 함수나 타입을 사용할 때 사용자에게 조심하라는 말을 전달하고 싶은 것이죠.


그런데, 프로그래밍을 시작한지 얼마 안되는 시점에서는 이 deprecated 선언의 필요성에 대해서 잘 느끼지 못하지 않나 싶습니다.


그래서 간단한 하나의 예정도를 적어 보자면..


모종의 변환 행렬을 연산해서 3D 공간 상의 Object 의 위치를 얻어 내는 함수가 있다고 가정 합시다.


개발이 진행 되고 서비스를 시작한 뒤 점차 추가적인 컨텐츠를 붙여나가던 도중에 이 함수가 특정 상황에서


내부적으로 행렬 연산을 잘 못하게 되는 버그가 발견 되었다고 칩시다.


이 경우에 가장 첫 번째로 생각하게 되는 솔루션은 해당 함수의 버그를 수정한다 이겠지만 ..


이렇게 할 경우 의도치 않은 상황이 발생할 수 있습니다.


다른 누군가가 이 함수를 가져다 사용하면서 함수의 버그를 수정하기 보다는 잘 못된 수치 만큼을 보정 작업을 추가로


삽입하는 식으로 사용하고 있을지도 모르기 때문입니다.


이런 경우에 택할 수 있는 선택지 중의 하나가 deprecated 선언으로 (이것도 나름의 문제는 있긴 하지만..)


버그가 내재된 기존의 함수를 deprecated 선언을 시키고 새로운 함수를 작성하고 이 후로는 그것을 사용하도록 유도하는 것입니다.


예를 들면,


__declspec(deprecated("리비전 넘버 100 이후로는 이 함수를 사용하지말고 foo_ver2 를 사용하세요."))

void foo() { }


이런식으로요.

:

[C++11] Range Based For-Loop with custom type.

Short Articles 2013. 6. 26. 10:08

커스텀 타입의 멤버 컨테이너에 대해서 range based for 를 지원하고자 할 때,

멤버 또는 전역으로 begin, end 함수를 제공해 주면 된다.

커스텀 컨테이너 타입을 사용 중이라면 해당 컨테이너가 iteration 지원이 되는지 확인한다.


'Short Articles' 카테고리의 다른 글

deprecated declaration (VC++)  (0) 2013.07.20
[C++11] std::condition_variable_any  (0) 2013.03.12
std::async - std::launch policy  (0) 2013.03.11
Template Keywords & Introduce Templates Meta Programming  (0) 2012.04.21
Class Template  (0) 2012.04.07
: