Newer Entries Older Entries

ZoomIt

View Comments

세미나를 진행하면서 작성하는 코드를 보여주거나 이미 작성되어 있는 코드를 보여줄 때 어려움을 겪습니다. 특정 부분만 확대해서 보여줘야 참가자들이 보기에 편한데, 이런 기능은 포함하고 있지 않기 때문이지요. 그래서 대안으로 이런 방법을 택합니다.

1. 코드를 워드 문서에 붙여서 글자 크기를 확대한다.
코드를 복사해서 워드 문서에 붙인 후, 글자 크기를 확대하는 방법입니다. 확대한 만큼 글자가 잘 보이긴 합니다만, 하이라이트 기능이 사라져 버려 키워드를 구분할 수 없다는 단점이 있습니다.

2. 윈도우즈에 있는 "돋보기"란 프로그램을 사용한다.
"돋보기"는 커서가 가리키는 지점을 확대하여 화면 윗 부분에 보여주는 프로그램입니다. 유용한 프로그램이긴 하지만, 확대할 수 있는 범위가 작다는 단점이 있습니다.


저의 경우엔 코드을 PPT에서 보여줬습니다. 데모 귀신이란 희한한 현상이 현장에서 발생한다는 걸 알고 있기에 이런 사태를 방지하고자 시연할 부분은 준비한 동영상을 보여주고, 코드는 PPT에서 설명해줍니다. 동영상과 PPT를 꼼꼼하게 준비해야 하니 발표자로서는 번거롭기만 하지만, 참석자들은 데모 귀신으로 인한 시간 소비를 확실하게 방지할 수 있다는 장점이 있습니다.

하지만, 이제는 더 간단하고 확실한 방법을 알고 있습니다. 그것은 바로 ZoomIt이라는 프로그램입니다. 아이콘부터 "돋보기"와 유사해 별 기대를 않하게 되지만, 제가 지적한 단점은 확실하게 보완했습니다. 단축키를 누르면 커서가 위치한 부분을 전체화면으로 확대해서 보여주므로, 한번에 많은 부분을 볼 수 있습니다. 세미나를 자주 진행하신다면 꼭 챙겨야할 프로그램입니다.


ZoomIt
http://technet.microsoft.com/en-us/sysinternals/bb897434.aspx
2008/10/24 18:00 2008/10/24 18:00

댓글0 Comments (+add yours?)

트랙백0 Tracbacks (+view to the desc.)

빌 게이츠가 새로운 IT 사업을 시작한다네요

View Comments

출처 : 연합뉴스 "<빌 게이츠 `첨단기술 싱크탱크' 경영>"

샌프란시스코=연합뉴스) 김성용 특파원 = 빌 게이츠 마이크로소프트(MS) 창업자가 첨단 기술 회사를 설립, 연구 및 기술 제공 서비스 경영에 나선 것으로 알려졌다.

   23일 미국 IT 뉴스 사이트인 `ZD넷'에 따르면 게이츠가 설립한 회사는 미 워싱턴주 커클랜드에 본부를 둔 `bgC3 LLC'로 첨단 기술 업계의 `싱크탱크' 역할을 하게 된다.

   회사 내부 인사는 게이츠의 첨단 기술 회사가 일종의 지주회사라고 말했지만 업계에선 첨단 기술 서비스, 분석과 리서치, 컴퓨터 하드웨어 및 소프트웨어 분야의 디자인과 개발 등이 주요 업무가 될 것으로 보고 있다.

   특히 빌 게이츠의 전공 분야인 컴퓨터 분야의 특허 기술을 지원하는 벤처 회사로서 운영될 가능성이 제기되고 있어 업계가 주목하고 있다.

   게이츠는 그동안 개인 투자회사인 캐스케이드 인베스트먼트를 통해 호텔 등 지분 확보에 나서는 등 투자 활동을 벌여 왔고 복지재단을 통해 백신 개발 또는 빈곤 문제 해결 등에도 적극 나서고 있다.

---

