달력

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/04'에 해당되는 글 11

  1. 2008.04.09 Spring Dynamic Module 개발 환경
  2. 2008.04.05 Automatic Properties
  3. 2008.04.05 영어 공부를 하고 있는 지금 든 생각...

Spring Framework에 대한 관심이 어느때보다 높다.
단지, 유행의 차원을 넘어서서, 개발 효율을 한단계 높일수 있는 계기가 될거라 생각하는 많은 SI업체들이 경쟁적으로 도입하고 있다. 최근 내가 근무하고 있는 회사에서도 일부 도입하여 개발하는 팀도 생기고 있고, 도입을 고려하고 있는 팀도 있다.
내가 속해 있는 팀은 후자에 속한다. 개발의도는 기본적으로는 재활용성을 극대화 하여 모듈간의 의존성을 줄이면서도 중복 개발을 피하려는 의도가 포함되어 있다.

이미 아는 사람들은 알고 있겠지만, Spring Dynamic Module은 기존의 Spring OSGi에서 변경되었다. (Spring Dynamic Modules for OSGi Service Platforms이 Full Name이고 약어로는 Spring-DM으로 사용된다.)
위에서 잠깐 언급하였지만, 현재 진행하고 있는 프로젝트는 Spring Framwork의 여러 부분들과 Spring-DM을 적극 도입하려고 검토하고 있다.

최근에 호주로 간 Toby(일민)이와 채팅을 통해서 어떤 부분들을 공부해야 하는지 의견을 나누었었다.  OSGi에 대한 무지한 내가 어떤식으로 접근해야 하는지 정말 막연했는데, 여러가지 정보들을 얻을수 있었다. 이는 나중에 기회가 되면 따로 정리할 것이다.

Spring-DM은 Java 1.4와 OSGi 4.0이 필요하고 Spring 2.5 또한 필요하다.
OSGi는 일반적으로 Eclipse-equinox가 추천되고 있다. 이미 아는 사람들은 다 알겠지만, Eclipse IDE 3.x는 OSGi를 기반으로 설계되어 개발되었고, 이미 수백만 개발자들이 다운받아 사용하고 검증한 OSGi의 가장 성공한 Case model이다. 그리고, Spring Framework 2.5도 OSGi 번들로 개발되어있다.

이런점에서 Eclipse-Equinox는 OSGi를 분석하고 공부하는데 분명 큰 도움이 될것이다.

:
Posted by 행복상자
2008. 4. 5. 11:05

Automatic Properties 좋아하는 것2008. 4. 5. 11:05

자바에서는 getter과 setter을 이용하여 클래스 객체에 상태값을 설정하거나, 상태값을 읽어들인다. 일반적으로 클래스의 멤버 변수를 private로 설정한 후 각각의 값을 getter과 setter로 재 정의 하는 것은 사실 노가다(?) 스러운 작업이라고 스스로 생각을 했었다. 특히 맴버 변수가 5개 이상으로 늘어나면, 이는 정말 코드의 양만 늘이고, 사용에는 별 도움이 안되는 작업을 반복적으로 해야 한다는 사실에 불평을 하곤 했다. 나중에 Eclipse에서 자동으로 생성해주는  Dialog를 무척 고마와 했다.(아래 그림 참조)

Generate Getter and Setter dialog

.Net이나 Visual Basic에서는 getter, setter 대신에 Properties를 사용한다. 물론 getter와 setter 형태로도 만들수 있지만, 사실 이는 다른 메소드와 큰 차이는 없다.
Properties는 마치 변수에 대입하거나, 변수에서 값을 읽는 것과 큰 차이가 없어, 직관적이고 사용하기 편리하다.

하지만, 이를 정의 하기 위해서는 자바의 getter, setter처럼 여러 줄에 걸쳐서 코드를 작성하기 때문에 불편하기는 마찬가지이다. 물론 Visual Basic 6에서는 툴을 이용하여 정의하기도 했지만, 습관적으로 Coyp/Paste 메소드를 이용해서 복사후 수정하는 것이 일반적인 사용법이었다.

Properties는 아래와 같은 형태로 정의하게 된다. Java의 getter,setter과 크게 다르지 않다. 아래의 코드는 C#으로 되어 있어서 Java를 아는 사람도 어렵지 않게 이해할수 있을 것이다.

    public class Person {

       
private string _firstName;
        private string
_lastName;
        private int
_age;
       
        public string
FirstName {

           
get {
               
return _firstName;
           
}
           
set {
                _firstName
= value;
           
}
        }

       
public string LastName {

           
get {
               
return _lastName;
           
}
           
set {
                _lastName
= value;
           
}
        }       
       
       
public int Age {

           
get {
               
return _age;
           
}
           
set {
                _age
= value;
           
}
        }
    }

