'개발자'에 해당되는 글 3건

  1. 2009.03.11 나를 행복하게 하는 아이팟!
  2. 2009.03.05 JCO 컨퍼런스에 다녀왔습니다! (2)
  3. 2008.10.10 소프트웨어 개발자의 로망, 아키텍트(Architect)! (12)
2009. 3. 11. 23:33

나를 행복하게 하는 아이팟!

모이면 흩어지고 흩어지면 다시 모이는 게(合復離 離復合) 세상 이치인가 봅니다. 난공불락의 MS(Microsoft)사의 웹 브라우저, Internet Explorer의 아성도 불여우(Firefox), 구글의 Chrome, 최근에는 애플의 Safari 4 beta로 인해 위협받고 있습니다. 특히 애플은 MS사의 Vista 약세에 대한 반작용으로 매킨토시 호황을 맞아 예전의 명성을 회복하고 있는 듯 보입니다.
우리나라 시장에서는 외국에 비할 바는 아니지만 이 애플사의 아이팟(iPod)이 열풍을 일으키고 있습니다. 직관적인 인터페이스(interface)와 아름다운 디자인, 소비자 친화적인 다양한 보조 제품들이 얼어붙은 소비자의 지갑을 열게 만들고 있습니다. 세계적인 경기 불황 가운데서도 선전하고 있는 아이팟의 핵심 요소들을 살펴보는 것은 일반 소비자의 관점에서나 경제학적 관점에서도 흥미로운 일일 것입니다.

아이팟은 아름답습니다. 이것은 뮤지컬 배우의 화려한 메이크업과는 다른 미(美)입니다. 간결하고 단순하며 절제된 미입니다. 일본의 전통음식인 초밥(?)에서 볼 수 있는 아름다움입니다. 유명한 프리젠테이션 강사인 가르 레이놀즈는 그의 저서 <프리젠테이션 젠>에서 이러한 젠(禪) 철학을 강조하기도 했습니다.
직관적인 인터페이스는 소비자를 유혹하는 그 무엇과도 바꿀 수 없는 무기입니다. 이는 앞서 설명한 디자인 미학과도 긴밀히 연결되어 있습니다. 간결성과 단순성은 사용자로 하여금 직관적인 조작을 가능하게 합니다. 이를 위해 애플사는 멀티 터치스크린 기술을 도입했습니다. 터치스크린을 두 손가락을 이용해 접촉하여 조작하면 이미지가 확대되거나 축소되고, 네 손가락을 이용해 터치스크린을 훑으면 다음 사진으로 넘어가는 등, 2개 이상의 손가락을 이용한 직관적인 다양한 명령을 기계에 전달할 수 있습니다.

