SlideShare une entreprise Scribd logo
1  sur  3
Télécharger pour lire hors ligne
추천사
이 책을 들고 몇 장을 넘겨 이 쪽까지 도착한 분들은 지금 들고 있는 것이 책이고 보고 있는 것
이 글자라고 어떻게 알아 차리셨습니까?
인간이 세상으로부터 입력 받는 정보량은 초당 천만 자 이상, 이 정보를 인지하는 데 걸리는 시
간 0.1초, 인지한 정보를 바탕으로 상황을 인식하여 판단하는 데 걸리는 시간 0.07초라고 합니다.
복잡하고 정답도 없는 세상으로부터 동시다발로 쉴새 없이 바뀌면서 오감을 통해 쏟아져 들어오
는 정보를 재빨리 처리해서 사물과 상황을 인식하고 판단하는 능력은 생존과 직결됩니다. 갓난아
이처럼 모든 사물과 상황을 새롭게 인식해야 한다면 세상이 쏟아내는 정보를 따라가지 못해 살아
남지 못합니다. 우리가 지금 살아있는 것만큼 당연하게 여기는 이 놀라운 능력은 도대체 어디서
온 걸까요?
비밀은 바로 패턴입니다. 세상으로부터 입력된 정보를 인지하여 상황을 인식하고 판단하는 일련
의 과정을 처리하면 뉴런(neuron)들은 스스로 조직화되어 일정한 패턴으로 뇌 속에 남습니다. 패
턴이 한 번 완성되면 비슷비슷하지만 항상 조금씩 다른 정보들은 패턴에 맞춰 바로 인식됩니다.
패턴은 경험을 기반으로 합니다. 생존을 위한 경험이야 누구든 비슷할 것입니다. 우리 모두 지금
살아 있는 것만 봐도 우린 모두 생존 분야엔 전문가입니다. 하지만, 소프트웨어 산업 분야에서 어
떨까요? 사람마다 경험한 분야도, 수준도, 폭도 다 다릅니다. 어떤 사람은 산전수전 다 겪은 전문
가이겠지만 어떤 사람은 모든 것이 새로운 갓난아이입니다. 자연인으로서 우리는 생존에 필요한
경험을 쌓을 충분한 시간을 가질 수 있지만, 직업인으로서 우리는 직업세계에서 생존에 필요한
경험을 쌓을 시간이 부족합니다. 조금이라도 빨리 좋은 경험을 습득해서 성장해야 합니다.
스튜어트 브랜드(Stewart Brand)가 ‘How Buildings Learn’이란 책에서 이야기했던 게으르지만 영리
한 건축가를 소개할까 합니다. 이 건축가가 대학 캠퍼스를 설계하게 되었습니다. 하지만, 건축가
는 건물만 설계하고 통행로는 설계하지 않았습니다. 결국 통행로 없이 건물만 완공되었지만 건축
가는 그래도 여유만만이었습니다. 사람들은 통행로가 없었기 때문에 자기 편한 대로 건물 주위를
돌아 다녔습니다. 첫 눈이 내린 날 건축가는 드디어 일을 시작했습니다. 건축가는 사람들이 눈 위
에 만들어 놓은 발자국들을 사진으로 찍었습니다. 봄이 되자 건축가는 사진에 나온 발자국대로
통행로를 만들었습니다. 이렇게 만들어진 통행로는 편리했을 뿐 아니라 캠퍼스와도 잘 어울렸습
니다. 발자국을 남긴 사람들이 바로 어디로 걸어 다니는 게 제일 좋은 지 제일 잘 아는 전문가들
이었기 때문입니다. 게으르지만 영리한 건축가는 전문가들이 발자국으로 남겨놓은 경험을 그대로
활용한 것입니다.
패턴이란 이런 것입니다. 산전수전 다 겪은 소프트웨어 전문가들이 자기 두뇌 가운데 일부를 덤
프떠서 내게 준 것이 패턴입니다. 패턴은 전문가들이 오랜 경험을 통해 반복해서 겪었던 문제들
과 이 문제들에 대한 해결책들을 제시하여 제대로 동작하는 것이 무엇인지 설명합니다. 따라서,
패턴은 문제를 해결할 때 언제나 효과를 발휘합니다. 조금이라도 빨리 좋은 경험을 습득해서 성
장하고 싶다면 패턴을 학습하십시오.
패턴은 학습할 때 주의할 점이 있습니다. 우선, 현실에서 부딪히는 문제는 한 가지 패턴으로 해결
할 만큼 단순하지 않습니다. 패턴은 어찌 보면 수학 공식과 비슷합니다. 수학 문제를 풀려면 적절
한 수학 공식들을 계속 바꿔가며 적용해야 합니다. 이런 이유로 패턴들이 상호작용하여 전체를
이루는 패턴 시스템을 중요하게 다룹니다. 또, 기존 패턴으로 해결할 수 없는 문제들이 나타날 수
있습니다. 이 때는 창의력이 필요한 순간입니다. 그렇지만, 패턴은 인식의 틀을 정형화하기 때문
에 창의력을 제한합니다. 어떻게 창의력을 발휘할 수 있을까요? 에드워드 드 보노(Edward De
Vono)는 인간 두뇌가 창의력에 부적합하다는 한계를 인정하고 연습을 통해 창의력을 키울 수 있
다고 했습니다. 겨우 인지한 정보에서 창의력을 기대하긴 거의 불가능합니다. 기존 패턴을 기반으
로 도약하여 새로운 패턴을 만들어 내는 능력이 바로 창의력입니다.
패턴이 학습자에게 생존과 창의력을 준다면 패턴 작성자에겐 어떤 가치를 줄까요? 패턴 시스템이
해답을 줍니다. 자기 경험을 패턴으로 정리하고 패턴들 사이 관계를 엮어 패턴 시스템을 구축하
는 과정에서 창발(Emergence)이 일어 납니다. 독자 여러분도 지금까지 경험으로 자기만의 패턴
시스템을 만들어 보십시오. 따로 떨어져 있던 경험들이 하나로 합쳐지면서 새로운 인식의 패턴이
만들어지는 짜릿한 창발을 맛볼 수 있을 겁니다.
원작인 Pattern-Oriented Software Architecture 1(이하 POSA1)이 출판된 지도 10년이 넘었습니다.
10년이 넘은 책이라 패턴에 등장하는 예제(example), 용례(known uses)는 낡았을지 몰라도 나머
지 정황(context), 문제(problem), 해법(solution) 등은 필요할 때 지금이라도 찾아서 읽어봐야 할
만큼 통찰력 가득합니다. JBoss가 마이크로커널 아키텍처 패턴을 따르고 대부분 웹 어플리케이션
프레임워크가 MVC 아키텍처 패턴을 따르는 것만 봐도 POSA1은 10년 묵은 박제가 아니라 우리
바로 옆에서 살아서 팔딱팔딱 뛰는 놈입니다.
POSA1이 다루는 스펙트럼은 아키텍처 패턴, 디자인 패턴, 구현 패턴(이디엄)에 이르기까지 굉장
히 넓습니다. 그런데, 왜 제목은 아키텍처 패턴만 다루는 듯한 이름인 패턴지향 소프트웨어 아키
텍처(Pattern-Oriented Software Architecture)일까요? 저자들은 아키텍처, 디자인, 구현 가운데 어
느 하나라도 빠지면 소프트웨어 나아가 시스템이 완성되지 못한다는 점을 일깨웁니다. 자신이 맡
은 역할이 아키텍트던 설계자던 개발자던 모두에게 최고 추상화 수준인 아키텍처부터 최하 추상
화 수준인 코드까지 생각할 것을 요구하고 그만한 통찰력을 제시합니다.
10년 전 저자들 바람대로 이제 패턴은 소프트웨어 산업 전반에서 없어선 안 될 존재가 되었지만,
언어 장벽과 문화 차이로 인해 우리나라에서 POSA1은 마치 무림 비급처럼 회자되어 왔습니다.
이런 안타가운 현실에서 다른 나라 글로 쓰여진 비급을 2년 넘게 우리 글로 해석하며 다듬고 다
듬은 역자와 감수자들에게 찬사를 보냅니다. 오랜 시간 공들인 만큼 매끈하게 뽑아낸 번역은 원
작의 내용과 느낌을 제대로 전달합니다. 중간 중간에 달아 놓은 역자 주석은 사전 지식을 백과
사전처럼 제공합니다. 원작에 걸맞은 명번역서가 나와 뿌듯합니다. 업계 종사자 모두 이 책을 통
해 생존, 창의력, 창발이란 패턴이 주는 힘을 만끽하기 바랍니다.
이 해일
아키텍트/㈜이밸리사람들 이사

