분류 전체보기 썸네일형 리스트형 C++ Template #1 : 템플릿 템플릿 인자 STL에는 메모리 할당을 받기 위해 단위전락 클래스를 인자로 받는다. 다들 vector라는 클래스를 쓸 때, vector만 생각하지, 그 뒤에 어떤 템플릿 인자가 있는지 신경쓰지 않는다. 아래 그림에 보면 _Ty라는 인자 뒤에 _Ax라는 인자가 붙고, 이는 allocator가 기본 값이라는 것을 알 수 있다. 즉, vector는 vector라는 의미이다. 그럼 이 allocator라는 클래스는 뭘까?에 대한 질문은 이번 포스팅 주제완 맞지 않아 다음에 다시 포스팅 하겠다. 간략히 이야기하자면, allocator는 메모리를 어떻게 할당 받겠는지에 대한 전략을 기술한 클래스이다. new로 할당을 받을지, malloc으로 할당을 받을지, 쓰레드마다 다른 힙에서 메모리를 할당 받을지 등의 메모리 할당 단위전략 .. 더보기 [WCF] Reference.cs 에 'ServiceReference1' 형식 이름이 없습니다. 이것때문에 2시간은 삽질한 것 같네.. "서비스 참조 추가" 를 눌러 WCF Service를 추가한 뒤, 빌드를 하려고 하니 계속 말도안되는 에러가 뜨는거지.. Reference.cs 에서 ServiceReference1 을 찾을수가 없다니? 분명 내가 서비스 참조 추가를 했는데도? 없다니 뭔 개소리야!!? 어? 가만.. WCFClient.ServiceReference1 이라고? 별 생각없이 namespace와 class 이름을 똑같이 줬더니.. (사실, 이름붙이기 좀 귀찮았음) 일단 추가했던 서비스 참조를 지우고, Class 이름을 바꿔보자.. (그렇게 안하면 접근할 수 없는 Reference.cs 를 고쳐야 되는데 그럴 수 없다 함) 아.... 여기서 의미하는 WCFClient 는 namespace .. 더보기 [WPF] Key Event of "Enter" in MVVM Model Command (Using InputBindings) WPF 에서 MVVM 모델을 통해 코딩을 하고 있다. TextBox 혹은 Editable ComboBox 등등에서 키를 입력하면, Command를 날려주는데, KeyUp Event를 많이 사용했다. Enter Key에서만 Command가 발생해야할 상황이 많은데, Binding과 Command를 사용한 MVVM 에서는 이것이 Enter인지를 알 수 가 없었다!! 이 때, 검색을 하던 중 "InputBindings" 라는 개념을 찾았다!! olleh~ 자, 코드를 살펴 보면, ComboBox가 존재하고, 얘는 Editable 하단다. Text가 어딘가에 바인딩이 되어있다. 원래대로면 Interaction Trigger를 이용해서 "KeyUp" Event에 Command를 발생시켰더랬다. 이랬더니 얘가 En.. 더보기 [Expression] DatagridCell 선택영역 DatagridCell의 Template을 보면, 위와 같이 Border와 ContentPresenter로 이루어져 있다. 이 때, Border의 Background 속성을 주지 않으면, Cell의 선택 영역이 ContentPresenter의 영역으로만 정해진다. 아마도, Mouse Click 시에 Hit Test 에서 영역이 없는 것으로 인식 되는 듯 하다. 더보기 [Windows] USB사용이 금지된 PC 에서의 mklink USB 쓰기 금지가 되어있는 PC에서 mklink를 통해 USB를 사용한다. command 창으로 들어간다. C:\> mklink /d 링크될폴더이름 링크될USB경로 ex) C:\> mklink /d USB E:\ C:\USB 라는 폴더에 들어가면 USB 내용을 볼 수 있고, 그 폴더에 DATA를 넣으면 쓰기가 가능하다. 더보기 [C#] out 매개변수와 ref 매개변수 [MSDN] out 키워드는 인수를 참조로 전달하는 데 사용됩니다. 이는 ref 키워드와 비슷하지만 ref의 경우 변수를 전달하기 전에 초기화해야 한다는 점에서 차이가 있습니다. out 매개 변수를 사용하려면 메서드 정의와 호출하는 메서드에서 모두 out 키워드를 명시적으로 사용해야 합니다. 예를 들면 다음과 같습니다. class OutExample { static void Method(out int i) { i = 44; } static void Main() { int value; Method(out value); // value is now 44 } } [MSDN] out 인수로 전달되는 변수는 이를 전달하기 전에 초기화할 필요가 없지만 호출되는 메서드는 메서드 반환 이전에 값을 할당해야 합니다. r.. 더보기 [Expression Blend] Margin의 기준점이 이상한 곳에 머물어 있을때, Blend를 통해 Control을 만드는 작업을 하다보면 그림과 같이 엉뚱한 곳에서 Margin값 기준점이 만들어 지는 경우가 종종 있다. 이런 경우는 Column Definition을 조정하는 과정에서 마지막 하나의 ColumnDefinition이 특정 Pixel 값으로 존재하여 남기 때문이다. Xaml 코드를 보면 다음과 같다. 바로 요놈 때문에 발생하는 현상으로, 놓치기 쉽다. 더보기 [Expression] Hint Text in TextBox TextBox를 사용하다 보면, 기본으로 "Search" 라는 글씨가 쓰여 있고, 클릭을 하게 되면 사라지는 Control이 있다. 이것을 TextBox Trigger로 만들어 주는 코드가 있다. 더보기 [WPF] BackgroundWorker with UI Thread ProgressBar progressbar 를 사용하려다 보니, UI Thread 안에서 동작하는 함수 때문에, progressbar는 UI님이 못된 함수놈을 기다리느라 여념이 없으시다. Thread 하나로 모든걸 해결하려는 "간단유틸" 만드는 귀차니즘.. 그리하여, BackgroundWorker 라는 곳으로 복잡한 함수를 보내버려 UI 님을 살려 드리고, 저 뒷편에서 UI 님에게 progress value를 주려고 시도하였다. 일단 소스부터 붙여 봅시다. private BackgroundWorker backGroundWorker = new BackgroundWorker(); private delegate void UpdateValueDelegate(ProgressBar p, int v); public MainWindow().. 더보기 [WPF] Scrollbar Position Event 요즘 폰으로 스크롤을 하다 보면, 스크롤이 다 내려갈 즈음에 Data가 Update 되는 경우가 많다. 이걸 WPF의 Listbox 나 Datagrid 혹은 ScrollViewer 에서 적용하기 위해 알아보았다. Test를 하기 위해, ScrollViewer를 만들고 ScrollChanged Event를 받았다. private void scrollViewer1_ScrollChanged(object sender, ScrollChangedEventArgs e) { ScrollViewer aa = new ScrollViewer(); textBlock1.Text = e.VerticalOffset.ToString(); textBlock2.Text = e.ExtentHeight.ToString(); textBloc.. 더보기 이전 1 2 3 다음