팟캐스트(Podcast)에 대해 들어보셨나요? 아이튠즈 스토어(iTunes Store)를 통해 내려 받을 수 있는 팟캐스트는 오프라인 상태에서 청취하거나 시청할 수 있는 방송입니다. 마치 블로그의 RSS 피드(feed)처럼 팟캐스트 피드를 내 팟캐스트 보관함에 등록하면 자동으로 갱신하여 아이팟에 담을 수 있게 합니다.
제가 애용하고 있는 팟캐스트는 제프 맥퀼린(Jeff McQuillan)의 ESL Pod(English as Second Language Podcasting)입니다. 매 주 2-3건의 새로운 에피소드가 올라오며, 특정 주제를 가진 두 사람의 대화 형식의 다이얼로그가 두 번 연속, 설명문 형식이 한 번으로 갱신됩니다. ESL Pod 에피소드를 아이팟에 담기만 하면 청취를 하면서 몇 번의 조작으로 방송 스크립트 및 주요 단어를 확인할 수 있습니다. ESL Pod은 무료 서비스이나, 전문(全文) 스크립트 및 심화 해설을 얻기 위해서는 유료 서비스(http://eslpod.com)를 이용해야 합니다.

마지막으로 iPhone SDK에 대한 소개입니다. 아이폰 개발자 프로그램은 이 SDK를 이용해 아이폰 및 아이팟 터치에 들어가는 어플리케이션을 직접 만들어볼 수 있습니다. 직접 만든 어플리케이션을 친구들과 공유할 수 있고 앱스토어(App Store)에 등록하여 수익을 도모할 수도 있습니다. 지난 해 6월 이후에 프로그램 하나로 300만 달러(약 46억6000만원)를 번 사람도 나왔다고 합니다. 아이폰 개발자 프로그램에 정식 등록을 하여야 앱스토어에 등록할 수 있으며 최소 비용(Standard Program)은 $99입니다.
아이팟의 특징적인 몇 가지 성공 요인을 살펴보면서 이야기를 나누어 보았습니다. 특히 소비자를 행복하게 만드는 절제된 미학과 사용성, 그리고 소비자가 그 가치를 재창조하려는 프로슈머(Prosumer)의 문화를 잘 이용한 전략 등이 돋보입니다. 우리나라 가운데서도 사람들을 행복하게 하는 여러 분야의 전문가가 많이 나오시길 바라며 이 글을 마칩니다.



사파리 4 beta
http://www.apple.com/kr/safari/
애플사의 멀티 터치스크린 특허
http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO2&Sect2=HITOFF&p=1&u=%2Fnetahtml%2FPTO%2Fsearch-bool.html&r=1&f=G&l=50&co1=AND&d=PTXT&s1=multi-touch&s2=multitouch&OS=multi-touch+AND+multitouch&RS=multi-touch+AND+multitouch
아이팟 터치 소개 동영상
http://www.apple.com/kr/ipodtouch/guidedtour/
아이폰 개발자 프로그램
http://www.apple.com/kr/developer/iphone/program/
아이폰 개발자 프로그램 등록 안내
http://developer.apple.com/iphone/program/apply.html
Prosumer
http://en.wikipedia.org/wiki/Prosumer



'리뷰 > IT제품' 카테고리의 다른 글

1월 27일 애플 이벤트 'Come see our latest creation'  (0) 2010.01.19
Comment 0
2009. 3. 5. 08:29

JCO 컨퍼런스에 다녀왔습니다!

JCO 컨퍼런스(한국자바개발자컨퍼런스)에 지난 2월 28일(토)에 다녀왔습니다. 복학하고 정신이 없네요. @.@
제가 들어간 강의는,


입니다.

첫번째 엔터프라이즈 자바 플랫폼을 이용한 전사적 어플리케이션 디자인에는 생각보다 기초적인 부분들을 소개하는 강의라 조금 아쉬운 감이 있었지만 역시 기본에 충실한 강의였던 것 같습니다.

두번째 Seam의 JEE6 표준 스펙 과정 소개 강의에는 Seam의 여러 특징들을 소개하는 자리와 함께 표준 스펙으로 가는 프로세스 등을 잘 설명하여 주셨는데요, 역시 Spring Framework의 두대들보인 DI(Dependency Injection)과 AOP(Aspect Oriented Programming)을 건들이는 과정이라 약간의 마찰이 있는 듯 보이네요. ^_^; 보다 나은 자바 개발 환경을 위해 서로 이해하고 돕는 분위기가 형성되길 바랍니다.

RIA 기술 소개 시간에서는 RIA 3대 산맥인 Flex, Air, JavaFX 각각의 최신 기술들을 소개하는 자리가 있었습니다. Flex의 여러 기술들은 잘 알려져서 새롭거나 한 것은 별로 없었는데 작년 Air의 'Beyond Browser'에 이어 인터넷 지도 서비스에서 볼 수 있는 'Deep zoom'을 고해상도 사진에 적용한 점이 인상적이네요.
위 사진은 Sun Microsystems 부스에서 받아온 SDN Korea 멤버십 선물이었습니다. 아, 정말 맘에 드네요. 제 책상 언저리를 뒹굴던 펜 및 길죽한 녀석들을 가지런히 모을 수 있습니다. ㅎㅎ 부드러운 부직포로 감싸여 있고 뒤에 빨간코 케릭터도 이쁘네요. (어디서 많이 봤는데... Sun사 오픈소스 중 하나의 캐릭터 같네요.)

또 기억에 남는 것은 이번 행사 경품 추첨에 딱 한 군데서만 뽑혔는데요, 바로 Sun 부스. 경품은~ 노트북 받침대입니다. 제 블로그를 구독하시는 분들은 어디서 많이 들어보지 않으셨나요?

2008/12/05 - [컴퓨터 과학/Java] - 썬 개발자 네트웍크(SDN) 노트북 받침대 이벤트 당첨 후기!

하하하 -_-;;; 이 무슨 운명의 장난. 노트북 받침대를 하나 더 받고야 말았네요.

이 글 때문에 썬 마케팅 부서의 미모의 박과장님께 조금 혼났습니다. -_-;;헤헤. 나쁜 감정은 없었는데... 이런 염치 불구하고 박과장님이 책 한권을 선물로 주셨습니다.
http://cfs8.tistory.com/image/12/tistory/2008/08/07/15/20/489a941a063d9
사진은 기사양연님의 블로그(http://noxett.tistory.com/70) 에서 가져왔습니다.

자바개발자들이 모인 컨퍼런스라 그런지 몰라도 컨퍼런스에 가면 꼭 한 명씩은 반가운 분들을 보게 되네요. 저는 이번에 전역 후 처음보는 군대 선임을 만났습니다. 저보다 연배가 조금 있으신데도 경어를 해주시는데 몸둘바를 모르겠네요. ㅎㅎ

p.s. 컨퍼런스 강의 자료는 여기(http://www.jco.or.kr/c?mc=conference&sc=pds)에서 확인할 수 있습니다.


Comment 2
2008. 10. 10. 10:40

소프트웨어 개발자의 로망, 아키텍트(Architect)!

소프트웨어 개발은 그 학문적 특질이 유사한 건축과 연관관계를 맺고 있다. 소프트웨어 개발의 특정 조건에서 발생되는 규칙적인 문제를 해결하기 위한 디자인 패턴도 이런 건축학에서 비롯되었다(건축학의 역사가 더 오래된 만큼 당연한 결과.). 건축 설계자를 영어로 아키텍트(Architect)라고 하듯 소프트웨어 개발 역할에도 아키텍트가 존재하는데, 여기서 그 역할을 소개하고자 했으나, 좋은 책이 있어 떠중이의 말은 줄이고 그 책의 목차나 소개하고자 한다.

책, 아키텍트 이야기(야마모토 케이지 저)의 목차


책을 읽어볼 요량이 없는 분들을 위해 아키텍트의 두가지 측면만 간단히 요약, 설해보도록 하겠다. 첫째는 개발 단계별로 필요한 공수고, 둘째는 단계별 업무 분야다.

소프트웨어 개발 단계를 크게 4단계(요구분석, 설계, 구현, 테스트), 개발 역할을 6 분야(요구분석 담당자, 아키텍트, 프로그래머, 인프라 담당자, 테스트 담당자, 프로젝트 관리자)로 나누었을 때 그 공수는 다음과 같다.(숫자가 높을수록 들어가는 공수(工數)가 많다.)

 요구분석 담당자
5
3
2
1
 아키텍트 3
5
2
1
 프로그래머  1 3
5
3
 인프라 담당자
 2 1
1
2
 테스트 담당자
3
1
4
5
 프로젝트 관리자
 3 2 2
3
  요구분석 단계
설계 단계
구현 단계
테스트 단계

아키텍트의 요구분석 단계에서는 프로젝트 관리자의 비지니스 마인드로 프로젝트를 바라보는 능력이 아키텍트에게도 요구되며, 요구분석 담당자에게는 기술 전문가의 입장에서 조언하는 조언자의 역할을 수행한다. 여기서 아키텍트는 기술 관련 위험요소를 개발 초기에 해결 혹은 해결을 위한 계획을 수립해야 한다. 비기능 요구사항(사용자가 사용하는 기능 외 시스템이 요구하는 기능)도 적극적으로 제안할 필요가 있다.

설계 단계에서 아키텍트는 개발 명세 설계에 참여하게 되는데 명세 설계 주 담당자와 더불어, 기술에 편중되지 않고 효율적인 사용자 중심 설계가 되도록 노력해야 한다. 그러나 주요 업무는 역시 '아키텍처 설계'이다. 아키텍처는 기술 문제를 정리해야 하므로 초기에 검토되어야 하고, 요구분석 단계에서 나온 요구사항을 해결할 수 있어야 한다. 이 설계서는 개발자를 위한 최초의 문서가 되며, 이후 프로젝트 산출물의 표준양식이 된다. 따라서 개요를 확실히 이해해야 기술 요소를 정확하게 설명할 수 있고, 팀원과의 의사소통을 원활히 하여 설계서에 명시된 바에 따라 제대로 된 구현을 할 수 있다.

구현 단계에서 아키텍트는 실제로 구현하는 프로그래머의 중개자 역할을 수행하게 된다. 설계된 아키텍처를 적용할 수 있는 프레임워크를 제공하여 아키텍처가 효과적으로 지켜질 수 있도록 하고, 팀원의 수준에 맞춰 역할을 분담한다. 그리고 팀원들의 프레임워크에 대한 적극적 참여를 동기 부여하여, 아키텍처나 프레임워크에 대한 피드백을 받도록 하고, 프레임워크가 팀원들의 수준과 프로젝트 목적에 맞춰지도록 조율을 한다.

테스트 단계에서 아키텍트의 실질적 공수는 적다. 테스트의 주인공은 테스트 담당자이기 때문이다. 하지만 아키텍트는 구현 단계에서와 같이 중개자로서 팀의 윤활유 역할을 해야한다. 나아가 앞의 설계 단계에서 단위 테스트와 결합 테스트를 효율적으로 진행할 수 있는 아키텍처를 테스트 담당자와 함께 구현 단계 전에 미리 생각해보는 것도 좋은 방법이다.

10년 뒤에도 기술자로 일하고 싶은가? 소프트웨어 설계를 넓은 안목으로 보라. 소프트웨어 구현(코딩)이 즐거움을 주는 것은 사실이지만, 개발이 취미거나 프리랜서에 해당하지 않고, 오래 회사 밥을 먹으며 개발을 하고 싶다면, 숲을 보는 더 큰 즐거움을 좇는 혜안이 필요하다.

Matrix - Neo vs. Architect


Comment 12