반응형

전체 글 134

[SQL] 기초: SELECT, UPDATE, DELETE, WHERE 살펴보기

SQL(Structured Query Language)은 관계형 데이터베이스 관리 시스템(RDBMS)에서 데이터를 조작하고 정의하는 데 사용되는 표준 언어입니다. 이 포스트에서는 SQL의 기본 구성 요소인 SELECT, UPDATE, DELETE, WHERE에 대해 알아보겠습니다. SELECT SELECT는 SQL에서 가장 자주 사용하는 명령어 중 하나로, 데이터베이스에서 원하는 데이터를 가져오는 데 사용됩니다. 기본 구조는 다음과 같습니다: SELECT column1, column2, ... FROM table_name; 이는 table_name에서 column1, column2 등의 열을 선택하여 반환합니다. 모든 열을 선택하려면 아래와 같이 쓸 수 있습니다: SELECT * FROM table_na..

[C#] LINQ 쿼리 구문 연산자와 사용법

안녕하세요, 오늘은 C#의 LINQ(Language Integrated Query) 쿼리 구문 연산자에 대해 알아보려고 합니다. LINQ는 데이터를 조회하고 조작하는 강력한 기능을 제공하는 C#의 주요 기능 중 하나입니다. LINQ 쿼리 구문은 SQL과 유사한 구조를 가지며, 다음과 같은 주요 연산자를 사용합니다: 1. from 연산자 from 연산자는 데이터 소스와 범위 변수를 지정합니다. 쿼리 구문에서는 항상 첫 번째 절로 사용되어야 합니다. List numbers = new List { 1, 2, 3, 4, 5 }; var query = from num in numbers select num; 2. where 연산자 where 연산자는 필터링 조건을 지정합니다. where 절에 지정된 조건을 만족하..

프로그래밍/C# 2023.06.09

[C#] LINQ의 종류와 예제

안녕하세요, 오늘은 C#에서 사용되는 LINQ(Language Integrated Query)에 대해 알아보려고 합니다. LINQ는 데이터를 조회하고 조작하는 강력한 기능을 제공하는 C#의 주요 기능 중 하나입니다. LINQ는 다양한 종류가 있으며, 이 글에서는 그 중 몇 가지를 살펴보고 각각에 대한 예제를 제공하겠습니다. 1. LINQ to Objects LINQ to Objects는 메모리에 있는 데이터에 대해 쿼리를 수행합니다. 이는 배열이나 리스트와 같은 컬렉션에 대해 사용됩니다. List numbers = new List { 1, 2, 3, 4, 5 }; var evenNumbers = from num in numbers where num % 2 == 0 select num; 위의 예제에서는 n..

프로그래밍/C# 2023.06.09

[WPF] DataGrid DataGridTemplateColumn 사용시 Ctrl+C (복사하기) 기능

안녕하세요, 오늘은 WPF의 DataGrid에서 DataGridTemplateColumn을 사용하면서 Ctrl+C로 셀의 내용을 복사하는 방법에 대해 이야기하려고 합니다. 복사하는 기능은 기본적으로 제공되지만, DataGridTemplateColumn을 사용하면 기본 설정이 작동하지 않을 수 있습니다. 이럴 때에는 ClipboardContentBinding 속성을 사용하면 해결할 수 있습니다. ClipboardContentBinding 속성이란? WPF의 DataGrid 컨트롤에서는 ClipboardContentBinding이라는 속성을 통해 셀의 내용이 클립보드에 어떻게 복사되는지 제어할 수 있습니다. 기본적으로 각 DataGridColumn에는 이 속성이 있으며, 해당 열의 셀이 클립보드에 복사될 때..

프로그래밍/WPF 2023.05.22

[C#] MessagePack-CSharp을 이용한 고성능 객체 직렬화 및 역직렬화

C#에서 객체를 직렬화 및 역직렬화하는 여러 가지 방법 중, 성능과 효율성 측면에서 뛰어난 MessagePack-CSharp에 대해 알아보겠습니다. MessagePack는 이진 형식을 사용하여 JSON보다 더 작은 크기와 더 빠른 처리 속도를 제공합니다. MessagePack-CSharp 라이브러리 설치 먼저, 프로젝트에 MessagePack-CSharp 라이브러리를 설치해야 합니다. NuGet 패키지 관리자를 사용하여 설치할 수 있습니다. 직렬화 및 역직렬화를 위한 클래스 준비 MessagePack를 사용하여 직렬화 및 역직렬화할 클래스에 [MessagePackObject] 특성을 추가하고, 모든 필드 또는 속성에 [Key] 특성을 지정합니다. using MessagePack; [MessagePackO..

프로그래밍/C# 2023.04.14

[WPF] 여러 Enum 상태에 따라 선택적으로 UserControl 표시하기

WPF에서 사용자 인터페이스를 개발하다 보면, 여러 상황에 따라 다양한 UserControl을 동적으로 표시해야 할 때가 있습니다. 이런 경우, Enum 상태에 따라 UserControl을 선택적으로 표시하는 방법을 사용할 수 있습니다. 이 이번 포스팅에서는 DataTemplate 및 DataTemplateSelector를 사용하여 여러 Enum 상태에 따라 UserControl을 표시하는 방법을 알아봅니다. 1. Enum 정의 public enum Status { First, Second, Third } 2. 각 상태에 대한 UserControl 정의 예를 들어, FirstControl.xaml, SecondControl.xaml, ThirdControl.xaml 파일을 각각 생성하여 다음과 같이 각 ..

프로그래밍/WPF 2023.04.12

[WPF] DataGrid에서 SelectedItems를 ViewModel과 바인딩하는 방법

오늘은 WPF DataGrid에서 선택된 항목들(SelectedItems)을 ViewModel과 바인딩하는 방법에 대해 알아보겠습니다. WPF의 DataGrid는 강력한 기능을 제공하지만, 선택된 항목들을 ViewModel에 직접 바인딩하는 기능은 제공하지 않습니다. 그러나 Blend SDK의 Behavior 클래스를 활용하여 이 문제를 해결할 수 있습니다. 먼저, DataGridSelectedItemsBehavior라는 이름의 새 클래스를 생성하고, 이 클래스를 Behavior로 상속합니다. public class DataGridSelectedItemsBehavior : Behavior { // ... } 다음으로, SelectedItems라는 DependencyProperty를 정의합니다. 이 프로퍼..

프로그래밍/WPF 2023.03.27

[C#] List<object>를 특정 클래스 타입의 List로 캐스팅하는 방법

오늘은 C#에서 List를 특정 클래스 타입의 List로 캐스팅하는 방법에 대해 알아보겠습니다. 가끔 우리는 List에 특정 클래스 타입의 객체만 포함되어 있다는 것을 알고 있지만, 이를 해당 클래스 타입의 List로 변환해야 하는 상황이 있습니다. 이 경우, LINQ를 사용하여 쉽게 캐스팅할 수 있습니다. 예를 들어, ImageData라는 클래스 타입의 객체만 포함된 List가 있다고 가정해봅시다. 이제 이 List를 List로 캐스팅하고자 합니다. 먼저, 필요한 네임스페이스를 추가합니다. using System.Collections.Generic; using System.Linq; 다음으로, 이미 존재하는 List를 List로 변환하기 위해 LINQ의 OfType 메서드를 사용합니다. List obj..

프로그래밍/C# 2023.03.27

[WPF] Converter를 이용한 Binding Image Source

일반적으로 Image 컨트롤에 Image의 Path를 string 형태로 바인딩하면 화면에 이미지가 나온다. 그러나 이렇게 되면 해당 이미지를 프로그램이 계속 점유하고 있게 된다. 간단한 예를 들어보자 한쪽에는 한 화면에 좌측은 이미지가 있고, 오른쪽은 ListView에 이미지들의 나온다고 하고, ListView에서 Image의 이름을 선택하면 좌측에 해당 이미지가 보여주는 프로그램이 있다고 하자. 일반적인 바인딩의 경우 아래와 같이 할것이다. 선택한 이미지를 ImagePath라는 string에 바인딩 처리하여 Display할 것이다. 그런데 사용자는 Delete key를 통해 ListView에 있는 이미지를 삭제하고, 실제 경로에 있는 파일까지 삭제한다고 하면 아래와 같은 예외가 튀어나올 것이다. 파일..

프로그래밍/WPF 2023.03.23
반응형