Contenu connexe

Similaire à POSA 추천사

​『골빈해커의 3분 딥러닝』 맛보기
​『골빈해커의 3분 딥러닝』 맛보기​『골빈해커의 3분 딥러닝』 맛보기
​『골빈해커의 3분 딥러닝』 맛보기복연 이
 
『밑바닥부터 시작하는 딥러닝』 - 미리보기
『밑바닥부터 시작하는 딥러닝』 - 미리보기『밑바닥부터 시작하는 딥러닝』 - 미리보기
『밑바닥부터 시작하는 딥러닝』 - 미리보기복연 이
 
2011~2012 소프트웨어 관련도서 추천 리뷰 모음
2011~2012 소프트웨어 관련도서 추천 리뷰 모음2011~2012 소프트웨어 관련도서 추천 리뷰 모음
2011~2012 소프트웨어 관련도서 추천 리뷰 모음Choulhyouc Lee
 
4. 디자인과 인간심리
4. 디자인과 인간심리4. 디자인과 인간심리
4. 디자인과 인간심리Suyeong Park
 
스크래치로 시작하는 코딩
스크래치로 시작하는 코딩스크래치로 시작하는 코딩
스크래치로 시작하는 코딩Chiwon Song
 
개발을잘하고싶어요-네이버랩스 송기선님
개발을잘하고싶어요-네이버랩스 송기선님개발을잘하고싶어요-네이버랩스 송기선님
개발을잘하고싶어요-네이버랩스 송기선님NAVER D2
 