MS를 떠난 빌 게이츠가 새로운 사업을 시작합니다. MS에선 "기술과 마케팅의 예술"을 보였는데, 이번엔 어떤 모습을 보여줄지 그의 새로운 도전이 기대되네요. (^ㅡ^)
2008/10/24 11:49 2008/10/24 11:49

댓글0 Comments (+add yours?)

트랙백0 Tracbacks (+view to the desc.)

마이크로소프트 웹 플랫폼

View Comments

마이크로소프트의 웹 플랫폼에 대한 정보를 얻을 수 있는 곳입니다. 더 자세한 정보는 <철수네 소프트웨어 세상>을 참조하세요. http://blogs.msdn.com/bkchung/archive/2008/10/16/microsoft-web.aspx


마이크로소프트 웹 플랫폼
http://www.microsoft.com/web/


2008/10/17 18:50 2008/10/17 18:50

댓글0 Comments (+add yours?)

트랙백0 Tracbacks (+view to the desc.)

V3 오진으로 인해 삭제된 Lsass.exe 파일 조치 방법

View Comments

윈도우 XP 서비스팩 3로 업데이트 한후 부팅이 안되나요?  혹시 V3를 사용하고 있었다면 다음을 참고하세요.


V3 오진으로 인해 삭제된 Lsass.exe 파일 조치 방법
http://kr.ahnlab.com/info/customer/html/2008_lsass_fix_03.html
2008/10/13 12:13 2008/10/13 12:13

댓글0 Comments (+add yours?)

트랙백0 Tracbacks (+view to the desc.)

마이크로소프트웨어 비주얼 스튜디오 2008 기사

View Comments

마이크로소프트웨어에 실린 비주얼 스튜디오 2008 기사입니다.


비주얼 스튜디오 2008 1부
http://imaso.co.kr/?doc=bbs/gnuboard.php&bo_table=article&wr_id=32019

비주얼 스튜디오 2008 2부
http://imaso.co.kr/?doc=bbs/gnuboard.php&bo_table=article&wr_id=32020

비쥬얼 스튜디오 2008 3부
http://imaso.co.kr/?doc=bbs/gnuboard.php&bo_table=article&wr_id=32021

비쥬얼 스튜디오 2008 4부
http://imaso.co.kr/?doc=bbs/gnuboard.php&bo_table=article&wr_id=32022

비주얼 스튜디오 2008 5부
http://imaso.co.kr/?doc=bbs/gnuboard.php&bo_table=article&wr_id=32023

비주얼 스튜디오 2008 6부
http://imaso.co.kr/?doc=bbs/gnuboard.php&bo_table=article&wr_id=32025
2008/09/30 11:01 2008/09/30 11:01

댓글0 Comments (+add yours?)

트랙백0 Tracbacks (+view to the desc.)

jQuery를 익혀두세요

View Comments

스캇 구스리가 jQuery에 대한 글을 올렸습니다. jQuery에 대한 호평과 낙관적인 전망을 하고 있네요. 앞으로  ASP.NET 과 ASP.NET AJAX에 도입할 가능성을 언급할 정도이니, 어떤 라이브러리인지 테스트해보는 것도 괜찮겠네요.


jQuery and Microsoft
http://weblogs.asp.net/scottgu/archive/2008/09/28/jquery-and-microsoft.aspx

jQuery 공식 홈페이지
http://jquery.com
2008/09/29 10:21 2008/09/29 10:21

댓글0 Comments (+add yours?)

트랙백0 Tracbacks (+view to the desc.)

Microsoft Innovators Cover Story : Visual Studio 2008

View Comments

Microsoft Innovators 58호에 Cover Story로 Visual Studio 2008를 다루었습니다.


[Chapter 1] Visual Studio 2008을 주목해야 하는 이유
http://www.microsoft.com/korea/magazine/2008-summer/coverstory/part1.mspx
[Chapter 2] Visual Studio 2008로 성공을 이야기하다
http://www.microsoft.com/korea/magazine/2008-summer/coverstory/part2.mspx
[Chapter 3] Visual Studio 2008의 가치
http://www.microsoft.com/korea/magazine/2008-summer/coverstory/part3.mspx