이를 Automatic Properties로 바꾸면 다음과 같다. 보기 편하고 심플하다. 그리고 Private로 변수를 클래스 내에 선언해서 사용할 필요도 없다. 물로 내부적으로 연산 처리하는 경우는 조금 다를수 있다.

    public class Person {
   
       
public string FirstName {
           
get; set;
       
}

       
public string LastName {
           
get; set;
       
}        
       
       
public int Age {
           
get; set;
       
}
    }

이를 좀더 가독성 있도록 쓰고 사용하려면, 아래와 같이 고쳐서 사용하면 된다.

    public class Person {
       
public string FirstName { get; set; }
       
public string LastName  { get; set; }        
       
public int    Age       { get; set; }
    }


그럼 이것은 뭘 뜻하는 것인지 한번 생각해 보시길... 퀴즈 아닌 퀴즈



The simple is good!




 

:
Posted by 행복상자
지난주부터 사내 영어 회화 강좌를 수강하고 있다.
나이들어서 하는 공부라 만만치는 않고, 오전 7시 20분 부터 진행되는 강의라 왠만한 노력이 아니고서는 참석하기도 어렵다. 하지만, 필요에 의해 자발적으로 참석하는 것이기 때문에 나름 열심이다.

사실, 나는 외국어에는 잼병이다. 프로그램을 짜기 위해 익히는 프로그램 언어와는 너무도 다르다. 그래서 사실 대학을 졸업하고는 담을 쌓았다. 아니 대학을 다닐때도 프로그램이 너무 재미있어, 남들만큼 열심을 내어 학원을 다니거나, 학과에 우선해서 영어에 몰두하는 다른 친구들과는 달리, 내가 관심있도 좋아하는 분야를 위해서 노력하고, 만드는 일에 더 매력을 느끼고 있었기에 영어에 대한 관심을 오직 전공과목을 위해 원서를 읽는 일이 전부였다.

하긴 당시에는 영어로 말하는 사람을 드물었고, 공대생의 경우 토익이 반드시 입사를 결정하는 중요요인도 아니었다.

현재의 회사에 들어온지는 올해가 8년째이다. 입사 후 여러가지 프로젝트를 했었는데, 해외의 다른 업체와 협업을 해야 하는 경우도 있고, 교육과 다양한 형태의 미팅도 있었다. 읽는 것이 아니라 말하고 듣는 부분에는 무척 힘이 부친다는 생각이 들었다. 특히 외국 사람에 대한 거부감이 무척 컸다.

하지만, 요즘은 다르다. 팀내에 외국인들이 많이 있고, 외국인과 이야기한다는 거부감도 없다. 물론 말하고 듣는 것에 대한 부담감은 여전하지만....
작년에 나에게 좋은 기회가 주어졌다. 몇달동안 영어 공부를 할 수 있는 프로그램에 들어가게 된 것이다. 온 종일 영어로만 이야기하고, 한국어는 절대로 사용할 수 없는 것이 프로그램의 룰이었다. 이는 나에게 새로운 전기가 되었다. 그러나 잘 듣고 말하기에는 충분한 시간은 아니었다.(내 생각에는 한 2년 정도 외국에서 생활하면 잘 할것 같은데....)
내가 가지고 있던 외국인에 대한 두려움을 없애고, 영어공부하는 방법에 대해 배울 수 있었다는 점은 그 때 얻은 가장 큰 수학이다.

외국어는 습관과도 같아서 즐기면서, 꾸준하게 하는 것이 제일 좋은 학습법인것 같다. 그리고, 말할 수 있는 기회를 자주 접할 수 있어야 효과도 크다.
그런 면에서, 요즘 초중고교의 영어학습 방법의 변화는 환영할 만하다. (우리 세대는 정말 읽는 것만 영심히 했다.) 물론 비용지불에 대한 것은 우려할 만 하지만, 요즘 신입 사원들은 학교를 휴학하고 외국에 어학 연수를 다녀오늘 것이 당연하다고 말하는 현 시점에서는 막연히 반대할 이유는 없을 것 같다.

매끄럽지 않지만 영어로 외국인과 이야기 하는 것도 즐겁고, 정확하지 않지만, 그들이 이야기하는 것을 들을 수 있어서 즐겁다.
특히, 나와 같이 외국에 있는 누군가와 같은 프로젝트를 하고 있다는 사실은 정말 경이롭다.
내가 10년전에는 전혀 생각하지 못했던 방식으로 내가 일하고 있다는 사실이 정말 놀랍다.

이러한 경이로움을 내 아이에게도 나누어 주고 싶다. 아마도 10년 20년 후는 지금과 다른 형태로 지구상의 누군가와 일하고 있을지도....



 

 

'좋아하는 것' 카테고리의 다른 글

Java 7의 자바 Module System  (0) 2008.04.12
Automatic Properties  (0) 2008.04.05
ASP.NET MVC & Request Flow  (0) 2008.03.29
Visual Basic 2008 hot fix in Visual Studio 2008  (0) 2008.03.29
IIS 7.0 Architecuture  (0) 2008.03.18
:
Posted by 행복상자