【MacBook Air분석5】 "겉은 군더더기가 없고 속은 군더더기 천지"
http://techon.nikkeibp.co.jp/article/NEWS/20080217/147537/?ref=BPN (일어)
http://techon.nikkeibp.co.jp/english/NEWS_EN/20080220/147736/ (영어)

윗글에서 분석 결과는

  애플사는 하드웨어의 설계나 철저한 코스트 다운보다 왼견의 디자인이나 소프트웨어,
  유저 인터페이스등 애플의 특기에 힘을 쏟았다.
  이런 사고방식으로 애플은 iPod나 iPhone을 통해서도 볼수있다.
 
  MacBook Air의 불가사이하게 만들어짐은 하드웨어의 세세한 곳까지
  최선을 다하는 일본의 물건을 만드는 정신에 대한 강렬한 변증법일찌도 모른다.

이고 MacBook Air는 하드웨어적으로 봤을 때는 좀더 개선의 여지가 많다고 보는 것같다.
그리고 노트북 제조업자가 보는 입장에서의 하드웨어를 만드는 기술이 떨어진다고 보고있다.


이런 기사를 보고서 미국의 애플 팬들이 화가 좀 났었나보다.

"Japanese Engineers MacBook Air Insides Are Full of Waste"
http://gizmodo.com/359776/japanese-engineers-macbook-air-insides-are-full-of-waste

니케이 일렉트로닉스는 이 글에 대해 또 글을 썼다.
"애플 팬의 원성이 보여주는 설계 사상의 근본적인 차이"
http://techon.nikkeibp.co.jp/article/TOPCOL/20080226/147982/

----------------------------

이 글을 정리하다 보니까 내가 왜 이글을 쓰려고 했는지 조차 잊어버렸다. -.-;;

여하튼 맥북 에어의 설계의 방식은 자신들이 구현하려는 것을 문제없이 구현하는데
중점을 두는 애플과 같은 것을 구현하더라도 최선을 다해서 멋진(?) 기술로 구현하려는
일본 엔지니어들 과연 마지막에 웃는 것은 누구일까?

지금 웃고 있는 것은 애플인 것같은데. ^^
이렇게 생각하면 최상의 기술보다는 최상의 (소비자를 사로 잡는)아이디어가
회사에서 제품을 만드는데 있어서 중요한 것같다.
최상의 기술이 아니더라도 그 제품이 문제가 없이 돌아가기만 한다면
그리고 그 제품이 소비자를 만족시킨다고 한다며 기술력은
그리 문제가 되지않는 것같아 보인다.

이런 것을 프로그래밍에서도 생각해 본다면 어떨까?
정말 멋진 코딩 기술로 프로그램을 짜는 것 보다는
좀 무식해 보이더라도 사용자가 원하는 프로그램을 짜는 것이 중요한 것같다.
사용자의 필요를 잘 파악하고 사용자가 사용하기 편하고 버그가 없는 프로그램이라면
그것을 손으로 짜던 발로 짜던 문제가 되지 않을 것같다.

하기야 너무 목표를 달성하기 위해서 너무 난잡한 코딩으로
유지보수에 문제가 된다면야 문제가 되겠지만
최상의 코드가 아니더라도 나름대로의 최선의 코드로
사용자를 만족시킬 수 있다면 그것으로 문제가 되지않을 것같다.

그러면 프로그래머로써 프로그래밍 기술을 닦는 것도 중요하지만
사용자의 요구를 제대로 파악하고 사용자의 가려운 것을 긁어줄 수있는 능력
또한 아주 중요한 것같다.



하기야 코딩을 좋아하는 사람과 요구를 분석 정리하는 것을 좋아하는 사람이
성향에 따라 다를 수도 있겠지만...


--------------------------------------------------

이런 글도 올라와 있더군요.
"Japanese Engineers: MacBookAir Badly Designed"
http://blog.wired.com/gadgets/2008/02/japanese-engine.html

이제 아까전에 쓰려던 글 중에 잊어버린 것이 있어서 다시 덧붙여 쓰는데
일본 엔지니어들이 자신들은 더 저렴하게 만들 수 있다고 하면서
일본 노트북은 그리 저렴한 편이 아니라는 생각이 드는 것은 왜일까? ^^;;


--------------------------------------------------
개인적으로 노트북 중에 가장 갖고 싶은 것은 밑의 노트북이다.
문제는 비싸다는 것.
하기야 5,6년전에는 노트북을 2백만원 이상 주는 것이 당연했지만
요즘은 2백만원이 넘어가면 왠지 너무 비싸다는 느낌이 들어서 ....

세계에서 가장 가볍고 얇은(?) 노트북 dynabook SS RX1
사용자 삽입 이미지

