윈도우폰7에는 기본적으로 빌트인 된 리소스 딕셔너리가 있습니다.
정확히는 윈도우폰7에 탑재된 실버라이트에 내장된 것이라 보는게 맞겠네요.

어플리케이션에 사용되는 여러가지 컨트롤들은 XAML 로 디자인 되는데
다양한 속성값을 이용하여 세세한 컨트롤을 하는 것도 물론 가능하지만
사용자에게 일관적인 스타일을 제공하기 위해 내장 리소스를 사용하는 것은 좋은 방법입니다.

경로 : {Program Files}\Microsoft SDKs\Windows Phone\v7.0\Design\ThemeResources.xaml
 
SDK 가 설치된 경로에서 위의 파일을 찾아서 열어보면
실제 어플리케이션의 화면을 디자인하는 XAML 파일의 컨트롤이 쓸 수 있는
여러가지 내장 스타일들을 확인할 수 있습니다.

<Color x:Key="PhoneForegroundColor">#FFFFFFFF</Color>
<Color x:Key="PhoneBackgroundColor">#FF000000</Color>

<Color x:Key="PhoneContrastForegroundColor">#FF000000</Color>
<Color x:Key="PhoneContrastBackgroundColor">#FFFFFFFF</Color>

...

<!-- Font names -->
<FontFamily x:Key="PhoneFontFamilyNormal">Segoe WP</FontFamily>
<FontFamily x:Key="PhoneFontFamilyLight">Segoe WP Light</FontFamily>
<FontFamily x:Key="PhoneFontFamilySemiLight">Segoe WP SemiLight</FontFamily>
<FontFamily x:Key="PhoneFontFamilySemiBold">Segoe WP Semibold</FontFamily>

미리 사용 가능한 스타일 요소들을 체크해두면 많은 도움이 될 것 같습니다.
참고로 StaticResource 는 각 컨트롤에 아래와 같이 스타일을 지정하면 됩니다.

Style="{StaticResource PhoneTextTitleStyle}"

- NoPD -
신고
Posted by 노피디
Development/Azure2010.08.11 09:44
최근 클라우드 컴퓨팅이 큰 화두입니다. 구글의 Back-end 시스템이 이미 클라우드로 구동되고 있다는 사실은 너무나 많이 알려진 사실이지요. 국내의 대기업들도 너도나도 클라우드 컴퓨팅에 뛰어 들고 있지만 세계적인 IT 벤더들의 발걸음을 따라가기는 무척 힘든 상황입니다.

마이크로소프트가 클라우드 컴퓨팅에 대응하기 위해서 제공하고 있는 서비스의 이름이 바로 Azure 입니다. Azure 는 웹 서비스로의 Role 뿐만 아니라 일반적인 어플리케이션을 위한 Worker Role 을 제공하고 Storage Service 를 통하여 Back-end 의 데이터베이스 기능까지 충실하게 제공하고 있는 클라우드 플랫폼 입니다.

시대적 흐름에 맞추어 닷넷 개발자 분들도 Azure 에 대응하는 스킬을 익혀둘 필요가 있을 것 같습니다. 저역시 이제 시작하는 단계이지만 Azure 에 올려 서비스 할 수 있는 웹, 워크의 개발을 하나씩 살펴보면서 실제 Azure 환경에 포팅하는 것까지 한번 포스팅을 통해서 공유해 볼까 합니다.

개발환경의 준비 : 비주얼 스튜디오 2010 또는 비주얼 스튜디오 2008 서비스팩 1

비주얼 스튜디오에는 Azure 개발환경이 기본적으로 포함되어 있지 않습니다. 비주얼 스튜디오에서 Azure 개발을 시작하기 위해서는 별도로 제공되는 플러그인을 설치하여 개발환경에 템플릿을 추가해 주어야 합니다. NoPD 는 비주얼 스튜디오 2010 을 사용하고 있으나 비주얼 스튜디오 2008을 쓰시는 분들도 서비스팩 1 으로 업데이트를 하면 동일하게 진행할 수 있습니다.


