Korea Evangelist

Developer & Platform Evangelism, Microsoft Korea

January, 2009

  • Korea Evangelist

    재미있는 프로그래밍, SmallBasic 0.2

    • 0 Comments

    간혹 초등학생이 프로그래밍을 쉽게 배울 수 있는 도구가 없느냐는 질문을 받습니다. 질문하시는 분들은 1980년대에 BASIC을 배울 때처럼 컴퓨터를 켜고 한두 번의 명령 혹은 클릭으로 프로그램을 실행시키고, 몇 줄 코딩을 하�� 그 결과를 바로 볼 수 있는 개발 도구를 원하십니다. 그 질문에 답할 수 있는 것이 SmallBasic입니다. 언어 특성은 BASIC에 매우 유사하고, 15개 내외의 키워드만을 가지고 프로그래밍 기초를 배울 수 있습니다. Intelisense와 문맥 기반 도움말 기능도 지원하고, 플러그-인도 가능합니다. 학생용 보조 교육 자료 사업을 고민하시는 분들은 찬찬히 살펴보시기를 추천합니다. 버전은 이제 겨우 0.2에 불과하지만, 그래픽 예제도 만들 수 있습니다. 프로그램은 http://msdn.microsoft.com/en-us/devlabs/cc950524.aspx에서 내려 받을 수 있습니다.

    clip_image002

    clip_image004

    오늘 한국에서 개발자라는 직업은 많은 어려움의 한가운데 있지만, 적절한 시간을 준 상태에서 프로그래밍만 전념할 수 있다면 개발은 재미있고 매혹적인 일이라 생각합니다. 수천만 번을 종이 위에 써서 찾아내는 답을 단 몇 줄의 언어로 처리하기도 하고, 아무리 큰 장비라도 프로그램으로 움직일 수 있고, 눈에 보이는 큰 물건을 만들지 않아도 새로운 사업의 가능성을 열어 주는 것이 프로그래밍의 세계입니다. 프로그램에 대한 가치를 사회적으로 인정해 준다면 더할 나위가 없을 것입니다. 지금은 개발자가 힘들게 그려지지만, 그래도 많은 사람이 어릴 때부터 프로그래밍 진수를 SmallBasic과 같은 도구를 통해 느끼기를 바랍니다. 미래학자들의 예측처럼 배움과 생산을 동시에 해야 하는 시대가 오면 한국만큼 경쟁력이 있는 나라가 어디에 있을까요? 프로그래밍처럼 꼭 필요한 것이 어디에 있을까요?

  • Korea Evangelist

    부산에서 서울까지 Windows7 전원 관리

    • 2 Comments

     
    설 명절에 고향으로 가면서도 노트북을 가져가야 마음이 편한 분들이 계시다면 저와 비슷한 부류의 분이지 않을까 합니다. 사용 여부와 상관없이 어디서든지 컴퓨팅을 할 수 있어야 마음이 놓이는 것은 신인류가 가지고 있는 새로운 강박 관념일지도 모르지만 이런 강박관념 보다 더 큰 것은 바로 배터리에 대한 집착입니다.

    노트북, MP3, 핸드폰 등등 가장 큰 문제는 바로 배터리의 사용시간입니다. 메모리 용량이나 CPU 파워는 나날이 증가하는데 비해서  상대적으로 배터리의 용량증가는 아주 조금씩 이루어지고 있기 때문에 전원관리는 모두가 느끼는 불편함 중에 하나 입니다. 심지어는 혹자는 배터리 문제만 비약적으로 향상 시켜도 노벨 물리학상을 받을 수 있을 것이라고 이야기 하시는 분도 있습니다.

    일반적으로 배터리의 용량을 증가시키기 위해서 새로운 소재를 이용하는 방법이나 전극을 개선하기도 하고 혹은 배터리의 셀 수를 늘리기도 하는 등 많은 노력을 하고 있습니다만 물리적인 노력의 결과는 아주 조금씩 개선되어가고 있습니다. 배터리 문제를 접근하는 방법은 배터리 자체의 용량을 늘리는 방법도 있지만 또 다른 방법으로는 전력 소비를 최소화 시키는 방법도 있습니다.또 저전력 CPU나 LCD와 같은 것을 개발하는 방법 일반화 되어 있습니다. 이 와 함께 사용하는 방법이 소프트웨어를 이용하는 방법입니다. 소프트웨어는 펌웨어나 혹은 PC 운영체계등의 레벨에서 많은 시도를 하고 있습니다.
    즉 휴대용 전자기기의 사용지속 시간을 늘리기 위해서는 아래와 같이 3가지 요소의 삼박자가 맞아야 됩니다.

    • 배터리의 용량 확대
    • 저전력 하드웨어의 개발
    • 저전력을 고려한 소프트웨어의 개발

    전력관리가 중요한 이유는 PC시장만 봐도 알 수 있습니다. 최근의 PC시장은 고정형 데스크탑에서 노트북 시장으로 넘어가고 있습니다. 2006년 국내 노트북 판매량은 116만 8천대로 2005년 대비 29.9% 성장해서 최초로 100만대 판매를 넘어섰습니다. 또 지난해 노트북의 시장 점유율은 전체 PC시장의 27.1%를 차지 했는데 2007년 23.9%에 비해서도 지속적으로 성장하고 있는 모습을 보여주고 있습니다.

    저전력을 고려한 하드웨어와 소프트웨어 개발이 시장에서 중요한 화두가 되고 있는 것도 사실 이상할 게 없어진 상황입니다. 소프트웨어에서 저전력을 고려할 때 개별적인 응용프로그램 단위로 접근하는 것은 많은 낭비적인 요소가 포함되어 있습니다. 즉 저전력 문제는 기본적으로 PC의 운영체계가 기본적으로 해결해 주어야 하는 필수적인 요소중에 하나가 되어 있습니다.

    이런 면에서는 Windows7은 저전력 운영체계로써 좋은 평가를 듣고 있는 중입니다.
    Windows7 Logo

    대체로 Windows7을 사용하고 있는 분들의 의견을 들어보면 “성능이 좋아졌다.” 혹은 “부팅시간이 빨라졌다.” 그리고 “배터리 사용시간이 길어졌다.” 이런 이야기들이 많습니다. 저는 정말 얼마나 길어졌는지 확인해 보고 싶었습니다. 그래서 우리나라에서 기차로 갈 수 있는 제일 긴 거리인 부산에서 서울을 한 번 충전으로 풀 타임으로 사용해 보기로 마음을 먹었습니다.

    image

    세미나 혹은 기타 등등의 이유로 부산에 가다 보면 꼭 중간에 대구정도면 배터리가 바닥나서 많이 아쉬웠습니다.  참고로 제가 사용하는 노트북은 Lenovo T60p 모델입니다.

    base_media

    모델명: ThinkPad T60p [2623-QRK]
    모니터크기: 14.1
    CPU: Intel Core Duo T7600 2.33GHz
    메모리 : 4 GB
    FSB: 667 MHz

    실험을 했던 날은 설날 연휴 마지막 날이었던 2009년 1월 27일 부산에 갔다가 올라오는 길이었습니다.

     

     

    IMG_1557
    오른쪽 사람은 부산에서 설 연휴 동안 얼마나 잘먹었는지 번들번들 합니다. (접니다. ^^) 그리고 그 옆에 있는 이쁜이가 제 첫째 딸 민주 입니다.

    IMG_1558IMG_1564 
    <그림1>출발 부산역 7:59 잔량97%            <그림2>동대구역 9:00 잔량 61%

    출발시간은 08:00 이었고 노트북은 완충상태에서 07:57분에 부팅을 했습니다. 이동하는 동안 작업했던 내용은 T-Login을 사용해서 인터넷 웹서핑과 미투데이, 그리고 Visual Studio를 사용한 소프트웨어 개발등의 작업 등등을 했습니다.
    1시간이 지나서 동대구역에 도착했을 때  배터리는 61%가 남아 있었습니다. 서울까지는 앞으로 더 많은 길이 남아 있는데 갑자기 미션이 불가능할 것 같은 생각에 전원 모드를 Balanced에서 Power Saver 모드로 전환했습니다. 
    화면이 다소 어두워 지긴 했지만 사용하는 데는 크게 불편함이 없기 때문에 대구부터는 Power Saver 모두로 쭉 가기로 했습니다.

    IMG_1561 
    문서 작업을 하고 있는 동안 민주가 심심해 하고 있습니다. 명절 연휴 그것도 집에 가는 길에도 노트북을 끼고 사는 아빠.. 조만간 휴가라도 내서 눈설매장이라도 데리고 가야 할 것 같습니다. 물론 눈설매장에는 노트북을 가져가지 않을 생각이구요 ^^

      IMG_1577 IMG_1579
    T-Login으로 인터넷을 연결해서 열심히 자료를 찾고 있습니다. 화면에는 현재 속도가 305Km라고 알려주고 있습니다. 살아 생전에 시속 300Km를 지상에서 누리지 못할 것으로 생각했는데 이제는 너무도 익숙한 일상 중에 하나가 되었습니다.

     IMG_1581 
    영동 지역을 지나 추풍령을 넘어가다 보니 몇 일전 내린 눈이 그대로 쌓여 있습니다. 적당한 눈과 비닐 하우스가 있는 풍경은 묘하게 잘 어울립니다.
    IMG_1573IMG_1582 
    IMG_1584IMG_1585
    시간은 09:56 대전에 도착했습니다. 이제 남은 배터리는 27%가 남았습니다. 잘 하면 미션을 성공할 수 있을 것 같기도 합니다. 보통 차를  타면 꼭 자는 애들인데 아직까지 생생합니다. 이제 KTX는 천안/아산역으로 열심히 달리고 있습니다.
       IMG_1586IMG_1588
    천안/아산역 근처까지 달려왔습니다. 여전히 눈이 쌓여 있는 평야지대가 잘 보입니다. 이때 민주가 에너지가 떨어져서 슬립모드(?)로 들어갔습니다. Windows7이 설치된 노트북과 민주의 파워게임에서 노트북이 민주를 이겨버렸습니다. ^^
    민주는 서울역까지 계속 잠들어 있었습니다. 

     IMG_1591IMG_1596 IMG_1593IMG_1592
    Visual Studio 2008에서 Silverlight 코딩을 하다 보니 생각보다 시간이 잘 갔습니다. 터널을 몇 개 지나는가 싶더니 어느새 서울에 진입해 있었습니다. 나란히 달리는 국철 너머로 남산타워가 보이기 시작할 무렵 곧 서울역에 도착한다는 안내 방송이 나오기 시작했습니다.
    최대한 아껴서 쓴 탓인지는 몰라도 배터리는 아직 10%가 남아 있습니다. 배터리 상태를 나타내는 LED가 녹색에서 주황색으로 변했고 Low battery 경고가 나오기 시작합니다. 마지막으로 노트북을 닫을 때 최종 배터리는 7%가 남아 있었습니다.

    부산에서 서울까지 한 번 충전으로 노트북을 계속 켜 놓고 올 수 있었습니다. 배터리의 개선이나 하드웨어의 개선이 다소 더딘 반면 소프트웨어를 이용한 방법은 빠르고 효율성 있게 전원관리에 대한 방향을 제시해 주었습니다. 화면을 어둡게 하고 사용량에 따라서 CPU를 관리하고 사용하지 않는 하드웨어의 전력을 차단하고 이런 것들이 전원관리의 기본이겠지만 실제로 사용자들이 불편하지 않은 절전모드가 되기까지는 많은 자료들을 분석하고 사용자들의 패턴을 추적하고 하드웨어 업체들과의 긴밀한 협조가 없으면 가능하지 않은 일인 것 같습니다. 

    아무튼 앞으로 지방 갈 때는 맘 편히 컴퓨팅 하면서 갈 수 있을 것 같습니다.
    마지막으로 KTX안에서 진행했던 실시간 미투데이 입니다. ^^

    image

  • Korea Evangelist

    .NET White Box Testing 도구, PEX (Program EXploration)

    • 0 Comments

    Visual Studio 2005에서 단위 테스팅 기능을 선보였을 때, 대표적인 고객 요구 사항 중의 하나가 테스트 함수 입력 값을 자동으로 만드는 기능이었습니다. 이제 DevLabs (http://msdn.microsoft.com/en-us/devlabs/default.aspx) 프로젝트, PEX (Program Exploration)가 어느 정도 그 요구 사항을 만족할 수 있을 것 같습니다. 개발자에게 적용할 수 있는 시나리오는 이렇습니다.

    1. Test-Driven Development에 충실하게 검증 규정, 함수, 입력 값을 먼저 만들어두면 좋겠지만, 그렇지 않고 기능 구현을 먼저 했는데 단위 테스팅이 필요한 상황이 된다면,

    2. 사용하고 있는 Visual Studio 버전이 2008인 것을 확인하고,

    3. http://msdn.microsoft.com/en-us/devlabs/cc950525.aspx 에서 PEX를 내려받기해서 설치하고,

    4. Visual Studio에서 단위 테스팅을 할 함수의 코드로 이동합니다.

    5. 목표 함수에 마우스를 위치한 다음, 반대편 클릭을 하고, “Run Pex Explorations”를 선택합니다.

    6. 그러면 아래와 같이 자동으로 입력 값을 만들고, 입력 값에 대한 출력 값도 보여줍니다. 이 과정에서 PEX는 함수 입력 값의 유형에 따라 입력 값을 자동으로 생성하고, Visual Studio에서 테스팅 프로젝트를 만들어 줍니다.

    7. 이다음부터는 Code Coverage를 수행하거나, 단위 테스팅 프로젝트를 다루듯이 이용하시면 됩니다.

    clip_image002

    이 기능은 테스트할 코드를 아는 상태에서 각종 테스트를 수행하는 White Box Testing 범주에 들어갑니다.

    실전 프로젝트에서 단위 테스팅을 개발 프로세스의 한 단계로 만드는 것은 매우 어려운 일입니다. 많은 프로젝트를 대상으로 많은 함수를 포괄해서 단위 테스팅을 적용하는 것보다는 파사드 (façade) 유형의 함수에 먼저 적용을 하고 이를 통해 최소한의 품질 관리 기준을 마련한 다음 점차 확대하는 것이 성공 확률이 높습니다. PEX 기능이 궁금하신 분에게는 20분 분량의 비디오를 - http://channel9.msdn.com/posts/Peli/Getting-started-with-Pex-in-Visual-Studio-2008/ - 추천합니다. 영어로 되어 있기는 하지만 이해하시는데 어려움은 없을 것입니다.

  • Korea Evangelist

    WPF 기반으로 사진을 다루는 애플리케이션 예제, PhotoSuru

    • 0 Comments

    RSS를 이용해 웹에서 사진을 가져온 다음, WPF 기술을 이용해 편리하게 사진을 볼 수 있는 애플리케이션 예제가 PhotoSuru 입니다. Syndicated Client Experience (SCE) Starter Kit & Reader Beta SDK에 포함되어 있고, 소스코드는 http://windowsclient.net/appfeeds/SubscriptionCenter/Gallery/photosuru.aspx 에서 내려받기할 수 있습니다. 주요 기능은 아래와 같습니다.

    clip_image002

    1. 동기화: RSS Feed를 제공하는 웹 사이트에서 사진을 주기적으로 가져와서 로컬에 저장하는 역할을 합니다. “Subscription Center” 관련 모듈에 세부 기능이 구현되어 있습니다.

    2. 동적인 화면 구성: WPF가 가진 기능을 이용해서 각 화면 크기에 맞는 동적인 배치를 구현했습니다.

    3. 탐색: 애플리케이션 내에서 이동 방법을 구현한 것입니다.

    4. 검색이나 꼬리표를 이용한 탐색

    5. 효과: 확대, 그레이스케일, 리본 등의 효과

    6. 텍스트 읽기: WPF 텍스트 객체를 이용해서 다양한 조건에서 글자를 쉽게 읽을 수 있도록 구현한 것입니다.

    7. 설치

  • Korea Evangelist

    IE8 RC1이 드디어 공개되었습니다!

    • 0 Comments

    Internet Explorer 8 RC1 다운로드 받으러 가기

    설날 연휴 잘 보내셨습니까?

    아래의 블로깅에 이어 좀더 자세한 정보를 블로깅 하도록 하겠습니다!

    오늘 오전에 Internet Explorer 8 RC1을 발표했습니다. 현재 여기에서 다운로드 받아서 테스트 해 보실 수 있습니다. 지난 베타2 보다 성능 향상과 더불어 국내외 웹 사이트를 좀더 표준화시키기 위해 향상을 시켰습니다. 단, 설치 할 때 이 버전은 WIndows 7이 아닌 Windows XP 와 Windows Vista, Windows Server 한 해서 입니다. Windows 7 에는 이미 Internet Explorer 8의 Pre-RC 버전이 설치되어 있기 때문입니다. 

    image

    Internet Explorer 8 RC1의 주요 특징

    Internet Explorer 8의 새로운 기능에 대해 더 자세히 보려면, 비디오를 한 번 보기 바랍니다.  

    • Faster: 업무를 수행하는 데 더 빠르게 수행할 수 있도록 도와 줍니다. 다시 말해, 쇼핑몰 옥션의 상태를 체크하거나 배송 위치를 한 눈에 볼 수 있도록 제공해 줍니다. 속도 부문에 있어서는 지난 IE7 보다 80% 이상 향상시켰고  탑 웹사이트는 50% 이상 더 빠르게 향상 시켰습니다. 
    • Easier: 탭을 이용하여 정보를 찾고 검색하는 데 더 쉽게 도와 줍니다. AcceleratorsWeb Slices 를 통해 개인화 웹 브라우징을 온라인 웹 사이트와 더 잘 연동 시켜 줍니다.
    • 더 진보된 privacy 보호로 더 안전 하고 신임 할 수 있는 웹 브라우징을 할 수 있도록 연결해 줍니다. 

    그 외에도 다음 기능들이 더 추가 되었습니다. 

    • Hotmail, Yahoo 메일 또는 다른 웹 메일 계정에서,  웹 주소를 돋보이게 하는 기능이 포함되어 있습니다. 또한 웹 페이지의 텍스트 중에 마우스 오른쪽 버튼을 누르면 “Live Search로 검색” 이라는 메뉴가 나오는 데 이를 이용하면 쉽게 Live Search 로 여러분의 궁금한 사항을 검색할 수 있습니다. 
    • Internet Explorer 의 맨 오른쪽 부분에 보면, 인스턴트 검색 박스에서 여러분이 원하는 검색 항목을 입력할 수 있습니다. 또한 여기에서는 여러분이 좋아하는 검색 제공자를 지정할 수 있으며, 이미지나 텍스트를 포함한 실시간 검색 제안 기능들을 포함할 수 있습니다.
    • “InPrivate Browsing” 이라고 부르는 이 기능을 포함해서 새로운 탭 기능을 향상 시켰습니다. 이제 좀더 안정적으로 탭 브라우징을 경험할 수 있습니다. 또한 처음 실행한 탭은 파란색으로 사용자에게 훨씬 더 쉽게 식별해 줍니다.

    마지막으로 이번 버전을 냄으로써 기업용 사용자나 개발자들을 위해 Internet Explorer 8 Administration Kit 또한 RC1 버전으로 내었습니다. Internet Explorer 8 기능에 대해 좀더 자세한 사항을 원한다면 다음을 보기 바랍니다.

Page 1 of 5 (25 items) 12345