도시바의 dynabook SS RX1는 광학 드라이브를 탑재하고도
19.5mm이고 무게도 작은 베터리(베터리 팩 2900)를 포함해서 848g이다.

광학 드라이버를 탑재하고 12.1인치 완이드를 장착한
노트북으로서는 세계에서 가장 얇고 가볍다고 한다.

베터리 팩 5800을 사용하면 약 12.5시간을 연속으로 사용할 수 있다고 한다.
베터리 팩 5800을 장착하면 1kg이 된다고 한다.
Posted by 띠리

누가 소프트웨어의 심장을 만들었는가

<박지훈, 누가 소프트웨어의 심장을 만들었는가, 한빛미디어, 2005>에서 발췌


광야의 외침: 선지자의 시대

Alan Turing (1911~1954) : 현대 컴퓨팅의 아버지

사용자 삽입 이미지
 
책상 위에서 매일 접하는 현대 컴퓨터의 수학적 모델을 제시한 선지자며, "기계는 생각할 수 있는가"라는 화두를 던져 수많은 과학자와 작가들을 고민하게 만든 천재였다. 독일군이 만든 악명 높은 에니그마(Enigma) 암호를 해킹하여 연합군이 2차 세계 대전을 승리하게 만든 숨은 영웅이었으나, 독이 든 사과를 먹고 자살했다. 컴퓨팅 분야의 노벨상이라 불리는 튜링상(Turing Award)이 그가 세상을 뜬 지 12년 만에 만들어졌다.

컴퓨터의 실체가 존재하지 않았던 20세기 초반, 대부분의 사람들은 특정한 일이나 계산을 자동으로 수행하는 기계를 만들려면 매번 그에 맞는 새로운 기계가 필요하다고 생각했다. 그리고 그들을 동작시키려면 기계 외부의 스위치나 버튼, 선, 천공 카드 등을 조작하여 기계에게 명령을 내려야 한다고 가정하였다. 1930년대, 겨우 20대였던 앨런 튜링은 현대 컴퓨터와 프로그램이 동작하는 원리가 설명된 추상적인 수학 모델을 세상에 내놓았다. 그것이 바로 '튜링 머신(Turing Machine)'이다. 그 결과 존 폰 노인만(John von Neunman)을 비롯한 과학자들은 수많은 계산 방식을 자동으로 수행하는 디지털 컴퓨터의 핵심에 접근하게 되었다.

튜링 머신 시뮬레이터, 존 폰 노인만식 컴퓨터 아키텍처를 설명한 보고서, 컴퓨팅 기계와 지능, 뢰브너상, A.L.I.C.E

Vannevar Bush (1890~1974) : 컴퓨터를 사용한 인류 지식의 확장

사용자 삽입 이미지
 
컴퓨터 마우스를 발명한 더글러스 엥겔바트와 월드 와이드 웹(WWW)을 만든 팀 버너스 리. 이 두 사람의 공통점은 배니바르 부시가 1930년대에 제시한 비전을 실현하기 위해 미래를 바쳤다는 것이다. 부시는 개인과 인류가 생산하는 각종 정보들이 하이퍼미디어로 연결되고, 일반 개인들은 그 정보들을 자유롭게 검색하고 활용할 수 있게 되리라 믿었다.

20세기 초반, 에니악과 같은 초창기 컴퓨터들은 엄청난 비용을 들여 개발되었고 더군다나 크기도 거대했기 때문에 주로 국가나 기업의 툭수한 목적으로 활용되었다. 일반 개인들이 사사로운 일과 업무를 처리하기 위해 그런 거대한 컴퓨터를 사용한다는 것은 상상할 수 없었다. 배니바르 부시는 인간의 지능과 기억을 보완하고 개선할 수 있는 개인용 컴퓨터 시스템인 메멕스(Memex)를 수미터 높이의 거대한 1세대 컴퓨터들 앞에 당당히 내놓았다. 이후 부시의 비전에 심취한 뛰어난 과학자들 덕분에 우리는 지금 개인용 컴퓨터 앞에서 사무를 처리하며, 웹 브라우저를 통해 전 세계의 정보를 검색할 수 있게 된 것이다.

우리가 생각하는 것처럼(As We May Think), 마제스틱 21, 세계 최초의 위키, MyLifeBits

Ivan Sutherland (1938~) : 컴퓨터와 인간의 그래픽 대화

사용자 삽입 이미지
 
텍스트 기반 운영체제인 MS-DOS를 썼던 사용자들은 지금의 GUI 환경이 얼마나 편리한지 설명하지 않아도 알 것이다. 화면에 나열된 정교하고 예쁜 아이콘을 마우스로 누르면 컬러풀한 프로그램이 나의 손이 움직이기를 기다린다. 이반 서덜랜드는 컴퓨터와 인간 사이에 그래픽이란 중간 매개체를 놓았다. 그 덕분에 우리는 정밀한 하드웨어 덩어리를 예쁘게 사용하고 있다.

