달력

4

« 2008/4 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 27
  • 28
  • 29
  • 30
2008. 4. 29. 23:12

Google Gears on Mobile Devices 좋아하는 것/Google2008. 4. 29. 23:12

작년에 Google gears에 대해서 잠시 분석해 본적이 있다. 그리고 몇몇 다른 플랫폼에서 그 아키텍쳐의 유사함과 기능에 대해서 자료를 조사해 보았었다.
MS의 Silver light, Sync Framework과 Adobe의 Air가 그 것이다. 그래서, 올해도 일부러 Adobe의 Air/Flex의 발표장을 찾아 나섰다.

동기화에 대한 개념은 크게 어렵지 않다. 그러나 왜 갑자기 이슈가 되었을 지는 생각해 볼 문제이다. 이는 향후 개발 방향을 크게 좌우 할 수 있다. 현재의 추세대로라면, 앞으로는 Moblie이 PC보다 더 큰 시장이 될 것이 틀림없다.  그리고, 이는 현재의 개발 방법론을 바꿀지도 모른다. 그러나 네트워크에 연결되는 순간 배터리의 사용량을 급격히 늘어난다. 필요할 때만 네트워크에 연결한다면 배터리의 사용시간을 늘릴수 있을 것이다. Google은 이러한 관점에서 gears의 구조를 설계 했다.