『파이썬 라이브러리를 활용한 머신러닝』 맛보기
『파이썬 라이브러리를 활용한 머신러닝』 맛보기『파이썬 라이브러리를 활용한 머신러닝』 맛보기
『파이썬 라이브러리를 활용한 머신러닝』 맛보기복연 이
 
기계학습 / 딥러닝이란 무엇인가
기계학습 / 딥러닝이란 무엇인가기계학습 / 딥러닝이란 무엇인가
기계학습 / 딥러닝이란 무엇인가Yongha Kim
 
훌륭한 개발자로 성장하기
훌륭한 개발자로 성장하기훌륭한 개발자로 성장하기
훌륭한 개발자로 성장하기Changyol BAEK
 
객체지향이란? - <객체지향의 사실과 오해>를 읽고
객체지향이란? - <객체지향의 사실과 오해>를 읽고객체지향이란? - <객체지향의 사실과 오해>를 읽고
객체지향이란? - <객체지향의 사실과 오해>를 읽고HeechanLee6
 
예제로 보는 Pattern 연상법
예제로 보는 Pattern 연상법예제로 보는 Pattern 연상법
예제로 보는 Pattern 연상법hyun soomyung
 
『9가지 사례로 익히는 고급 스파크 분석』 - 맛보기
『9가지 사례로 익히는 고급 스파크 분석』 - 맛보기『9가지 사례로 익히는 고급 스파크 분석』 - 맛보기
『9가지 사례로 익히는 고급 스파크 분석』 - 맛보기복연 이
 
OOP - Object Oriendted Programing
OOP - Object Oriendted ProgramingOOP - Object Oriendted Programing
OOP - Object Oriendted ProgramingChangHyeon Bae
 
130416 blog bookstudy_final
130416 blog bookstudy_final130416 blog bookstudy_final
130416 blog bookstudy_final정인 주
 
Book report apprenticeship patterns
Book report  apprenticeship patternsBook report  apprenticeship patterns
Book report apprenticeship patternsMunsu Kim
 
네이버 SW교육 교사 연수자료_ 송상수
네이버 SW교육 교사 연수자료_ 송상수네이버 SW교육 교사 연수자료_ 송상수
네이버 SW교육 교사 연수자료_ 송상수Sangsu Song
 
. Build a Second Brain 제2의 두뇌 만들기
. Build a Second Brain 제2의 두뇌 만들기 . Build a Second Brain 제2의 두뇌 만들기
. Build a Second Brain 제2의 두뇌 만들기 Jahee Lee
 