육중한 대형 컴퓨터가 밤새 계산했던 결과들을 프린터에 계속 출력한다. 개발자들은 어제 입력한 프로그램이 제대로 수행되었는지 기다리고 있다. 이것이 1950년대 컴퓨터와 개발자들의 모습이다. 컴퓨터와 사람 사이에는 시간과 공간의 간극이 크게 가로막고 있었다. 사람은 컴퓨터를 편리하게 사용하지 못했다. 마치 짧은 침대에 맞도록 다리를 자르는 모양새로 컴퓨터를 이용하고 있었다. 컴퓨터 그래픽의 아버지인 이반 서덜랜드는 컴퓨터와 사람 간의 상호 작용의 간극을 줄여서 컴퓨터와 사람을 친구로 만들어 주었다.

스케치패드

Douglas Engelbart (1925~) : 마우스 그 이상의 발명

 
사용자 삽입 이미지
컴퓨터 마우스를 최초로 개발한 과학자다. 그가 쌓은 다른 중요한 업적들은 그 빛에 가려 잘 보이지 않아 오히려 과소평가되는 면이 없지 않다. 마우스와 하이퍼텍스트의 만남, 혁명적인 GUI는 1968년에 수백여 명의 청중을 깜짝 놀래킨 바로 '그 데모(The Demo)'로부터 시작되었다.

베니바르 부시의 비전과 메멕스에 감명을 받은 과학 기술자들이 이 세계에 미친 영향은 거대하다. 하지만 더글라스 엥겔바트만큼 그의 비전을 실형하기 위해 자신의 일생을 바친 사람은 없다. 배니바르 부시의 메멕스를 실제로 구현하기 위해 엥켈바트가 설계한 NLS(oN Line System)라는 컴퓨터 시스템은 후대의 컴퓨터와 소프트웨어 발전에 지대한 파급 효과를 가져왔다. 이론으로만 알려졌던 하이퍼텍스트의 개념이 드디어 컴퓨터 속에 살아 움직이게 되었고 컴퓨터 마우스라는 새로운 입력 장치가 개발되었다. 그가 제시한 기술들은 인간과 컴퓨터 사이의 상호 대화의 방식을 더욱 풍성하게 만들었다.

회고록, 인간의 지능을 확장시키기: 개념적 프레임워크, 21세기에 조직을 스스로 부흥시키기 위한 전략적 프레임워크, SRI

Richard Stallman (1953~) : 자유 소프트웨어의 깃발

 
사용자 삽입 이미지
지금은 바야흐로 오픈 소스의 시대다. 리눅스를 필두로 아파치, MySQL과 같은 놀라운 성능의 오픈 소스들은 독점 소프트웨어의 횡포에서 우리를 자유롭게 해준다. 리처드 스톨만은 기업의 독점 재산권으로 묶여 있는 소프트웨어에게 자신이 정의한 '자유'를 부여하려는 혁명 전사다. 그가 내세운 '자유 소프트웨어'의 기치로 말미암아 전 세계의 프로그래머들은 수많은 양질의 소프트웨어의 내부를 누구나 들여다보고 이용할 수 있게 되었다.

오픈 소스는 이미, 가정과 기업, 소프트웨어 개발자들의 일상생활 깊숙이 들어와 있다. 그들이 IT 산업가 소프트웨어에 끼친 경제적, 문화적 효과는 상상을 초월한다. 오픈 소스는 '자유'로운 소프트웨어다. 빵과 우유가 '자유'로운 제품이 아닌 것처럼, 이 세상의 어떤 다른 제품들도 이런 지위를 획득하지 못했다. 리처드 스톨만(Richard Stallman)은 '자유 소프트웨어'의 철학을 창시했고 거기에서 파생된 오픈 소스 운동은 전 세계의 수많은 개발자들이 소스 코드를 공유하여 소프트웨어의 품질과 생산성을 높이자는 문화적 흐름을 이끌고 있다.

자유 소프트웨어 재단, 왜 자유 소프트웨어가 오픈 소스보다 좋은가?, 성당과 시장, GNU, OSI, MIT 인공지능 연구소, 한국 오픈 소스, 자유 소프트웨어 사이트, 이클립스 프로젝트


프로그래밍의 풀무질: 장로들의 대활약

Dennis Ritchie (1941~) : C 언어의 아버지

 
사용자 삽입 이미지
오늘날 가장 많이 사용하는 컴퓨터 언어는 무엇일까? 컴퓨터 언어의 보통 명사처럼 되어버린 C 언어를 부정하는 사람은 없을 것이다. 작은 핸드폰에서 가전 제품, 의료 기기, 개인용 컴퓨터, 워크스테이션, 심지어는 우주로 여행을 떠나는 우주선까지 C 언어를 이용하지 않는 경우는 보기 힘들다. 데니스 리치와 그의 충실한 친구 켄 톰슨(Ken Tompson)은 유닉스를 만들다가 우연히 이 희대의 언어를 만들었다.

