개념 Self Study📝/C#
-
IEnumerable vs ObservableCollection개념 Self Study📝/C# 2024. 9. 20. 15:23
1. 개요 - 관리하는 프로그램에서 ItemSource를 바인딩하는 방식이 다양하게 구성되어있는 것을 알게되었다. 해당 클래스에 대해서 차이점을 파악해보고 그 과정에서 알게 된 것을 정리해보자 2. IEnumerable vs ICollection vs IList- 해당 클래스들 내부에는 사용할 수 있는 메소드의 차이가 존재한다. IEnumerable: Collection의 요소들을 순회하고 싶을 때, read-only접근만 필요로 하고 foreach를 사용하고자 할때 주로 사용한다. 해당 클래스를 통해 선언을 한다면 View에서는 변경할 수 없으므로, 코드 복잡성이 추가된다.ICollection: Collection의 변화가 용이하고 size를 알고자 할때 주로 사용한다.IList: Collection..
-
Thread? 개념부터 짚자개념 Self Study📝/C# 2024. 9. 11. 15:44
1. 개요 Thread라는 것에 대해서 IT종사자들은 어느정도는 으레 짐작으로 알고있다고 생각한다. 그렇지만 자세한 개념에 대해서 알고있지는 않다고 판단이 되어 개념부터 한번 짚고 넘어가보자 2. Thread 란?Thread는 어떠한 프로그램 내에서 특히 프로세스 내에서 실행되는 흐름의 단위를 말한다. 일반적으로 한 프로그램은 하나의 Thread를 가지고 있지만, 프로그램 환경에 따라 둘 이상의 Thread를 동시에 실행할수 있다. 이러한 실행 방식을 Munti Thread라고 한다. Multi Process와 Multi Thread는 양쪽 모두 여러 흐름이 동시에 진행되는 공통점이 있다. Process와 Thread에 대한 차이는 process들은 별개의 메모리를 차지하는 것과 다르게 Thread는 p..
-
C#과 C++이 데이터를 주고 받는 방법(마샬링)개념 Self Study📝/C# 2023. 12. 25. 22:30
1. 개요 - C#과 C++을 이용하여 프로젝트를 만드는데 여기서 C#과 C++이 데이터를 정상적으로 주고 받는것에 대해서 의문점이 들었다. 시스템 개발이다보니 웹개발과 차이점이 있어 데이터를 주고 받는것에 대해서 알아보자. 2. 데이터 정제 - Endianess처리: 데이터를 주고 받을 때 빅 엔디안 또는 리틀 엔디안으로 변환하여 데이터의 바이트 순서를 일치시켜야 할 수 있다. - 데이터 유형 변환: C#과 C++은 데이터 유형의 명명 및 크기 등에서 차이가 있을 수 있다. 예를 들어, int의 크기나 부호 여부등이 다를 수 있으므로 데이터 유형을 명시적으로 변환하여 일치시켜야 할 수 있다. - 버퍼 관리 및 메모리 할당: 데이터를 주고 받을 때 메모리 관리와 할당 방식이 다를 수 있다. 메모리 버퍼의..
-
MVVM 사용할려면 알아야지개념 Self Study📝/C# 2023. 7. 6. 16:15
Data Binding(데이터 바인딩) 바인딩 → 서로 묶는 기능을 제공한다. * 쉽게 말해 입력부분TextBox와 출력부분인 Label을 함께 묶어, 한쪽에서 변경이 일어나면 그대로 다른 곳에서도 일어나는 효과를 만들어 준다. Target? Source? Target -> 목적지 (출력되는 부분) Source -> 출발지 (입력하는 부분) 바인딩을 통해 Text와 Label연결 목적지가 Label Content 속성이기 때문에 그 안에 {Binding ~ }을 넣은 것이다. ElementName은 Target을 가리키는 소스가 어디냐 라고 묻는것이다. TextBox가 많을 경우 제가 생기기 때문에, txt라는 x:Name을 부여하여 정확한 TextBox위치를 알려준다. 데이터 바인딩 출처 https:/..