Similaire à POSA 추천사 (20)

Pattern Writing
Pattern WritingPattern Writing
Pattern Writing
 
Pattern Writing
Pattern WritingPattern Writing
Pattern Writing
 
​『골빈해커의 3분 딥러닝』 맛보기
​『골빈해커의 3분 딥러닝』 맛보기​『골빈해커의 3분 딥러닝』 맛보기
​『골빈해커의 3분 딥러닝』 맛보기
 
『밑바닥부터 시작하는 딥러닝』 - 미리보기
『밑바닥부터 시작하는 딥러닝』 - 미리보기『밑바닥부터 시작하는 딥러닝』 - 미리보기
『밑바닥부터 시작하는 딥러닝』 - 미리보기
 
2011~2012 소프트웨어 관련도서 추천 리뷰 모음
2011~2012 소프트웨어 관련도서 추천 리뷰 모음2011~2012 소프트웨어 관련도서 추천 리뷰 모음
2011~2012 소프트웨어 관련도서 추천 리뷰 모음
 
4. 디자인과 인간심리
4. 디자인과 인간심리4. 디자인과 인간심리
4. 디자인과 인간심리
 
스크래치로 시작하는 코딩
스크래치로 시작하는 코딩스크래치로 시작하는 코딩
스크래치로 시작하는 코딩
 
개발을잘하고싶어요-네이버랩스 송기선님
개발을잘하고싶어요-네이버랩스 송기선님개발을잘하고싶어요-네이버랩스 송기선님
개발을잘하고싶어요-네이버랩스 송기선님
 
『파이썬 라이브러리를 활용한 머신러닝』 맛보기
『파이썬 라이브러리를 활용한 머신러닝』 맛보기『파이썬 라이브러리를 활용한 머신러닝』 맛보기
『파이썬 라이브러리를 활용한 머신러닝』 맛보기
 
Algorithm Experience Design
Algorithm Experience DesignAlgorithm Experience Design
Algorithm Experience Design
 
기계학습 / 딥러닝이란 무엇인가
기계학습 / 딥러닝이란 무엇인가기계학습 / 딥러닝이란 무엇인가
기계학습 / 딥러닝이란 무엇인가
 
훌륭한 개발자로 성장하기
훌륭한 개발자로 성장하기훌륭한 개발자로 성장하기
훌륭한 개발자로 성장하기
 
객체지향이란? - <객체지향의 사실과 오해>를 읽고
객체지향이란? - <객체지향의 사실과 오해>를 읽고객체지향이란? - <객체지향의 사실과 오해>를 읽고
객체지향이란? - <객체지향의 사실과 오해>를 읽고
 
예제로 보는 Pattern 연상법
예제로 보는 Pattern 연상법예제로 보는 Pattern 연상법
예제로 보는 Pattern 연상법
 
『9가지 사례로 익히는 고급 스파크 분석』 - 맛보기
『9가지 사례로 익히는 고급 스파크 분석』 - 맛보기『9가지 사례로 익히는 고급 스파크 분석』 - 맛보기
『9가지 사례로 익히는 고급 스파크 분석』 - 맛보기
 
OOP - Object Oriendted Programing
OOP - Object Oriendted ProgramingOOP - Object Oriendted Programing
OOP - Object Oriendted Programing
 
130416 blog bookstudy_final
130416 blog bookstudy_final130416 blog bookstudy_final
130416 blog bookstudy_final
 
Book report apprenticeship patterns
Book report  apprenticeship patternsBook report  apprenticeship patterns
Book report apprenticeship patterns
 
네이버 SW교육 교사 연수자료_ 송상수
네이버 SW교육 교사 연수자료_ 송상수네이버 SW교육 교사 연수자료_ 송상수
네이버 SW교육 교사 연수자료_ 송상수
 
. Build a Second Brain 제2의 두뇌 만들기
. Build a Second Brain 제2의 두뇌 만들기 . Build a Second Brain 제2의 두뇌 만들기
. Build a Second Brain 제2의 두뇌 만들기
 