데니스 리치는 C 언어를 만들었다. 누군가가 세상에서 어떤 위대한 업적을 만들어 낼 때는 그에게는 호흡이 잘 맞는 파트너가 있었다. 농구의 황제라 칭하는 '마이클 조던'은 '스카티 피펜'이라는 파트너가 있었기 때문에 7번이나 우승 트로피를 얻을 수 있었다. 데니스 리치에게는 켄 톰슨(Ken Tompson)이 있었다. 그들은 좋은 파트너였고, 함께 근무한 벨연구소에서 컴퓨터 업계에 혁명적인 운영체제인 유닉스(Unix)와 프로그래밍 언어의 황제 C 언어를 개발할 수 있었다.

멀틱스, C 언어의 개발

Edsger W. Dijkstra (1930~2002) : 구조적 프로그래밍의 발견

사용자 삽입 이미지
 
goto 문이 프로그래밍의 강력한 도구로 사용되던 시절이 있었다. 언제 어디서든지 프로그램의 진행 흐름을 자유롭게 옮길 수 있는 매력에 혹한 개발자들에게 그 뒤편에 숨겨진 어둠을 드러낸 다익스트라는 "goto 문장은 해롭다"라는 에세이 한편으로 구조적 프로그래밍의 새벽을 밝혔다.

C 언어는 현재 구조적 프로그래밍 방식을 지원하는 프로그래밍 언어 중 가장 대중적인 인기가 높다. 구조적 프로그래밍을 지원하는 대표적인 언어로는 파스칼(Pascal)과 아이다(Ada)가 있다. goto 문이 지나치게 사용되었던 1950년대의 비구조적 프로그래밍 방식의 혼돈 시대에서 구조적 프로그래밍의 깔끔한 새 시대를 연 다익스트라의 논문 2편은 현재 고급 프로그래밍 언어의 발전에 근본적인 영향을 끼쳤다.

구조적 프로그래밍에 대한 단상, 무엇이 구조적 프로그래밍에 대한 단상이란 글을 쓰게 만들었는가?

Alan Kay (1940~) : 객체 지향의 완성자

 
사용자 삽입 이미지
"미래를 예측하는 가장 좋은 방법은 직접 미래를 만드는 것이다." 엘런 케이는 자신이 뱉은 이 말을, 삶에서 직접 입증하였다. 그는 노트북과 타블릿의 원형에 해당하는 아이디어를 제시했고 현재 프로그래밍 패러다임의 주류인 객체지향 프로그래밍을 완성하였다. 그에 대한 공로로 2003년에 튜링상을 수상하였다.

앤런 케이는 꿈을 쫓는 사람이다. 어린 아이들도 놀이기구처럼 컴퓨터를 쉽게 사용해서 자신의 지능을 발달시킬 수 있을 정도로 어느 누구나 컴퓨터를 편리하게 사용할 수 있는 시대를 상상했다. 그는 소프트웨어 개발자에게도 큰 선물을 남겼다. 최초로 완전한 객체 지향 엉어인 스몰토크(Smalltalk)를 설계했고 객체 지향 패러다임의 이론을 완성했다. 그 결과로 지금과 같은 C++, 자바와 같은 객체 지향의 시대가 오게 된 것이다. 이제는 복잡한 비즈니스 프로젝트에서 객체 지향 패러다임으로 소프트웨어를 개발하지 안는 경우는 거의 없다.

어떻게 객체지향 프로그래밍이 시작되었는가?, 스몰토크에 숨겨진 설계 원리, Smalltalk, Squeak(한국), Viewpoint Research

James Gosling (1956~) : Java의 아버지

 
사용자 삽입 이미지
자바가 대성공을 거둔 건 결코 우연이 아니다. 1995년도에 웹이 폭발적으로 확산되는 틈 속에서 치열한 프로그래밍 정글에 무혈 입성한 언어라는 소수 일각의 평은 제임스 고슬링과 그 일원들이 겪은 고난의 행군을 무시한 무지의 결과다. "정녕 두드리면 열릴 것이다." 자바는 웹이 출현하기 훨씬 이전부터 네트워크 컴퓨팅의 불확실한 미래를 향해 끊임없이 발길질했던 선구자들에게 내려진 보상이며, 앞으로 다가올 유비쿼터스 세계의 서곡이다.

