본문 바로가기

전체 글

(270)
[삽질방지] 1.05 != 1.05. 실수의 소숫점 비교의 돌발사항 이번 글 역시 실버라이트 네이버 카페의 쇼티님께서 번역해 주신 자료입니다. ================================================================================================================= 어떤 기술은 아니고, 실버라이트 연산상의 버그에 대한 우회 방법이랄까요.. (http://silverlight.net/blogs/msnow/archive/2008/09/12/silverlight-tip-of-the-day-40-1-05-1-05.aspx) 즉 어떤 이미지를 일정 간격으로 증가시켜야한다고 했을 때, 예를 들어서 ScaleTransform.ScaleX의 경우를 보죠. 저는 "0.0"에서 "2.0"으로 "0.05"씩 증..
[Sample] 실버라이트 객체의 동적 로딩 이번 글 역시 실버라이트 네이버 카페의 쇼티님께서 번역해 주신 자료입니다. ================================================================================================================= 이번 Tip of The Day의 주제는 'How To Dynamically Load and Display SilverLight Applications'라는 주제입니다. (http://silverlight.net/blogs/msnow/archive/2008/09/09/silverlight-tip-of-the-day-37-how-to-dynamically-load-and-display-silverlight-applications.a..
[Sample] 이미지와 텍스트의 간단 그림자 효과 아래 내용은 실버라이트 네이버 카페의 쇼티님께서 번역해 주신 자료입니다. ================================================================================================================= 본 페이지는 다음 블로그를 의역한 결과입니다. 도움이 되었으면 좋겠습니다. ^^ (http://silverlight.net/blogs/msnow/archive/2008/09/04/silverlight-tip-of-the-day-36-how-to-create-reflections-and-shadows-for-images-and-text.aspx) 실제로 이 사이트에는 비정기적으로 Tip of the Day가 올라오고 있는데. 굉장히...
[삽질방지] Object reference not set to an instance of an object 실버라이트를 하다보면 어떤 XAML 파일에서 이런 에러를 많이 보게 될거에요. Object reference not set to an instance of an object 코드에러 지점이 XAML의 첫번째 행으로 잡혀있고 어떠한 힌트도 주지 않죠. 정말이지 엄청나게 삽질을 하게 될 수도 있는 이 에러의 원인은 주로 단순한 오타에서 비롯되는 경우가 많아요. 별 문제 없어보이죠? 눈썰미가 좋은 분은 금방 찾으셨겠지만 문제의 원인은 Height="3 0"에서 중간에 공백이 들어갔고 XML 파싱에 실패한 것이죠. 특히 편집기를 여기저기 왔다갔다 하면서 하다보면 가끔 원치 않는 키스트로크가 들어갈 때도 있잖아요? 저는 z를 실수로 많이 찍는 편이에요. 앞으로 저 에러를 만나면 쫄지 말고 침착하게 XAML의 오타..
[TIP] 실버라이트로 referrer 얻기 HTML DOM 접근을 통한 간단한 방법이죠. HTML DOM에 접근해야 하기 때문에 실버라이트를 로드할 때 를 반드시 넣어줘야 해요. referrer얻기 HtmlPage.Document.GetProperty("referrer").ToString() domain얻기 HtmlPage.Document.GetProperty("domain").ToString() 현재 URL얻기 HtmlPage.Document.GetProperty("URL").ToString() 실버라이트 2에서는 HTML DOM에 대한 지원이 강화되었지만 위와 같이 직접적인 프로퍼티로 노출되어 있지 않는 것들은 GetProperty 메서드를 사용하여 얻을 수 있다는 것을 참고^^ 또한 referrer를 제외한 domain과 현재 URL은 굳이..
[TIP] Center 정렬시 주의점 오브젝트의 Center 정렬시 주의점문제점Grid, StackPanel등 HorizontalAlignment와 VerticalAlignment를 지원하는 패널의 경우 패널에 포함된 자식 오브젝트를 Center로 정렬할 때 해당 패널의 길이가 홀수일 경우 오브젝트가 부옇게 표시되는 현상재현다음의 XAML 코드를 실행해 보면 두번째 Rectangle의 위쪽과 아래쪽 변이 뿌옇게 보이게 됩니다.
브러시와 마우스 이벤트 Null 브러시와 투명색 실버라이트의 개체들은 브러시(Canvas의 Background 또는 Shape들의 Fill) 속성을 XAML에서 명시적으로 선언하지 않으면 즉, 브러시가 Null일 경우 해당 영역을 투명하게 표현하죠. 다른 방법으로는 SolidColorBrush 등의 색상을 설정하는 브러시의 알파값을 0으로 설정하여도 역시 투명하게 표현된다는 사실은 잘 알고 있을거에요. 하지만 개체를 투명하게 표현하는 이 두가지 방법은 분명히 차이점이 있어요. 바로 Null 브러시는 마우스 이벤트를 받을 수 없다는 점이죠. 예를 들어, 다음과 같은 XAML의 Canvas가 있다고 생각해보죠. 이 Canvas에 마우스가 움직일 때 이벤트를 받고 싶다면 testCavnas.MouseMove 이벤트에 핸들러를 붙이겠..
실버라이트 애플리케이션 위에 HTML 엘리먼트를 올리기 진실세상을 꿈꾸며 단, 성능저하는 감수해야 된다는 점은 명심하자. 아래 설명을 보자~!! ================================================================================================================= '실버라이트 영역 위에 다른 HTML DIV를 올릴 수 있지 않을까? 어차피 실버라이트 애플리케이션도 HTML 태그일 뿐이니까!' 기본적인 실버라이트 애플리케이션 렌더링 한 가지 생각을 해보죠. 실버라이트 애플리케이션은 웹 브라우저 위에 OBJECT 태그로 호스팅되고 있지만 웹 브라우저는 실버라이트 애플리케이션을 어떻게 렌더링해야 하는지 이해할 수 없을 거에요. 당연히 실버라이트 애플리케이션의 영역은 실버라이트 런타..
COM+와 분산 트랜잭션의 이해 엔터프라이즈급 솔루션을 설계하기 위해서 반드시 알고 있어야 하며 닷넷 프로젝트 설계에 있어서 기본적으로 알고 있어야 하는 개념인 분산 트랜잭션의 개념과 COM+의 개념을 집중 해부 해보고자 한다. 이 글을 읽는 독자는 닷넷과 트랜잭션의 개념은 이미 알고 있다고 가정아래 썰을 풀도록 하겠다. MTS(Microsoft Transaction Server)의 이해 분산 트랜잭션에 대한 이야기를 다루기 전에 10년 전 과거로 올라가 보고자 한다. 마이크로소프트는 엔터프라이즈급 규모로 확장 가능한 서버 애플리케이션 개발 환경을 지원하기 위해 마이크로소프트 트랜잭션 서버(MTS)를 1996년에 만들어 발표하였다. MTS는 COM과 DCOM으로 개발된 기업용 어플리케이션 시스템을 위한 실행 환경을 가지고 있고 무엇보다..
닷넷 가비지 컬렉터의 동작원리 흔히 닷넷기반의 환경을 관리되는(Managed) 환경으로 부르곤 한다. 그렇다면 도대체 무엇이 관리가 된다는 것인가? 그 관리의 주체는 바로 메모리이다. 이전 Native 시대에는 메모리를 할당하고 해제하는 부분을 개발자가 직접 처리하였지만 닷넷은 그 부분을 자동으로 관리해주는 것이다. 닷넷이 관리되는 환경의 수행이 가능할 수 있는 것은 바로 “가비지 컬렉터(Garbage Collector)”가 닷넷에 존재하기 때문이다. 관리환경의 장점을 최대한 활용하고 사용하기 위해서는 가비지 컬렉터에 대해서 잘 알아 두어야 하고 동작원리를 파악하고 있어야 한다. 필자는 가비지 컬렉터의 원리에 대한 내용을 2002년도 “Chappell의 .NET 여행”이라는 책에서 처음 접했었고, 이 내용은 닷넷의 메모리 관리를 이해..