태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

달력

12

« 2009/12 »

  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
이번 스프린트에서 맡은 작업에서 혼자 MVVM 패턴과 Command 패턴을 적용해본다며 삽질을 했다. 덕분에 예상보다 많은 일정을 소모하고, 다른 팀원들 도움도 받고... 빡빡한 일정임을 알면서 그것도 남들 몰래 이런 모험을 하는 건 웬 못되먹은 심보란 말인가. 함께 한 팀원들께 죄송스럽고 고마울 따름이다.

그런 의미에서라도 이번에 알게된 내용은 꼭! 잘 기록해서 남겨둬야겠다. 그리하여 시리즈 중 첫 번째. Commands in Silverlight with SLExtensions - 1
Posted by wafe

TRACKBACK | http://wafe.kr/trackback/110 관련글 쓰기

댓글을 달아 주세요

유닛 테스트를 중요하게 생각하여 설계한 코드라면 HttpContext 같이 ASP.NET 프레임워크에 종속되어 테스트가 불가능해지는 클래스들은 진작에 어댑터 등을 이용하여 분리시켜 두었을 것이다. 하지만 이미 작성된 코드가 많은 상황에서 유닛 테스트를 도입할 때에는 HttpContextBase 클래스가 유용하게 사용될 수 있다.

HttpContextBase 클래스는 ASP.NET MVC에서 쓰이는 클래스라서 (Controller.HttpContext Property 참조) 3.5 SP1부터 쓸 수 있고, System.Web.Abstractions 어셈블리(네임스페이스는 System.Web)를 참조에 추가하면 된다.

HttpContextBase 클래스는 기존의 HttpContext 클래스와 완전히 동일한 멤버들을 노출하고 있고, HttpContext 인스턴스를 쉽게 HttpContextBase 인스턴스로 전환할 수 있도록 HttpContextWrapper 클래스를 같이 제공하고 있다. 포함된 어셈블리도 ASP.NET MVC와는 분리된 어셈블리이다. 따라서 ASP.NET 응용프로그램에서도 기존에 HttpContext 인스턴스를 사용하는 곳에서는 동일하게 HttpContextBase 인스턴스를 사용할 수 있다.

ASP.NET MVC의 목표에 맞게, HttpContextBase의 모든 멤버는 virtual로 선언되어 있어서 HttpContext를 사용하는 코드를 쉽게 유닛 테스트 할 수 있게 된다. (Rhino.Mocks 같은 mock framework을 쓴다면 금상첨화)

비록 HttpContext를 쓰던 곳에 HttpContextBase를 그대로 쓸 수 있다고는 하지만 기존의 ASP.NET 코드 상태에 따라서는 당연히 수정이 필요한 곳이 생긴다.
  • 정적(static)으로 선언된 HttpContex.Current 속성을 직접 사용하는 메서드는 HttpContextBase 인스턴스를 파라미터로 받아서 사용하게 수정해야 한다.
  • 혹은 클래스에 HttpContextBase 형식 필드를 추가해서 그것을 사용하도록 수정해야 한다.
  • new HttpContextWrapper(HttpContext.Current) 같은 형태로 클래스 메서드나 생성자의 파라미터로 넘겨주도록 수정한다.
한 가지 특이하게 수정해야 했던 부분은 Reflection을 사용하는 경우였다. 기존의 코드는 HttpModule 내부에서 HttpContext로부터 HttpWorkerRequest를 얻을 때 Type 클래스를 사용하고 있었다. 

request = (HttpWorkerRequest)type.GetProperty("WorkerRequest", bindingAttr).GetValue(context, null);

다행히 이 경우에는 GetService 메서드를 사용하여 수정할 수 있었고, 이 방법이 정석이라고 생각된다.
request = (HttpWorkerRequest)context.GetService(typeof(HttpWorkerRequest));


이런 식으로 HttpContextBase 클래스를 사용하도록 수정하면, HttpContextBase를 통해서 얻는 Request나 Response 인스턴스에도 동일한 패턴이 적용되어 있으므로 쉽게 테스트 가능한 코드를 얻을 수 있게 된다.
Posted by wafe

TRACKBACK | http://wafe.kr/trackback/107 관련글 쓰기

댓글을 달아 주세요

  1. 남정현 2009/12/27 02:59  댓글주소  수정/삭제  댓글쓰기

    좋은 아티클 보고 갑니다. 웹 프로젝트 수행 때 좋은 시작점이 될듯합니다. :-)

    • wafe 2009/12/27 13:43  댓글주소  수정/삭제

      들러주셔서 고맙습니다. 운영하고 계신 블로그나 데브피아에좋은 글을 올려주셔서 남정현님 성함이 익숙하게 느껴지는데, 이렇게 제 블로그에 댓글까지 남겨주시니 더 기쁘네요.

      텍스트큐브로 이사하신 줄은 몰랐는데 이제 더 자주 뵐 수 있겠네요 ^^

2009/12/10 02:49

우리는 원노트를 쓴다 분류없음2009/12/10 02:49