웹이 발전하면서 사람들은 데이터가 아닌 프로그램을 웨에서 내려받는 것을 원하게 되었다. 기존 언어로서는 이것이 불가능한 상태였다. 이때 간결한 객체 지향 언어인 자바 언어가 등장하면서 인터넷을 통해 프로그램이 실시간으로 이동하여 웹 브라우저 안에서 실행되는 시대가 열리게 되었다. 1995년, 자바 언어가 세상에 공개된 이래 그 시의 적절한 혁신적인 아이디어에 공감한 열렬한 추종자들은 지금도 거대한 개발자 커뮤니티를 형성하고 있다. 그들의 영원한 우상, 그는 제임스 고슬링이다.

자바의 역사


소프트웨어 개발의 정글 탐험: 은총알을 찾아서

Frederick P. Brooks, Jr. (1931~) : 인간의 편에 선 소프트웨어 공학

 
사용자 삽입 이미지
개발 기간이 지연되는 소프트웨어 프로젝트의 관리자가 있다. 그는 원래 의도한 날짜에 프로젝트를 마치기 위해 더 많은 인력을 추가했다. 그 결과는 어떻게 되었을까? 지금도 수많은 프로젝트 관리자가 고민하고 있는 이 질문에 대해 프레더릭 브룩스는 이미 1975년에 답을 했다. 그 답은 소프트웨어 공학이 필요하고 유용하다는 것이고, 그는 이 사실을 널리 인식시켰다.

소프트웨어 프로젝트 관리자의 고전 필독서로 오랫동안 사랑받는 책이 있다. 1975년 프레더릭 브룩스가 지은 "The Mythical Man Month"는 소프트웨어 개발의 공학적 원리들을 소개하였는데, 이 중 어떤 것은 그 당시 개발자의 기본 상식에서 벗어난 새로운 발상이었다. IBM에서 거대한 운영체제를 직접 개발하면서 겪게 된 경험을 근간으로 소프트웨어 개발에서 자주 발생하는 문제들을 논리적으로 풀어낸 이 책의 내용은 소프트웨어 공학의 중요한 기준점이 되었다.

은총알은 없다, '은총알은 없다'를 재고하며, SWEBOK

Watts S. Humphrey (1928~) : CMM 제국의 황제

 
사용자 삽입 이미지
이제 우리나라에서 ISO 9000이라는 단어를 들어 보지 못한 사람은 거의 없을 것이다. 그만큼 먹고 살만한 단계를 넘어선 후의 핵심 이슈는 바로 '품질'이다. 와츠 험프리는 소프트웨어 및 시스템을 개발하는 회사의 품질 관리 기준과 개선 시스템을 '프로세스'의 관점에서 확립하였다. 그 결과, 미국뿐만 아니라 전 세계의 소프트웨어 개발 회사들이 프로세스 개선에 관심을 집중하게 되었다.

미 국방부에 소프트웨어를 납품하려면 반드시 거쳐야 하는 과정이 있다. 소프트웨어 개발 회사의 능력이 CMM(Capability Maturity Model)이 제시하는 특정 레벨 이상인지를 확인받아야 한다. 만약 원하는 레벨을 받지 못하면 프로젝트 수주에 큰 불이익을 받는다. 또한 5단계로 회사의 소프트웨어 프로세스 능력을 판단하고 더 높은 단계로 능력을 개선시킬 수 있는 방법론을 제공한다. 와츠 험프리가 주축이 되어 만든 CMM은 소프트웨어 개발 회사들에게 프로세스 개선을 통한 품질을 향상하고자 하는 외적, 내적 동기를 부여했고 전 세계적으로 소프트웨어 프로세스의 품질 개선 운동을 불러일으켰다.

CMM, CMMI, CMM의 역사

Erich Gamma (1957~) : 디자인 패턴의 보급자

 
사용자 삽입 이미지
권투 도장에 막 들어온 신참내기는 스파링 때마다 지기만 한다. 그는 선배의 비밀 노트를 열어 본다. 거기에는 상대방의 주먹을 피하는 패턴, 훅을 날리는 패턴 등이 나열되어 있었다. 그는 드디어 1승을 올리게 된다. 소프트웨어 개발자들은 설계라는 전투에서 항상 고전한다. 에리히 감마는 그들에게 디자인 패턴이라는 강력한 무기를 만들어 손에 쥐어 주었다.

패턴은 '자주 발생되는 문제들을 해결할 때 일정하게 반복되는 솔루션'을 의미한다. 객체 지향 초보 개발자들도 전문가들의 '훌륭한 객체 지향 설계'에 대한 지식을 '패턴'으로 훔쳐낼 수 있다. '디자인 패턴(Design Pattern)'이란 전문가들이 객체 지향 소프트웨어를 설계할 때 특정 상황에서 자주 사용하는 패턴들을 정형화된 형태로 정리한 것이다. 4명의 전문가가 디자인 패턴을 개발자들에게 널리 퍼트렸다. 특히 한 명이 눈에 띄는데 그는 바로 에리히 감마(Erigh Gamma)다. GoF는 디자인 패턴을 발명하거나 그 주제에 최초의 글을 쓴 사람은 아니지만 변방에서 떠돌던 디자인 패턴을 소프트웨어 개발의 주류로 진입시킨 장본인이다.