2008/08/12 14:40 2008/08/12 14:40

댓글0 Comments (+add yours?)

트랙백0 Tracbacks (+view to the desc.)

Software Studies: A Lexicon

View Comments

사용자 삽입 이미지
















소프트웨어와 관련된 일에 종사하는 이들을 위한 사전입니다.


목차

Introduction
Matthew Fuller  1

algorithm
Andrew Goffey  15

analog
Derek Robinson  21

button
Søren Pold  31

class library
Graham Harwood  37

code
Friedrich Kittler  40

codecs
Adrian Mackenzie  48

computing power
Ron Eglash  55

concurrent versions system
Simon Yuill  64

copy
Jussi Parikka  70

data visualization
Richard Wright  78

elegance
Matthew Fuller  87

ethnocomputing
Matti Tedre and Ron Eglash  92

function
Derek Robinson  101

glitch
Olga Goriunova and Alexei Shulgin  110

import / export
Lev Manovich  119

information
Ted Byfi eld  125
ntelligence
Andrew Goffey  132

interaction
Michael Murtaugh  143

interface
Florian Cramer and Matthew Fuller  149

internationalization
Adrian Mackenzie  153


2008/07/23 22:36 2008/07/23 22:36

댓글0 Comments (+add yours?)

트랙백0 Tracbacks (+view to the desc.)

GridView 열 확장과 축소

View Comments

사용자 삽입 이미지


들어가는

아티클은 자바스크립트 사용하여 GridView rows 확장 / 축소 기능을 보여준다. 기능을 시연하기 위해서 GridView 헤더에 Image 사용했다. Image 연속해서 누르면 GridView (row) 확장되고 축소된다.

HTML 코드 사용

GridView 내부에 TemplateField 추가하고 TemplateField. HeaderTemplate 안에 Image 추가한다. GridView 위한HTML 코드는 다음과 같다.
 

<asp:GridView ID="gvTab" BackColor="WhiteSmoke" runat="server" AutoGenerateColumns="False" GridLines="Vertical"

                                                                                             ShowFooter="True">

   <Columns>

      <asp:TemplateField>

         <HeaderStyle Width="25px" />

         <ItemStyle Width="25px" BackColor="White" />

         <HeaderTemplate>

            <asp:Image ID="imgTab" onclick="javascript:Toggle(this);" runat="server" ImageUrl="~/minus.gif"

                                                                                         ToolTip="Collapse" />

         </HeaderTemplate>

      </asp:TemplateField>

      <asp:BoundField HeaderText="n" DataField="n">

         <HeaderStyle Width="25px" />

         <ItemStyle Width="25px" />

      </asp:BoundField>

      <asp:BoundField HeaderText="sqrt(n)" DataField="sqrtn">

         <HeaderStyle Width="150px" />

         <ItemStyle Width="150px" />

      </asp:BoundField>

      <asp:BoundField HeaderText="qbrt(n)" DataField="qbrtn">

         <HeaderStyle Width="150px" />

         <ItemStyle Width="150px" />

      </asp:BoundField>

   </Columns>

   <HeaderStyle Height="25px" Font-Bold="True" BackColor="DimGray" ForeColor="White" HorizontalAlign="Center"

                                                                                    VerticalAlign="Middle" />

   <RowStyle Height="25px" BackColor="Gainsboro" HorizontalAlign="Center" VerticalAlign="Middle" />

   <AlternatingRowStyle Height="25px" BackColor="LightGray" HorizontalAlign="Center" VerticalAlign="Middle" />

   <FooterStyle BackColor="Gray" />

</asp:GridView>


onclick
event the GridView 헤더의 Image 추가한다.

<asp:Image ID="imgTab" onclick="javascript:Toggle(this);" runat="server" ImageUrl="~/minus.gif"

                                                                                          ToolTip="Collapse" />


자바스크립트
코드 사용