onenote와 위키라는 검색어로 구글 검색을 하다가 요즘 내가 딱 내가 느끼는 생각과 동일한 내용을 발견했다.

 OneNote는 그 컨텐츠가 적을때는 위키와 비슷하게 사용할 수 있다. 그러나 그 컨텐츠가 많이 늘어나면 노트의 묶음일뿐 쉽게 정보를 관리하기가 힘들게 된다. namespace(category)라든가 각 페이지에 대한 access control, tracking user activity, history, recent changes, RSS feed등이 다 그런것을 편리하게 해주는 feature들인데 OneNote는 없지않은가. 애초에 태생이 틀린 놈들이다. OneNote는 standalone으로 위키는 collaboration tool로서..


http://nberserk.tistory.com/146

우리도 개발부에서 원노트보다 위키위키(모니위키)를 먼저 공식적으로 사용하기 시작했고 현재도 운영은 하고 있다. 하지만 시작하고 오래가지 않아 흐지부지 되었고 지금은 열람용일 뿐이다. 지금은 원노트를 주로 사용하고 있는데, 위키위키와는 달리 별 노력을 하지 않아도 빠르게 전사적으로 퍼져버렸다.

원노트가 빠르게 퍼질 수 있던 원인은 Copy Paste, Drag & Drop이 아주 강력하고, 따로 사용법을 배우지 않아도 잘 쓸 수 있을만큼 쉽기 때문이라고 생각한다. 이미 워드나 파워포인트 등 MS 오피스에 익숙한 사람들이기도 하고, 실제 노트처럼 상하단에 레이블이 붙어있는 UI가 위키위키에 비해서 접근하기 쉬웠을 것이다. 그리고 이것을 SharePoint를 통해 사내에서 공유하고 있다.

원노트 내용을 전반적으로 둘러보면 이미지를 첨부했다거나, 복잡한 문서나 웹사이트를 복사해서 가져왔다거나, 문서를 직접 원노트 페이지에 첨부한 사례는 별로 많지가 않다. 대다수의 페이지는 단순한 위키 문법만으로도 표현할 수 있는 정도이다.

위키위키를 사용하든, SharePoint를 통해서 동기화하는 원노트를 사용하든, 얻고자 하는 가치는 원활한 정보의 공유라고 생각한다. 그러나 원노트는 노트라는 개념을 기반으로 출발했기에, 많은 자료를 다수의 사람들이 공유하며 협업용으로 사용하기에는 한계가 있는 것이 사실이다.

그럼에도 불구하고 원노트가 제공하는 편집의 편의성은 너무나 강력하다. 대다수의 사용자들이 이미 워드, 파워포인트 등 MS 오피스에 익숙한 사람들이라는 점에서 그런 도구들과 비슷한 수준의 편집 기능을 제공하는 것은 정말 중요하다. 스프링노트가 기존의 위키위키들에 비해서 엄청나게 편리한 UI를 제공함에도 불구하고 원노트에 비한다면 여전히 상당히 불편하다.

그래서 개인적으로 스프링노트를 잘 확장하는 어플리케이션이 있었으면 좋겠다고 생각했는데, 여전히 그러한 어플리케이션은 존재하지 않고 요즈음은 그나마 스프링노트 자체도 개발이 정체된 것 같다.

웹 오피스에 원노트 2010도 포함된다는 소식에 약간 기대를 하고는 있지만 현재까지 공개된 동영상에서는 현재 상황을 크게 바꿀만한 놀라운 변화는 없는 것 같다.

원노트 정도의 UI를 제공하면서 노트라는 개념에서 벗어난 진정한 위키위키는 언제쯤 볼 수 있을까.

ps. 기업용으로 유료로 제공되는 위키위키는 직접 써본 적이 없어 잘 모르고 있다. 편리한 사용성을 가진 위키위키가 있다면 유료라도 한 번 체험해 보고 싶다.
Posted by wafe

TRACKBACK | http://wafe.kr/trackback/106 관련글 쓰기

댓글을 달아 주세요

  1. U.Seung 2009/12/10 11:05  댓글주소  수정/삭제  댓글쓰기

    그르게요. 이런 협업툴을 막상 괜찮은 것을 찾아보려면 힘든것 같아요. 지금 회사에서는 잘 안쓰이는 전체 공용 Wiki가 있고, 팀별로는 Outlook에 있는 게시판 기능을 쓰고 있어요.

    사용하다 보니까 Outlook 게시판이 꽤 유용한 것 같아요.
    - Change에 대한 Alarm은 e-mail과 유사한 방식으로 지원 되고
    - Hierarchy 기능은 당연 지원 되고
    - Access Control은 기존 Outlook 주소록과 연동 됩니다.
    - History 기능은 없습니다만, 중요한 History는 그냥 기존 글을 지우지 않는 방법으로 남기고 있어요.
    - 그리고 마지막으로 막강한(!!) Editor가..

    • wafe 2009/12/16 13:12  댓글주소  수정/삭제

      사람들이 전부 아웃룩을 쓴다면 그것도 좋은 방법이네. 역시 막강한 에디터가! ㅎㅎ

      아웃룩 게시판이라면 Exchange 서버가 제공하는 기능일텐데 있는 걸 안쓰고 다른 걸 찾아 헤매는건 단지 내 취향 문제인가 ㅜ.ㅜ

  2. jindog 2009/12/16 04:40  댓글주소  수정/삭제  댓글쓰기

    confluence 가 rich edit 을 같이 제공함.
    // 근데 이노무 회사에선 위키 같은 정보 공유의 장이 활성화 되지 않음;;;;;

    • wafe 2009/12/16 13:19  댓글주소  수정/삭제

      confluence 함 써봐야겠네.

      새로운 걸 도입하는 데에는 원래 노력이 많이 들고 사람들은 잘 안 바뀌니까. ^^;

      일단 다른 채널로 활발하게 이야기를 하고 있는 상태라면 조금씩 옮겨오는 것도 한 방법일 듯. 메일의 중복성을 없애려고 위키만 가지고 의사소통하는 회사도 있다고 하더라~

  3. darren.ha 2010/06/24 08:44  댓글주소  수정/삭제  댓글쓰기

    저희 팀에서는 Confluence를 사용하고 있답니다. 상용은 역시나 돈값을 하더라고요. 위키 개념을 잘 모르는 사람도 잘들 사용하고 이젠 위키가 완전히 정착되었답니다. 그전에 사용한것이 MoinMoin이었는데 나름 훌륭했습니다. ^^