이클립스 홈페이지, 디자인 패턴 링크 페이지, IBM에서 제공하는 디자인 패턴 홈페이지, 랄프 존슨의 홈페이지, 존 블리시데스의 홈페이지, ET++, 디자인 패턴의 역사, 크리스토퍼 알렉산더의 '패턴 언어' 온라인 서비스

Grady Booch, Ivar Jacobson (1938~), James Rumbaugh : RUP와 UML의 아버지

사용자 삽입 이미지








사용자 삽입 이미지








사용자 삽입 이미지
 
세 명의 아미고(Amigo, 스페인어로 친구라는 뜻)인 그래디 부치, 이바 야콥슨, 제임스 럼바우는 자신들이 만든 객체지향 개발 방법의 노하우를 UP(Unified Process)라는 이름으로 융합했다. 수많은 프로젝트의 경험을 기반으로 좋은 개발 원리와 지침들을 집합해 놓은 UP는 소프트웨어 개발 방식의 표준처럼 받아 들여졌다. 또한 그들이 제시한 UML이란 모델링 언어는 소프트웨어 개발뿐만 아니라 비즈니스 분석에 이르기까지 널리 쓰이는 소프트웨어 산업계의 모델링 표준 언어가 되었다.

1980년대 후반에서 90년대까지 지속된 개발 방법론들의 전쟁 속에서 유달리 두드러진 3개의 객체 지향 개발 방법론이 있었다. 제임스 럼바우 박사의 OMT, 부치 박사의 부치 메소드, 이바 야콥슨의 OOSE이 그것이었다. 래쇼날(Rational)이라는 소프트웨어 프로젝트 컨설팅 회사에서는 이들의 방법론을 UP라는 이름으로 통합하기 시작했다. UP는 래쇼날에 의해 RUP라는 제품으로 패키징되어 팔리게 된다. 또한 그들은 객체 지향 표준 모델링 언어인 UML을 만들었다. UML은 혼란스러웠던 소프트웨어 모델링 표기법의 논란을 일시에 잠재웠다. RUP와 UML은 수많은 개발 방법론과 표기법들이 난무하던 전쟁터를 평정한 강력한 황재였다.

Kent Beck (1956~) : Agile 방법론의 선봉, XP의 창시자

Kent Beck
 
요즘 들어 리팩토링(Refactoring), xUnit을 사용한 단위 테스팅, 테스트 주도 개발 방법에 대한 관심이 높다. 이들의 인기는 디자인 패턴의 씨앗을 뿌리 보헤미안 프로그래머, 켄트 벡이 주창한 XP 개발 방법론의 인기와 맞물려 있다. XP는 기존의 대형 방법론이 놓치고 있던 개발 지혜들을 통합하여 가볍고 민첩한 애자일 방법론(Agile Methodology)의 시대를 열고 있다.

많은 개발자들이 RUP가 지향하는 가치관을 유일한 진실로 받아들이고 있을 때 켄트 백은 "아닙니다. 더 좋은 방법이 있습니다."라고 외쳤다. 그는 XP(eXtreme Programming)라는 애자일 개발 방법론을 만들었고 자바처럼 열렬한 신봉자들의 교주가 되었다. 그는 XP처럼 가볍고 민첩하게 고객의 요구 사항을 빠르게 반영할 수 있는 애자일 방법론들이 현재처럼 비즈니스가 급변하는 환경에 더 잘 맞는다고 주장하였다. 그리고 많은 사람들로부터 애자일 방법론에 대한 관심을 끌어냈다.

한국 XP 사용자 그룹, JUnit, Mock Object


네트워크의 혁명: 새로운 황금시대

Vinton G. Cerf (1943~) : 인터넷의 아버지, TCP/IP의 개발자

Vinton G. Cerf
 
인터넷이 없는 세상은 상상할 수 없다. 이제 논문을 찾으려고 에이전시를 섭외하여 비싼 돈을 지불하며 몇 주 동안 기다려야 하는 상황은 없다. 빈톤 서프는 서로 다른 네트워크 사이에 다리를 놓았다. 그것은 '인터넷'이라는 네트워크의 접착제가 되었다. 전 세계의 네트워크가 연결되어 데이터가 오고 갈 수 있는 길을 터놓은 그는 배니바르 부시의 놀라운 비전이 심겨질 토양을 개척하였다.