구글 gear의 Architecture는 정말 Simple하다. 누구나 생각할 수 있는 구조이고, 쉽게 구현할 수 있고, 쉽게 이해할 수 있는 구조이다. 하지만 콜롬부스의 달걀은 도전과 두려움의 극복이 우선되어야 한다.

  • isolating the data layer
  • deciding which features to implement offline (connection strategy)
  • deciding on the app's modality
  • implementing data synchronization

    Background sync architecture

    이번에 다시 Google gears에 대해서 다시 한번 볼 기회가 있어서 Google code를 뒤져 보았더니, 모바이 디바이스를 위한 Google gears에 대한 자료가 있어서 살펴보게되었다.

    사실 Google gear의 궁국적인 목적은 모바일 디바이를 위한 것이다. 내부에 내장되어 있는 Database를 이용하여 인터넷/네트워크가 되지 않는 환경에서도 인터넷 어플리케이션은 자유롭게 이용할 수 있도록 google gears는 도와준다. 그리고 인터넷/네트워크가 연결될 때, 서버와 자료를 자동으로 동기화 한다.  

    이번에 내가 찾아 참고한 자료는 모바일에 Google gears를 데스크탑 PC에서와 같이 윈도우즈 모바일 5,6에서 Application을 사용가능하게 만들어 준다. 그러나 여기에는 몇 가지 제약 사항들이 있다.

    CSS와 Dom object Model과 ActiveX등 제약사항이 있는데, 이는 Windows Mobile 5,6의 Web browser가 데스크답 PC의 그것과 기능과 구조가 다르기 때문이다.

    관련된 제약 조건들은 아래와 같다.

    Windows Mobile 5 and 6 Limitations

    Limitations to consider when writing AJAX applications for Windows Mobile 5 and 6 devices, and some workarounds, are provided below:

    CSS

    Neither Windows Mobile 5 nor 6 support the CSS position: style attribute. This means text is not positioned in any way, it simply appears within the normal flow of an HTML document.

    Document Object Model

    Document Object Model (DOM) limitations, and example workarounds, are provided below:

    Accessing a Document Element

    Windows Mobile 5 does not support document.getElementById(), though Windows Mobile 6 does. The following code snippet provides a workaround using the document.all DOM property.

  • :
    Posted by 행복상자

    Spring MVC는 Spring Framework중에서 웹 개발을 쉽게 할 수 있도록 도와준다.
    국내에서 출판된 책들은 Source를 제공하기는 하지만, 책을 보고 Source를 실행하려고 하면 잘 동작하지 않는다. 물론 손으로 직접 쳐서 입력할때 오타가 있기는 하지만, 서버의 설정과 환경 구성에 대해서 충분하게 설명해 주지 못하기 때문이다.

    이를 위해, www.springframework.org에서는 제공하고 있는 Spring MVC를 위해서, Developing a Spring Framework MVC application step-by-step
    라는 제목으로 Spring MVC개발에 대해 설명하고 있다. 2003년에 작성된 것과 올 2008년에 작성된 것이 있다.

    예제는 초보자를 위해서, 개발 환경 설정과, Ant의 Build.xml 만들기와 사용법등을 부과적으로 설명하고 있다. Ant를 사용하는 법도 부과적으로 얻을 수 있다. 이에 대한 목차는 다음과 같다.(2003년도 작성)

    [목차] 
    Part 1 – Basic Application and Environment Setup
    Part 2 – Developing and Configuring the Application
    Part 3 – Adding Unit Tests and a Form to the Application
    Part 4 – Implementing Database Persistence

    위는 2003년도에 작성된 예제와 Sample이고 tex t위주의 설명으로 되어 있지만,  MVC개발을 위한  설정 XML 파일을 어떻게 작성해야 하는지, 그리고 Dispatcher와 Controller 그리고, View에 대한 코드들에 대해 쉽게 이해할 수 있도록 예제와 더불어 쉽게 설명하고 있다.

    그리고, 2008년도에 작성된 Spring MVC step-by-step의 목차는 다음과 같은데, 설명과 함께 캡처한 이미지를 제공하여 설명을 돕고 있다.

    [목차]
     

    Overview
    1. What's covered
    2. Prerequisite software
    3. The application we are building
    1. Basic Application and Environment Setup
    1.1. Create the project directory structure
    1.2. Create 'index.jsp'
    1.3. Deploy the application to Tomcat
    1.4. Check the application works
    1.5. Download the Spring Framework
    1.6. Modify 'web.xml' in the 'WEB-INF' directory
    1.7. Copy libraries to 'WEB-INF/lib'
    1.8. Create the Controller
    1.9. Write a test for the Controller
    1.10. Create the View
    1.11. Compile and deploy the application
    1.12. Try out the application
    1.13. Summary
    2. Developing and Configuring the Views and the Controller
    2.1. Configure JSTL and add JSP header file
    2.2. Improve the controller
    2.3. Decouple the view from the controller
    2.4. Summary
    3. Developing the Business Logic
    3.1. Review the business case of the Inventory Management System
    3.2. Add some classes for business logic
    3.3. Summary
    4. Developing the Web Interface
    4.1. Add reference to business logic in the controller
    4.2. Modify the view to display business data and add support for message bundle
    4.3. Add some test data to automatically populate some business objects
    4.4. Add the message bundle and a 'clean' target to 'build.xml'
    4.5. Adding a form
    4.6. Adding a form controller
    4.7. Summary
    5. Implementing Database Persistence
    5.1. Create database startup script
    5.2. Create table and test data scripts
    5.3. Add Ant tasks to run scripts and load test data
    5.4. Create a Data Access Object (DAO) implementation for JDBC
    5.5. Implement tests for JDBC DAO implementation
    5.6. Summary
    6. Integrating the Web Application with the Persistence Layer
    6.1. Modify service layer
    6.2. Fix the failing tests
    6.3. Create new application context for service layer configuration
    6.4. Add transaction and connection pool configuration to application context
    6.5. Final test of the complete application
    6.6. Summary
    A. Build Scripts


    위의 순서대로 예제를 실행해 보았는데, 어렵지 않게 스프링 MVC에 대해 이해할 수 있었고, 개발시 환경 구성과 설정방법들에 배울 수 있었다.



    :
    Posted by 행복상자

    최근에 Spring에 대한 책을 몇권 구매했다. 국내 서적과 국외서적 포함해서, 대 여섯권정도 구매했는데, 구매하면서 느낀 것은 국내에는 볼 만한 Spring에 대한 책이 그리 많지 않다는 점이다. Spring Framework 자체가 워낙 방대해서, 아니 방대해지고 있어서 그럴지도 모르겠다. 스프링이 관여하는 Framework와 모듈들이 참 많다. (공부할 것들도 참 많다.)

    최근에 국내에 소개된 책들은 대부분이 Spring Framework 1.2 기반의 책들이다. Toby(일민)가 스프링 관련 책을 쓴다고 했던것이 약 1년 전인데, 아직도 책의 그림자도 못보고 있다. 그때 당시는 2.0이 나온다고, 2.0에 대한 이야기를 추가 한다고 하더니, 곧 Spring Framework 2.5가 나온다고 다시 업데이트해서 내보낸다고 하더니, 호주로 낼롬 떠나 버렸다.

    최근에 호주로 물어볼 것이있어서 전화해서, 언제 다시 책이 나오냐고 물었더니, 바쁘다고 정신없다고만 하고 말끝을 흐리던데, 과연 올해는 책을 구경 할 수 있을지...

    암튼 국외 서적에서도 Spring 2.5에 대한 책은 찾아 보기 힘들다. Spring in Action도 2007년에 2판째 나온것도 2.0에 대한 책이다. Spring in Action은 번역판으로 처음 봤는데, 예제를 따라하기 쉽고, 내용의 구성도 잘 된 책이라고 생각했다. 이번에 받은 원서도 그러리라 생각된다.

               


    그리고 우연히, Spring 관련 자료들을 찾다가, 일민이가 오래전에 올려놓은 글들을 찾았다. 누군가가 개인적으로 자료들을 모은 것인데, 한번 읽어 볼만하다.

    아래는 Toby(일민)이가 예전에 쓴 글이 있어서, 링크를 걸어 놓았다.

    [목     차]

        1. 왜 EJB 없는 J2EE 개발에 대해 이야기하는가?
        2. EJB 없는 J2EE 개발이 추구하는 목적
        3. 대표적인 J2EE 아키텍처에 대한 비교
        4. 요구사항을 가장 잘 충족시키는 가장 심플한 것을 찾으라.
        5. 문제 많은 EJB, 그러나 EJB에서 배울 것은 많다.
        6. 경량급 컨테이너와 IoC.

    출처 : http://openseed.net:8080/wiki/Wiki.jsp?page=Spring

    몇년 전에 EJB로 개발하던 프로젝트가 있었는데, EJB를 꼭 써야 하는지, 정말 필요한지 묻곤했다. 개발하기에 너무 불편했다. 위 내용들을 읽다 보면, 그 때의 그 느낌들이 생각난다.

    간단하고, 쉽게 개발할 수 있다면 그게 그 프로젝트에 맞는 옷 일 것이다.
    상황과 계절에 맞은 옷을 입을 수 있다면, 그 어떤것이 그보다 편할 수 있을까?


    The Simple is The Best!


     

    :
    Posted by 행복상자
    2008. 4. 21. 22:35

    ASP.NET MVC의 Roadmap 공부하는 것2008. 4. 21. 22:35

    ASP.NET의 로드맵이 CodeFlex에 올라와 있어서, 소개한다.
    상세한 내용은 없고, 그냥 참고할 만한 내용이다.

  • Controller Class Refactorings to improve testability
  • Ajax Support
  • Security/Authorization Model
  • Refactor TempData Dictionary for improved testability
  • Helper Methods Improvements
  • Reusable Component Model
  • Silverlight Helpers
  • Various other refactorings and bug fixes

  •  

    :
    Posted by 행복상자