달력

4

« 2025/4 »

  • 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

'분류 전체보기'에 해당되는 글 217

  1. 2008.03.29 Visual Basic 2008 hot fix in Visual Studio 2008
  2. 2008.03.23 어도비 RIA World 2008을 다녀와서..
  3. 2008.03.18 IIS 7.0 Architecuture
  4. 2008.03.16 Features of the ASP.NET MVC Framework

오늘 아침에 SottGu's Blog에서 Visual Basic 2008의 Hot-Fix를 발견했다.
사실 지난 몇주 동안 Visual Basic 2008을 사용해 왔는데, IDE가 갑자기 늦어지는 문제를 자주 경험했다. 이는 디버깅을 위해, F5키를 눌러서 프로그램이 Loding되고, 실행하는데도 영향을 미쳤다.

아래는 MS에서 Hot-Fix에 대한 증상을 기술한 것인데, 내가 경헙했던 증상 증상과 동일하다.

The IDE takes a long time to build the solution and to rebuild the solution.
You experience a slow response time when you press F5 to start debugging.
You experience a slow response time in the Code Editor.
You experience a slow response time in IntelliSense.


Hot-Fix의 위치는 아래와 같다.
Hotfix Available for VB Performance Issue in VS 2008

:
Posted by 행복상자

지난주 화요일은 삼성역 그랜드 인터컨티넨탈 호텔에서 열린 한국 아도비의 제품발표회에 참관차 관람하였다. 제품 소개와 세미나였지만, 솔직한 느낌은 제품소개 측면이 강했다. 기대한 것보다는 수준이 높지는  않았다. 하지만, 세미나에 관심을 가지고 참관한 참가자들이 반드시 개발자가 아니라는 측면을 보면(디자이너들이 상당히 많았던거 같다) 이해가 간다.
여기 저기시 자바 관련된 용어와 기술 설명이 나오면, 이해가 안간다는 말이 들렸다. 좀더 참관자들의 수준을 배려할 필요가 있지 않았나 하는, 지극히 개인적인 의견이다.

그럼에도 불구하고, 정말 놀랐던 것은, 정말 많은 사람들이 관심을 가지고 찾아 왔다는 것이다. 홀 규모는 약 1500명 정도일것 같은데, 2000명 정도가 찾와와서, 준비된 자리가 없음에도 뒤에 서서 키노츠와 제품 소개를 들고, 세미나를 참석하는 열정을 보여주니 말이다. 최근 내가 갔던 행사에서 이정도로 관심이 집중된 것은 몇개 안되는것 같다.

내가 이 세미나를 참관한 목적은 당장의 필요는 적었지만, Web 기술이 어는 정도 성숙한 현 시점에서, 가장 주목 받는 RIA 기술중에 하나라는 측면에서 Adobe의 기술들을 이해하고 싶었다.

Web 기술이 성숙했다는 측면은, 현재 웹 브파우저을 이용한 Data 전송 방법과 동기화 기술  그리고 윈도우 Application과 유사한 서비스의 제공을 들 수 있다. 그 대표적인 예가 구글이고 Ajax를 이용해서 구글에서 만들고 배포한 여러 웹 Application들은 네트워크 연결이 안되거나, 끊어지더라도 지속적으로 서비스 제공하고, 동작하는 기술로 한층 없그레이드 되고 있다. (구글 Gears 참조)
기술이 성숙 되면, 다양한 응용 프로그램들이 나오게 되는데, 결국은 사용자를 위한 UX 측면에세 차별화가 되기 시작할 것이다.

