Python에서 asyncio.wait와 asyncio.gather 활용법
코루틴 기본 개념
Future 객체
Future는 아직 완료되지 않은 작업의 결과를 나타내는 데이터 구조입니다. 이벤트 루프는 Future 객체의 완료 여부를 모니터링할 수 있으며, 이를 통해 애플리케이션의 일부분이 다른 부분의 작업 완료를 기다릴 수 있습니다.
Future 객체는 다음과 같은 상태를 가집니다:
Pending (대기 중)
Running (실행 중)
Done (완료됨)
Cancelled ( ...
7월 11일 01:15에 게시됨
C# 비동기 프로그래밍의 함정: void 메서드와 Task 메서드의 차이
C#에서 비동기 코드를 작성할 때 흔히 겪는 문제점 중 하나는 `async void` 메서드를 `await`하는 경우입니다. 개발자는 코드 실행이 특정 지점에서 대기할 것이라 예상하지만, 실제로는 즉시 다음 코드로 넘어가는 경우가 있습니다.
아래 코드는 이 문제를 보여줍니다. `실행_카운트` 메서드는 `async void`로 선언되어 있습니다.
async static void 실행_카운트()
{
...
7월 8일 02:22에 게시됨
C# 및 .NET의 핵심 개념 정리
값형과 참조형의 차이점
메모리 할당 방식, 스택/힙 저장 위치, 복사 전략 측면에서 비교한다. 주요 값형과 참조형 타입을 나열한다.
1. 메모리 구조와 저장 방식
값형 (Value Type):
데이터 자체를 직접 저장한다.
일반적으로 스택에 할당되며, 클래스 멤버로 사용될 경우 해당 객체의 힙 영역에 포함된다.
변수 대입 시 데이터 전체를 복사( ...
6월 18일 21:35에 게시됨
C# 비동기 프로그래밍 패턴과 구현 기법
비동기 프로그래밍의 핵심 개념
C# 5.0의 async/await 키워드는 응답성 높은 애플리케이션 개발을 가능하게 합니다. 비동기 작업은 백그라운드에서 실행되며, 사용자 인터페이스의 응답성을 유지합니다. 주요 구현 패턴으로는 APM, EAP, TAP이 있습니다.
기본 실행 모델 비교
동기식 실행
public delegate int ComputeHandler(int x, int y);
public class Calculator
{
...
6월 16일 19:42에 게시됨
Gradle의 Task 이해하기
1 Gradle의 Task 이해
1.1 Task 정의 및 설정
1.2 Task 실행 방법
1.3 Task 의존성과 실행 순서
1.4 Task 유형
1.5 Task와 Gradle 라이프사이클의 결합
1.6 Task 실전 활용
1.1 Task 정의 및 설정
1.1.1 모든 task 보기
./gradlew tasks
출력:
> Task :tasks
------------------------------------------------------------
모든 루트 프로젝트에서 실행 가능한 작 ...
6월 13일 16:49에 게시됨
C#에서의 위임, 이벤트, 동기 및 비동기 처리 개념 정리
위임(Delegate)의 기본 구조
위임은 특정 반환 타입과 매개변수 시그니처를 가진 메서드를 참조할 수 있는 형식이다. 이는 함수 포인터와 유사하지만, 타입 안전성을 갖춘 객체 기반의 구현이다.
public delegate void MessageHandler(string message);
이 위임을 사용해 인스턴스를 생성하고, 적절한 메서드를 연결할 수 있다.
MessageHandler handler = new MessageH ...
5월 30일 16:04에 게시됨