script tag태그 안에 다음 코드를 추가한다.

 

 <script type="text/javascript">

 var Grid = null;

 var UpperBound = 0;

 var LowerBound = 1;

 var CollapseImage = 'minus.gif';

 var ExpandImage = 'plus.gif';

 var IsExpanded = true;  

 var Rows = null;

 var n = 1;

 var TimeSpan = 25;

       

 window.onload = function()

 {

    Grid = document.getElementById('<%= this.gvTab.ClientID %>');

    UpperBound = parseInt('<%= this.gvTab.Rows.Count %>');

    Rows = Grid.getElementsByTagName('tr');

 }

       

 function Toggle(Image)

 {

    ToggleImage(Image);

    ToggleRows(); 

 }   

       

 function ToggleImage(Image)

 {

    if(IsExpanded)

    {

       Image.src = ExpandImage;

       Image.title = 'Expand';

       Grid.rules = 'none';

       n = LowerBound;

            

       IsExpanded = false;

    }

    else

    {

       Image.src = CollapseImage;

       Image.title = 'Collapse';

       Grid.rules = 'cols';

       n = UpperBound;

               

       IsExpanded = true;

    }

 }

       

 function ToggleRows()

 {

    if (n < LowerBound || n > UpperBound)  return;

                           

    Rows[n].style.display = Rows[n].style.display == '' ? 'none' : '';

    if(IsExpanded) n--; else n++;

    setTimeout("ToggleRows()",TimeSpan);

 }

 </script>


코드에서,
window.onload event 안의 전역 변수들은 초기화된다. 여기에는 가지 메소드 Toggle, ToggleImage ToggleImage 있다. Toggle 메소드는 헤더 이미지를 연속으로 누르면 호출된다. 메소드는 먼저 헤더 이미지를 반전시키고 다음에는 ToggleImage ToggleImage 메소드의 호출에 의해 GridView 열을 반전시킨다. ToggleRows 메소드는 여기에서 setTimeout 메소드를 사용하여 회귀적으로 호출된다는 점을 유의하자. GridView 열을 확대하고 축소하는 동안 가지 역동적인 효과 생성하기 위해 여기에서 회귀적으로 호출하였다.

재귀호출에서 지연을 만들기 위해서, ToggleRows 메소드의 호출을 25 밀리세컨드로 설정했다. 필요하다면 TimeSpan 값을 바꿔서 변경할 있다.
 

맺는

아티클에서는, 매끄러운 확장/축소Collapse 기능 위해 setTimeout 메소드를 사용했다.

 

 

출처 : http://www.codeproject.com/KB/webforms/GridViewExpandCollapse.aspx


2008/05/17 01:54 2008/05/17 01:54

댓글0 Comments (+add yours?)

트랙백0 Tracbacks (+view to the desc.)

이미지 핸들러

View Comments

사용자 삽입 이미지

도입

아티클은 ASP.NET으로 이미지를 처리하는 방법을 설명한다. 이미지 핸들러를 사용하는가? 가장 중요한 이유로는 깨진 이미지 링크인 빨간 x 표시를 보여주지 않는데 있다. 나는 이미지 핸들러를 생성하는데 그리고 이미지의 크기를 재조정하고 URL 쿼리 스트링 파라미터를 기반으로 이미지를 회전/상하좌우반전 하는데 중점을 두었다. 마지막으로, 닷넷 데이터 캐싱은 이미지를 처리하는 성능을 높이는데 사용되었다.

코드 사용

핸들러가 하는 번째 작업은 비트맵으로 저장된 이미지인지를, 닷넷 데이터 캐시 엔진 내에 존재하는지 점검한다. 여기에서는 핸들러를 위해 단계의 캐싱을 구현하였다. 번째 캐싱은 쿼리 스트링에 기반을 둔다. 그래서 예를 들면 URL 요청 "ImageHandler.ashx?image=images/rover.gif&width=200&height=400" URL 파라미터 "?image=images/rover.gif&width=200&height=400" 기반을 캐시를 가져야 한다. 만약 캐시가 발견된다면 이미지는 캐시에서 jpeg 렌더링되어 응답 시간과 처리능력 모두를 줄여둔다. 만약 캐시가 존재하지 않는다면 이미지는 복구와 처리를 시도하게 된다. 여기에 번째 캐싱 레이어가 존재한다. 원본 비트맵은 URP 파라미터에 기반을 두고 다양한 방식으로 요청될 있기 때문에, 원본 이미지 또한 하드 드라이브에 보다 적은 요청으로 인한 복구 후에 캐시된다.

        if (context.Cache[("ImageQueryURL-" + context.Request.QueryString.ToString())] != null)

        {

            bitOutput = (Bitmap)context.Cache[("ImageQueryURL-" + context.Request.QueryString.ToString())];

        }

 