[ 다운로드 링크 : http://tinyurl.com/2a5qnrt ]

Azure 프로젝트 만들기

Azure Tools 를 다운로드 받아 설치하면 비주얼 스튜디오의 템플릿에 Cloud 라는 항목이 추가 된 것을 확인하실 수 있습니다. Cloud 항목 아래에는 Windows Azure Cloud Service 라는 하나의 템플릿만 존재하고 있습니다. Azure 개발은 Visual C# 으로만 제공하는 것일까요? NoPD 의 경우 Visual C# 만 설치한 상태라 이 부분은 잘 판단이 안됩니다만 다른 닷넷 언어가 안되지는 않을거라 생각됩니다.


프로젝트와 솔루션의 이름을 지정하고 확인을 누르면 아래와 같은 창을 만나게 됩니다. Azure 는 Role 이라는 이름으로 프로젝트를 구분짓고 있습니다. Role 이라는 것은 Azure 클라우드 플랫폼에서 구동되는 하나의 어플리케이션이라고 보면 됩니다. Web 형태의 서비스인지(Web Role) 아니면 데몬과 같은 백그라운드 어플리케이션인지(Worker Role) 등에 따라 Role 이 나뉘게 됩니다. 개발하려는 프로젝트의 성격에 따라 항목을 선택해 주면 됩니다.


우리는 솔루션 단위로 프로젝트를 생성하고 개발하기 때문에 솔루션 안에는 여러가지의 Role 이 있을 수 있습니다. 왼쪽에 나열된 항목들 중 필요한 Role 을 모두 우측의 빈 리스트 박스로 이동시켜 주면 프로젝트에서 해당 Role 을 사용할 수 있게 됩니다.

- NoPD -
신고
Posted by 노피디
C# 3.0 에서 새롭게 도입된 Lambda 표현식을 사용하면 코드를 정말 간단하게 표시할 수 있는 장점이 있습니다. 델리게이트가 세상에 처음 나타난 이래 이는 정말 많은 프로그램과 개발자들에게 형언할 수 없는 아름다운 생활을 할 수 있는 "기회"를 주었습니다. 물론... 기회에는 반대급부가 따랐지만 말이죠.. 쿨럭... 여튼... 아래의 간단한 세가지 코드를 보면서 코드가 아름다워지는 광경을 한번 보도록 하겠습니다.

Named 메서드의 사용
IEnumerable<string> filteredList = cities.Where(StartsWithL);

public bool StartsWithL(string name)
{
    return name.StartsWith("L");
}

자주 보시던 스타일의 코드입니다. cities 어레이에 들어 있는 값들 중 L 로 시작하는 값을 얻어오는 코드지요. string 클래스의 확장 메서드인 Where 의 도움을 받아 StartsWithL 메서드가 Where 절의 역할을 하고 있습니다.

익명 Delegate의 사용

별도로 메서드를 만들어서 호출하는 것도 나쁘지 않습니다만 이왕이면 코드를 간결하게 유지하기 위해 익명 Delegate를 많이들 사용하실 겁니다. Named 메서드 사용하던걸 익명 Delegate 로 바꿔보겠습니다.

IEnumerable<string> filteredList = cities.Where(
            delegate(string s)
            {
                return s.StartsWith("L");
            }
일단 메서드가 하나 줄어서 기분이 좋습니다 ^^; 익명 Delegate 를 이용해서 위처럼 간단하게 inline 으로 처리를 할 수 있습니다. 그런데 코드가 지저분한 것이 별로 보기가 좋지 않습니다. 이를 람다 표현식으로 바꾸어 보도록 하겠습니다

Lambda 표현식의 사용

IEnumerable<string> filteredList = cities.Where(s => s.StartsWith("L"));
아주 깔끔하게 한줄러 코드를 줄였습니다. 닷넷이 제공하는 컴파일러는 생각보다 똑똑해서 s 라는 변수가 당연히 cities의 타입을 따라간다는 것을 알고 있습니다. 인텔리센스도 실시간으로 당연히 잘 동작하겠지요.

- NoPD -
신고
Posted by 노피디
Development2010.04.07 09:05
여러분들은 지금 어떤 개발도구를 사용하고 계시나요? 자바(Java) 개발을 하신다면 이클립스(Eclipse)를 사용하실거고 iPhone 이나 iPad 용 어플리케이션을 개발하신다면 Xcode 를 사용하고 계실거라 생각됩니다. 마이크로소프트의 운영체제와 디바이스 개발을 하신다면? 네, 개발도구의 대명사인 Visual Studio 2010 을 사용하고 계실겁니다.

개(?)간지나는 구슬리 형


마이크로소프트가 오는 12일, 라스베이거스에서 열리는 " Visual Studio 컨퍼런스 & 엑스포 " 행사에서 공식적인 VIsual Studio 2010 의 런칭 행사를 갖는다고 합니다. 그동안 Channel 9 의 10-4 를 통해서 VIsual Studio 10 과 .NET Framework 4 에 대한 소식이 많이 전해졌었는데요, 이번 행사를 통해서 그 장대한 막이 올라갈 예정입니다.

Visual Studio 2010 과 함께 실버라이트 4, WPF, WCF, .NET Framework 4 등 유관 기술에 관한 다양한 세션도 진행된다고 합니다. 윈도우 7 출시이후 최적의 개발도구가 아직 준비되지 않은 느낌이습니다만 VS 2010 발표와 함께 수많은 정보들과 기술들이 더 많이 공개될 것으로 생각됩니다. 공부할게 더 많아지는 것이지만 즐겁게 받아들여야 겠지요?

관련링크 : http://www.devconnections.com/shows/SP2010VS/default.asp?s=144

- NoPD -
신고
Posted by 노피디
Development2009.09.07 12:18
Visual Studio 을 사용하면서 가장 많이 보는 페이지가 바로 시작 페이지 입니다. Visual Studio 가 업데이트 되면서 시작 페이지는 개발자 / 설계자 분들이 보다 사용하기 편하도록 조금씩 변화되어 왔습니다. 그런데 Visual Studio 2010 에서 부터는 파격적으로 그 모습이 변화가 되었는데요, 일단 그 모습을 한번 보도록 하겠습니다.


산뜻한 인디고 블루 톤의 파란색 화면이 무척 인상적입니다. 이 시작 페이지는 재미있게도 WPF 의 XAML 로 구성되어 있는 페이지 입니다. XAML 로 되어 있다는 말은, 사용자가 XAML 파일을 수정해서 본인의 입맛에 맞게 구성할 수 있다는 이야기 입니다. 후에 다른 포스팅을 통해서 XAML 을 커스터마이징 하는 모습을 보도록 하겠습니다.


새로운 프로젝트를 생성하는 화면도 보기 좋게 변했습니다. 참 오랫동안 새 프로젝트 생성 화면이 변화가 없었는데요 윈도우 서버 2008 의 관리 콘솔과 같은 3단 구성으로 깔끔하게 바뀐 모습입니다. 닷넷 프레임워크 4.0 이 올라가면서 프레임워크 4가 새롭게 추가된 모습도 눈에 들어옵니다.

- NoPD -
신고
Posted by 노피디

티스토리 툴바