인터넷의 등장으로 말미암아 전 세계의 사람들은 실시간으로 데이터와 정보를 공유하고 교환할 수 있게 되는 혁명적인 새로운 문명 속으로 진입했다. 몇 년 전 바이러스 때문에 국내에서 인터넷을 몇 시간 동안 사용할 수 없게 되었을 때, 대중들은 인터넷이 필수 불가결한 사회 기반 시설이 되었음을 확인하였다. 이 모든 혜택들은 '인터넷의 아버지'인 빈톤 서프의 덕분이다. 그는 여러 종류의 네트워크들이 서로 연동할 수 있게 도와주는, 즉 '인터+넷(inter+net)'을 가능하게 하는 기술을 개발하였다. 라우터와 TCP/IP가 그것이다. ARPANET이라는 네트워크에 그가 개발한 인터네트워킹 기술이 적용되면서 점차 지금과 같은 인터넷이 성장하고 완성되었다.

TCP/IP 애니메이션 영화, IPN(InterPlaNetary) 프로젝트, ISOC(Internet Society)

Tim Berners-Lee (1945~) : World Wide Web의 아버지

Tim Berners-Lee
 
월드 와이드 웹이 등장하면서 소수의 학계나 산업계에서 연구 목적으로 사용되던 인터넷은 완전히 대중화되었다. 웹을 사용하여 하이퍼링크 방식으로 전 세계에 산재되어 있는 멀티미디어 정보를 실시간으로 손쉽게 검색할 수 있게 된 것은 인류 역사에 있어서 중요한 의미를 갖는다. 개인이나 국가, 메이저 언론이 정보를 독점하는 시대는 무너지고 일반 개인들이 정보 시장에 독립적인 주체로서 활동하는 시대가 온 것이다. 팀 버너스 리가 아이디어를 낸 월드 와이드 웹은 인터넷 위의 조그만 서비스로 시작했지만 지금은 인터넷 자체를 상징하는 표식이 되었다.

월드 와이드 웹이 등장하면서 소수의 학계나 산업계에서 연구 목적으로 사용되던 인터넷은 완전히 대중화되었다. 웹을 사용하여 하이퍼링크 방식으롸 전 세계에 산재되어 있느 멀티미디어 정보를 실시간으로 손쉽게 검색할 수 있게 된 것은 인류 역사에 있어서 중요한 의미를 갖는다. 개인이나 국가, 메이저 언론이 정보를 독점하는 시대는 무너지고 일반 개인들이 정보 시장에 독립적인 주체로서 활동하는 시대가 온 것이다. 팀 버너스 리가 아이디어를 낸 월드 와이드 웹은 인터넷 위의 조그만 서비스로 시작했지만 지금은 인터넷 자체를 상징하는 표식이 되었다.

Enquire 시스템의 매뉴얼, 월드 와이드 웹을 유발시킨 CERN에 제출된 제안서, 팀 버너스 리가 뉴스그룹에 올린 월드 와이드 웹 프로젝트 요약서

Marc Andreesen (1971~) : 웹 최초의 킬러 애플리케이션 개발자

Marc Andreesen
 
위대한 업적의 뒤에는 대부분 두 종류의 사람들이 있다. 비전을 제시하는 사람과 그것을 구현하는 사람이다. 배니바르 부시가 주장한 메멕스의 비전을 더글러스 엥겔바트가 NLS를 만들어 부분적으로 구현하였다. 그리고 팀 버너스 리에와서 가시화 되었지만 마무리가 아쉬운 때에 한 대학생이 홀연히 나타나 결정적인 한방을 날린다. 마크 앤드리슨은 누구나 손쉽게 사용할 수 있는 웹 브라우저를 만들어 월드 와이드 웹을 대중화시켰다.

팀 버너스 리가 월드 와이드 웹의 개념을 제시한 후 수많은 웹 브라우저들이 출현하게 되었다. 하지만 그들 대부분은 유닉스에서 동작했다. 유닉스는 학교와 산업계에서 주로 사용되었기 때문에 그들 브라우저의 사용자는 컴퓨터 전문가들이 대부분이었다. 대중이 대중을 잘 아는 법인가 보다. 겨우 한 대학생이 만든 웹 브라우저가 월드 와이드 웹을 전문가의 세계에서 대중의 세계로 확장시켰다. 그 주인공은 매크 앤드리슨이다. 그때까지의 웹 브라우저들과 완전히 차별화된 새로운 브라우저를 개발한 그는 월드 와이드 웹 최초의 킬러 애플리케이션을 개발하였다.

비올라 WWW, NCSA의 모자이크 브라우저 홈페이지, 넷스케이프 오픈 소스 프로젝트인 모질라 사이트





이글은 밑의 있는 사이트에서 불펌하였습니다. -.-;;
http://islab.hufs.ac.kr/books/who_made_the_heart_of_software/
Posted by 띠리
가장 먼저 기본은 윈도우를 만드는 것을 해보는 것이 좋을 것같다.
지금 내가 갖고 있는 개발 툴이 Microsoft Visual Studio 2005이기 때문에
Microsoft Visual Studio 2005로 짜는 방법을 소개하고자 한다.
(Microsoft Visual Studio 2005를 설치하는 방법은 생략)

