당연히 김연아 선수가 받을 거라고 생각하고 있었고, 조금도 의심하지 않았는데도 불구하고 정말 조마조마해 하면서 시합을 지켜봤습니다.
프리 스케이팅이 끝나고 김연아 선수가 눈물을 보일 때는 저도 모르게 울컥 하더군요.
정말 자랑스럽고 자랑스럽고 자랑스럽습니다.
김연아 선수의 스케이팅은 정말 아름답습니다. 김연아 선수도 정말 아름답습니다.
우리는 언제나 최고의 찬사로 아름답다는 말을 합니다.
아름답다는 말에는 정말 많은 의미가 포함되어 있다고 생각합니다.
겉으로 드는 나는 것뿐만 아니라 내면에 내재되어 있는 포함해서 아름답다는 표현을 쓰는 것 같습니다. 김연아 선수의 경우도, 아름다운 미모와 아름다운 스케이팅 모습뿐만 아니라 내면의 강인함까지 포함해서 최고로 아름답다고 말할 수 있는 것이 아닐까요?
뷰티풀 아키텍처 19인의 아키텍트가 들려주는 아름다운 이야기
고수들의 소프트웨어 설계에 숨어있는 아름다움을 이야기하다.
소프트웨어 아키텍처의 기본에서부터 베스트 프랙티스에 해당하는 여러 사례들을 볼 수 있고, 뿐만 아니라 당대의 상당히 넓은 영역에 걸친 시스템에 대해 아주 훌륭히 다루어 주었다. 형식에 구애 받는 시스템에서부터 가벼운 시스템에 이르는 다양한 범위의 아키텍처를 특히 관심 있게 보았다. 단편적으로, 이 책은 예술과 과학 분야에 기여하기 매우 시의적절하고, 유용하며, 소프트웨어 아키텍처의 좋은 연습이 될 것이다. - 그래디 부치(Grady Booch), IBM Fellow, 소프트웨어 공학계의 3대 거목
1부. 아키텍처에 대하여
제 1장. 존 클레인(John Klein), 데이비드 와이스(David Weiss)의 '아키텍처란 무엇인가?'에서는 대상을 질적인 측면과 아키텍처적 구조의 관점을 통해 고찰함으로써 소프트웨어 아키텍처에 대해 정의한다.
제 2장. 피트 굿리프(Pete Goodliffe)의 '닮은 듯 다른 두 소프트웨어 이야기'에서는 어떻게 소프트웨어 아키텍처가 시스템의 진화와 프로젝트에 참여한 개발자들에게 영향을 미칠 수 있는지에 대해 비유를 들어 소개한다.
2부. 엔터프라이즈 애플리케이션 아키텍처
제 3장. 짐 왈도(Jim Waldo)의 '스케일을 위한 아키텍처'에서는 대규모 멀티플레이어를 지원하는 온라인 게임 서버 제작에 필요한 아키텍처에 대해 설명한다.
제 4장. 마이클 나이가드(Michael Nygard)의 '온라인 사진인화 시스템을 위한 아키텍처'에서는 여러 단계와 여러 사이트의 데이터 프로세싱 시스템의 아키텍처를 살펴보고, 이런 아키텍처가 동작하기 위한 타협점에 대해 이야기한다.
제 5장. 브라이언 슬리튼(Brian Sletten)의 '리소스 지향 아키텍처'에서는 데이터 주도 애플리케이션을 제작할 때 리소스 맵핑의 강점에 대해 논의하고, 리소스 지향 아키텍처의 훌륭한 사례에 대해 이야기한다.
제 6장. 데이비드 페터맨(David Fetterman)의 '데이터 증가 : 페이스북 플랫폼 아키텍처'에서는 좋은 아키텍처가 어떻게 애플리케이션 생태계를 창조하고, 지지할 수 있는지를 설명함으로써 데이터 중심적 시스템에 대해 지지하고, 이를 설명한다.
3부. 시스템 아키텍처
제 7장. 데릭 머레이(Derek Murray)와 케이어 프래이저(Keir Fraser)의 'Xen과 가상화의 미학'에서는 잘 만들어진 아키텍처가 어떻게 운영체제의 진화에 영향을 미칠 수 있는지에 대한 사례를 이야기한다.
제 8장. 그렉 레히(Greg Lehey)의 '가디언: 내결함성 운영체제 환경'에서는 거의 20년 동안 고가용성 환경을 만들기 위한 텐덤(Tandem) 플랫폼의 아키텍처적인 선택과 빌딩블록(소프트웨어와 하드웨어 모두)의 원칙들을 이야기한다.
제 9장. 리스 뉴먼(Rhys Newman)과 크리스토퍼 데니스(Christopher Dennis)의 'JPC : 순수 자바로 된 x86 PC 에뮬레이터'에서는 신중히 디자인된 소프트웨어와 도메인 요구사항에 대한 올바른 이해가 어떻게 프로그래밍 시스템의 결함을 극복하는지를 설명한다.
제 10장. 이안 로저스(Ian Rogers)와 데이브 그로브(Dave Grove)의 '메타써큘러 버추얼 머신의 강점 : Jikes RVM'에서는 고급 언어를 위한 자기 최적화, 자가 호스팅을 만들기 위한 런타임에 요구되는 아키텍처적인 선택을 소개한다.
4부. 사용자 애플리케이션 아키텍처
제 11장. 짐 블랜디(Jim Blandy)의 'GNU Emacs : 프로그램의 복잡성'에서는 매우 간단한 구성요소 집합과 확장언어로 구성된 일개 문서 편집기가 어떻게 프로그래머의 맥가이버칼로 바뀔 수 있었는지에 대해 설명한다.
제 12장. 틸 아담(Till Adam)과 미르코 보엠(Mirko Boehm)의 'KDE : 어색한 만남의 시작'에서는 스프린트(sprint)와 상호 검토(peer-review)와 같은 커뮤니티 프로세스가 어떻게 소프트웨어 아키텍처가 대략적인 윤곽에서 아름다운 시스템으로 발전할 수 있도록 도울 수 있는지를 이야기한다.
5부. 언어와 아키텍처
제 13장. 버트랜드 메이어(Bertrand Meyer)의 '소프트웨어 아키텍처 : 객체지향과 함수형의 비교‘에서는 객체지향과 기능 중심의 아키텍처 스타일을 비교한다.
제 14장. 파나지오티스 루리다스(Panagiotis Louridas)의 '고전의 재해석' 에서는 최신과 고전적 객체지향 소프트웨어 언어들의 기본원칙들 뒤에 숨겨진 아키텍처적인 선택에 대해 소개한다.
마지막으로, 맺는 말에서는 MIT에서 아키텍처와 미디어 아트와 과학(Architecture and Media Arts and Sciences)의 교수를 맡고 있는 윌리엄 미셀(William J. Mitchell)이 실제 현실에서 마주하는 건축물 아키텍처의 아름다움과 실리콘 밸리의 소프트웨어 아키텍처의 아름다움의 개념을 하나로 묶어 설명한다. 아름다운 건축 작품은 다채로움과 복잡성을 가지고 있지만, 지적인 참여를 통해서 단순하고 우아한 기능적 조직 및 형식적 순서의 원리를 발견할 수 있다고 말하며, 바로 이 부분이 아키텍처를 경험하고, 기쁨을 얻는 결정적인 부분이라고 강조하고 있다.
아름다운 아키텍처라는 것은 어떤 것일까요?
이 책의 부제가 19인의 아키텍트가 들려 주는 아름다운 이야기이지만, 내용 자체가 아름답다고 할 수는 없습니다. 아키텍트들의 이야기는 언제나 어려우니까요… 그러나 이 책은 고수들의 소프트웨어 설계에 숨어 있는 아름다움을 이야기 해 줍니다.
아름다운 아키텍처란… 견고하고, 우아하며, 유연하고, 유지 가능한 소프트웨어 아키텍처를 말하는 것일까요?? 그렇다면, 이런 아름다운 아키텍처의 구성요소는 무엇일까요? 이 책을 읽고 여러분이 느끼신 아름다운 아키텍처에 대해서 나누어주세요~