FirePHP를 ASP.NET MVC와 붙이기

programming | 2009/05/22 04:44 | 배터리
FireMVC is released on Google Code Project Site

요즘 웹개발하는 분들이라면 Firebug를 안써본 분이 없을 것이다. Firebug는 Firefox의 인기 부가기능중에 하나로 브라우저에서 HTML, CSS, 스크립트, DOM, 네트워크 등을 실시간으로 내용을 확인할 수 있고 라이브 수정도 가능하케 한다. 무엇보다 단순히 처음의 모습을 보는 게 아니라 페이지의 동작에 따라서 변경된 내용을 직접 볼 수있는 큰 장점이 있다. Ajax와 같이 Javascript를 많이 사용하는 경우에는 디버거로 사용하는 일이 흔하다. 뿐만 아니라, Firebug를 확장해주는 FirePHP라는 부가기능을 설치하면 브라우저에서 보여지는 부분뿐 만 아니라 서버 안에서 일어나는 많은 일들을 볼 수 있게 한다. FirePHP는 HTTP 헤더에 필요한 정보를 추가하여 보내주는 방식을 사용한다. 기존 웹 페이지에 영향없어서 Ajax를 작성할때 좋다.

브라우저와 서버가 같은 디버거 안에서 정보가 제공되는 것은 멋진 일이다! 

하지만, FirePHP 이름에서 알수 있듯이 PHP를 디버깅하기 위해 작성이 되어 PHP 서버 프로그램만 기본적으로 제공한다. 물론 다른 몇몇 프로젝트들이 여타 웹프레임워크나 웹개발 언어에 맞쳐 작성해 제공하고 있다.
내가 사용하는 ASP.NET MVC에서 사용할 수 있도록 FirePHP 서버사이드를 작성해보기로 했다. 동아리 후배 브라이언 홍작성한 Django용 firepy와 공식 FIrePHP 서버 사이드 프로그램을 눈여겨 봤다. firepy는 언어와 웹프레임워크 특성을 살려 기본적인 제공되는 로그 기능이외에도 django framework를 이용한 Sql 쿼리와 수행 시간들을 자동으로 정리해주는 기능이 인상적이었다. 나도 ASP.NET MVC의 다양한 데이터들을 자동으로 보여줄 수 있도록 기능을 구상하였다.

이리하여 탄생하게 FireMVC는(개인적으로 프로젝트 이름에 .NET을 붙이기가 좋아 하지 않는다... 그렇다고 .NET Framework 자체를 싫어하는 건 아니다) 현재 구글 코드 프로텍트 사이트(http://code.google.com/p/firemvc/)에서 배포하고 있다.

FireMVC는 다음과 같은 내용을 Firebug에서 볼수 있는 기능을 제공한다.
  • Log, Info, Warn, Debug와 같이 기본적인 로깅 정보
  • Exception, Error Handling 로깅 정보
  • Linq To Sql에 수행된 Query 문
  • HTTP 기본 정보(예, request 헤더)
  • ASP.NET MVC 정보 (예, Controller ValueProvider, ViewData)
자세한 사용 방법은 블로그에 조만간 업데이트할 예정이다.
아래 두 스크린샷 중, 위에 있는 것은 FireMVC를 적용해 만든 Controller의 예이고,
아래에 있는 것은 예를 수행했을때 결과이다.

사용자 삽입 이미지

사용자 삽입 이미지

이전 1 2 3 4 5 6 ... 48 다음