전체 글

· C#
1. C# 비동기 프로그래밍 : Task 이해 2. C# 비동기 프로그래밍 : async, await 이해 3. C# 비동기 프로그래밍 : Task의 연속 작업 (Continuations) 이해 4. C# 비동기 프로그래밍 : Task와 Thread의 차이점 이번 포스팅은 C#에서 Task 메서드와 Thread 메서드의 차이에 대해 알아보려 합니다. 두 개념 모두 병렬 및 비동기 처리에 사용되지만, 각각의 역할과 사용법이 다르므로 이를 이해하는 것이 중요합니다. | Thread와 Task 이해 Thread와 Task 모두 병렬 및 비동기 처리에 사용되지만, 각각의 역할과 사용법이 다르므로, 먼저 이를 이해하는 것이 중요합니다. | Thread 운영체제의 최소 실행 단위로, 개발자가 직접 제어해야 합니다...
· C#
1. C# 비동기 프로그래밍 : Task 이해 2. C# 비동기 프로그래밍 : async, await 이해 3. C# 비동기 프로그래밍 : Task의 연속 작업 (Continuations) 이해 이번 포스팅은 Task의 연속 작업에 대해 정리하였습니다. 비동기 프로그래밍의 중요한 방법 중 하나이며 복잡한 비동기를 쉽게 다루는데 도움을 줄 수 있는 개념입니다. | Task 연속 작업(Continuations) 이해 Task 연속 작업은 Task가 끝난 뒤 바로 수행되는 작업을 말합니다. 이는 Task.ContiuneWith() 메서드를 통해 구현할 수 있습니다. "ContuneWith" 이름에서 알 수 있듯이, 기존의 Task가 완료된 후에 "계속해서" 수행될 작업을 설정합니다. 예제) 팩토리얼 계산 후 ..
· C#
1. C# 비동기 프로그래밍 : Task 이해 2. C# 비동기 프로그래밍 : async, await 이해 지난 포스팅에 이어 이번 포스팅은 C#의 비동기 프로그래밍에서 중요한 async, await에 대해 정리하였습니다. 실제로 Task와 정말 많이 쓰고 중요한 키워드입니다. 코드 예제들과 같이 한번 알아보겠습니다! | 동기, 비동기 이해 async와 await는 비동기 프로그래밍을 위한 키워드입니다. 하지만 이를 이해하기 이전에 먼저 동기와 비동기의 개념에 대해 알아야 합니다. | 동기 (Synchronous) : 한 가지 작업이 완료되어야만 다음 작업이 시작되는 방식 동기 실행을 이해하는 방법 중 한 가지는 시간이 순차적으로 흐르는 것을 상상하는 것입니다. 위 그림을 생각해 보면 Task1, Tas..
· C#
이번 포스팅은 C#의 비동기 프로그래밍을 수행하는 데 사용하는 클래스인 Task에 대해 정리하였습니다. Task는 제가 실제로 작업하면서 많이 쓰는 클래스이며 많은 활용을 할 수 있습니다. 예시 코드들과 함께 Task에 대해 알아보겠습니다. | Task 이해 - Task는 비동기 작업을 나타내는 클래스입니다. System.Threading.Tasks 네임스페이스에 포함되어 있으며 Task를 사용하면 오래 걸리는 작업이 메인 스레드를 차단하지 않고, 병렬로 실행됩니다. 이는 UI 스레드를 건들지 않고 실행되는 것으로 애플리케이션이 응답하지 않는 현상이 없습니다. | Task 실행 - Task를 생성하는 가장 간단한 방법은 Task.Run 메서드를 실행하는 것입니다. Task.Run 메서드는 주어진 작업을 ..
· C#
1. C# 이벤트 정의와 등록 및 제거 방법 2. C# 이벤트 발생 (Event Raising) 이해 3. C# 멀티캐스트 이벤트 이해 : 다중 이벤트 핸들러 관리 이번 포스팅은 하나의 이벤트애 여러 개의 이벤트 핸들러를 묶는 멀티 캐스트 이벤트에 대해 알아보겠습니다. 이전 포스팅을 통해 이벤트에 대한 전반적인 내용을 확인해 보세요. | 멀티캐스트 이벤트란? - 멀티캐스트 이벤트는 C#에서 하나의 이벤트에 여러 개의 이벤트 핸들러를 등록할 수 있는 기능입니다. 이벤트가 발생하면 등록된 모든 이벤트 핸들러 메서드가 순차적으로 실행되는 방식을 의미하며, 멀티캐스트 이벤트를 사용하면 코드를 모듈화 하고 유지 관리하기 쉽게 만들어줍니다. | 멀티캐스트 이벤트 구현 단계 이벤트 델리게이트 정의 : - 일반적으로 ..
· C#
이번 포스팅은 저번 포스팅에 이어 이벤트에 관한 내용입니다. 이벤트 발생에 대한 내용보다 정의와 등록에 대한 내용을 먼저 했어야 했는데 거꾸로 됐네요ㅎㅎ 이벤트 발생에 대한 내용은 아래 글에서 확인하실 수 있습니다. https://wjunsea.tistory.com/135 C# 이벤트 발생 (Event Raising) 이해 이번 포스팅은 C#에서 이벤트를 어떻게 정의하고 발생시키는지에 대해 알아보겠습니다. | 이벤트란? - 이벤트(Event) : 객체 또는 클래스에서 발생하는 상황, 조건을 나타내며 다른 부분(이벤트 핸 wjunsea.tistory.com | 이벤트 정의 - 이벤트는 C# 언어에서 특정 상황, 조건이 발생했을 때 이벤트 핸들러에게 알리는 메커니즘입니다. - 특정 조건이 충족될 때 호출되며..
· C#
이번 포스팅은 C#에서 이벤트를 어떻게 정의하고 발생시키는지에 대해 알아보겠습니다. | 이벤트란? - 이벤트(Event) : 객체 또는 클래스에서 발생하는 상황, 조건을 나타내며 다른 부분(이벤트 핸들러)에 이를 알리는 메커니즘 - 특정 조건이 충족될 때 호출되며, 예를 들어 GUI 요소에서 버튼 클릭, 마우스 이동 등 이벤트 발생 | 이벤트 정의 public event EventHandler MyEvent; - 기본적으로 클래스 내에서 delegate 형식을 사용하여 정의되며 위 코드에서 MyEvent는 EventHandler 형식의 이벤트를 정의하는 것입니다. | 이벤트 발생 메서드 정의 - 이벤트를 발생시키기 위해서 메서드를 정의하여 이 메서드는 이벤트가 발생할 때 호출 됩니다. public voi..
· C#
이번 포스팅은 C#에서 자주 사용하였지만 정확한 명칭은 몰랐던 자동 구현 속성 이해 (Auto-implemented Properties)에 대해 정리하였습니다. 프로퍼티(Property)를 자동으로 사용하기 위함이며 편리하게 사용할 수 있습니다. | 자동 구현 속성 기본 구조 public type PropertyName { get; set; } type : 속성이 반환하는 데이터 유형 PropertyName : 속성 이름 { get; set; } : get, set 접근자로 속성 값을 읽거나 설정하는 데 사용 | 자동 구현 속성 동작 원리 내부적으로 해당 속성을 저장하고 반환하는 백엔드 필드 생성 백엔드 필드의 이름은 자동 생성되며 외부에서 직접 액세스 불가 컴파일러가 필드를 처리하므로 get 및 set..
우준세
준세 단칸방