POSA 추천사

  • 1. 추천사 이 책을 들고 몇 장을 넘겨 이 쪽까지 도착한 분들은 지금 들고 있는 것이 책이고 보고 있는 것 이 글자라고 어떻게 알아 차리셨습니까? 인간이 세상으로부터 입력 받는 정보량은 초당 천만 자 이상, 이 정보를 인지하는 데 걸리는 시 간 0.1초, 인지한 정보를 바탕으로 상황을 인식하여 판단하는 데 걸리는 시간 0.07초라고 합니다. 복잡하고 정답도 없는 세상으로부터 동시다발로 쉴새 없이 바뀌면서 오감을 통해 쏟아져 들어오 는 정보를 재빨리 처리해서 사물과 상황을 인식하고 판단하는 능력은 생존과 직결됩니다. 갓난아 이처럼 모든 사물과 상황을 새롭게 인식해야 한다면 세상이 쏟아내는 정보를 따라가지 못해 살아 남지 못합니다. 우리가 지금 살아있는 것만큼 당연하게 여기는 이 놀라운 능력은 도대체 어디서 온 걸까요? 비밀은 바로 패턴입니다. 세상으로부터 입력된 정보를 인지하여 상황을 인식하고 판단하는 일련 의 과정을 처리하면 뉴런(neuron)들은 스스로 조직화되어 일정한 패턴으로 뇌 속에 남습니다. 패 턴이 한 번 완성되면 비슷비슷하지만 항상 조금씩 다른 정보들은 패턴에 맞춰 바로 인식됩니다. 패턴은 경험을 기반으로 합니다. 생존을 위한 경험이야 누구든 비슷할 것입니다. 우리 모두 지금 살아 있는 것만 봐도 우린 모두 생존 분야엔 전문가입니다. 하지만, 소프트웨어 산업 분야에서 어 떨까요? 사람마다 경험한 분야도, 수준도, 폭도 다 다릅니다. 어떤 사람은 산전수전 다 겪은 전문 가이겠지만 어떤 사람은 모든 것이 새로운 갓난아이입니다. 자연인으로서 우리는 생존에 필요한 경험을 쌓을 충분한 시간을 가질 수 있지만, 직업인으로서 우리는 직업세계에서 생존에 필요한 경험을 쌓을 시간이 부족합니다. 조금이라도 빨리 좋은 경험을 습득해서 성장해야 합니다. 스튜어트 브랜드(Stewart Brand)가 ‘How Buildings Learn’이란 책에서 이야기했던 게으르지만 영리 한 건축가를 소개할까 합니다. 이 건축가가 대학 캠퍼스를 설계하게 되었습니다. 하지만, 건축가 는 건물만 설계하고 통행로는 설계하지 않았습니다. 결국 통행로 없이 건물만 완공되었지만 건축 가는 그래도 여유만만이었습니다. 사람들은 통행로가 없었기 때문에 자기 편한 대로 건물 주위를
  • 2. 돌아 다녔습니다. 첫 눈이 내린 날 건축가는 드디어 일을 시작했습니다. 건축가는 사람들이 눈 위 에 만들어 놓은 발자국들을 사진으로 찍었습니다. 봄이 되자 건축가는 사진에 나온 발자국대로 통행로를 만들었습니다. 이렇게 만들어진 통행로는 편리했을 뿐 아니라 캠퍼스와도 잘 어울렸습 니다. 발자국을 남긴 사람들이 바로 어디로 걸어 다니는 게 제일 좋은 지 제일 잘 아는 전문가들 이었기 때문입니다. 게으르지만 영리한 건축가는 전문가들이 발자국으로 남겨놓은 경험을 그대로 활용한 것입니다. 패턴이란 이런 것입니다. 산전수전 다 겪은 소프트웨어 전문가들이 자기 두뇌 가운데 일부를 덤 프떠서 내게 준 것이 패턴입니다. 패턴은 전문가들이 오랜 경험을 통해 반복해서 겪었던 문제들 과 이 문제들에 대한 해결책들을 제시하여 제대로 동작하는 것이 무엇인지 설명합니다. 따라서, 패턴은 문제를 해결할 때 언제나 효과를 발휘합니다. 조금이라도 빨리 좋은 경험을 습득해서 성 장하고 싶다면 패턴을 학습하십시오. 패턴은 학습할 때 주의할 점이 있습니다. 우선, 현실에서 부딪히는 문제는 한 가지 패턴으로 해결 할 만큼 단순하지 않습니다. 패턴은 어찌 보면 수학 공식과 비슷합니다. 수학 문제를 풀려면 적절 한 수학 공식들을 계속 바꿔가며 적용해야 합니다. 이런 이유로 패턴들이 상호작용하여 전체를 이루는 패턴 시스템을 중요하게 다룹니다. 또, 기존 패턴으로 해결할 수 없는 문제들이 나타날 수 있습니다. 이 때는 창의력이 필요한 순간입니다. 그렇지만, 패턴은 인식의 틀을 정형화하기 때문 에 창의력을 제한합니다. 어떻게 창의력을 발휘할 수 있을까요? 에드워드 드 보노(Edward De Vono)는 인간 두뇌가 창의력에 부적합하다는 한계를 인정하고 연습을 통해 창의력을 키울 수 있 다고 했습니다. 겨우 인지한 정보에서 창의력을 기대하긴 거의 불가능합니다. 기존 패턴을 기반으 로 도약하여 새로운 패턴을 만들어 내는 능력이 바로 창의력입니다. 패턴이 학습자에게 생존과 창의력을 준다면 패턴 작성자에겐 어떤 가치를 줄까요? 패턴 시스템이 해답을 줍니다. 자기 경험을 패턴으로 정리하고 패턴들 사이 관계를 엮어 패턴 시스템을 구축하 는 과정에서 창발(Emergence)이 일어 납니다. 독자 여러분도 지금까지 경험으로 자기만의 패턴 시스템을 만들어 보십시오. 따로 떨어져 있던 경험들이 하나로 합쳐지면서 새로운 인식의 패턴이 만들어지는 짜릿한 창발을 맛볼 수 있을 겁니다.
  • 3. 원작인 Pattern-Oriented Software Architecture 1(이하 POSA1)이 출판된 지도 10년이 넘었습니다. 10년이 넘은 책이라 패턴에 등장하는 예제(example), 용례(known uses)는 낡았을지 몰라도 나머 지 정황(context), 문제(problem), 해법(solution) 등은 필요할 때 지금이라도 찾아서 읽어봐야 할 만큼 통찰력 가득합니다. JBoss가 마이크로커널 아키텍처 패턴을 따르고 대부분 웹 어플리케이션 프레임워크가 MVC 아키텍처 패턴을 따르는 것만 봐도 POSA1은 10년 묵은 박제가 아니라 우리 바로 옆에서 살아서 팔딱팔딱 뛰는 놈입니다. POSA1이 다루는 스펙트럼은 아키텍처 패턴, 디자인 패턴, 구현 패턴(이디엄)에 이르기까지 굉장 히 넓습니다. 그런데, 왜 제목은 아키텍처 패턴만 다루는 듯한 이름인 패턴지향 소프트웨어 아키 텍처(Pattern-Oriented Software Architecture)일까요? 저자들은 아키텍처, 디자인, 구현 가운데 어 느 하나라도 빠지면 소프트웨어 나아가 시스템이 완성되지 못한다는 점을 일깨웁니다. 자신이 맡 은 역할이 아키텍트던 설계자던 개발자던 모두에게 최고 추상화 수준인 아키텍처부터 최하 추상 화 수준인 코드까지 생각할 것을 요구하고 그만한 통찰력을 제시합니다. 10년 전 저자들 바람대로 이제 패턴은 소프트웨어 산업 전반에서 없어선 안 될 존재가 되었지만, 언어 장벽과 문화 차이로 인해 우리나라에서 POSA1은 마치 무림 비급처럼 회자되어 왔습니다. 이런 안타가운 현실에서 다른 나라 글로 쓰여진 비급을 2년 넘게 우리 글로 해석하며 다듬고 다 듬은 역자와 감수자들에게 찬사를 보냅니다. 오랜 시간 공들인 만큼 매끈하게 뽑아낸 번역은 원 작의 내용과 느낌을 제대로 전달합니다. 중간 중간에 달아 놓은 역자 주석은 사전 지식을 백과 사전처럼 제공합니다. 원작에 걸맞은 명번역서가 나와 뿌듯합니다. 업계 종사자 모두 이 책을 통 해 생존, 창의력, 창발이란 패턴이 주는 힘을 만끽하기 바랍니다. 이 해일 아키텍트/㈜이밸리사람들 이사