VB에서 폼을 만들어 본사람이면
VB에서는 정말 간단하게 10분도 안되어도
폼을 만들어 띄울수있다.
하기야 SDK창 또한 아는 사람이라면
1분안에도 만들수 있겠지만
아무것도 모른다는 것을 전제하에
SDK폼을 만드는 것으로 설명한다.

사용자 삽입 이미지

Microsoft Visual Studio 2005을 실행해, 메뉴에서 파일을 선택하여 새프로젝트를 선택한다.

사용자 삽입 이미지

프로젝트 형식에서 다른 언어를 선택하고
Visual C++ 밑의 Win32를 선택해서
템플릿의 Win32를 선택한다.
그리고 이름(N): 에 적당한 이름을 넣고 확인 버튼을 누른다.
여기서 입력하는 이름이 프로젝트명이 된다.

사용자 삽입 이미지

그러면 위에 윈도우가 나타나고 다음 버튼을 클릭한다.

사용자 삽입 이미지

그러면 위의 윈도우가 나타나고 디폴트 설정대로 하고
마침 버튼을 누른다.

사용자 삽입 이미지

그러면 자동적으로 간단한 윈도우가 만들어진다.
간단한 윈도우를 만들기위한 최소한의 코스가 자동으로 작성되어진다.

사용자 삽입 이미지

지금 막 만들어진 이 소스를 돌려보기 위해서는
메뉴의 디버그에서 디버그 시작을 선택한다.
그러면 소스를 빌드에서 지금 만들어진 소스가 실행된다.

사용자 삽입 이미지

그래서 만들어진 어플리케이션이 위의 어플리케이션이다.
이렇게 간단하게 나마 윈도우를 SDK로 만들수있다.

다음 회에는 자동으로 생성된 소스에 대해서 간단히
설명하고 넘어가도록 하겠다.
Posted by 띠리

프로그램을 짜고 싶어도 어디서부터 시작해야되는지 잘 모르는 경우가 있다.
그래도 막연히 프로그램은 짜보고 싶은 사람이 있을 것같다.
하기야 자신에게 맞는 책을 찾아서 그 책대로 따라 해보는 것이
가장 일반적인 방법일 것같다.

책을 보면서 하다가 어느 정도 하다가 잘 이해가 안가면 막혀서
그만두는 경우가 종종 있는 것같다.
나도 대학교때 프로그래밍 공부한다고 몇번 책을 잡았지만
결국 오래가지 못해서 포기했다.

프로그래밍을 공부하다가 포기하는 이유 중에 하나는
설명이 한글인데도 잘 이해가 안가는 경우가 있다.
공부라는 것이 그런 것같다.
첨에는 이해가 안가다가 언젠가 이해가 오는때가 있다.
그것을 기다릴쭐 모르면 절대로 이해가 찾아가지 않는것 같다.

이해가 안가서 프로그래밍 공부를 포기하는 경우도 있겠지만
프로그래밍 공부를 포기하는 이유중에 큰 이유는
특별한 목표가 없기 때문일 것같다.

요즘은 좋은 어플리케이션들이 많기 때문에
특별히 프로그래밍을 해서 자신이 어플리케이션을 만들 필요가 없는 것같다.
특별히 이유도 없는데 그냥 심심해서
프로그래밍을 공부하다 보면 쉽게 포기하게 될것같다.

여하튼 포기하던 안하던 자유니까
기왕 공부하는 거면 재미있게 하는 것이 좋은 것같다.




앞으로 이 곳에서는 SDK관련 자료를 정리에서 올리려고 생각한다.
얼마나 오래갈찌는 잘 모르겠지만...

Posted by 띠리
BLOG main image
프로그래밍 공부하면서 써가는 개인 노트 (따라서 여기에 씌여있는 소스의 신빙성을 보장 못함 -.-;;) 이 블로그 보면서 틀린 점이 있으면 꼬옥 알려주세요. by 띠리

공지사항

카테고리

분류 전체보기 (323)
Win32 SDK 초보 (27)
통신관련 (11)
MFC TIP (20)
C/C++ TIP (10)
개발기타 (10)
링크 (2)
견물생심 (24)
이것저것 (8)
용어메모 (3)
데이터베이스 (32)
비주얼 베이직 (10)
하드웨어 (3)
C# (42)
Xcode (3)
델파이 (82)
홈페이지 (5)
MindStorm (0)
낙서 (5)
스크래치 (0)
기타 (6)
아두이노 (1)
라즈베리파이 (2)
안드로이드 (6)
파이썬 (0)
WEB (2)
Total : 977,905
Today : 75 Yesterday : 132