Korea Evangelist

Developer & Platform Evangelism, Microsoft Korea

December, 2010

  • Korea Evangelist

    WebMatrix에서 단축 URL(URL Shortener) Helper 사용

    • 0 Comments

    안녕하세요. 코난 김대우 입니다.

    WebMatrix에서 단축 URL(URL Shortener) Helper 사용
    이번에 소개해 드릴 내용은 Twitter 등에서 많이 사용하고 계실 긴 URL을 짧게 만들어주는 유용한 서비스인 Bit.ly의 URL 축소기(Shortener)를 WebMAtrix에서 API로 쉽게 구현하는 방법을 설명해 드리려고 합니다.

    WebMatrix에서 외부 Helper를 사용하는 예제 정도로 보셔도 좋을 듯 하네요.

    아마 검색해서 오셨거나, 전문 개발자로 예상되니, 바로 본론으로 가도록 하겠습니다.
    - CodePlex의 URL Shortener Helper for WebMatrix  링크에서 DLL을 다운로드합니다.(소스코드 다운로드도 가능)
    - Microsoft.Samples.WebPages.Helpers.UrlShortener.dll  파일과 Microsoft.Samples.WebPages.Helpers.UrlShortener.Bitly.dll  파일을 WebMatrix 프로젝트의 bin 폴더에 복사합니다.
    - http://bit.ly 사이트에서 가서 가입(Sign up) 합니다.
    - 가입 후 자신의 계정 Setting에 보시면 “API Key”가 있습니다.
    - _appStart.cshtml 파일에 가입시 사용한 Bit.ly의 사용자명과 API Key 내용을 추가 합니다. (_appstart는 전역 변수로 보시면 됩니다. http://www.sqler.com/250347 링크를 참고 하시면 정보를 보실 수 있습니다.)


    @{
    UrlShortener.Settings.UserName = "YOUR BITLY USER NAME";
    UrlShortener.Settings.ApiKey = "YOUR BITLY API KEY";
    }


    자~ 이제 준비는 끝났습니다. 코드에서 사용해 볼까요~
    코드에서 호출할 경우에는 아래처럼 이용해 호출하면, 축소된 URL을 사용 가능합니다.


    @UrlShortener.Shorten(@http://www.sqler.com)


    도움 되시길 바랍니다.

    여유 되시면 CodePlex의 코드를 살펴 보셔도 좋을 듯 합니다.  개인적으로, Bit.ly API 어려울 줄 알고 쫄았는데, 알고보니 이것 겁나 쉽군요.  Bit.ly의 API 정보 문서


    참고링크

    Clark Sell의포스트 : New WebMatrix Helper – Url Shortener
    소스코드 : URL Shortener Helper for WebMatrix
    Bit.ly의 API 정보 문서

  • Korea Evangelist

    WebMatrix의 내장 DB인 SQL Compact 4.0 에서 페이징 구현

    • 1 Comments

    안녕하세요. 코난 김대우 입니다.

    페이징 쿼리는 웹개발의 한 축이라고 봐도 좋을 정도로 다양하고 여러 방법들을 제공합니다.
    알고계시는 것처럼, WebMatrix의 기본 내장 DB는 SQL CE(Compact Edition) 4.0을 사용하는데요, 여기서 쉽게 페이징을 구현하는 쿼리를 소개해 드리려고 해요. 

    image
    예시 쿼리 구문

    SELECT
       * 
    FROM Orders 
    ORDER BY OrderID 
    OFFSET 20 ROWS    --3페이지를 가져온다면… (페이지번호-1) * 페이지사이즈
    FETCH NEXT 10 ROWS ONLY;  --페이지 사이즈

    예를들어, 3번째 페이지를 보실 경우, SQL CE 4.0에서 이용 가능한 Orders 테이블에서 20번째부터 10개의 row를 가져오는 페이징 쿼리 입니다. 옷~ 깔끔하죠!!!

    기존 방식의 쿼리보다 내장된 페이징 처리 방식을 이용해 깔끔하게 페이징 처리로 사용 가능하니 도움 되시길 바랍니다.

    웹사이트에서 페이지 번호와 페이지 사이즈(몇건을 가져올지)를 위처럼 처리 하시면 되죠.
    도움 되시길 바랍니다.


    주의 :
    위의 쿼리는 WebMatrix의 SQL CE 4.0로 만들 경우에만 사용 가능합니다. SQL서버에서는 사용 하실 수 없습니다.

    SQL서버를 이용하실 경우에는 아래 참고링크의 페이징 방식을 참고 하시면 유용하실 거에요.


    참고링크 :

    Support for Paging Queries in SQL Server CE 4.0
    SQL Server의 페이징 쿼리
    SQL서버의 페이징 관련 정보 – SQL Tip & 사용자 강좌 검색 링크

  • Korea Evangelist

    WebMatrix 베타3에 맞게 한글 무료 eBook을 최신 코드로 수정 했습니다.

    • 0 Comments

    안녕하세요. 김대우 입니다.

    WebMatrix eBook을 최신 Beta3 코드에 맞게 수정 했습니다.

    링크 : http://www.sqler.com/261965


    에서 다운로드 받으실 수 있습니다. 도움 되시길 바랍니다.

    모든 강좌들도 최신 버전이 나올때마다 업데이트 하고 있으니, 도움 되시길 바랍니다.

  • Korea Evangelist

    WebMatrix 베타3에 언어 깨짐 현상이 있는 듯 합니다.-해결됨

    • 1 Comments

    12월 6일 문서를 업데이트 합니다. - 본 이슈는 WebMatrix Beta3에서만 발생하며 해결 방안을 포함하고 있습니다.

    증상 :

    WebMatrix  Beta3에서 cshtml과 같은 기본 파일을 만들고 저장 후 WebMatrix 종료 후 다시 해당 파일을 로드하면 한글이 깨져보이는 경우가 발생할 수 있습니다.


    원인 :

    WebMatrix 베타3부터 글로벌&다국어 지원 웹사이트 제작을 위해 기본 템플릿파일에 대해 UTF-8 인코딩을 기본 제공합니다.

    하지만, 일부 환경에서(Beta1이나 Beta2에서 Beta3로 업그레이드 하실 경우 등(?)에 한해 이 cshtml과 같은 템플릿 파일이 UTF-8이 아닌 ANSI로 인코딩되어 있는 경우에 발생할 수 있습니다.


    해결방안 :

    WebMatrix 정식버전 발표시 해결될 예정이며, 지금 바로 진행 가능한 대안은 아래와 같습니다.

    - 메모장을 관리자 권한으로 실행합니다.

    - “C:\Program Files (x86)\Microsoft WebMatrix\config\FileTemplates” 폴더에 위치한 CSHTMLPage.cshtml 파일을 엽니다.

    - 메뉴에서 다른 이름으로 저장하기 선택 후 UTF-8 인코딩으로 저장합니다.
    - 이후 cshtml 파일 템플릿이 UTF-8이기 때문에 문제가 발생하지 않습니다.


    오늘도 좋은 하루 되세요~

    UTF.png

    이렇게 WebMatrix에서 한글이 깨져 보일 수 있습니다.

  • Korea Evangelist

    Visual Studio를 이용한 ASP.NET Web Pages Razor 프로그래밍

    • 0 Comments

    안녕하세요. 코난 김대우 입니다. 이번에 소개해 드릴 내용은 Razor 개발, 즉 ASP.NET Web Pages Razor개발을 WebMatrix가 아닌 Visual Studio에서 진행하는 방법을 소개해 드리려고 합니다.

    오잉? WebMatrix가 아니라, Visual Studio에서도 개발이 가능 하다고요?

    넵! – 코난이가 꾸준히 말씀 드린 것처럼, WebMatrix는 그 자체만으로도 충분히 웹사이트 개발을 위한 기술들을 제공하고 있습니다. 아울러, 개발자와 함께 자연스럽게 상위 기술로 이어질 수 있는 단계를 제공하지요.

    - IIS의 경우는 윈도우 서버의 IIS 웹서버로
    - SQLCE는 SQL서버로 완전한 마이그레이션을
    - WebMatrix의 ASP.NET Web Pages의 Razor Syntax는 Visual Studio의 ASP.NET MVC와 Razor로

    아래 내용들을 참고하시면 더 많은 도움이 되실 거에요.


    참고자료
    ASP.NET Web Pages에서 MVC로의 자연스러운 연결 - Helper를 MVC에서 사용해 보자
    Razor와 WebMatrix에 대해 후닥닥 적어본 FAQ와 Razor 벗겨먹기~
    WebMatrix는 단순 개발 도구가 아니라 스택(Stack)이다?

    자~ 그렇다면, WebMatrix에서도 다 되는데~ 왜 Visual Studio를 이용하나요?
    - 통합 개발 환경
    - 인텔리 센스 기능
    - Visual Studio를 이용한 디버깅

    좀더 상세히 알아 보도록 하겠습니다.


    통합 개발 환경(IDE)
    아마, 코난이의 포스트를 보시는 분들은 비주얼 스튜디오가 어떤건지 잘 알고 계실거에요. 단순한 웹사이트 개발과 달리 엔터프라이즈 환경의 웹 개발은 다양한 기술요소나 다양한 서비스와의 연계, 비즈니스 레이어 구축, SQL서버는 물론 다양한 이기종 DBMS와의 연계를 필요로 합니다. 통합 개발 환경의 필요성에 대해서는 이미 잘 알고 계시리라 생각합니다.


    인텔리 센스(IntelliSense)
    WebMatrix는 코드 하일라이팅(Code Highlighting)을 제공하지만, 아쉽게도 인텔리센스 기능은 제공하지 않죠. Visual Studio를 이용하실 경우 인텔리 센스 기능을 이용 가능한 장점이 있습니다.

    image

    요렇게 쩜과 함께 우리를 도와주는 인텔리 센스가 cshtml에서 동작합니다.


    디버깅 기능 사용
    WebMatrix에서 Visual Studio를 이용하시게 되는, 가장 중요한 이슈가 아닐까 예상합니다. 네… 기존 ASP.NET 디버깅 경험을 그대로 이용 가능합니다. 말이 필요 없네요.

    image

    중단점(Break Point)를 찍고 단계별로 추적이 가능합니다. 아래 샘플을 만들어 두었으니 도움 되시길 바랍니다.
    그럼~ 저와 함께 설치하고 직접 이용해 보시죠~


    Visual Studio를 이용한 ASP.NET Web Pages Razor 프로그래밍 - 설치

    image

    http://go.microsoft.com/fwlink/?LinkID=205867 경로에서  웹 플랫폼 설치 관리자(WPI-Web Platform Installer)를 설치합니다. 우측 “Add” 누르고 아래의 “Install”하시면 잠시 후 완료됩니다.(MVC와 함께 정확히, 설치되는 Visual Studio Tool 이름은 “Microsoft ASP.NET Web Pages – Visual Studio 2010 Tools” 입니다.

    image

    Visual Studio에서 File – New – Web Site 를 실행합니다.(제가 영문판 이용 중이라… 쿨럭)

    image

    기본 프로젝트와 cshtml이 나오죠. 그냥 F5 눌러서 실행하시면 cshtml – ASP.NET Web Pages Razor가 잘 실행되는게 보이실 겁니다.

    <!DOCTYPE html>
    <html>
        <head>
            <title></title>
        </head>
        <body>
    @ServerInfo.GetHtml()
        </body>
    </html>

    조금 더 코드를 파 볼까요? 내용을 지우고, 이렇게 ServerInfo를 찍어 보시죠. 참고로, 여기에서 인텔리센스 기능을 맛보셔도 좋을 듯 합니다.

    image

    인텔리 센스 기능 확인 가능

    이제 기다려 보셨던 바로 그 기능! 디버깅을 진행해 보시죠.

    @{
        var showToday = true;
        if(showToday)
        {
            @DateTime.UtcNow;
        }
        else
        {
            @DateTime.Now;
        }     
    }

    <h2>HTML 조합 반복문</h2>
    @{
        <ul>
        @foreach (string item in Request.ServerVariables)
        {
            <li>@item</li>   
        }
        </ul>
    }

    이런 코드를 실행하겠습니다. 대충~ 맨위 if 구문에 중단점(Break Point)를 찍으시고 F5를 눌러 실행해 보시면?

    image

    걸렸죠? F11눌러서 Step Into 하시면 감동의 Razor 디버깅!!!

    어떠세요? WebMatrix를 이용한 Razor 개발 경험을 그대로 Visual Studio로 가져간다!!! – 조금 감이 오시나요?

    조금 더 앞으로 나가시면, ASP.NET MVC에서 이 Razor 구문을 그대로 이용해 개발도 가능해 진다는거!!!

    한번 더 말씀 드리지만…

    WebMatrix를 통해 개발하는 ASP.NET Web Pages는 몇번 소개해 드린 것처럼, 자연스러운 상위 기술과의 연계와 웹 개발에 대한 커리어 확장을 기본적인 Seamless 컨셉으로 녹이고 있습니다. 

    - IIS의 경우는 윈도우 서버의 IIS 웹서버로

    - SQLCE는 SQL서버로 완전한 마이그레이션을

    - WebMatrix의 ASP.NET Web Pages의 Razor Syntax는 Visual Studio의 ASP.NET MVC와 Razor로

    저와 함께 WebMatrix & Razor 개발이 어디까지 가게 될지 한번 같이 지켜 보시는건 어떨까요? ^_^
    좋은 하루 되세요~

    참고자료
    ASP.NET Web Pages에서 MVC로의 자연스러운 연결 - Helper를 MVC에서 사용해 보자
    Razor와 WebMatrix에 대해 후닥닥 적어본 FAQ와 Razor 벗겨먹기~
    WebMatrix는 단순 개발 도구가 아니라 스택(Stack)이다?

Page 2 of 5 (25 items) 12345