당신은 미쳐야 합니다. 미치려면 이유가 있어야 합니다. '미쳤다'라고 말할 때도 분명한 이유가 있어야 합니다. 이것은 정신병이 들었다는 말이 아니라, 자기가 옳다고 하는 일에 몰입하는 것을 말합니다. 이것 밖에 다른 길이 없다고 생각하고 자신의 생명을 거는 것을 말합니다. 가슴에 있는 불을 아무도 끌 수 없는 사람이 된다는 것을 말합니다. 저는 미친 사람이고, 여러분은 안 미친 사람이에요.
- 옥한흠의《광인》중에서 -
* 당신은 미쳐야 합니다. 좋은 일에 제대로 미쳐야 합니다. 아무나 제대로 미친 사람이 될 수 없습니다. 꿈이 있는 사람, 그 너머에 꿈너머꿈이 있는 사람, 그걸 생각하면 가슴이 뛰는 사람만 미칠 수 있습니다. 미친 사람만 새 길을 낼 수 있습니다. 좋은 길을 새로 낼 수 있습니다.
1. 인터페이스란? 인터페이스는 일종의 추상클래스이다. 인터페이스는 추상클래스처럼 추상메서드를 갖지만 추상클래스보다 추상화 정도가 높아서 추상클래스와 달리 몸통을 갖춘 일반 메서드 또는 멤버변수를 구성원으로 가질 수 없다. 오직 추상클래스와 상수만을 멤버로 가질 수 있으며, 그 외의 다른 어떠한 요소도 허용하지 않는다. 추상클래스를 부분적으로만 완성된 '미완성 설계도'라고 한다면, 인터페이스는 구현된 것은 아무 것도 없고 밑그림만 그려져 있는 '기본 설계도'라 할 수 있다.
인터페이스는 추상클래스처럼 완성되지 않은 불완전한 것이기 때문에 그 자체만으로 사용되기 보다는 다른 클래스를 작성하는데 도움 줄 목적으로 작성된다.
2. 인터페이스의 장점
- 개발시간을 단축시킬 수 있다. 일단 인터페이스가 작성되면, 이를 사용해서 프로그램을 작성하는 것이 가능하다. 메서드를 호출하는 쪽에는 메서드의 내용에 관계없이 선언부만 알면 되기 때문이다. 그리고, 동시에 다른 한 쪽에서는 인터페이스를 구현하는 클래스를 작성하도록 하여, 인터페이스를 구현하는 클래스가 작성될 때까지 기다리지 않고도 양쪽에서 동시에 개발을 진행할 수 있다.
- 표준화가 가능하다. 프로젝트에 사용되는 기본 틀을 인터페이스로 작성한 다음, 개발자들에게 인터페이스를 구현하여 프로그램을 작성하도록 함으로써 보다 일관되고 정형화된 프로그램의 개발이 가능하다.
- 서로 관계없는 클래스들에게 관계를 맺어 줄 수 있다. 서로 상속관계에 있지도 않고, 같은 조상클래스를 가지고 있지 않은 서로 아무런 관계도 없는 클래스들에게 하나의 인터페이스를 공통적으로 구현하도록 함으로써 관계를 맺어 줄 수 있다.
- 독립적인 프로그래밍이 가능하다. 인터페이스를 이용하면 클래스의 선언과 구현을 분리시킬 수 있기 때문에 실제 구현에 독립적인 프로그램을 작성하는 것이 가능하다. 클래스와 클래스간의 직접적인 관계를 인터페이스를 이용해서 간접적인 관계로 변경하면, 한 클래스의 변경이 관련된 다른 클래스에 영향을 미치지 않는 독립적인 프로그래밍이 가능하다.
맹인으로 태어난 것보다 더 불행한 것은 시력은 있으나 비전이 없는 것이다. (The only thing worse than being blind is having sight but no vision.) - 헬렌 켈러(Helen Keller)
비전은 마술과 같습니다. 모든 일이 이루어질 수 있는 미래의 가능성이며 크고 대담한 생각들입니다. 그렇기에 비전이 없는 하루하루의 삶은 캄캄한 터널을 지나는 것과 같습니다. 개인이나 조직에 비전이 없다면, 아무리 시급한 일이라도 일단 멈추고 며칠, 몇 달이 걸리더라도 이를 먼저 세워야 합니다. 비전 수립 단계는 감당하기 어려운 흥분과 에너지, 멋진 미래의 전망을 만들어 내는 시기입니다.
Vision is like magic; it stores future potential and instills in us boldness that makes anything seem possible. A life without vision is like passing through a dark tunnel day after day. If an individual or group has no vision, no matter how urgent the workload is, they must stop for as long as it takes and come up with one. The phase in your life where you establish your vision is an exciting period brimming with energy, enthusiasm and promise for great potential.
나는 겨울에 여름을 아쉬워하지 않는다. 셰익스피어가 잘 말했다. '5월의 새로운 환희 속에서 눈을 그리지 않듯, 크리스마스에 장미를 갈망하지 않는다.' 바로 그렇다. 모든 것에 제철이 있는 법.
내 손녀는 두 살에 맞은 크리스마스 때 아기 예수의 구유를 처음 보고는 몇 년 후에도 '숲속의 아기' 이야기를 했다.
- 타샤 튜더의《행복한 사람, 타샤 튜더》중에서 -
* 그렇습니다. 모든 일에 제철이 있습니다. 여름에는 장미가 피고, 겨울에는 눈꽃이 핍니다. 좋은 기억도 어린 시절에 만들어져야 오래 갑니다. 어린 시절에 맞은 크리스마스 기억이 무궁한 이야기를 만들어 줍니다. 누울 자리가 없어 구유에 누우신 '숲속의 아기'가 많은 사람들에게 끝없는 사랑 이야기, 행복 이야기로 이어지고 있습니다.
JAVA 공통모듈 개발 : 데이터베이스에 대한 접근을 전담하고 있는 DAO 클래스는 공통적으로 개발해보자.
1. 기본 아키텍처
최근 대부분의 중,대규모 웹 애플리케이션은 효율적으로 개발 및 유지보수하기 위하여 계층화하여 개발하는 것이 일반적이다. 이 아키택처에서 기본적으로 가지는 계층은 UI 계층, 비지니스 계층, 퍼시스턴스 계층(Persistence Layer), 도메인 모델 계층(Domain Model Layer) 의 네 가지로 구분할 수 있다.
■ UI 계층 * 사용자에 대한 요청 및 응답 처리 * 상위 계층(비지니스 계층, 퍼시스턴스 계층)에서 발생하는 Exception, Error 에 대한 처리. * 최종 UI에서 표현해야 할 도메인 모델을 엮는 기능 * 최종 UI에서 입력한 데이터에 대한 유효성 검증(Validation) 기능 * 비지니스 로직과 최종 UI 사이를 분리하기 위한 컨트롤러 기능
■ 비지니스 계층 * Application 비지니스 로직 처리와 비지니스와 관련된 도메인 모델의 적합성 검증 * Transaction 처리 * UI 계층과 Persistence 계층 사이를 연결하는 역할로서 두 계층이 직접적으로 통신하지 않게 하여 Application의 유연성을 증가시킨다. * 비지니스 계층에 있는 객체들 간의 관계를 관리한다. * 다른 계층들과 통신하기 위한 인터페이스를 제공한다.
■ Persistence 계층 * 영구 데이터를 빼내어 객체화시킨다. * 영구 저장소(일례로 관계형 데이터베이스)에 데이터를 저장, 수정, 삭제한다.
■ Domain Model 계층 * 관계형 데이터베이스의 엔티티와 비슷한 개념을 가지는 것으로 실제 비지니스 객체를 의미한다.
위 네 계층은 독립적으로 분리할 수 있도록 구현해야 하며, 일반적으로 각 계층 사이에서는 도메인 모델을 제외하고 Interface를 이용하여 통신하는 것이 일반적이다.
보스는 두려움을 만들고, 리더는 확신을 창조한다. 보스는 비난을 돌리고, 리더는 잘못을 바로잡는다. 보스는 모든 것을 알고 있고, 리더는 질문을 한다. 보스는 일을 힘들게 만들고, 리더는 흥미롭게 만든다. 보스는 자신에게만 관심을 가지고, 리더는 조직에 관심을 가진다. (A boss creates fear, a leader confidence. A boss fixes blame, a leader corrects mistakes. A boss knows all, a leader asks questions. A boss makes work drudgery, a leader makes it interesting. A boss is interested in himself or herself, a leader is interested in the group.) - 러셀 유잉(Russel H. Ewing)
높은 자리를 차지하고 있는 사람이 보스입니다. 그러나 높은 지위에 올라간다고 해서 누구나 리더가 되는 것은 아닙니다. 구성원에게 비전제시, 인간 존중, 책임과 정직성, 솔선수범, 임파워먼트, 변화주도와 같은 바람직한 영향력, 즉 리더십을 행사할 줄 아는 사람만이 리더라 할 수 있습니다.
A person with high authority is called the boss. But status alone does not reflect leadership. A boss can only be called a leader when he displays vision, respect, responsibility and initiative; allows empowerment; emits a valuable influence; and competently directs change.
나이 드니까, 글쎄, 혓바닥도 같이 늙어 가는지 음식 맛을 잘 모르겠어. 내 딴에는 최대한 싱겁게 끓였는데 애들은 너무 짜다고 난리야. 콩나물도 맛없다, 김치도 맛없다, 엄마 솜씨가 왜 이렇게 형편 없어졌냐고 타박들이야. 남편은 아무 소리도 않는데 말이야. 그러고 보니 그 양반도 맛있어서 아무 소리 안 한 게 아니라 맛을 못느껴서 그랬나 봐.
- 박혜란의《다시, 나이듦에 대하여》중에서 -
* 인생의 겨울이 왔다고 너무 낙심하거나 서러워할 것 없습니다. 나무도 때가 되면 꽃도 지고 잎도 떨어집니다. 자연의 이치, 세상의 이치를 겸허하게 받아들이는 것, 주름은 많아져도 아름답게 나이들어 가는 것, 함께 나이들어 가는 사람의 얼굴을 보며 웃음 잃지 않고 기운 넘치게 사는 것, 나이들어 맛있게 사는 길입니다.
작은 꿈을 꾸지 마라. 그것은 당신의 피를 들끓게 하는 기적을 일으키지 못한다. 원대한 꿈을 세우고 드높은 이상과 희망을 향해 나아가라. (Make no little plans; they have no magic to stir men's blood...Make big plans, aim high in hope and work.) - 대니얼 버넘(Daniel H. Burnham)
성공은 동기와 집중과 인내에 의해 이뤄진다고 합니다. 어떤 이는 세상에서 가장 이상한 비밀은 ‘모든 일은 우리가 생각하는 대로 이루어진다는 사실’이라고 말합니다. 성공한 사람들은 늘 소망을 품고 있습니다. 그들은 지금 상태에 만족하지 않고 더 나은 변화를 원합니다. 지금까지 성공하기를 원하지 않은 승리자는 없었습니다. 목표가 없는 사람은 키 없는 배와 같습니다.
Success is made through motivation, focus and patience. Someone once said that the strangest secret in life is that “Everything we hope for becomes reality.” Successful people always possess the desire for something more. They are not satisfied with what they have, and so they strive for something better. There have been no victors who did not want success. A person with no ambition is like a boat without a rudder.