본문 바로가기

.NET Framework

Umc.Core 프레임워크 다이나믹 프록시(Dynamic Proxy) #1 요즘 참 할일도 많은데 할 수 있는 일이 점점 줄어든다. 필자는 블로그 버킷 리스트(bucket list)를 작성하는데 블로그가 사망하기 전에 꼭 해야 할 일을 목록으로 만들어 놓고 하나 하나씩 글을 써 나간다. 근데 할 일이 늘어만 간다. ㅠ 당장 쓸 수 있는 글 39개 사소한 개발 기술부터 심도있는 내용으로 흐리멍텅한 개념을 글을 쓰면서 잡아 나가는 것들 개발 후 산출물로 쓸 글 37개 오픈소스로 내놓을 계획, 또는 알고 있는 것들에 대한 증명이 필요하고 그 후에 쓸 수 있는 글 연구개발 11개 배우고 싶은 것, 하고 싶은 것, 해야 하는 것들이고 공부해야 쓸 수 있는 글들 아무튼 점점 쓸 것들이 늘어만 가지만, 하나 하나 하다보면 쓸게 없어 지는 날이 올거라 믿는다 >.,< #1 - Umc.Core.. 더보기
Windows Server AppFabric - Velocity 시작하기 혹시 위의 CMD 에서 키보드를 잘못 누른경우 아래의 인터넷 옵션의 인증서 창에서 신뢰되지 않은 게시자를 지우기 바랍니다. 캐시 서버 시작 콘솔 프로젝트에 참조 추가 CTP2 에서 System.Data.Caching 이 Microsoft.Data.Caching 으로 네임스페이스가 변경되었습니다. NamedCache 를 만듭니다. New-Cache -CacheName NamedCache1 -Secondaries 1 -TTL 15 App.Config 의 설정입니다. App.config 아래는 간단한 샘플 소스 코드입니다. Program.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; using Mi.. 더보기
Windows Server AppFabric - 호스트 추가하기 C:\Program Files\Microsoft Distributed Cache\V1.0 폴더를 모두 새로운 클러스터 서비스의 폴더로 이동합니다. 필자는 C:\VELOCITY\DPOWERUMC_CLUSTOR01 요기에다가 이동했습니다. 단, 등호와 값 사이에는 공백이 한 칸 있어야 한다. -_-; (잘보세요… 그렇지 않으면 오류가 납니다 ^^;) 클러스터링 할 데이터베이스도 만들 수 있습니다. 그리고 DistributeCache.exe.config 에서 아래의 항목을 수정하시면 됩니다. cacheHostName 속성 Log location 속성의 경로 DB Connection 정보 필자는 로컬 머신에 클러스터를 추가했습니다. 아래와 같이 서비스 항목에 추가된 호스트가 등록이 되었고, 서비스를 시작해 주시.. 더보기
Windows Server AppFabric - Velocity 란? 때는 바야흐로 2009년 7월이네요. Velocity 를 공부하면서 메모해 놓은 것을 이제서야 발견하여 포스팅을 하고 있습니다. ^^; 현재는 Windows Server AppFabric 이라는 이름으로 공개가 되고 있으며, 코드명은 바로 "Velocity" 라는 이름입니다. 현재 AppFabric Beta 1 까지 출시되었고 이제는 거의 모습을 찾아가고 있는 것 같습니다. 차후에 Velocity 의 현재 제품이름인 AppFabric 을 자세히 살펴보기로 하며, Velocity CTP 3 기준으로 설치와 사용 방법을 간단히 알아보고자 합니다. Why Windows Server AppFabric (Codename "Velocity") ? Velocity 는 분산 캐싱 프레임워크입니다. 우선 분산 캐싱이 왜.. 더보기
MEF 에 Generic Type 을 지원하기 위해서..? 먼저 이전 포스트의 "MEF 는 Generic Type 을 지원하지 않는다!" 에서 언급했고, .NET CLR 2.0 부터 Generic Type 을 지원함에도 불구하고, .NET Framework 4.0 에 포함되는 MEF 가 Generic Type 을 지원하지 않는다는 것은 솔직히 납득하기가 어렵습니다. MEF 개발 PM 이 말하는 강력한 계약 기반(Strongly Contract Based) 의 모델이라는 점은 머리로는 이해는 되지만, 사실 안될 것도 없습니다. -_-; MEF 가 갖는 대표적인 키워드인 Composable 은 현재 Generic Type 을 지원하지 않지만, 상당히 매력이 있습니다. 이미 현대적인 프레임워크는 Modular 에 집중하고 있고, MEF 는 더 나아가 Modular +.. 더보기
MEF 는 Generic Type 을 지원하지 않는다! .NET Framework 4.0 에 포함이 될 Managed Extensibility Framework(이하 MEF) 는 Generic Type 을 지원하지 않습니다. ( MEF is not supporting Generic Type!!!! ) 상당히 충격입니다. MEF 는 현재 Generic Type 을 지원하지 않습니다. 이것을 가지고 현재 중요한 프로젝트를 진행하기 위해 여러 가지 리뷰를 해 보고 있습니다만, MEF 가 Generic Type 을 지원하지 않는 것은 쉽게 말해 'MEF 는 아직…' 이라는 결론이 나는군요. Managed Extensibility Framework Basic 이것을 이해하기 위해서는 MEF 의 기본부터 이해해야 할 필요가 있습니다. 자세한 내용은 아래의 필자의 블로그.. 더보기
VSTS 2010 팀 트위터를 오픈하였습니다. 안녕하세요. VSTS 2010 공식 팀에서 Twitter 를 시작했습니다. Twitter 를 통해 차마 시간이 없어 정리하지 못한 정보나 알아두면 좋은 팁과 정보 등을 단문 메시지로 여러분들에게 전달해 드릴 예정입니다. 차세대 플랫폼인 Visual Studio / Team System 2010 등 관심 있는 분들의 많은 Following 을 부탁 드립니다. http://twitter.com/vsts2010 더보기
SoundPlayer 클래스로 WAVE 파일 재생 윈도우 표준 사운드 파일 형식으로 WAVE 가 있다. .wav 형식의 확장자를 사용하며, 시스템이 사용하는 WAVE 파일은 C:\Windows\Media 폴더에 보면 있다. 이러한 .wav 파일을 재생하는 방법이 .NET Framework 2.0 에 추가되었다. SoundPlayer 라는 클래스를 사용하고, 이 클래스를 이용하여 사운드를 재생하는 방법을 소개한다. 동기적으로 .wav 파일 재생하기 동기적으로 .wav 파일을 재생하려면, SoundPlayer 의 PlaySync 메서드를 호출하면 된다. 생성자에 .wav 파일의 경로를 적어주는 것으로 객체를 생성하면 된다. 다음은 PlsySync 를 이용한 .wav 파일 재생 샘플이다. using System; using System.Collections... 더보기
대기 핸들을 사용하여 ADO.NET 응용 프로그램을 만들자 오늘은 비동기 ADO.NET 을 알아볼까 합니다. 아티클을 이해하기 위해서는 비동기 호출에 대한 지식이 약간 필요합니다. 우리는 다음과 같은 시간이 오래 걸리는 쿼리를 날릴것입니다. WAITFOR DELAY '00:00:03'; SELECT * FROM Titles WAITFOR DELAY '00:00:05'; SELECT * FROM Titles WAITFOR DELAY '00:00:10'; SELECT * FROM Titles 위의 WAITFOR DELAY 는 명령문이 암시하듯 이유없는 대기를 하라는 명령입니다. 3초후에 SELECT, 5초후에 SELECT, 10초후에 SELECT 쿼리를 날려 시간이 오래걸리는 작업을 대체하기 위해서 이지요~ 다음의 쿼리를 쿼리분석기를 통해 실행시켜 보겠습니다. 예상.. 더보기