단계에서 크기를 재조정할 이미지의 크기를 결정한다. 높이와 폭은 출력 크기를 결정하기 위해 쿼리 스트링 파라미터로 전달된다. 이번 코드 블록에서는 재조정될 이미지의 높이와 모두 전달된다.

    double inputRatio = Convert.ToDouble(bitInput.Width) / Convert.ToDouble(bitInput.Height);

   

    if (!(String.IsNullOrEmpty(context.Request["width"])) && !(String.IsNullOrEmpty(context.Request["height"])))

    {

        _width = Int32.Parse(context.Request["width"]);

        _height = Int32.Parse(context.Request["height"]);

        return true;

    }

   


이미지를
얻고 후에 이번엔 회전과 상하좌우 반전을 위해 쿼리 스트링을 다시 점검한다.

    if (String.IsNullOrEmpty(context.Request["RotateFlip"]))

    {

        return bitInput;

    }

    else if (context.Request["RotateFlip"] == "Rotate180flipnone")

    {

        bitOut.RotateFlip(RotateFlipType.Rotate180FlipNone);

    }

   


마지막으로
, 윈도우 GDI+ 엔진을 사용하여 이미지의 크기를 재조정한다. 조작(artifacting) 줄이기 위해 고화질 렌더링 모드(high quality rendering mode) 사용했으나, 결국 처리와 응답 시간의 크기와 관련된다. 다른 이유로는 데이터 캐싱은 클래스에서 중요한 부분이다.

        Bitmap resizedBitmap = new Bitmap(newWidth, newHeight, PixelFormat.Format24bppRgb);

 

        Graphics g = Graphics.FromImage(resizedBitmap);

        g.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;

        g.CompositingMode = System.Drawing.Drawing2D.CompositingMode.SourceCopy;

        g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;

        Rectangle rectangle = new Rectangle(0, 0, newWidth, newHeight);

        g.DrawImage(inputBitmap, rectangle, 0, 0, inputBitmap.Width, inputBitmap.Height, GraphicsUnit.Pixel);

        g.Dispose();

       



코드 향상/빌드 방법

프로젝트의 목적은 간단하고 쉽게 클래스 안에 모든 모드가 포함되어 있는 이미지 핸들러를 사용하도록 하는데 있다. 모든 코드를 하나의 핸들러 클래스에 두는 것이 많은 설정에 골머리를 앓지 않고 쉽게 프로젝트를 마치도록 한다는 확신한다. 하지만, 여기엔 가지 절충안이 있다. 일반적으로, 핸들러는 IIS 정의된 파일 타입은 처리하기 어렵게 고안되어 있다. 이런 방식은 코드 프로젝트에서 쉽게 공유하지 못하므로 피하였지만, 가지 자잘한 수정사항은 남아 있다. 나는 또한 설정 변수로 noImageUrl 정의하였다. 아마도 web.config 파일 아니면 다른 설정 파일에.

마지막으로, 이미지 핸들러의 유익은 브라우저에 나타날 이미지의 실제 물리적 위치를 생각하지 않아도 다는데 있다. 이미지의 물리적 위치를 옮겨야 경우엔 다른 컴포넌트를 고려해 보라.


출처
: http://www.codeproject.com/KB/aspnet/ImageHandler.aspx



2008/05/15 10:46 2008/05/15 10:46

댓글0 Comments (+add yours?)

트랙백0 Tracbacks (+view to the desc.)

Newer Entries Older Entries