January 2009 Archives

처음 만나는 사람에게 "평소에 남의 말을 잘 믿지 못하죠?" "가끔 대담할때도 있지만 한편으론 소심해 질 때도 있군요" 이런식의 뻔한 말에 대다수 사람들이 자신의 이야기라고 손뼉을 친다. 이런 심리학적 현상을 바넘 효과라고 한다.

바넘 효과는 아주 일반적이거나 모호한 성향을 자신의 것이라고 받아들이고 또한 아주 정확하다고 생각해 버리는 경향을 말한다. 대부분의 점쟁이, 의사(?), 변호사(?), 컨설턴트와 같은 말쟁이 들의 교양필수 과목이 바로 이 바넘효과 아닌가 싶다.


Barnum Effect : is a term that is used in psychology. It is the tendency for people to accept very general or vague characterizations of themselves and take them to be accurate. A good example of this can be seen when people believe what is said about them in psychometric tests, personality profiles, astrological predictions, and so on. This phenomenon is named after P. T. Barnum, who believed that a good circus had "a little something for everybody." Even though the descriptions or descriptive terms used in the inventories, typologies, and tests can apply equally well to other people, some individuals are gullible enough to believe they are unique to themselves. Of course, this is exactly what happens with the horoscope, palm reading, and crystal ball gazing (Referring to the comments of P.T. Barnum, 1810-1891, American showman, about public gullibility).

소프트웨어 아키텍트라는 직책을 달고 일을 시작한지 벌써 4년이나 지났다. 하지만 정작 내 검색리스트는 java, javascript, dbms, frameworks, design pattern, refactoring... 가 고작이다. 숲을 보지 못하고 자꾸만 나무만 파고 있었던 것은 아닐까? 심히 부끄럽다. 

 소프트웨어 아키텍처를 진지하고 파고 드는 친구도 보이지 않고 당장 구할수 있는 자료가 그리 많지 않은것도 사실이지만 노력이 부족한 것도 사실이다. 소프트웨어 아키텍트는 정확히 무엇을 하는 역할일까? 고참 개발자와 아키텍트는 어떤 차이 일까? 등 업무 중에 많은 답답함을 안고 있으면서도 아직 구글링 한번 하지 않았다니... 

즐거운 코드, 기술이슈에 관심 좀 덜고 숲을 한번 바라보자..

 

그런의미에서 관심가는 Site link를 소개한다.

 

1. 아키텍트는 무엇을 해야 하나?

Bredemeyer Consulting(http://bredemeyer.com) 엄청나게 많은 소프트웨어 아키텍처 프로세스 자료를 제공한다. 특히 궁금했던 Architecture Role and Skill 관련 자료가 나와 있다.

 

2. 고참 개발자와 아키텍트는 어떻게 다른가?

(Hiring the phantom java architect.)http://www.javaworld.com/javaworld/jw-05-2005/jw-0509-architect.html

 

3. 소프트웨어 아키텍처를 어떻게 전달할 것인가?(문서화)

http://www.ibm.com/developerworks/library/ar-archdoc1/index.html

The software architecture of a program or computing system is the structure or structures of the system, which comprise software components, the externally visible properties of those components, and the relationships between them.

-- Wikipedia --

 

"프로그램이나 컴퓨팅 시스템의 소프트웨어 아키텍처는 소프트웨어 구성요소와 그들이 지니고 있는 특성 중에 외부에 드라나는 특성, 그리고 구성요소들의 관계를 표현하는 시스템의 구조나 구조체를 말한다."
-- 소프트웨어 아키텍처 이론과 실제 --

 


소프트웨어 아키텍처는 아래의 3가지로 구성된 시스템의 구조(structure) 를 의미한다.

1. 소프트웨어를 이루는 구성요소
2. 구성요소의 외부에 드러나는 특성
3. 구성요소들의 관계

 

소프트웨어를 이루는 구성요소는 수많은 특성을 가지고 있다. 여기서 말하는 외부에 드라나는 특성은 특정 목적에 대해 관련이 있는 요소만 추려낸 특성이다.

어느 웹어플리케이션에 꼭 사용되는 것이  datepicker일 것이다.

jquery UI 컴포넌트를 이용해서 구현해 보자.

 

구현결과

 

 

구현코드

<script>

$("#sample_datepicker").datepicker();

</script>

 

<div id="sample_datepicker"></div>

다이나믹한 웹페이지의 느낌을 줄 수 있는 jquery UI의 Accordion을 적용해 보았다.

용도 : 비좁은 공간에 많은 데이터를 보여줄 수 있는 방법중에 하나로 생각하면 될 것이다.

구현

Test 1

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Test 2

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam

Test 3

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
슬라이더는 웹어플리케이션에서 큰 기능성으로 어필하진 않지만 사용자 인터페이스의 직관성과 편의성을 높여 어플리케이션의 체감완성도를 높여 줄 수있다. 한마디로 그럴듯 해 보인다는 거다..

먼저 슬라이더의 구현모습을 보자.



jquery로 구현하는 소스코드는 놀라울 만치 간결하고 명료하다. 구현 소스코드
<html>
  <head>
    <script>
        $("#example_slider").slide();
    </script>
  </head>
  <body>
    <div id="example_slider"></div>
  </body>
</html>


커스터마이징을 위한 여러가지 옵션이 있다. 상세한 옵션은 다음 링크를 참조 할것.

jquery UI/Slider Document

About This Blog Author

정지범(jibum.jung@gmail.com)

Google AdSense

Clock Link

Developers Works

Creative Commons License
This blog is licensed under a Creative Commons License.