2013년 11월 26일 화요일

[토비 스프링-1일차]들어가며

<들어가며>

 - 스프링이란 무엇인가? : 

    애플리케이션 프레임워크
      -> 개발을 빠르고 효율적으로 하도록, 바탕이 되는 틀, 공통 프로그래밍 모델, 기술 API 제공

  * 애플리케이션의 기본 틀 - 스프링 컨테이너
    . 스프링 컨테이너: 설정정보를 참조, 애플리케이션을 구성하는 오브젝트를 생성/관리
      -> 스프링 컨테이너를 다루는 법/설정 정보를 작성하는 법을 알아야 함

  * 공통 프로그래밍 모델 : 애플리케이션 코드가 어떻게 작성되어야 하는지 기준 제공
    . IoC/DI : 오브젝트 생명주기, 의존관계에 대한 프로그래밍 모델(설계 원칙, 핵심 원리)
    . 서비스 추상화 : 환경, 서버, 특정 기술에 비종속적
    . AOP : 애플리케이션 코드에 산재해서 나타나는 부가적 기능을 독립 모듈화

  * 기술 API
    . 일관된 방식으로 사용할 수 있도록 기능, 전략 클래스를 제공

 - 스프링의 성공요인

    사실상 자바 엔터프라이즈 표준 기술: 기본에 충실했기 때문
    스프링을 사용하면서 얻게 되는 두 가지 중요한 가치

  * 단순함
    . EJB의 불필요한 복잡성 비판
    -> 목적을 이룰 수 있는 가장 단순하고 명쾌한 접근/ 객체자향 언어의 장점을 살렸음.

  * 유연성
    . 유연성과 확장성 => 접착 프레임워크/ 스스로 발전하는 프레임워크
    -> 스프링을 제대로 사용하려면 스프링을 필요에 맞게 확장해서 자신만의 프레임워크를 만들어서 사용할줄 알아야 한다.

- 스프링 학습과 활용의 어려움

   스프링의 가치를 제대로 누리며 사용하려면 스프링을 제대로 공부해야 한다.
 
  * 스프링의 핵심 가치와 원리에 대한 이해(Vol 1)
    . 핵심 기술, 프로그래밍 모델을 이해

  * 스프링의 기술에 대한 지식과 선택 기준 정립(Vol 2)
    . 다양한 선택의 문제를 각 기술영역별로 효과적으로 다루는 법 학습
    . 최선의 기술과 접근방법을 선택할 수 있어야

  * 스프링의 적용과 확장
    . 스프링의 자유도를 줄이고 각 현장의 상황에 맞는 접근 방법을 정립


- 스프링을 성공적으로 학습했다면 

  스프링을 학습하고 적용한 후 자신의 코드가 좀 더 깔끔하고 단순해지면서 객체지향 원칙에 충실하게 작성됬는지, 생산성과 품질이 좀 더 나아졌는지 확인. 더 많은 테스트 코드를 작성하고 유연하고 확장이 손쉬운 애플리케이션을 만들고 있는지.

학습 시간: 2013.11.27 오전 9:30 ~ 10:30

댓글 없음:

댓글 쓰기