Korea Evangelist

Developer & Platform Evangelism, Microsoft Korea

December, 2008

  • Korea Evangelist

    C# and VB.NET code standard document

    • 3 Comments

    소프트웨어 개발이 혼자서 하는 일에서 함께 하는 협업으로 바뀌고 나서 가장 먼저 피부에 와 닿는 문제가 바로 코딩 스타일에 관한 차이 입니다. 팀 작업에 있어서 코딩 스타일의 차이는 전체적인 완성도를 떨어뜨리고 개발방법론을 풀어나가는데 있어서 걸림돌로 작용하기도 합니다. 또 다른 문제는 유지보수를 용의하지 못하게 하는 등 좋지 않은 결과를 낳습니다.

    그래서 인지 요즘 대부분의 업체들은 코딩 스타일을 표준으로 정의하고 표준을 준수해서 코딩을 하게끔 한다든지 혹은 Visual Studio Team System 버전�� 포함되어 있는 코드 분석 기능을 이용해서 코드와 관련된 스타일을 통일하도록 유도하고 있습니다.

    아래 링크에 있는 파일은 코딩 스타일의 표준을 개선하거나 새로 작성하려는 업체나 개인에게 기본적인 템플릿으로 사용할 수 있는 파일입니다. 닷넷 기반의 개발에서 가장 많이 사용하고 있는 C#과 VB.NET 두 가지 언어를 기준으로 하고 있습니다.

    http://www.notsotrivial.net/blog/post/2008/12/Holiday-Goodie-Bag-Free-C-and-VB-Coding-Standards-Reference-Documents.aspx

  • Korea Evangelist

    Silverlight를 위한 Eclipse 도구, 1.0.0 M2 발표

    • 0 Comments

    Eclipse4SL 팀이 http://www.eclipse4sl.org/blog/announcement/new-release-100-m2-is-available/를 통해 1.0.0 M2를 내놓았습니다. 세부 기능으로는

    1. XAML 편집기: 이름 충돌 확인과 편집기에 필요한 세부 기능

    2. XAML 미리 보기: 스타일 및 사용자 정의 컴포넌트 지원

    3. 자원 관리: 자원의 추가, 이름 바꾸기, 삭제, 새로운 JavaScript 마법사, 새로운 UI 페이지, C# 클래스 마법사, 자원 보기 도구

    4. 빌드: Preference에 다양한 선택 추가

    5. 실행:

    6. 온라인 사용자 문서를 웹과 플러그인 형태로 지원

    7. 결함과 회귀 테스트: 200개 이상의 단위 테스트, 180개의 통합 테스트, 30개의 결함 수정

    REST, SOAP, 등의 표준에 기반한 Java Web Service를 이용하는 방법을 설명하는 도움 문서도 곧 나올 것이라고 합니다.

    clip_image002

  • Korea Evangelist

    접근성(Accessibility)과 장애인 차별금지 및 권리구제 관련 법률

    • 3 Comments

    접근성이란 말에 대해서 고민해 보신적이 있으세요?
    접근성이란 말은 일반적으로는 어떤 대상에 대한 접근이 얼마나 쉬운지를 표현하는 말입니다. 접근성 중에서도 특히 정보에 대한 접근성은 개개인의 이익과 한 사회의 이익과 생존에 주요한 키워드 입니다. 사회가 빠르게 정보화가 되고 또 어디서나 정보에 접근할 수 있는 유비쿼터스 사회가 되면서 정보는 양적으로나 질적으로 모두 빠르게 팽창하고 있습니다. 우리나라만 하더라도 정보에 대한 접근성은 엄청나게 발전했습니다. 정보에 접근할 수 있는 기반 인프라, 가구별 PC보급율, 초고속 인터넷 보급율 등등 뭐 하나 빠질 수 없을 만큼 발전해 있습니다. 이제는 누구나 쉽게 원하는 정보에 접근할 수 있고 또 정보를 사용해서 생활을 윤택하게 할 수 있게 되었습니다.

    하지만 모두가 이런 혜택을 누릴 수 있는 것은 아닙니다. 상대적으로 정보 접근성의 혜택을 누리지 못하는 계층이 존재하고 또 정보화의 약자들이 생겨날 수 밖에 없는 것도 정보화 사회의 한 단면입니다. 시각 장애인 혹은 청각 장애인들은 이런 정보화 사회의 대표적인 약자입니다. 우리에게 PC가 없는 삶은 생각하지 못 할만큼 이들에게도 PC을 통한 정보 접근성은 꼭 필요한 생활의 한 부분입니다.
    그럼 장애인들은 어떻게 PC을 사용할까요? 지체 장애인들이 막대를 입에 물고 타이핑을 하는 것은 가끔 보셨겠지만 시각 장애인들 혹은 시각과 청각 모두를 사용할 수 없는 사람들의 경우는 어떻게 사용할 수 있을 까요? PC의 대부분의 정보는 모니터를 통해서 시각적인 정보로 제공됩니다. 시각 장애가 있는 분들이 시각적인 정보를 사용하게 하기 위해서는 시각적인 정보를 청각이나 혹은 촉각 정보로 변환해서 제공하는 것이 필요합니다. 이럴 때 사용하는 소프트웨어가 바로 스크린 리더 소프트웨어 입니다.(Screen reader software) 스크린 리더는 보조공학(assistive technology)의 한 장르 라고 보시면 됩니다.


    <하드웨어적으로 접근성을 해결했던 가라사대>

    예전에 CPU 성능이 여유가 없을 때에는 이런 보조공학 역시 하드웨어를 이용한 해결 방안이 제시되고는 했지만 최근에는 CPU의 성능이 충분하기 때문에 이제는 모두 소프트웨어적으로 해결하고 있습니다. 국내에서도 드림 보이스, 센스 리더, 이브와 같은 제품들이 제공되고 있는데 이 제품들도 모두 소프트웨어적인 제품이라고 할 수 있습니다.

    스크린 리더의 구현 방식은 이전에는 모두 시스템 메시지를 중간에 가로채거나 혹은 자체적인 알고리즘을 이용해서 구현을 했지만 이런 방식의 경우 OS의 버전이 바뀐다든지 혹은 컴퓨터의 설정에 따라서 많은 제약이 생길 수 밖에 없어서 오작동을 일으키거나 작동이 멈추는 경우들이 다소 있었습니다. 가장 근본적인 해결 방법은 OS 버전에서 표준적인 인터페이스를 제공하고 이 인터페이스를 사용해서 스크린 리더 프로그램을 구현하는 것입니다.
    현재 Microsoft는 이와 같은 기능을 제공하기 위해서 Microsoft UIA(User Interface Automation)라는 기술이 제공되고 있습니다. UIA는 Windows XP 이상에서 제공되고 있으며 Windows Vista에서도 안정적으로 제공되고 있습니다. UIA는 화면의 상황을 시스템 메시지로 제공해 주는 인터페이스 기술이라고 할 수 있습니다. UIA를 통해서 개발자들은 시스템 메시지를 받을 수 있고 이 메시지를 음성으로 바꾸어 주면 스크린 리더 소프트웨어가 될 수 있습니다. UIA를 통해서 개발된 스크린 리더 소프트웨어의 경우 표준적인 인터페이스를 제공하기 때문에 안정적이고 PC의 환경에 따른 영향이 최소화 되는 장점이 있습니다. UIA와 관련해서는 아래의 링크를 참조할 수 있습니다.

    Wiki : http://en.wikipedia.org/wiki/Microsoft_UI_Automation
    UIA specification: http://msdn.microsoft.com/en-us/accessibility/bb892135.aspx
    UIA community promise: http://msdn.microsoft.com/en-us/accessibility/bb892136.aspx
    UIA community promise FAQ: http://msdn.microsoft.com/en-us/accessibility/bb892212.aspx
    Open specification promise: http://msdn.microsoft.com/en-us/accessibility/bb892212.aspx

    Windows Vista에서도 UIA를 사용한 Narrator 유틸리티가 기본으로 제공됩니다. Narrator는 Windows Vista에서 제공되는 스크린 리더 유틸리티 인데 [Control Panel] -> [Ease of Access] -> [Ease of Access Center] -> “Start Narrator”와 같이 찾아가시면 실행이 가능합니다. 한 가지 안타까운 점은 현재 영문판에서만 제공되고 있다는 점입니다. 하지만 UIA 인터페이스는 언어에 상관없이 모든 Windows에서 다 지원되고 있기 때문에 서드파트에서 제공하고 있는 제품을 사용하면 동일한 결과를 얻을 수 있습니다.


    <동영상1>Windows Vista Narrator

    그럼 개발자들이 자신이 만든 웹사이트나 소프트웨어가 정보 접근성을 잘 지원하고 있는지 확인해 보려면 어떻게 하면 될까요? 우선 웹 같은 경우는 한국정보문화진흥원(http://www.kado.or.kr)에서 제공하고 있는 웹 접근성 관련 자료들이 우선 참조 될 수 있습니다.

    관련된 표준: http://www.kado.or.kr/Index.aspx?PortalID=ko&MenuID=051227151311193692&Info=null
    ��� 및 연구자료: http://www.kado.or.kr/Index.aspx?PortalID=ko&MenuID=051227151252816379&Info=null
    동향 자료: http://www.kado.or.kr/Index.aspx?PortalID=ko&MenuID=051227151217410492&Info=null

    좀 더 정확하게 테스트 하기 위해서는 간단한 테스트 소스를 통해서 테스트 해볼 수 있습니다. 테스트를 위한 소스는 C#으로 작성되어 있습니다. 이 소스를 다운 받아서 보시면 UIA를 어떻게 활용하는 지 쉽게 이해할 수 있습니다. 소스는 UX엔지니어 블로그(http://winkey.tistory.com/230)에서 받아 볼 수 있습니다.


    <동영상2> 접근성 테스트 소스

    일반적인 웹 환경에서는 정보 접근성이 어느 정도 공감대가 형성되어 있고 관련된 표준의 제정이나 방법들이 많이 공유되고 있지만 UX/RIA 기술들에 있어서는 아직 여기에 대해서 진지하게 고민하는 사람들이 많지 않습니다. 하지만 Flash나 Silverlight와 같은 RIA기반의 기술들이 널리 사용되면서 이와 관련한 이슈들이 나타나게 되었습니다.

    지난 2008년 11월 18일 한국정보문화진흥원에서 국내 몇 개 업체들과 RIA기술을 제공하는 업체들이 모이는 회의가 열렸습니다. 이 회의의 궁극적인 목적은 RIA의 접근성에 관한 표준적인 가이드의 제작이었는데 회의에는 ㈜엑스비전 테크놀로지, 실로암시각장애인복지관, 한국시각장애인복지관등등 국내 스크린 리더의 대표적인 업체들과 Microsoft의 대표로 제가 그리고 Adobe의 대표가 참석했습니다.
    재미있는 점은 Silverlight의 경우 RIA 기술이지만 UIA 인터페이스를 준수하고 있었기 때문에 UIA 기술에 기반한 스크린 리더 프로그램에서는 별다른 수정이나 고려 없이도 바로 동작하기 시작했습니다. 또 Windows용 응용프로그램을 만드는 UX/RIA기술인 WPF(Windows Presenation Foundation)의 경우도 동일하게 UIA가 기본적으로 지원하기 때문에 잘 동작했습니다. 테스트에 참석했던 스크린 리더 업체들도 기존에 사용하던 기술들을 바로 사용할 수 있다는 점에서 만족해 할 수 밖에 없었습니다.


    <동영상3>Silverlight의 Accessibility 테스트

    이렇게 접근성이라는 부분이 주목을 받게 된 이유는 접근성과 관련된 부분이 이미 법제화 되었고 당장 준비해야 하는 시급한 과제로 떠올랐기 때문입니다. 이와 관련된 법 조항은 작년 2007년 4월에 제장된 장애인 차별금지 및 권리구제 등에 관한 법률 입니다. 이 중에서도 특히 접근성과 관련된 부분은 14조와 21조 항목입니다.

    - 동법 14조: 정보접근 및 의사소통에서의 정당한 편의제공 및 단계적 범위 및 편의 내용
    (필요한 수단) 누구든지 신체적 기술적 여건과 관계없이 웹 사이트를 통해서 원하는 서비스를 이용할 수 있도록 접근성이 보장되는 웹사이트

    - 동법 21조: 정보통신 및 의사전달에서의 정당한 편의제공
    장애인에게 전자정보 및 비전자 정보를 동등하게 접근할 수 있는 필요한 수단을 제공해야 함을 명시하고 있습니다.

    당장 2009년 4월이면 공공기관 부터 접근성을 반드시 준수해야 하는 시점에 와 있습니다. 현재 한국마이크로소프트의 DPE 부서의 Innovation Center에서는 한국정보문화진흥원과 함께 RIA기반의 접근성 가이드를 제작하는데 계속해서 참여하고 있습니다. 접근성의 준수는 강제화된 법의 준수라는 측면을 넘어서 약자를 배려하고 공정한 출발선에서 선의의 경쟁을 할 수 있는 건강한 사회가 제공해야 하는 멋진 노력이라는 생각이 듭니다.

    김영욱 Enterprise Developer Evangelist
    한국마이크로소프트

  • Korea Evangelist

    Silverlight 개발에 필요한 도구 모음, Silverlight Toolkit 2008년 12월 버전

    • 0 Comments

    Silverlight 2 Toolkit 2008년 12월 버전이 발표되었습니다. Toolkit이 있는 곳은 소스 공유 사이트인 http://www.codeplex.com/Silverlight/ 입니다. Silverlight toolkit은 Silverlight 발표 주기에 포함되지 않고 제작된 Silverlight 컨트롤, 컴포넌트, 도구의 집합입니다. 디자이너와 개발자를 위해 새로운 기능이 빠르게 들어갈 수 있을 뿐만이 아니라 커뮤니티에서 새로운 아이디어와 결함을 고치는데 기여할 수 있는 방법을 제공합니다. 차트, 스타일, 레이아웃, 사용자 입력을 위한 12개의 새로운 컨트롤의 소스 코드와 단위 테스트, 예제와 문서 등이 포함되어 있습니다.

    Toolikit을 다운 받아 개발자 기계에서 확인하는 것만이 아니라, http://silverlight.net/samples/sl2/toolkitcontrolsamples/run/default.html에 가면 온라인에서 기능을 보는 방법도 제공합니다.

    image

  • Korea Evangelist

    컨테이너 박스가 데이터 센터라고? 제 4 세대 모듈 방식의 데이터 센터, datacenter 4.0, 전략 발표

    • 2 Comments

    Azure를 통해 Cloud Computing을 발표한 지 얼마 되지 않아, 데이터 센터 차세대 모델인 datacenter 4.0을 발표했습니다. 아래 soapbox 비디오에 핵심 개념이 잘 드러나고 있습니다.

    요약하면, 서버/네트워크 구성이 완전화게 모듈화된 컨테이너를 만들어, 전력, 물, 네트워크 자원이 공급될 수 있는 장소이면, 지붕을 가진 건물이 없이도 보안 장치를 마련하고, 컨테이너를 일정한 위치에 두는 방식으로 데이터 센터를 구성하는 것입니다. 전력 및 물 공급이 원활하면서, 네트워크 토폴로지 측면에서 적절하다고 판단이 되는 장소에 필요한 컴퓨팅 수요에 기반해 동적으로 데이터 센터를 구성한다는 것입니다. 컴퓨팅 자원 요구 증가에 따라 서버 및 네트워크에 필요한 비용을 선형적으로 증가하는 것만이 아니라, 시설에 필요한 비용도 일정하게 증가를 시키겠다는 계획입니다. 클라우드 컴퓨팅의 핵심 개념 중에 하나인 “필요에 따라 무한한 확장을 가진 컴퓨팅” 이라는 이상을 실현하기 위한 하나의 노력으로 해석할 수 있습니다.

    clip_image002

    참조할 만한 블로그는 아래와 같은 것이 있습니다.

    http://blogs.technet.com/msdatacenters/default.aspx

    http://loosebolts.wordpress.com/2008/12/02/our-vision-for-generation-4-modular-data-centers-one-way-of-getting-it-just-right/

    아래는 대화 방식으로 datacenter 4.0 계획과 문제의식을 잘 설명하고 있습니다.


    datacenter 4.0
Page 1 of 2 (7 items) 12