2009/12/03 02:53

2009년 11월 XPER 모임 후기 분류없음2009/12/03 02:53

전반적인 정리와 다른 분들의 후기는 박PD님의 블로그에 잘 링크가 되어 있다.
발표자 두 분 모두에게서 아 저건 진심이구나, 하는 느낌을 받았고, 정말 감동적인 경험이었다.

SK C&C 민신현 과장님의 사례 발표에서는 오랜 기간 동안 프로젝트를 이끌며 엄청나게 괴로워하고 고민하다가 드디어 답을 찾아 낸 사람의 희열을 느낄 수 있었고, 스페셜 포스 2 고성원 팀장님의 사례 발표에서는 함께 한다는 즐거움, 팀과 팀원들에 대한 따뜻한 애정을 느낄 수 있었다. 단체 사진 속의 팀원들은 생기 넘치는 눈빛들을 하고 있었고, 참 행복해보였다. 부럽다.

오늘의 아하!를 하나 들자면 직원의 '보상' 중에 한 가지로 언급된 '커뮤니케이션 만족도'였다. 늘상 일어나는 커뮤니케이션에서 스트레스를 줄여 얻을 수 있는 '말이 통한다는 느낌', '존중 받는다는 느낌'이라고 요약할 수 있을 것 같다.

보통 보상이라 하면 휴가, 인센티브, 연봉 인상 등을 떠올리게 되는데, '커뮤니케이션 만족도'라는 걸 보상이라는 관점에서 볼 수 있다는 것 자체가 참 신선했다. 회사 생활에서 금전적인 보상은 일정 정도만 되면 업무 만족도에 끼치는 영향이 크지 않다는 평소의 생각과도 연결이 되는 듯하다. 사람들이 정말로 원하는 것은 말이 통하는 동료와 상사, 존중 받을 수 있는 환경이라고 생각한다.

고성원 팀장님은 발표 서두에 자연 재배 사과로 유명한 일본의 할아버지를 취재한 동영상을 보여주셨다. 오로지 자연의 힘만을 믿으며 10년이 넘는 힘든 기다림의 시간을 버틴 이야기는 이미 들어서 알고 있었다.

하지만 바로 그런 믿음과 인내가 스크럼 마스터의 자세라는 것은 전혀 생각해보지 않은 일이었다. 프로세스 보다는 사람이 중요하다는 애자일 선언문의 첫번째 항목을 잠시 잊었던 것 같다.

스크럼 프로세스를 통해서 얻어야 하는 것은 방법론을 잘 따라하는 개인들이 아니라 스스로 뿜어내는 에너지로 꾸준히 달릴 수 있는 팀이라고 말할 수 있을 것이다. 그러기 위해서 내가 어떻게 도와주면 되는지 끊임없이 고민하고 대화해야 한다는, 해답이면서도 새로운 숙제로 연결되는 무언가를 재발견했다는 느낌이다.
TAG agile, Scrum, xper
Posted by wafe

TRACKBACK | http://wafe.kr/trackback/105 관련글 쓰기

  1. SUBJECT xper 11월 정기 모임에 다녀와서

    2009/12/03 08:36 TRACKED FROM 테스팅 히치하이커를 위한 안내서  삭제

    국내에서 가장 활발하고 가장 유명한 Agile 커뮤니티 하면.. 역시 김창준님이 메인 시삽으로 계시는 xper가 아닐까 싶다.. 여담으로 테스터들의 가장 큰 커뮤니티는 sten이다.. xper는 매달 한번씩 모여 사례공유를 하는 정기 모임을 얼마전부터 가져오고 있다. 그런데 이 정기 모임은 한달은 평일에 그 다음달은 주말에 이런 식으로 퐁당 퐁당 운영되고 있다. 난 요즘 주말마다 교육을 받고 있기 때문에 지난 달에는 참석하지 못하고(솔직히 지난 달이..

댓글을 달아 주세요