행사를 참여한 여러 회사의 데모를 보았는데, 그중에서 국외는 eBay, 국내는 농협의 Banking System 과 현대 자동차의 상황판 시스템이 인상적이었다.
- eBay Dask top(http://desktop.ebay.com/)


사용자 삽입 이미지


AIR은 Adobe Flash Player의 확장판이으로 보면 쉽게 이해가 된다. 웹브라우저와 PC에 종속되지 않고 독립적으로 Flash 파일을 수행한다고 생각하면 된다. 이는 모바일과 인터넷이 연결되지 않은 환경에서도 동작이 가능하다. 그리고 네트워크가 연결되면, 서버와 데이터 싱크를 할 수 있는 엔진과 Embadded DB를 포함하고 있다. Embadded DB는 Sqlite가 사용된다.
그리고 Flash Player와 가장 큰 차이점 중 하나는 Local 시스템(PC 또는 모바일 기기)의 파일 시스템이 Read/Write가 가능하다는 점이다. 그리고 AIR가 설치된 어떤 OS에서도 사용이 프로그램이 코드 변경 없이 사용이 가능하다.

Flex 3.0은 이를 위한 개발툴이다. (정확하게는 Flex Builder)  Flex 제품군은 서버용 제품들이 여러가지 있다. 그러나 가격이 비싸서 프로젝트에 적용하지는 못했었는데, 요즘은 그 대체 기술들이 많이 나오고 있고, 또 Adobe에서도 이를 위한 기술을 일부 지원하기도 한다.
Flex에 대한 라이센스 정책은 사실 잘 모르겠다.
Adobe의 김 백수 전무에게 물었더니, Flex Builder 3.0을 사면 된다고 했는데, 정말 배포에 대한 추가 라이센스가 없는지 명확하지가 않았다. (지금은 다른 부서 사람인데 Flex 2로 개발 중인 책인 개발자 한명이 이 때문에 어려워했던 기억이 있어서, 확인차 물었었다. 사실 이거 확인하는 것도 나의 참관 이유중 하나였다.)

새로운 것을 배우는 것이 즐거운 이유는 여러가지 호기심이 생기기 때문일 것이다.
반드시 신기술이 좋다고는 할 수 없지만, 사람들의 관심을 끌지 못하는 기술은 아무리 시대를 앞선다고 해도, 사라질수 밖에 없다.

그런 의미에서 이번 행사에서 많은 관심을 끈 Adobe AIR와 Flex는 향후 어떤 모습으로 개발자와 디자이너에게 그리고 사용자에게 다가갈지 귀추가 주목된다.

:
Posted by 행복상자
2008. 3. 18. 23:51

IIS 7.0 Architecuture 좋아하는 것2008. 3. 18. 23:51

요즘은 주제를 정하지도 않고서, 웹 서핑을 하다가, 공부를 하게된다.
사실 IIS 서버는 내가 처음 웹 프로그래밍을 했던 Windows NT 3.5에 내장된 웹서버 였다. 그때는(1996년도) ASP의 동적 스크립트의 장점과 쉽게 데이터 베이스 연결할 수 있도록 도와주던, Inter Dev 1.0 Beta 3는 웹 개발함에 있어서 최고의 툴이었고, 프론트 페이지와 궁합도 정말 잘 맞았다. 거에에 IIS에 쉽게 연동할 수 있었기에 당시로는 혁신적인 웹 개발 프레임워크 였다.   내 기억이 맞다면, 그 때 사용하던 IIS는 3.0 버전이었을 것이다.

2000년대에 들어서면서도 Architecture에 많은 변화가 있었고, 현재는 6.0 버전이 주로 사용되고 있다.
MIX 08에서 IIS 대한 변화된 내용들이 발표되었는데, Windows 2008서버에 포함되어 출시될것 같다.

아키텍쳐를 보면 몇가지 특이 사항들이 있지만, IIS 6.0에서 Windows Sockets API를 대체한 HTTP.sys는 더욱 중요한 역할을 할것이다. 이는 Kernel-mode 에서 동작하기 때문에 다른 웹 서버보다 빠르다고 알려져 있다. (OS의 특성을 이용하기에..)

HTTP.sys를 이용한 장점들은:
  • Kernel-mode caching. Requests for cached responses are served without switching to user mode.
  • Kernel-mode request queuing. Requests cause less overhead in context switching because the kernel forwards requests directly to the correct worker process. If no worker process is available to accept a request, the kernel-mode request queue holds the request until a worker process picks it up.
  • Request pre-processing and security filtering.

    ==> 커널모드의 장점을 살려 속도를 취대한 끌어올리는데 초점이 맞추어져 있다.
  • 다음은 HTTP Request Processing 에 대한 내용이다
    1. When a client browser initiates an HTTP request for a resource on the Web server, HTTP.sys intercepts the request.
    2. HTTP.sys contacts WAS to obtain information from the configuration store.
    3. WAS requests configuration information from the configuration store, applicationHost.config.
    4. WWW Service receives configuration information, such as application pool and site configuration.
    5. WWW Service uses the configuration information to configure HTTP.sys.
    6. WAS starts a worker process for the application pool to which the request was made.
    7. The worker process processes the request and returns a response to HTTP.sys.
    8. The client receives a response.


    그리고 IIS에 추가 가능한 모듈들이 추가되었는데, 이는
    http://learn.iis.net/page.aspx/101/introduction-to-iis7-architecture/
    를 참조하면 된다.

    :
    Posted by 행복상자
    2008. 3. 16. 08:30

    Features of the ASP.NET MVC Framework 좋아하는 것2008. 3. 16. 08:30

    이른 새벽 아침부터, 노트북은 열고 ASP.NET MVC에 대한 자료들을 읽어 보았다.
    ASP.NET 3.5의 Extention 기능으로 제공할 예정이고, 기능에 대한 세부 소개는 다음 링크를 참조하면 된다.
         - ASP.NET Model View Controller Applications

    사실상, MVC 패턴은 ASP.NET에서 구현 불가능한 것은 아니였는데, 그런데 왜 갑작스럽게 ASP.NET에서 MVC를 논하냐고 이야기 한다면, 이제 MVC 패턴도 성숙기에 들어섰기 때문이 큰 이유일 것이다. 그리고 다른 이유는 ASP.NET에서도 다른 Java의 웹 프레임워크과 같이 개발자를 위한 새로운 Framwork를 제공한 필요성을 강하게 느끼고 있는 것 같다.

           - Test Faramework (Visual Studio 2008에 nUnit이 기본 제공됨)
           - Moc 객체를 쉽게 생석할 수 있도록 지원함
           - DI(Dependency Injection)과 IoC(Inversion of Control) 지원
           - SEO(search engine optimization) and REST(representational state transfer) 지원
           - Urll despatch를 위한 Controller 와 Routing

    위와 같은 내용들이 주요 특징 들이다. 자세한 내용은 위의 링크와 다음에 발취한 ASP.NET MVC Feature 참조하면 이해에 도움이 될것이다.
     
    The ASP.NET MVC framework provides the following features:

    • Separation of application tasks (input logic, business logic, and UI logic), testability, and test-driven development (TDD) by default. All core contracts within the MVC framework are interface-based and can be tested by using mock objects, which are simulated objects that imitate the behavior of actual objects in the application. You can unit-test the application without having to run the controllers in an ASP.NET process, which makes unit testing fast and flexible. You can use any unit-testing framework that is compatible with the .NET Framework.

    • An extensible and pluggable framework. The components of the ASP.NET MVC framework are designed so that they can be easily replaced or customized. You can plug in your own view engine, URL routing policy, action-method parameter serialization, and other components. The ASP.NET MVC framework also supports using existing Dependency Injection (DI) and Inversion of Control (IOC) container models. DI allows you to inject objects into a class, rather than relying on the class to create the object itself. IOC specifies that if an object requires another object, the first objects should get the second object from an outside source such as a configuration file. This facilitates testing.

    • A powerful URL-mapping component that lets you build applications that have comprehensible and searchable URLs. URLs do not have to include file-name extensions, and are designed to support URL naming patterns that work well for search engine optimization (SEO) and representational state transfer (REST) addressing.

    • Support for using the markup in existing ASP.NET page (.aspx files), user control (.ascx files), and master page (.master files) markup files as view templates. You can use existing ASP.NET features with the ASP.NET MVC framework, such as nested master pages, in-line expressions (<%= %>), declarative server controls, templates, data-binding, localization, and so on.

    • Support for existing ASP.NET features. ASP.NET MVC lets you use features such as forms and Windows authentication, URL authorization, membership and roles, output and data caching, session and profile state management, health monitoring, configuration system, the provider architecture, and other areas of ASP.NET.


     

    :
    Posted by 행복상자