태그 보관물: createdelegate

Mark and Sweep 가비지 컬렉션과 함수 기반 Mediator 패턴 – II

시작하기

지난 포스트에서 함수의 강한 참조를 사용하는 메신저 구현 방법과 이 방법을 사용할 때 변수에 저장되지 않는 개체가 가비지 컬렉션에서 생존하게 되는 현상을 살펴봤습니다. 이러한 현상이 항상 문제라고 볼 수는 없지만 그것을 기대하지 않은 상황에서는 곤란해질 수 있습니다. 이번 포스트에서는 약한 참조를 사용해 메시지 구독이 가비지 컬렉션에 영향을 주지 않도록 하는 방법을 알아봅니다.

I'm too weak. Don't kill me.

  1. Mark and Sweep 가비지 컬렉션과 함수 기반 Mediator 패턴 – I
  2. Mark and Sweep 가비지 컬렉션과 함수 기반 Mediator 패턴 – II

계속 읽기

동적 Linq 연산 #2 – Where

지난 포스트에 이어…

지난 포스트에서 런타임에 동적으로 결정되는 속성 이름을 사용한 시퀀스 정렬과 CreateDelegate 메서드를 사용한 최적화 방법에 대해 살펴봤습니다. 정렬 작업과 더불어 Linq에서 가장 많이 사용되는 연산은 필터링 작업입니다. 이번 포스트에서는 Where 연산에 속성 이름을 적용하는 방법을 정리하겠습니다.

계속 읽기

동적 Linq 연산 #1 – OrderBy

배경

최근에 codeproject.com에서 정렬 키 속성 이름을 입려받아 동적으로 시퀀스에 OrderBy 연산을 적용하는 방법에 대한 포스트를 접했습니다. 데이터를 보여주고 분석하는 프로그램에서 동적으로 속성을 입력받는 상황은 흔히 발생합니다. 실제로 몇 주 전에 팀 동료로부터 서비스 프로그램에서 외부 컴포넌트에서 입력받는 값에 따라 지정된 속성으로 데이터를 필터링하는 방법에 대한 문의를 받은 적이 있습니다. 두 개의 포스트를 통해 이러한 상황에서 사용할 수 있는 정렬과 필터링 연산에 대해 정리해 봅니다.

계속 읽기