토요일, 12월 31, 2011

[독서광] The Architecture of Open Source Applications

2011년도 벌써 다 끝나간다. 올 한 해 블로그를 구독(또는 방문)해주신 모든 애독자 여러분들께서는 내년 한 해에도 새해복 많이 받으시기 바라며, 올해 마지막 블로그를 적어보려고 한다. 2011년을 장식하는 ... 이런 글을 올리고 싶었지만, 1주일에 글을 하나씩 올리는 관계상 특별히 뽑고 자시고 할 것도 없어서 그냥 새로운 글을 올려드리겠다. 오늘 소개할 내용은 The Architecture of Open Source Applications(아래에서는 지면 관계상 AOSA라고 줄여서 설명한다)라는 제목부터 흥미로운 책(?)이다. 이 책은 웹 브라우저로 읽을 경우에는 무료로 읽을 수 있고, 페이퍼백, PDF, ePub 형식으로 구매할 수도 있으므로 필요에 따라 선택이 가능하다. B급 프로그래머의 경우에는 Send to Kindle을 사용해 HTML을 킨들 전용 포맷으로 변환한 내용을 읽고 있는데, 일부 코드 줄바꿈이 어색하긴 하지만 (코드가 적기 때문에) 충분히 읽을만하다.

이 책은 오픈 소스 코드를 다루고 있다는 점에서 Diomidis Spinellis이 지은 Code Reading이나 Code Quality를 연상하게 만들지만, 근본적인 차이가 있다. 이 책은 오픈 소스 프로젝트의 코드 측면이 아니라 아키텍처 측면을 다루고 있다. 흔히 오픈 소스 프로젝트를 소개하는 홈 페이지를 살펴보면 간략한 소개, 다운로드 링크, 설치 방법, API 설명 등은 나오지만 해당 소프트웨어의 아키텍처나 설계 사상을 다루는 경우는 드물다(가물에 콩나듯 있다고 하더라도 논문이나 발표 자료 형태가 대부분이다). 따라서 오픈 소스 프로젝트에 관심이 많은 호사가가 탐험을 하려고 발을 담그면 전반적인 큰 지도가 없는 상황에서 지엽적인 이정표만 보고 길을 찾아야 한다는 어려움이 있다. AOSA는 특정 오픈 소스 소프트웨어가 풀어야 할 도메인을 비롯해, 전반적인 아키텍처와 설계 사상을 소개하고 있으므로 여행 전에 구글 지도로 출발지에서 목적지까지의 길과 주변 사물을 확인하듯 해당 오픈 소스 소프트웨어의 탐험 경로를 개괄하는 데 많은 도움을 준다. 건축 분야에서 기존 건물의 아키텍처를 다루는 책이 엄청나게 많이 나왔고 여기에 대한 연구도 끊임없이 이뤄지는 반면에 전산 분야에서는 사실상 남이 해 놓은 업적에는 별반 관심이 없이 매번 바퀴를 새로 만들고 똑 같은 실수를 반복하고 있으므로 AOSA의 시도는 눈여겨 볼만하다는 생각이다.

물론 3만 피트에서 조감하는 관계상 각 모듈에 대한 세부 설계 내용이나 구현에 필요한 각종 결정 사항과 제약 사항을 시시콜콜 제시하지는 못하지만, 전반적인 큰 그림을 보기에는 부족함이 없다는 생각이다. 주로 특정 오픈 소스를 대상으로 설명하고 있지만, 요즘 뜨고 있는 일부 분야(예: NoSQL, CI(Continuous Integration))는 여러 가지 기존 기술을 비교하고 장단점을 논하는 방법으로 설명을 전개하기도 한다. 각 장을 쓴 저자가 여러 명이기 때문에 일관성은 조금 떨어지지만 분야나 사람에 따라 어떤 관점으로 오픈 소스 소프트웨어의 큰 그림을 그리는지 옆에서 구경하는 재미도 쏠쏠하다. 각 장은 연관성이 전혀(!) 없기 때문에 다큐먼터리 시리즈 중에서 재미있는 편만 골라보듯 자신이 흥미를 느끼는 부분만 골라서 읽고 나중에 시간이 남으면 (잉여력을 십분 발휘해) 다른 분야도 기웃거리면 좋겠다.

그러면 얼마 남지 않은 올 한해를 잘 마무리하시기 바라며, 내년에도 재미있고 흥미로운 글로 독자분들을 찾아 뵙겠다. 'Happy New Year!'

EOB

토요일, 12월 24, 2011

[독서광] 어댑트

경제학 콘서트경제학 콘서트 2를 모두 읽은 분들이라면 틀림없이 팀 하포드의 신작인 어댑터에 대한 소식을 여러 경로로 접했을 가능성이 높다. 뭐 결론부터 이야기하자면 하포드는 역시 이번에도 우리의 기대를 저버리지 않았다. 전작에서 일상 생활에 얽힌 여러 가지 흥미로운 내용으로 사람들 혼을 빼놓은 하포드는 기세를 몰아 이번에는 '불확실성을 무기로 활용하는 힘'이라는 부제에 걸맞게 위험, 실패, 성공에 대한 이야기를 멋지게 풀어놓았다. 물론 (조만간 소개할 예정인) 바인하커의 '부의 기원'이나 번스타인의 '리스크', 페로우의 'Normal Accident', 위크의 'Managing the Unexpected'를 읽고 나서 이 책을 읽는다면 더욱 좋겠지만, 이런 기초 지식이 없는 분들이라도 이 책만으로 요즘과 같이 복잡한 세상을 살기 위한 지혜를 살짜쿵 엿볼 수 있다는 생각이다.

이 책에서 다루는 내용을 간략하게 요약하자면 "성공을 위해 위험, 실패, 실험은 되도록 멀리해야 할 불경스런 요소가 아니라 반드시 직면하게 되는 필수 요소이며, 실패에 따른 피드백에서 얻은 교훈을 토대로 개선해야 살아남는다"고 볼 수 있겠다. 이 책은 처음부터 끝까지 팔친스키의 3대 원칙을 중심으로 내용을 전개하고 있다.

  1. 새로운 아이디어를 찾고 새로운 것을 시도해볼 것(변이)
  2. 새로운 걸 시도할 때는 실패하더라도 살아남을 수 있는 규모로 시도할 것
  3. 피드백을 구하면서 교훈을 얻을 것(선택)

눈치 빠른 독자(혹은 '부의 기원'을 읽은 독자)들은 상기 3대 교훈이 진화와 관련이 있다는 사실을 즉각적으로 눈치챘을지도 모르겠다. 바로 그렇다. 이 책은 '불확실성', '탄력성', '변이', '선택', '규칙 변경', '독자성'이라는 핵심어를 놓고 사회가 동작하는 방식을 진화의 원리를 빌어 설명하고 있다. 단, 재미없고 따분한 이론이 아니라 하포드 특유의 재치있는 사례 선별과 이야기 풀어내기가 각 장마다 끊임없이 이어지므로 아하!하는 순간이 여러 차례 올 것이다.

백문이 불여 일견이라고 본문에서 재미있는 부분을 정리해드리겠다.

모든 대통령은 정치를 바꾸겠다는 공약을 내건 다음 당선이 된다. 그러다가 현실이 피부에 와닿기 시작하면서 거의 모든 대통령의 지지율이 급락한다. 우리가 계속 리더를 잘못 뽑아서가 아니다. 단지 현대 사회에서 리더십이 달성할 수 있는 업적의 범위를 과대평가하기 때문이다.
텔레비전에 자주 출연하는 유명 전문가일수록 무능한 경우가 많았다.
컴퓨터 산업은 실패로부터 시작되었다. ... 지난 40년 동안 가장 성공적이었다고 말할 수 있는 컴퓨터 산업은 실패에 실패를 거듭하며 눈부신 발전을 이뤄왔다.
진화 과정은 새로운 것의 발견과 익숙한 것의 활용 사이에서 균형을 맞추는 작업이다.
문제가 해결되지 않거나 지속적으로 변할 때 거기 접근하는 최상의 방법은 다양한 접근법으로 실험을 해보는 것이다.
아무리 훌륭한 계획이라도 일단 적군을 만나봐야 한다.
아주 상이한 관점이 부딪히는 가운데 올바른 의사결정이 나올 가능성이 높아진다.
반군은 레이더 화면에 등장하지 않는다.
기술적으로 진보한 기업일수록 더욱 탈집중화한다.
새로운 장비가 우수한 이유는 같은 일을 더 짧은 시간에 하기 때문이 아니라 이전보다 더 탄력적이기 때문이다.
혁신에서 실패는 그만한 값어치가 있다. 우리는 모든 복권이 당첨되리라고 기대하지는 않더라도 당첨 기회를 원한다면 복권을 사야 한다. 통계 용어로 표현하자면 혁신의 수익 패턴은 긍정적인 쪽으로 심하게 편향되어 있다. 작은 실패들이 잦고 큰 성공의 수가 적다는 뜻이다.
어찌된 일인지 정부는 덩치만 크고 성과는 전혀 없는 기업들만 골라서 지원해주는 듯하다. 그 경우 연이은 실패는 따놓은 당상이다.
새로운 아이디어는 약간의 투기성 자금을 필요로 하고 좋은 아이디어가 실패하는 경우도 많다. 뭔가 놀라운 일을 이루기 위해 자금을 움직이는 과정에서는 언제나 약간의 도박적인 요소가 개입되게 마련이므로 벤처 캐피털 같은 '카지노' 활동이 없다면 경제는 지금보다 더 성장하기 힘들고 세상은 혁신성이 떨어질 것이다.
적응은 딱히 우리가 하는 것이 아니다. 오히려 '우리에게 가해지는 것'이라고 봐야 한다.
인간의 실패 중에서 목숨을 좌지우지할 정도로 치명적인 실패는 없다. 일정 한도 내에서 우리는 순차적으로든 동시다발적으로든 실험을 할 수 있다.
비즈니스의 3대 원칙: 1) 새로운 것을 시도해보되 일부는 실패하리라고 예상할 것. 2) 안전한 공간을 마련하거나 자잘한 단계로 일을 진행해서 실패하더라도 살아남을 수 있는 규모로 실패할 것. 3) 실패했을 때 그 사실을 깨달을 것.
구글은 '맹꽁이(명석하지 못한 엔지니어)가 없는 회사'를 유지하고 싶어하고, 팀슨도 회사에서 '농땡이'들을 몰아내고자 한다.
진정으로 시장 파괴적인 혁신은 기업에서 그동안 중요시되어온 요소들을 거의 모두 비껴간다.
최고의 실패는 아무도 보는 사람 없이 방 안에서 혼자 저지르는 사적 실패다. 그 다음으로 좋은 실패는 한정된 청중들 앞에서의 실패다.
부정은 실수를 인정하는 것을 거부하는 과정이고, 손실 추격은 성급하게 실수를 지워버리려다가 더 큰 피해를 초래하는 과정이라면, 쾌락적 편집은 실수가 중요하지 않다고 스스로를 설득하는 미묘한 과정이다.
회사일에 전념한다고 불필요하게 스스로를 구속할 필요는 없다. 우리는 나이가 들수록 실험에 적극적으로 나서지 못하는 듯하다. 이 책을 규정하는 진실, 즉 복잡한 세상에서는 처음부터 제대로 된 성과를 얻을 가능성이 낮다는 사실을 좀더 명확하게 깨닫게 되어서인지도 모른다. 일상생활에서 적응을 실천하려면 실수를 끝없는 실패 과정의 일부로 받아들여야 한다.

한 줄 제멋대로 결론: 실패에 대해 두려워하는 분들이 계시면 이 책을 꼬옥 읽어보시기 바란다.

뱀다리) 이 책을 선물해준 Mr. Kwon에게 감사말을 전한다. ;)

EOB

목요일, 12월 15, 2011

[독서광] 마이크로스타일

요즘 경제/경영 블로그라는 명성에 걸맞지 않게 한참 동안 재미없는(?) 책만 소개했었다. 정신을 차리고 최신 경제/경영서를 읽었으니, 다시 이야기 보따리를 풀어보도록 하자. 오늘은 소셜미디어(!)인 나꼼수라는 곶감이 올드미디어(!)인 조중동(아니 중조동 ㅋㅋ) 호랑이를 물리치는 작금의 상황에서 다시 한번 상큼한 글쓰기의 중요성을 강조하는 '마이크로스타일'을 한번 뜯어보기로 하자.

처음에 '마이크로스타일'을 들었을 때, 소셜미디어에서 살아남기 위한 흥미진진한 이야기거리가 담긴 책으로 착각(?)을 했다(아마 이렇게 착각하고 구입한 사람들 분명히 있다). 하지만 집으로 배달된 책을 열어 본문을 슬쩍 훑어보니 잘못 짚었다는 생각이 번쩍 들었다. 며칠 동안 묵히다 머리 아픈 카산드라를 읽은 기념으로 저자 소개부터 읽는 데 '언어학으로 박사 학위를 받았고, 펜티엄, 파워북, 블렉베리, 스위퍼, 페브리즈 등의 이름을 만들어낸 세계 최고의 네이밍 회사 렉시콘에서 일했다.'라는 문구가 눈에 들어왔다. 눈치 빠른 독자라면 이제 이 책의 정체를 눈치 챘을지도 모르겠다. 이 책은 영어권 문화에서 통하는 언어 심리학을 다룬다.

그렇다고 이 책이 재미없다는 이야기는 아니다. 어느 정도 영어 문화권을 이해하고(특히 미국 문화), 언어와 마케팅과 소셜미디어라는 사회 현상에 관심이 많은 독자라면 아주 재미있게 읽을 수 있다. 물론 국어/영어라는 단어만 봐도 두드러기가 나는 분들께서는 문법이랑 운율이랑 음운 이야기에 기절 초풍할지도 모르겠다는 걱정이 살짝 들긴 한다. 물론 이 책은 짧은 글을 잘 쓰는 규범적인 방법을 다루지 않는다. 기존 문법과 질서를 창조적으로 파괴해 독자들을 즐겁게 만들기 위한 자신만의 창의적인 스타일을 구축하는 데 필요한 배경 지식을 전달할 뿐이다. 이 책을 읽다보면 왜 어떤 브랜드 이름이나 문구는 사람들의 넋을 잃어버리게 만들고, 왜 다른 브랜드 이름이나 문구는 진부하고 따분한지 가슴으로 어렴풋이 알고 있던 사항을 머리로 깨닫을지도 모르겠다.

이 책을 읽다 보면 나꼼수가 인기를 끄는 이유도 미뤄 짐작이 가능하다. 예를 들어, 본문 중 다음 인용구를 한번 보자.

대단히 사소하고 구체적인 사실들을 포함할 때 이야기가 훨씬 믿음직스러워진다고 말한다.

나꼼수에서 정말 눈물나도록 꼼꼼하게 짚어주는 팩트(fact)는 신뢰도 조사 과정에서 나꼼수가 기존 올드 미디어 삼총사(?)를 완전히 밟아버리는 원동력을 제공한다. 다음 문구도 한번 볼까?

솔직하고 진실할 것, 그것이 지금까지 소셜미디어를 통한 의사소통에서 유일하게 공유되는 기대치일 것이다. 이는 소셜미디어를 구시대의 일방향적 출판 및 방송과 구분해주는 요소인 듯 하다.

_솔직_과 _진실_에 굶주린 사람들에게 기존의 말장난(예: 주어가 없다... T_T)과는 차별화된 내용을 전달하는 소셜미디어는 완전히 판세를 뒤엎고 있다. 물론 나꼼수를 저격하기 위한 아류작이 몇 개 나왔지만 솔직/진실과는 거리가 멀고(조중동에 나온 이야기를 동어 반복하는 수준이니...) 꼼꼼하지도 않고 게다가 재미도 없는 바람에 나오는 족족 망하고 있기에 소셜미디어라도 다 같은 소셜미디어가 아니라는 생각이 들긴 한다.

잠깐 이야기가 옆으로 새버렸는데, 이 책의 목차를 보면 크게 '의미', '소리', '구조', '사회적 맥락'이라는 네 가지 맥락에서 축소된 메시지를 요리하고 있다. 따분한 문법책이 되지 않도록 저자는 현실에서 성공한 예와 실패한 예를 많이 들고 있으며, 어려운 개념도 알기 쉽게 이해하도록 만드는 마법도 제법 잘 부리고 있다(물론 그렇다고 책 내용이 쉬워지지는 않는다. ㅋㅋ). 회사 이름, 상품 이름, 시, 인용구, 헤드라인, 신조어, 트윗, ... 한 마디로 정신없는 짧은 메시지의 향연이 펼쳐지므로 이 책을 읽고 나면 여러분들도 틀림없이 단어로 장난치고 싶은 마음이 들테다.

자 그렇다면 본문 중 몇 가지 재미있는 내용을 조금 더 살펴보자.

인터넷에서 우리는 주목할만한 가치가 없는 것들에 시간낭비하지 않기 위해 훑어보고 건너뛰고 클릭한다.
인터넷에서 우리가 선택할 수 있는 읽을거리는 무제한인데 품질 관리는 거의 안 된다.
누구라도 인터넷에서 눈에 띄기를 바라는 사람이라면 텍스트를 함께 제공하는 편이 훨씬 낫다.
현재 우리의 문화에서 언어를 사용하는 방식과 언어에 대해 생각하고 말하는 방식 사이에는 이상한 불협화음이 존재한다.
개념들은 깔끔한 포장에 담겨 오지 않는다. 간단히 말하자면 개념은 사물이 아니라 무언가가 일어나는 과정이다.
(사람들은) 새로운 정보를 받아들인 후 그것이 우리가 당면한 상황 및 알거나 믿는 것들과 어떤 관계가 있는지 식별해낸다.
눈앞에 있는 것에 대해 말할 때조차, 명료하게 말하기란 큰 도전일 수 있다.
애플은 문학적이고 문화적인 것들, 직접적인 경험에 기반한 모든 것을 뒤섞는 마법을 부린다.
좋은 이름은 대부분 무의식적으로 작동한다.
감정은 생각과 그것을 표현하는 메시지를 선명하게 만들어주기도 한다.
우리는 관념이 아니라 상황 속에서 살아간다.
대부분의 상황에는 기대치가 내장되어 있다. 정당이나 정치인은 최대한 밝은 모습으로 보이려 노력할 것이다.
아름다운 단어들은 추한 단어보다 더 타당하게 여겨진다.
이름과 주식 시세 표시 약어를 발음하기 쉬운 기업들이 그렇지 않은 기업들보다 주식 상장 당시 더 좋은 반응을 얻는다는 사실을 발견했다.
우리는 언어 형식을 가장 명료하고 단순하게 만들고 유지하는 경향이 있다.
성인이 된 후로는 그림이나 음악작품을 단 한 점도 생산하지 않아도 사는 데 아무 지장이 없다. 하지만 시는 다르다.
윌리엄 세익스피어는 열정적인 신어 제조자였다.
단어 조합은 영어에서 매우 보편적이며 자연스럽게 받아들여진다. 가장 중요한 것은 조합된 단어 중 두 번째 것이 몸통, 즉 조합된 단어가 어떤 범주에 속하는지 알리는 의미의 핵심으로 해석된다는 점이다.
어구의 표현력 속에 생각의 씨앗이 들어있다.
정치인들은 주기적으로 굶주린 유권자들에게 핵심 어구들을 과자처럼 던져준다. 핵심을 피하며 일관성도 없는 답변을 내놓을 때 그런 어구들은 실로 말도 안 되는 소리로 전락해버린다.
많은 이들이 정보의 과대 공유 혹은 과소 공유의 위험을 경고한다. 트윗의 양과 질 모두에 적용되는 이야기다. 과대 공유는 지나치게 자주, 또 너무 사적이거나 진부하기만 한 메시지를 올리는 것을 뜻한다. 과소 공유는 트윗을 너무 드문 드문 올리거나 곧바로 업데이트할 준비가 되어 있지 않은 것이다.
인터넷에서 대화에 참여하기 위해서는 자신만의 목소리를 만들어내는 것이 핵심이다.

이 책은 본문 중에 나오는 실제 사례가 훨씬 더 중요하므로, 위에 소개한 내용만 읽고서 따분하다고 섣불리 판단하지 마시라. 아, 산뜻한 소개 동영상(한국어다)도 있으므로 한번 보시길...

EOB

토요일, 12월 10, 2011

[독서광] 카산드라 완벽 가이드

애독자 여러분들의 성원에 힘입어 오늘은 클라우드 관련 서적 중 데이터베이스 관련 기술을 담고 있는 '카산드라 완벽 가이드'를 읽고 서평을 정리해보겠다. 지난번에 올려드린 [독서광] MongoDB 완벽 가이드를 재미있게 읽으신 분이라면 이 책도 역시 흥미 진진하게 읽을 수 있지 않을까 싶다. 단, 지난번 MongoDB 책만큼이나 이 책도 기존 관계형 데이터베이스 관리 시스템에 익숙한 분이 읽기는 과정에서 상당히 어려운 용어와 개념이 등장하므로 마음을 단단히 먹고 접근해야 할 필요성이 있다. 책 목차를 보면 가장 끝에 '용어집'이 나오는데, 읽다보면 왜 용어집까지 동원해야 하는지 감이 오시리라. B급 프로그래머도 처음부터 끝까지 다 읽고나서 3장(데이터 모델), 5장(아키텍처)을 다시 한번 읽느라(이런 경우는 상당히 드문 사례다. ㅋㅋ) 서평을 늦게 올렸으니 애독자 여러분들께서도 한 번 읽고나서 어렵다고 실망하지 마시기 바란다.

이 책의 부제목을 보면 '페이스북, 트위터를 지탱하는 기술 NoSQL'이라고 붙어 있고, 또한 인터넷에 올라온 여러 자료를 보면 카산드라에 대해 아주 훌륭한 이야기가 많기 때문에 신이 내린 선물로 생각하는 분들도 많지만... 이름값(?)을 하기 때문에 만병 통치약은 아니다. 카산드라가 데이터베이스 세상을 지배하는 예언자라는 생각은 오라클 데이터베이스가 어떤 경우에도 죽지 않고(오래 전에(요즘은 저얼때 그렇지 않다고 믿는다!) 오라클 서버 데몬이 core dump 내고 죽는 경우를 봤는데, 옆에서 그 장면을 보고서도 이럴리 없다고 고개를 갸우뚱하는 사람들을 봤다. 낄낄) 완벽한 성능을 발휘한다는 미신 만큼이나 위험하다. 그나저나 데이터베이스 이름은 다들 왜 이렇게 잘 짓는거야! 그렇다면 카산드라의 정체는 과연 무엇일까? 본문 중에 보면 50단어 카산드라라고 해서 다음과 같이 설명하는 내용이 나온다.

아파치 카산드라는 오픈 소스, 분산된, 비집중화된, 지속적으로 확장 가능한, 고가용성, 결함 허용, 조정가능한 일관성, 컬럼 지향 데이터베이스로 아마존 다이나모의 분산 디자인과 구글 빅테이블의 데이터 모델을 기반으로 페이스북에서 만들었고, 웹에서 매우 유명한 몇몇 사이트에서 사용하고 있다.

카산드라를 이해하기 어려운 주요 이유는 기존의 마스터 슬레이브로 동작하는 아키텍처를 따르지 않고 P2P를 따라 움직이기 때문이다. 일반적인 상식으로 카산드라를 이해하려면 상당한 지적 저항이 일어나기 때문에 이 책은 1장과 부록 A에서 거의 필사적(?)으로 카산드라의 큰 철학과 다른 모델과 차이점을 설명하려 애쓴다. 간단하게 설명하자면, 카산드라는 C(Consistency), A(Availability), P(Partition Tolerance) 중에서 C와 A를 강조하는 MySQL이나 C와 P를 강조하는 MongoDB와는 달리 A와 P를 강조하려다 보니 일관성을 다소('다소'라는 표현에 주의하자. '완전히'가 아니다) 희생하는 아키텍처를 따른다. 이러다보니 참 재미있는 특성이 생겼다. 읽기 보다는 쓰기가 더 빠르고(일반적인 데이터베이스와는 반대다), 단일 장애 지점이 존재하지 않으며(P2P를 다시 한번 생각하라!), 샤딩이 그냥 되며(랜덤하게 노드를 골라서 쓰면 자기들끼리 알아서 동기화 해버린다!), 노드 추가에 따른 탄력적인 확장성이나 노드가 오동작하거나 죽더라도 고가용성을 달성하기가 어렵지 않다. 따라서 목적에 맞는(예: 쇼핑몰에서 장바구니 담기, 개인 전용 편지함 읽기) 시나리오에서는 십분 위력을 발휘할 수 있게 된다.

아키텍처만 어려우면 뭐 그려니 하겠지만, 데이터 모델이나 질의 방법도 절대 쉽지 않다(다행스럽게도 최신 버전에는 SQL과 살짝 유사한 질의 언어(CQL)가 추가되었다. 그 전에는 눈물이 앞을 가렸을 듯...). 구글의 빅테이블에 익숙한 분들이라면 카산드라에서 제공하는 데이터 모델(키스페이스, 컬럼 패밀리, 슈퍼 컬럼, 컬럼이라는 사총사가 등장해서 머리가 띵하게 만들어준다) 역시 손쉽게 이해가 갈지 모르지만 일반적인 관계형 데이터 모델에 익숙한 분들이라면 MongoDB와는 또 다른 난감함을 선사한다. 이런 차이점을 설명하려고 본문(호텔을 모델링하는 응용을 만들어본다)과 부록(블로그를 만든다고 가정하고, 자료를 넣고 질의해본다)에 예제를 소개하고 있지만, 실제 사례(use case)와는 동떨어져 예제를 위한 예제(잘 읽어보면 데이터 모델과 이런 모델을 다루는 카산드라만의 방식을 이해할 수 있지만, 실제 뭔가 해보도록 도와주기에는 2% 부족하다. 아무래도 B급 프로그래머 머리가 나쁜 모양이다. T_T)가 되어버린 점이 조금 아쉽다. 부록에서 큰 마음 먹고 twissandra와 같은 현장감 있는 예제를 분석해 설명했으면 오히려 더 좋았을 거라는 못된(!) 생각을 잠시 해봤다. 아, 모니터링과 성능 최적화도 기초적인 내용만 설명하고 있으므로, 카산드라를 실제 현장에 적용하려는 분들께서는 다른 문서를 참조할 필요가 있겠다.

결론: 이 책을 읽고 나서 카산드라의 아아주 복잡한 개념들(머클 트리, 벡터 클록, 블룸 필터, 스니치, 안티 엔트로피, 힌트 핸드오프)을 한번에 쏘옥 이해하기는 어렵지만(원래 어려운 데다 책을 읽어봐도 설명이 다소 햇갈린다. 예를 들어, 본문 중 "키스페이스는 데이터를 범위로 분할한다. 키스페이스는 범위에서 데이터를 분할한다."라는 설명이 뭔지 이해가 되나? 설명에 재귀호출을 걸어놓으면 독자보고 우짜라고!!! T_T) 출발점으로서는 부족함이 없다는 생각이다. 특히 3장, 5장, 부록 A는 두세번씩 정독해보면 카산드라를 이해하는 데 큰 도움이 되리라 확신한다.

뱀다리: 카산드라 버전이 바뀔 때마다 상당한 기능 추가와 삭제가 일어나므로 0.6을 기반으로 작성된 원서를 번역하며 0.8에서 변경된 내역을 추적하느라 역자들이 고생했겠다는 생각이 드는데, (역자들의 고생과는 별개로) 벌써 1.0.x으로 버전이 올라가버렸기에 본격적으로 카산드라를 사용해서 개발하려는 분들께서는 책 내용을 100% 곧이 곧대로 믿지 마시고 반드시 소스 코드와 문서를 교차 참조해야 뒷탈이 없을 것이다.

보너스: 넷플릭스 기술 블로그에 올라온 좋은 내용을 소개한다. 카산드라 부록 A에서도 집중적으로 나오지만, NoSQL이라 해서 모두 특징/기능/성능이 동일하지 않다는 사실을 다시 한번 기억해둘 필요가 있다.

The reason why we use multiple NoSQL solutions is because each one is best suited for a specific set of use cases.
EOB

목요일, 12월 01, 2011

[독서광] 기업 소셜미디어 활용 전략

지난번에 소개한 R&D 혁신의 기술에 이어 액센츄어에서 만든 또 다른 책인 '기업 소셜미디어 활용 전략'을 출판사에서 선물로 받았다. R&D 혁신의 기술을 재미있게 봤으니, 후속타에 대해서도 기대치가 제법 높았다. 그런데, 막상 배송된 책을 받고 열어보니 페이지랑 텍스트 압박이 장난이 아닌지라... 전작을 따르는 형태를 기대했던 분들이라면 번역서인 이 책은 조금 다르게 읽을 필요가 있다. 우선 이 책의 성격을 한번 규명해보자. '엑센츄어 컨설턴트가 전하는 기업 소셜마케팅 가이드'라는 부제가 붙었듯이 이 책은 기업, 소셜, 마케팅과 관련한 책이다. 기술적인 접근 대신 상위 단계에서 전략적인 접근 방법을 따르므로(다들 아시겠지만, 엑센츄어는 컨설팅 회사다), 개발자들이 보기에는 그다지 적합하지 않고, 기업의 높으신 분들과 소셜미디어를 담당하는 분들이 나침반으로 삼기에 적합하다는 생각이다. 이 책은 미국의 사례를 많이 들고 있지만, 한국 특성상 조만간 미국처럼(?) 되어버리릴 가능성이 높기에 미리 앞날을 예상하는 수정 구슬처럼 들여다보면 나름 도움이 될 것 같다.

이 책을 읽다보니 최근에 터진 파워(?) 블로그 공구 사건, 나꼼수 열풍, 언론의 SNS 괴담, 정부 차원의 SNS 심의 규정등 이 오버랩되면서 현재 기업/정부 차원에서 소셜미디어에 대한 대응은 일반 대중을 도저히 못따라가는 시대착오적인 행태를 보인다는 생각이 저절로 들었다. 본문에도 여러 차례 나오지만 소셜 미디어의 대세는 막거나 거스를 대상이 아니며 이를 억누르고자하는 시도는 더 나쁜 결과를 초래하므로 적극적인 대응(적극적으로 폐쇄하거나 검열한다는 이야기가 아니다!)이 필요하다는 내용을 이해 관계자들은 모두 새겨 들어야 한다. 엉뚱하게 규제 안을 들고 나오거나 더 황당하게 (어떤 당처럼) 트위터 전문가를 초빙해 여론에 적극 대응하겠다는 말은 계란으로 바위치기와 다름 아니다.

자, 그러면 이 책의 내용 구성을 한번 살펴보자. 이 책은 5개 부에 18개 장으로 나뉘어져 있으며, 각 장은 그 분야 전문가들이 집필했다. 따라서 처음부터 끝까지 읽을 필요가 없으며 관심이 있는 분야를 먼저 보고 나머지는 필요할 때마다 참고하면 되는 구조다. 기업을 위한 전반적인 소셜 미디어 전략, 소셜미디어에서 마케팅과 판매 기법, 소셜 미디어를 사용한 고객 서비스와 지원, 플랫폼 구축과 실행, 소셜미디어 성공을 위한 직원 능력 강화라는 큰 주제 아래 여러 가지 의미있는 내용이 등장하고 있다. 사례 연구가 더 많았으면 좋을 뻔 했지만, 아직은 소셜 미디어가 막 시작 단계을 벗어나 본 궤도에 오르는 중이므로 추가 데이터가 더 쌓이기 전까지 본문에 녹아 있는 내용으로 만족해야 할 것 같다.

그러면 독자 여러분을 위해 본문에 나오는 몇 가지 흥미로운 이야기를 정리해보았다.

대부분의 기업에 소셜미디어가 그토록 어려운 이유는 소셜미디어가 프로세스이지, 이벤트가 아니기 때문이다. 체중 감량도 프로세스다 ... 그리고 브랜드 구축도 프로세스다. 반면, 기업 박람회 부스를 설치하는 것은 이벤트다. 기업공개나 수술도 이벤트다. 이벤트는 비교적 관리하기도, 돈을 지급하기도 쉽고 흥미진진한 일이다. 프로세스는 긴 안목에서 결과를 구축하는 일이다.
지진에 비유하자면, 소셜미디어를 통해 전달되는 고객의 코멘트는 경영자들 대부분이 감지하지 못하거나 감지하지 않는 단순한 미진에 불과하다. 하지만 안타깝게도 경영자들은 미진보다는 강진에 대응하는 데 훨씬 익숙하다.
쇼셜미디어 때문에 기업들은 부정적 피드백을 대단히 많이 받을 수 있으므로, 거기에 빠짐없이 응답하고 싶은 것은 당연하다. 그러나 기업은 고객들의 말과 행동을 비교할 필요가 있다. 부모님 말씀처럼 "말보다 행동"이다.
쇼셜미디어는 매일 24시간 운영되는 공개 채널이다. '업무 시간'도 없다. 페이스북은 절대 '폐점'하지 않는다.
세상의 많은 곳에서 정말 많은 고객이 한 회사에 대해 부정적인 인상을 빨리 받을 수 있다. 소셜 미디어 때문에, 말하지면 불길이 걷잡을 수 없이 빠르게 번질 수 있다.
소셜미디어는 다른 고객 상호작용보다 훨씬 많은 데이터를 양산한다.
핵심 영향력 행사자를 현명하게 타겟팅한다면 한 토픽에 관한 세상 사람들의 사고 방식을 근본적으로 변화시킬 수 있다.
상하운동을 회전운동으로 변환시키기 전까지 증기 기관은 상업적으로 성공할 거라는 기대를 별로 모으지 못했다.
소셜미디어에 편승한 소비자의 분노를 신속히 봉합하지 못하면 기업은 자사 브랜드 이미지가 무너지는 재앙을 그저 맥없이 바라볼 수 밖에 없다.
트위터, 페이스북 같은 소셜미디어 사용자들은 세련된 답을 얻기보다는 적시에 신속하게 답을 얻는 것을 중요하게 여긴다.
소셜미디어에 투자하면서 비용 절감을 기대해서는 안 된다. 사실 소셜미디어 채널을 열면 처음엔 처리해야 할 고객 서비스 총량이 증가한다.
고객은 산 정상이라도 등정한 듯 온 세상에 마음껏 '소리 지를' 수 있다. 불만으로 신고된 내용이 사실이건 아니건 기업 입장에서는 막을 수도, 통제할 수도 없다.
기업은 무엇보다 고객들이 어떤 불만을 얼마나 빠르게 퍼뜨리든지 통제하려 들어서는 안 된다. 회사에 대한 불만을 포스팅하는 고객과 공개적으로 말싸움을 벌여서도 안 된다. 고객과 말싸움을 벌여서는 문제를 악화시킬 뿐이다.
기업이 소셜미디어 대화를 청취하면 세상을 향한 새로운 창, 즉 세계 곳곳에 있는 지점들 내부에서 일어나는 일들을 마치 각 지점의 카운터에 앉아 실시간으로 고객의 소리를 듣는 것과 같은 효과를 얻을 수 있다.
사실 "인터넷 세대들에게 이메일은 옛말이다. 이메일은 친구의 부모에게 정중한 감사 편지를 쓸 때나 사용하는 퇴물이 되어버렸다."
사람들은 기업 전반에서 수평적으로 왕래하지 않고 정보와 의사결정을 수직적으로 전달하기 때문에 정보와 의사결정의 속도가 느려지고 정보의 흐름이 제한되는 것이다.
고성과 기업들이 적응력을 키우는 방향으로 기업을 지속적으로 설계 또는 재설계 했다는 점이 분명해졌다.
"기업들은 언제나 사이버스페이스 접속을 금지함으로써 위험을 통제하려 했지만 소셜미디어에 관해서 만큼은 그런 노력은 실패하고 말 것이다. 그러니 접속을 막으려만 하지 말고 포용하려 노력해야 한다." 금지는 정책이 아닌 헛된 몽상에 불과하다.

이 책은 주로 소셜미디어를 영리적인 목적으로 사용하는 기업에 대한 내용을 담고 있지만, 비영리 단체나 정부/정당 조직에도 그대로 적용될 수 있다. 소셜미디어에 끌려다니는 대신 소셜미디어를 끌고 다니도록 이 책을 주의 깊게 읽어보시기 바란다.

EOB

수요일, 11월 23, 2011

[독서광] 알짜만 골라 배우는 자바 구글앱엔진

'무료로 시작하는 손쉬운 클라우드 애플리케이션 개발'이라는 긴 부제가 붙은 이 책은 지난번에 소개한 [독서광] 구글앱엔진 활용하기에서도 다뤘던 구글앱엔진 관련 서적이다. 따라서 두 책을 비교하면서 서평을 풀어보겠다.

'구글앱엔진 활용하기'가 파이썬으로 만들어진 완결된 예제 중심의 설명서라면, '알짜만 ...'은 자바로 만들어진 완결된 예제 중심의 설명서다. 두 책 모두 한국인 정서에 맞게 완결된 코드를 제공하고 있으므로(프로젝트 코드(다운로드 아이콘을 콕 눌러보시라)를 제공해주신 역자분들께 정말정말 감사드린다) 시간이 급한 분들이라면 일단 따라해보고 그 다음에 생각해보는 방식으로 책을 읽을 수 있겠다. '구글앱엔진 활용하기'가 상당히 많은 부분을 앱엔진과 무관한 일반적인 내용에 할애했다면, '알짜만 ...'은 본문 중 상당히 많은 부분을 서블릿 컨테이너와 MVC, 프레임워크, GWT 설명에 할애하고 있기 때문에 구글 앱엔진 자체에 관심이 많은 분들께서 다시 한번 황당해할지도 모르겠다. 순수하게 구글앱엔진을 원하시는 분이라면 안 맞을 수도 있으므로 반드시 구입 전에 목차를 살펴보시기 바란다.

이 책은 프로젝트 관리 시스템을 예로 들어 기능을 하나씩 추가하는 방법으로 전개하고 있다. UI 만든 다음에 사용자 인증을 추가하고 데이터베이스 엔진을 붙이고 GWT와 연동하는 순서를 따르므로 완결된 형태의 프로젝트 진행 과정을 볼 수 있다. 물론 이런 서술 방식은 양날의 검이다(당연히 서술 방식에 대한 평가는 사람마다 다르다). 급한 마음에 코드를 따라하는 사람들에게는 좋을지 모르겠지만, 똑같은 코드나 핵심에서 벗어나 중요하지 않은 코드들이 반복해서 나오므로 어느 정도 수준이 되는 사람 입장에서 보면 하품이 날지도 모르기 때문이다. 가장 끝 부분에 구글앱엔진에서 제공하는 서비스를 활용하고 외부 서비스와 연동하는 부분이 나오는 데, 앞서 설명하는 프로젝트와 외떨어져 간략하게 예제만 소개하고 넘어가버리므로 조금 김이 빠진다는 느낌이다. 이 부분까지도 프로젝트에 함께 엮어져서 나왔으면 더욱 좋을뻔했다.

결론: 지난번 '구글앱엔진 활용하기'와 거의 유사한 결론을 내려야겠다. 구글앱엔진의 숨겨진 비밀을 파해치거나 성능을 높이거나 비용을 절약하는 등 실제 현업에 필요한 내용을 기대하시는 분들이라면 별로 얻을 내용이 없지만, 자바를 사용해 구글앱엔진에서 뭔가를 시도해보려는 개발자들이 며칠 투자하면 감을 잡기에 적합하다는 생각이다.

애독자 여러분을 위해 클라우드 서평은 추운 겨울에도 계속해서 이어진다. 기대하시라!

EOB

수요일, 11월 16, 2011

[독서광] 스티브잡스 네 번의 삶

스티브 잡스의 평가는 세월이 흘러가면서 긍정적으로 바뀌는 경향을 보인다. 물론 모든 역사는 승자의 관점으로 기록되기에(예외: 징기스칸의 역사는 대부분 패자의 시각으로 기록되었다. 징기스칸이 오면 다 죽는다... 뭐 이런 식으로... T_T) 스티브 잡스도 예외는 아닌지라 애플로 복귀한 다음부터 기존의 부정적인 이미지에서 긍정적인 이미지로 탈바꿈한다. 물론 애플 제품 라인업의 단순화(수십 여 종의 매킨토시와 레이저라이터 제품군에서 데스크탑, 노트북, 아이맥 세 종류로 줄어든다)와 아이포드/아이폰의 성공이라는 후광 효과가 있었기에 가능했다는 생각이 들지만, 단순히 운으로 치부하기에는 연이은 성공은 우리에게 시사하는 바가 크다.

시간이 충분한 독자분이라면 iCon: 스티브 잡스나 이번에 새로 나온 아이작슨이 지은 스티브 잡스 공식 전기(이 책도 읽고 있기에 조만간 서평을 올려드리겠다)를 읽어보시면 되겠지만, 두 책 모두 분량과 텍스트 압박이 진짜 만만치 않기에 비교적 속성(?)으로 스티브 잡스의 삶을 되돌아보고 싶다면 에이콘 출판사에서 나온 스티브 잡스 네 번의 삶을 읽어보는 방법이 있겠다.

책 나온지 며칠 되었다고 벌서 서평이 뜨냐고 알바라고 항의가 들어올지 몰라 잠시 설명을 드리자면... 반칙 같지만 출간에 앞서 교정지로 다 읽었다. 나름 애플광(?)이라는 소문이 퍼져서 그런지 몰라도 '미래를 만든 Geeks'(앤디 허츠필드가 지은 이 책도 스티브 잡스를 이해하기 위한 상당히 중요한 책으로 봐야한다. 필독서 목록에 넣어주시라.)도 출간에 앞서 일부를 미리 읽었는데 이번에도 미리 읽게 되는 찬스를 잡았다고 생각하시면 틀림 없겠다.

이 책은 프랑스 저자가 적었기 때문에 치밀한 자료를 토대로 헐리우드 블록버스터 식으로 밀어붙이는 미국쪽 책과는 달리 문화적인 냄새(?)가 많이 난다. 물론 전반부를 넘어서 후반부로 가면 아무래도 기술적인 내용이 많이 나오는 관계상 이런 좋은 특성이 사라지긴 하지만 1부까지는 확실히 음악/예술을 사랑(?)하는 스티브 잡스의 면모를 잘 잡아내었다(힌트: 이 책 원저자가 음악 관련 저술을 많이 했다). 책 제목에서 네 번의 삶이라고 나오는데 이는 책 구성을 본따 지은 제목이라고 보면 되겠다. 1부는 스티브 잡스가 방황하던 시절 이야기를 다루는 '구도와 방황', 2부는 애플과 매킨토시 개발 과정을 다루는 '스티브의 영광', 3부는 망가진 스티브 잡스의 재기를 다루는 '오딧세이', 4부는 스티브 잡스의 복귀와 죽음을 다루는 '인생의 절정기'이며 악마(?) 스티브 잡스가 인간(?) 스티브 잡스로 바뀌는 모습을 연대기 순으로 소개한다.

아이폰 이후의 잡스는 스포트라이트를 너무 많이 받아 많은 분들께서 별의 별 내용까지 다 알고 계시겠지만, 넥스트스텝 이전의 스티브 잡스는 애플 ][ 오덕이 아닌 이상 잘 모르실 가능성이 높으므로 이 책을 읽으면서 한번쯤 본 모습을 보시고(이 책에서 많이 순화한 수준이 이 정도다. 사실상 젊었을 때 잡스는 거의 구둣발로 엔지니어 조인트 까는 게 일상 다반사라고 보시면 된다.) 언론에 너무 많이 나와 조금 식상하긴 하지만 스티브 잡스의 스탠포드 연설도 본문 중에 소개되므로(경험상 규칙: 유명할수록 실제로 다 읽고 들어본 사람은 적다. ㅋㅋ), 혹시 아직 접해보지 못한 분이시라면 이번 기회에 읽어보시면 좋겠다.

1991년부터 매킨토시를 사용해왔던(물론 중간에 유닉스 워크스테이션과 윈도우 기계로 외도를 한 기간이 있긴하지만... ㅋㅋ) 애플 광으로서 여러분께 한 가지 부탁 말씀을 드리겠는데, (애플 제품의 철학과 사상을 좀더 명확하게 이해하기 위해) 스티브 잡스에 대한 이야기는 상기 소개하는 어떤 책이라도 좋으니 애독자 여러분께서는 꼭 시간 내셔서 읽어보시기 바란다. 기존 대기업에서 수행했던 구태의연하고 구시대적인 시장 조사 방식을 거부하고 철저히 개발자 스스로가 가장 중요한 고객으로서 사용자에게 최대의 가치를 제공하려는 필사적인 노력을 이해하는 단초가 되리라 확신한다.

EOB

목요일, 11월 10, 2011

[끝없는 뽐뿌질] SDHC 카드 성능 비교

블로거 인터페이스 개편 이후 통계 기능이 들어갔기에, 독자 여러분들께서 어떤 글을 가장 많이 읽는지 확인해봤더니... 사실상 [독서광] 섹션은 파리만 날리고(예외: 백트랙 책 소개!), [뽐뿌질] 섹션은 맥북에어랑 맥미니가 아주 두각을 나타내고 있었다. 애독자 여러분들께 서비스를 위해 오늘도 뽐뿌성 글 하나 정리하고 넘어가겠다. 소개할 주제는 SDHC 카드 성능 비교다. ㅋㅋ

맥북에어 13인치랑 맥미니에 SDXC 슬롯이 내장되어 있기에 또 그냥 넘어갈 수 없었다. 투철한 실험정신을 발휘해 SDHC 카드 성능을 같이 살펴보기로 하자. 우선 SDHC에 대한 일반적인 이야기를 잠시 늘어놓겠다. SD 카드는 디지털 카메라를 사용하시는 분이라면 누구나 한번씩 듣고 써보고 했음직한 용어다. 그렇다면 SD 뒤에 HC가 붙은 이 물건의 정체가 무엇이냐 하면 뭐 간단하다. HC는 고용량(High Capacity)을 줄인 말이며 2G~32G까지 용량을 지원한다. 눈치빠른 분들이라면 SDXC 슬롯이라는 표현에서 XC도 유추해낼 수 있을테다. XC는 확장용량(eXtended Capacity)을 줄인 말이며 32G~2T까지 용량을 지원한다. 용량 이외 고려해야 하는 다른 요소로 폼팩터(표준, 미니, 마이크로 세 종류로 위키피디아에서 가져온 그림을 살펴보기 바란다), 그리고 엄청 중요한 속력(Speed Class Rating)이 있다. 속력은 원안에 들어있는 숫자 * 8Mbits/s으로 계산하면 된다. 예를 들어, 바이트 단위로 환산할 경우 클래스 2라면 2MBytes/s, 클래스 4라면 4Mbytes/s, 클래스 10이라면 10Mbytes/s 정도 성능이 나온다. SD 카드 가격을 보면 더 큰 용량이 더 저렴한 경우가 있는데, 클래스 차이 때문이라는 사실을 알면 그리 신기하지 않다. 따라서 구입 과정에서 폼팩터, 용량, 속력 3박자를 모두 살펴 가격대비 성능이 가장 좋은 녀석을 고르기 바란다.

실제 테스트로 들어가자. 실험 시료를 구입할 예산 관계로 오늘 실험은 SDXC가 아니라 SDHC(하나는 16G/클래스 10, 다른 하나는 32G/클래스 4)를 대상으로 하며, 폼팩터는 SDXC 슬롯에 맞춰 별도 어댑터가 필요하지 않은 표준(32mmx24mmx2.1mm)을 지원하는 녀석을 골랐다. 실험실 환경은 먼지 하나 없는 클린 어쩌구 이런 환경이 아니라 그냥 무대포로 평상시 작업 하던 상황에서 그냥 했으므로 결과를 너무 심각하게 믿지마라. 여기 실험 결과를 보구 실험의 기본이 안 되어있다는 둥, 특정 회사에 유리한 편파적인 결과를 유도했다는 둥 무지막지하게 까는 행위는 자제해 주시라. ㅋㅋ 한번 더 강조하지만 여기 실험 내용은 참고용일 뿐이며 글자 그대로 믿어서는 정말 _곤란_하다.

실험 방식 역시 내 맘대로다. 큰 파일 하나를 ExFAT와 HFS+로 포맷한 미디어로 복사해봤고 작은 파일 몇 개를 역시 ExFAT와 HFS+로 포맷한 미디어로 복사했다. ExFAT는 FAT32 용량 한계 등을 극복하기 위해 마이크로소프트에서 만든 파일 시스템으로 아직 디지털 장비에서는 제대로 지원하지 못하지만 맥 라이언이랑 윈도우 비스타 계열 운영체제에서는 기본으로 지원하고 있기에 성능을 확인하기 위해 그냥 재미로 테스트해봤다.

맥미니(신형)에서 약 7GB짜리 이미지를 복사한 결과는 다음과 같다.

  • Transcend(Class 10)
    • 16G ExFAT: 10분 51초
    • 16G HFS+(journaling): 11분 23초
  • SanDisk(Class 4)
    • 32G ExFAT: 26분 20초
    • 32G HFS+(journaling): 22분 26초

맥미니(신형)에서 약 431Mbytes짜리 파일 32개(크기 제각각)를 복사한 결과는 다음과 같다.

  • Transcend(Class 10)
    • 16G ExFAT: 51초
    • 16G HFS+(journaling): 44초
  • SanDisk(Class 4)
    • 32G ExFAT: 1분 27초
    • 32G HFS+(journaling): 1분 25초

뭐 딱히 예측을 크게 안 벗어나는 결과를 보여준다. HFS+가 저널링 때문에 좀더 느릴 것으로 예상했는데, 막상 결과를 까놓고 보니까 어떤 경우에는 더 빨랐다(7GB 파일을 Class 4짜리 미디어에 복사한 결과를 보고 킹콩 데이터인줄 착각해 한 번 더 실험했는데 결과는 유사했다). 캐시나 파일 룩업 테이블 처리 방식이나 기타 등등 미묘한 뭔가가 있다는 의심이 들지만 머리가 무지 아파지니 이쯤 끝내기로 하겠다.

EOB

목요일, 11월 03, 2011

[독서광] 구글앱엔진 활용하기

한 동안 클라우드 관련 서적 소개를 좀 게을리했는데, 반성하고 다시 제궤도로 돌아오겠다. 오늘 소개할 책은 오라일리에서 나온 'Using Google App Engine'의 한국어판인 '구글앱엔진 활용하기: GAE로 시작하는 클라우드 컴퓨팅'이다. 이 책은 구글이 제공하는 PaaS(Platform As A Service)인 구글앱엔진에서 웹 애플리케이션을 작성하는 방법을 설명하고 있다.

서문에도 나와있듯이, 이 책은 미시건 대학교에서 가르치는 수업을 기반으로 제작되었다. 수업을 목표로 AppEngineLearn(아, 이 꼼꼼한 탐사 정신)에서 여러 가지 보충 자료를 제공하므로 책과 더불어 함께 활용하면 더욱 좋겠다. 이 책은 웹/구글 기술에 처음 입문하는 초보자들을 주요 대상 독자로 삼기 때문에 구글앱 엔진 자체에 관심이 많은 분들은 책 내용 중에 2장(HTML/CSS), 3(파이썬), 4장(애플리케이션으로 데이터 전송하기)(2, 3, 4장 합치면 무려 100페이지/전체 245페이지!)이 거의 쓸모 없다는(물론 알고 있던 지식을 정리한다는 측면에서 필요할지도 모르겠지만...) 사실에 경악할지도 모르겠다. 그런데 각 장 뒤에 나오는 연습 문제는 처음 컴퓨터 프로그래밍에 입문한 사람들이 풀기가 상당히 난해하므로 이 부분은 모두 한번씩 풀어보시기 바란다. ㅋㅋ(간이 잘 안맞다는 이야기).

이 책은 일반적인 오라일리 책과는 달리 완결된 코드를 주로 제공하므로, 사실상 따라하기가 가능한 수준으로 봐도 된다. 간단한 로그인 페이지를 시작으로 암호 저장을 위한 데이터베이스를 연동하고, 정말 단순한 채팅 프로그램으로 발전시킨 다음 AJAX 기술을 사용해 실시간으로 변경된 채팅 내용을 표시하는 기능을 추가하며 캐시를 도입해 성능을 높이는 선에서 마무리를 짓기에 구글 앱 엔진을 하루이틀 정도에 맛을 보려는 사람들에게 적합하다는 생각이다. 본문에 나오는 예제는 모두 파이썬으로 작성되어 있으므로 파이썬 모르는 분들은 애로 사항이 꽃필 가능성이 높다는 사실도 미리 밝혀둔다.

결론: 구글앱엔진의 숨겨진 비밀을 파해치거나 성능을 높이거나 비용을 절약하는 등 실제 현업에 필요한 내용을 기대하시는 분들이라면 별로 얻을 내용이 없지만, 프레임워크로 프로그램을 작성할 때 필요한 기본 원리(라우팅, MVC 구조, HTML 코드 템플릿, 컨트롤러 작성 방식, 모델을 사용한 데이터베이스 연결)를 취미 수준에서 살펴보고 싶은 호사가라면 읽어볼 가치가 있다는 생각이다.

EOB

목요일, 10월 27, 2011

[일상다반사] 제 11회 K.E.L.P 공개 세미나 소식

제 11회 K.E.L.P 공개 세미나가 오는 11월 5일(토)에 건국대학교 새천년관 602호에서 열릴 예정이다. 이번에 B급 프로그래머도 한 세션 맡아서 진행하게 되었으므로(주최 측 사정으로 당일 변동이 없다면, 2시부터 2시 50분까지다), 혹시 관심있는 애독자 여러분께서는 참석하시면 조금이라도 도움이 되지 않을까 싶다. 이번에도 개인적으로 드릴 선물(책)을 준비했으니, 퀴즈 시간에 열심히 맞춰보시기 바란다. ㅋㅋ

이번에 설명할 내용은 '클라우드용 리눅스: AWS EC2에서 사용하는 Amazon Linux AMI 소개'라는 제목을 보면 감이 오시겠지만 AWS EC2에서 인스턴스를 만들기 위해 사용하는 AMI를 표적으로 한다. 아마존에서 제공하는 EC2 User's Guide를 기준으로 EC2, EBS, S3에 대한 기초 지식부터 설명한 다음에 AMI로 넘어갈 생각이므로 AWS 환경에 익숙하지 않은 분이라도 걱정 마시라. 50분이라는 시간 제약 때문에 아주 세부적으로 설명하지는 못하지만(눈물을 머금고 발표 자료에서 소스 코드랑 명령행 다 뺐다~~~), 원론적인 내용 대신(가상화가 어쩌구 저쩌구 프라이빗 클라우드 어쩌구 저쩌구 클라우드 보안 이슈 어쩌구 저쩌구 등등 눈꺼풀이 저절로 내려오는 재미없는 내용은 시간 관계상 절대(!) 설명하지 않는다) 여기저기 감춰져 있는 비밀을 폭로할 예정이므로 기대하셔도 좋겠다. 다음과 같은 질문에 대해 꼼꼼한(?) 대답을 듣고 싶은 분이라면 얼른 신청하시라!

  • EC2 인스턴스를 사용하는 도중에 불의의(?) 사고로 부팅이 안 될 때 어떻게 해야 하나?
  • 짠돌이 개발자가 EC2를 사용해 개발할 때 한 푼이라도 절약하는 방법은?
  • 비용 절감을 위해 마이크로 인스턴스를 구입한 다음 리눅스 커널을 컴파일하면 왜 이렇게 시간이 오래 걸리나?
  • 내가 공들여 튜닝한 AMI 이미지는 왜 다른 영역에서 보이지 않나?
  • 아마존 동경(ap-northeast) 지역에서 사용 가능한 호스트는 몇 대 일까?
  • AMI 부팅 절차는 일반적인 리눅스와 어떻게 다를까?
  • 가상화 환경에서 제공하는 파일 시스템(EBS와 ephemeral storage) 성능은 얼마나 차이가 나며, 어떻게 하면 조금이라도 성능을 더 끌어올릴 수 있을까?
EOB

목요일, 10월 20, 2011

[독서광] Make: Technology on Your Time Volume 02

지난 번에 소개한 Make: Volume 01에 이어 이번에 Volume 02가 나왔다. 출판사에서 예쁜 노트와 함께 책을 보내줬기에 다 읽고 나서 독후감을 정리해본다.

창간호는 여러 다양한 주제를 다루는 반면 이번에 새로 나온 Vol2는 '아두이노' 특집 기사가 거의 1/3을 차지하고 있다. 따라서 아두이노에 대하 관심이 많은 분들이라면 특히 도움이 될 것 같다는 생각이 든다. 읽다보니 손떨림이 있는 B급 프로그래머조차도 아두이노 하나 사서 이리저리 굴려볼까하는 생각이 들었을 정도니 뽐뿌질에 각별히 주의하기 바란다(요즘은 안드로이드 폰이 개발용 장난감이라 용케 유혹을 잘 피했다. ㅋㅋ).

Make 한국어판 Vol 2에 실린 이야기 중에서 특히 재미있게 본 내용은 LENR(저에너지 핵반응)을 다루는 '모두를 위한 핵융합로'(일 개인이 저온 핵융합 실험을 할 수 있다는 사실이 믿겨지는가? 이 분야에 관심이 많은 분들께서는 꼭 읽어보시기 바란다), 프로그래밍과 디버깅에도 유용하게 적용할 수 있는 컬럼인 '빨리 자주 실패하자'(기술 연마를 위한 여러 가지 정신적 툴킷을 제공한다), 집에서 생태계 순환을 엿볼 수 있는 실험 장치를 소개하는 '유리병 속 생태계'(읽고나니 나두 책상 위에 새우를 한 마리 키우고 싶어졌다. ㅋㅋ)였다.

B급 프로그래머가 손재주가 조금만 더 좋았으면 진짜 이거저거 재미로 만들어 볼텐데, 납땜하면 냉납 되어버리고, 가위로 자르면 비뚤비뚤하고, 전선을 꼬으면 뚝 끊어져버리니... 그냥 눈팅만 하련다. T_T

EOB

목요일, 10월 13, 2011

[독서광] 특허전쟁

'기업을 흥하게 만드는 성공적인 특허 경영 전략'이라는 부제가 붙은 이 책이 나온다는 소식을 듣고 평소 특허 관련 내용에 관심이 많던 차에 옳다구나!라고 소원 목록(!)에 넣어두고 있었는데, 마침 출판사에서 선물로 보내왔다(노끈으로 예쁘게 포장해서 도착했는데, 아침부터 닭살 돋을까 사진은 공개하지 않는다). 몇 번 특허도 써보고 특허 조사도 해본 경험이 있긴 했지만, 솔직히 한번도 정식(?)으로 특허에 대한 공부를 안 해봤기에 책이 오자마자 열심히 읽었다. 요즘 부쩍 나빠진 기억력을 만회하기 위해 간략하게 독후감을 써야겠다.

'특허'라고 말하면 솔직히 거부감부터 드는 분이 많으리라. 특허 관련 문서를 한번이라도 보신 분이라면 누구나 공감하겠지만(심지어 이 책 저자조차도 처음 입문했을 때는 남이 쓴 특허 문서 읽으면 무슨 이야기하는지 감이 잘 안 왔지만 어느 정도 익숙해지고 나서야 읽으면 내용이 척척 머리에 들어왔다고 고백(?)한다.) 심히 졸리고 괴롭다. 도면이나 설명 등을 읽을 때는 그나마 공학적인 배경 지식을 활용해 눈이 조금 떠지긴 하지만... 청구항(claim)을 읽을 때마다 그냥 자폭하고 싶은 상황이 된다. 하지만 이 책을 읽고나면 '청구항'이 얼마나 중요한지(솔직히 다른 부분은 그냥 부록일 뿐이고 법리적인 해석에 전혀 영향을 미치지 않는다) 알게 되고, 선 청구항 분석 후 참고 자료 참조 모드로 바뀌게 될 것이다. ㅋㅋ 한 마디도 특허의 묘미에 대해 눈이 떠진다고나 할까? 뭐 여튼 그런 기분이 들었다.

이 책은 특허와 사업을 엮으려는 특이한 시도를 한 결과 상당히 실용적인 성격을 띄게 되었다. 특허에 대한 일반적인 설명과 출원 방법, 취득 요건과 취득/관리 절차를 알기 쉽게 풀어쓰는 동시에 사업 관점에서 오해가 많은 부분에 대해서 집중적으로 설명하고 있으므로 이 책을 읽고 나면 어떤 관점에서 특허에 접근해야 할지 아주 명확한 그림이 그려지리라 본다. 또한 딱딱하게 법리적인 관점에서 설명하는 대신 풍부한 사례 연구를 제시하고 여기에 대해 설명하는 방법을 택하고 있으므로 실제 우리 주변에서 특허와 관련해 어떤 일이 일어나는지 이해가 갈 것이다. 아, '삼성과 애플의 특허전쟁'을 다루는 1장은 국내 언론과 소셜 매체들이 얼마나 편협된 시각(삼성을 띄워주는 애국주의 vs 애플 팬으로서 당연히(?) 보여주는 감정적인 자세)으로 양사 소송에 접근하는지를 알려주므로 꼼꼼한 디테일을 읽다보면 '나꼼수: 삼성과 애플 편(?)'를 듣는 기분이 들지도 모르겠다. 대기업에서 기술 기획 업무를 맡으신 분들이라면 바쁘시겠지만 1장만이라도 읽고 넘어가시면 도움이 많이 되리라 생각한다.

자 그러면 본문 중 좋은 문구를 같이 살펴보자. 딱 보면 느끼겠지만 저자 글솜씨가 정말 대단하다. ㅋㅋ

시장에서 이미 성공한 기업이라면 불확실성이 더 증대되는 것을 누구도 원하지 않는다. ... 그러나 삼성은 불확실성을 더욱 증대시킴으로써 애플을 고민에 빠트리게 하려는 전략을 택할 것으로 보인다.
특허는 치명적이다. 치명적인 것은 특허가 지닌 권리의 속성이며 냉철한 비즈니스를 감정적으로 유혹한다.
성격 급한 사람들은 '성공에 이르는 지름길'을 생각하기 마련이고, '특허'가 곧 그 지름길이라고 생각해 환상에 젖는 경우를 많이 보아왔다.
대게 특허는 특허고 비즈니스는 비즈니스다.
파트너가 대기업인 경우에는, 즉 중소기업이 매력적인 기술로 대기업에 손을 내밀 때에는 특히 조심해야 한다. 스스로를 잘 보호해두지 않으면 그것은 바로 대기업을 유혹하는 일인 셈이다.
특허 침해가 성립하기 위해서는 지극히 법리적인 분석과 판단을 거쳐야 하기 때문에 소망하는 바대로 특허침해가 되는 경우는 많지 않다.
특허는 로또가 아니다.
특허권의 내용도 모른 채, 그 특허가 대단하다느니, 우리가 특허를 가지고 있기 때문에 우리만 할 수 있다느니, 다른 녀석들은 다 불법이라느니 법석대는 사람들을 많이 보아왔다. '권리'라는 허울좋은 간판에 현혹되어서는 안 된다.
결론적으로 특허권은 아이디어 그 자체가 아니며, 아이디어를 이용한 실물도 아니다. 오직 특허서류 중에 '특허청구범위'라는 항목에 쓰여진 언에 표현에서 나오는 것이다.
특허요건으로서 새로움의 판단은, 특허권을 신청한 날을 기준으로 인류 전 역사의 산물과 비교하는 것이다. 결국, 특허법상 '새로움이란 인류적인 사건'으로 부를 수 있다.
힘을 갖고 있는 '권리자'가 자기에게 유리한 상황을 만들기 위해 말을 바꾸면 그것은 '정의'롭지 못한 것이고 신의를 저버리는 반칙 행위가 된다.
대부분의 기업이 경험하는 가장 크고 단단한 벽은 바로 불충분한 인적자원이다.
PCT 국제출원은 '국제적인 기간 연장 신청'에 불과하며, 이 제도를 이용하더라도 나중에는 파리조약처럼 각 나라별로 별도로 특허출원 절차를 밟아야 한다.
비즈니스는 하지 않겠으나 우연한 기회가 온다면 이 특허를 팔아서 돈을 벌겠다고 그저 막연히 생각한다면 오산이다.
경쟁에서 패배할 때 개인은 의존할 곳을 찾을 수 있으나 기업은 그것이 불가능하다.
오늘날 비즈니스에서 열정은 창의성의 또 다른 표현이다. 창의성 없는 열정은 금방 식는다. 현실의 검고 단단한 벽 앞에서 열정은 금세 주저앉을 것이기 때문이다.
종전에는 존재하지 않았단 완전히 새로운 물질에 관한 특허가 아니라면 사실상 원천적인 기술, 원천 특허라는 실체는 존재하지 않는다.
원칙적으로 종전의 단점을 개량해 새로운 이점이 생겼다면 그 기술은 신선하든 신선하지 않든, 기술적으로 어렵든 어렵지 않든 간에 특허의 대상이 된다.

결론: 주변에 '상식적'으로 통용되는 특허에 대한 오해를 풀고 싶은가? 그렇다면 이 책을 읽어보시라.

EOB

수요일, 10월 05, 2011

[끝없는 뽐뿌질] 유니바디 Core i5 맥 미니

지난번 맥북 에어 뽐뿌질 블록을 쌓으니 물밀듯이 방문객이 들어오셔서 역시 책보다는 컴퓨터 이야기가 늘 대세라는 사실을 다시 한번 깨닫게 되었다. 약속드린 바와 같이 오늘은 신형 맥 미니를 한번 살펴보자.

외관상으로 이번에 나온 신형 맥 미니의 가장 큰 특징은 바로 내장 슈퍼 드라이브 제거(ODD)다. 맥북 에어야 얇은 본체 특성상 슈퍼 드라이브를 제거해도 용서가 가능하지만, 집에서 사용할 컴퓨터 조차도 ODD를 제거하고 나왔다는 사실이 과거 5.25인치에 이어 3.5인치 플로피 드라이브 제거의 수순을 밟고 있지는 않은지 잠시 고민하게 만들었다. 이동식 매체로서 USB 드라이브의 지위가 날로 강화되고(요즘은 16기가에 이어 32기가도 흔히 보인다), 고용량에 저렴하면서도 범용으로 사용 가능한 SDXC 미디어까지 등장하고 있기에 솔직히 소프트웨어나 비디오/음원 매체로서 CD/DVD 이외에 ODD가 날이 갈수록 중요도가 떨어지고 있는 원인도 크다는 생각이다. 지금은 사라진 HD-DVD나 잘 살아남은 블루레이 기반 ODD도 맥 계열 컴퓨터에 장착하려는 움직임은 보이지 않기에 머지 않은 장래에 (마치 5.25/3.5인치 플로피에 담긴 과거의 추억을 읽지 못하듯이) 집에 잔뜩 쌓인 CD를 읽을 디바이스가 없어지는 사태가 벌어질지도 모르겠다. 아, 맥북 에어와 맥미니에 라이언이 기본 탑재되어 있을 경우 Command-R을 누르고 부팅하면 운영체제 복구 모드로 들어가므로 더 이상 라이언이 담긴 DVD나 USB 메모리가 필요하지 않다. 운영체제 재설치일랑 걱정 마시고 팍팍 쓰시라(초기 응용 프로그램 설치 후 타임머신 백업도 좋은 아이디어다).

가격 대비 성능을 조금 무시하고(ㅋㅋ) 2.5GHz Core i5, 4G 메모리, Radeon HD 6630M 모델을 선택했는데, 집에 있는 아아주우 오래된 코어 듀오(not 코어2듀오) 모델의 맥미니와 비교해보면, 부팅과 응용 프로그램 기동시 날아다닌다는 표현이 딱 맞다. 직전에 나온 유니바디 코어2듀오 모델보다도 성능이 개선되었다는 이야기를 들었다(CPU와 메모리가 빨라졌으므로 당연한 이야기다). 유니바디 이전 구형 맥미니에 따라오는 벽돌 어댑터(실제로 본 사람은 알겠지만 진짜 벽돌만하다)가 없어졌기에 쌍수를 들고 환영했는데, 대신 본체 발열이 조금 있다(이 정도는 참아줄 듯). 상자를 개봉하면 아주 단촐하게 본체, 전원 코드, HDMI2DVI 케이블이 나온다. 지난번 맥북 에어에서도 설명했듯이 썬더볼트 단자에 미니 디스플레이2VGA를 장착해도 잘 동작했다. 따라서 듀얼 모니터로 사용 가능하다는 이야기다. HDMI를 지원하므로 디지털 티비가 있는 집에서 거실에 놓아두고 멀티미디어 용도로 사용해도 좋을 듯이 보인다(뭐 당연한 이야기지만... 리모컨 별매다. ㅋㅋ). 본체 무게가 조금씩 줄고 있기에, 1.32kg(코어 듀오 구형 맥미니)에서 1.22kg(Core i5 신형 맥미니)로 되었다. 어지간한 노트북보다 가벼우므로 블루투스 키보드와 마우스만 챙기면 노트북을 대신해 프리젠테이션 용도로 활용해도 무리가 없어보인다(물론 높이가 3.6cm나 되는 크기로 인해 꼭 맞는 파우치(뭐 이런 제품도 있긴 하다. 미안하다 뽐뿌질해서. T_T) 등을 구하기 어려운 문제는 있겠다).

맥북 에어와 비교해보면 SSD가 없어서 조금 불리하지 않을까 싶었지만 큰 차이 없고 (특히 2.5GHz 모델의 경우) 그래픽 측면에서는 인텔이 아닌 Radeon 칩셋을 사용하고 있으므로 3차원 게임을 돌릴 경우 맥 미니가 월등하다(GDDR5 메모리를 탑재하고 있다!). 둘 다 노트북용 부품을 많이 사용하지만, CPU 등 전기 먹는 하마의 차이 때문인지 맥북 에어가 시간당 45~50W를 소비하는 반면, 맥 미니는 정상 동작 과정에서 시간당 85W를 소비한다. 맥 미니에는 HDMI 단자랑 RJ-45 이더넷 단자는 물론이고 USB 포트가 4개나 달려 있기에 아무래도 맥북 에어보다는 책상 위에 놓고 쓰기가 편하다는 생각이다.

자 그러면 잠시 옆길로 새서 다른 실험 이야기를 해보자(이 부분을 독자 여러분들이 아주 기대하지 않을까 싶다. ㅋㅋ). 우선 중국산 짝퉁 미니 디스플레이2DVI/VGA(구분 방법: 외관상 케이블 길이가 조금 길다)를 장착해봤는데 특별한 문제 없이 잘 돌았다. 일반 모니터가 아니라 프로젝트인 경우에는 짝퉁을 사용할 경우 문제가 된다는 설도 있으므로 각자 잘 판단해서 구입하시라. 그리고 투철한 실험 정신을 발휘해 맥북 에어에 장착할 외장 USB 랜 케이블도 이지넷유비쿼터스 USB2.0 랜카드라는 제품을 구매해서 붙여보았는데, moschip에서 만든 MCS7832라는 칩셋을 사용한다는 사실을 찾아내(어떻게 알아냈느냐구? 유틸리티 중에서 시스템 정보의 USB 연결 정보를 잘 살펴보시고, 이를 토대로 구글에게 물어봐라!) 맥OS X용 드라이버를 구해 무사히 설치해 테스트까지 끝냈다. 사용 중에 USB를 탈착 후 장착하면 커널 패닉이 일어난다는(-_-;;; 오리지널 애플 제품도 이런 문제가 있는지 애독자 여러분께서 확인해주시면 감사하겠다) 문제점과 맥북 에어와 참으로 잘 안 어울리는 검정색이라는 사실을 제외하고는 참고 쓸만하다. 늘 그렇듯 애플 제품 구매가 정신 건강에 이롭지만 가격 대비 성능을 생각하면 가슴이 쓰라리므로(무슨 케이블 하나에 3~4만원이나 해?) 본인 판단 하에 3rd party 주변 장치를 구매하시기 바란다.

결론: 맥 미니 데스크탑용으로 쓸만하다. 단 99만원이 부담이 되지 않은 분이라면 말이다.

EOB

금요일, 9월 30, 2011

[끝없는 뽐뿌질] 맥북 에어 13인치

한동안 컴퓨터를 비롯한 전자기기에 일절 관심을 끊고 살다가(뽐뿌질 안 당하겠다 이거지. ㅋㅋ), 어떻게 되어 한시적으로 맥북 에어 13인치랑 맥 미니를 사용하게 되었다. 그래서 오늘은 맥북 에어 13인치부터 뽐뿌질을 해보자.

어떤 물건을 손에 넣었냐 하면... 화면 해상도 때문에 13형을, 가격 대비 성능을 맞추기 위해 128GB 플래시를 장착한 모델이다. 11인치와 13인치를 두고 잠시 고민했는데 제품 사양을 보면 알겠지만 13형이 11형보다 가로 2.5cm, 세로 3.5cm 정도밖에 차이가 안 난다. 그래서 넷북을 조금 써본 경험에 따라 세로 해상도가 768이 아닌 900인 13인치의 손을 들어줬다. 세로 해상도가 768인 경우 문서 작업을 하거나 웹 브라우징을 할 때 스크롤이 많아지므로 아무래도 패드나 마우스에 손이 많이 가기 마련이다. 참고로 맥북 프로 13인치 해상도가 1280x800이므로 1440x900인 맥북 에어는 정말 운동장이라는 느낌이 들테다. ㅋㅋ

부팅 속력은 15~20초 안에 끝나고(IBM 씽크패드 잠든 상태에서 깨어나는 시간보다 빠르다 T_T), Core i5와 SSD를 탑재한 관계로 코어2듀오를 탑재한 맥북 프로 15인치보다 응용 프로그램 시동 속력이 훨씬 개선되었다는 느낌이 팍팍 온다. 가상화 소프트웨어를 돌려도 전혀 무리가 없이 쌩쌩 날아다닌다. 크기가 작고 무게가 적게 나가므로 배터리가 조금 걱정될 가능성이 있는데, 제품 사양에 따르면 7시간(실제로는 4시간 정도 사용이 가능해보인다)이므로 어댑터 없이 컴퓨터 본체만 바깥에 들고 나가서 작업해도 될 것 같다. 키보드 백라이트 기능이 추가되어 있기에 키보드 배열을 달달 다 외우는 B급 프로그래머에게는 해당되지 않지만 어두운 곳에서도 불편없이 쓸 수 있다(물론 전원 절약을 위해 밝기를 줄녀 놓길 권한다). USB 단자는 2개로 각각 좌측과 우측에 있는데, 좌측에 있는 USB가 Mag Safe 전원 단자랑 가까워서 간섭이 조금 일어나긴 한다. 13형은 오른쪽에 SD 카드 슬롯이 있으므로 디지털 카메라 애호가들에게 끌릴 것으로 보인다.

자, 그러면 맥북 에어 13인치를 사용하면서 잠시 B급 프로그래머도 햇갈린 두 가지 사실을 짚고 넘어가자. 먼저 어댑터 이야기를 해보자. 수중에 맥북 13인치(가장 초기 모델), 맥북 프로 15인치(코어2듀오), 맥북 에어 13인치가 있는데, 그러다보니 어댑터가 3개다! 신형 L타입 45W(맥북 에어 13인치), T타입 60W(맥북 13인치), T타입 85W(맥북 프로 15인치)이 뒹굴고 있는데 어떤 컴퓨터에 어떤 어댑터를 쓸 수 있는지 잠시 고민했다(자주 가는 장소에 어댑터를 각각 두면 아주 편리하기 때문이다). W, V, A가 모두 다르므로, 잘못 연결하면 고장이 날 가능성이 높아서 Intel 기반 Apple 휴대용 컴퓨터 전원 확인을 찾아보니, 필요한 용량보다 높은 W 어댑터를 연결하면 문제가 없고, 낮은 어댑터를 연결하면 문제가 생기는 듯이 보인다. 실제로 45W 어댑터 대신 85W 어댑터를 맥북 에어에 연결하니 문제 없이 충전되었다(실험으로 입증하는 이 용감함. ㅋㅋ). 시스템 정보에 들어가면 어떤 어댑터가 장착되어있는지 나오므로, 시스템 펌웨어 레벨에서 어댑터를 인식하고 상호 협상 과정을 거치는 듯이 보인다(그래서 전원이 남아돌면 천천히 달라고 요청하고 전원이 부족하면 배터리 충전 회로를 꺼버리는 듯이 보인다). 혹시 맥북 시리즈를 혼합해서 사용하시는 분이라면 혹시 추가 어댑터를 구매할 경우 용량이 큰 85W를 사기 바란다(실제로 프리스비 등에서도 85W만 잔뜩 갖다 놓았다. 혹시 잘못 구입해 문제가 생길 경우 일어나는 민원을 피할 수 있기 때문이 아닐까 싶다.) 아, 그리고 실험 결과 T형과 L형은 상호 호환이 가능하다(초기에는 L형을 요구(?)하는 노트북들이 T형을 연결하면 인식 못하는 문제가 있었다고 하는데 EFI 펌웨어 업데이트로 해소했다는 이야기를 들었다. 실제로 맥북 에어 13형에 T형 85W를 연결해보니 인식 잘 하고 충전 잘 되었다.)

다음으로 외부 디스플레이 어댑터 이야기를 좀 해야겠다. 알다시피 요즘 애플은 USB 3.0 대신 썬더볼트를 밀고 있다. 맥북 에어도 썬더볼트 단자가 있는데, 기존 맥북 프로에서 사용하던 미니 디스플레이 단자가 없는 듯이 보였다. 따라서 외부 디스플레이랑 연결하기 위해 썬더볼트2VGA 연결 장치를 별도로 구입해야 하지 않을까 생각하고 맥 스토어를 뒤졌지만 안 나온다. T_T 그래서 가만히 맥북 에어 액서서리 추가 구매 항목을 보니 놀랍게도 미니 디스플레이 어댑터가 들어있었다. 투철한 실험 정신을 발휘해 맥북 프로용 미니 디스플레이2VGA를 꽃아서 외부 모니터에 연결하니 잘 동작한다. 혹시나 맥북 에어 구매하면서 외부 디스플레이를 고민하신 분들이라면 참고하시기 바란다. ㅋㅋ(아 이 뽐뿌질).

결론: 비용만 제외하고 생각하면 1st 노트북으로 맥북 에어를 강력하게 추천한다. $을 제외한 무게/성능/디자인 모든 면에서 무척 만족스럽다.

EOB

금요일, 9월 23, 2011

[독서광] MongoDB 완벽 가이드

오늘은 클라우드 컴퓨팅라는 용어가 인구에 회자되면서 NoSQL에 대한 이야기에 사람들이 관심이 많은 듯이 보인다. 오늘은 NoSQL의 진수(?)라고 책 표지에 적힌 MongoDB 완벽 가이드라는 책을 읽은 소감을 정리해보겠다. 요즘 기억력이 부쩍 감퇴하고 있기에 읽은 즉시 정리해야 휘발되지 않으므로 서둘러본다.

NoSQL(not only SQL)이라는 말을 많이 하는데, 위키피디아 정의에 따르면 다음과 같은 상당히 포괄적인 의미가 함축되어 있다.

몇 가지 측면에서 전통적인 데이터베이스 관리 시스템인 RDBMS과 다른 데이터베이스 관리 시스템의 넓은 클래스 자료는 고정된 테이블 스크마를 요구하지 않으며, 일반적으로 join 연산을 피하고, 수평 확장이 가능하다.

RDBMS와 차별화 포인트를 가져가면 나쁜 점과 좋은 점이 생기게 되는데, 지속적인 손해는 일시적인 손실로 처리하고 일시적인 이익은 반복적인 매출로 잡는 엔론의 분식 회계처럼 NoSQL의 장점은 극대화하고 단점은 이야기하지 않는 방법으로 거의 모든 문제점을 해결하는 만병 통치약에 은총알로 승격시키려는 움직임도 눈에 보인다. 하지만 AWS SimpleDB를 살펴보고 이 책도 읽고나서 든 느낌이지만, NoSQL은 절대로 만병 통치약이 아니며, 용도에 맞춰 제대로 사용해야 장점을 얻을 수 있기에 일반적인 상황에서는 MySQL/PostgreSQL과 같은 RDBMS가 월등이 유리하지 않을까 싶다(뭐 이건 어디까지나 B급 프로그래머 머리 속 생각일 뿐이고 절대로 남에게 이래라 저래라 _강요_하지 않는다. NoSQL 계열 데이터베이스를 쓰실 분은 얼마든지 능력껏 상황껏 마음껏 쓰시라. 뭐, B급 프로그래머도 AWS SimpleDB를 용도에 맞춰 재미있게 쓸테니... 다 같이 잘 살아보세~~~). 여러 전자 상거래와 SNS 회사에서 NoSQL을 사용한다고 하지만, 간도 크게 모든 서비스에 다 적용하지는 못하며 아직까지는 핵심 기능이 아닌 기능에 시범적으로 적용하는 경우가 많다는 생각이다. 물론 처음부터 NoSQL로 다 구축했다고 말하는 대규모 서비스도 존재하겠지만, 그 서비스가 바로 당신이 만들려고 하는 서비스가 아닌 이상 적용 범위와 효과는 '그 때 그 때 달라요'다.

NoSQL에 대한 이야기만 잔뜩 늘어놓았는데 본론으로 들어가보면, MongoDB 완벽 가이드는 '완벽'은 아니지만 처음 MongoDB를 사용하는 사람들에게 힌트를 줄만한 책이다. 그런데 처음 MongoDB를 사용하는 사람이지 처음 컴퓨터 프로그래밍에 입문하는 사람을 위한 친절한 안내서는 절대로 아니다. 이 책을 읽으려면 자바스크립트 언어에 익숙해야 하며(그냥 copy&paste 수준으로는 안 된다), 데이터베이스 기본 이론에 대해 확실하게 알고 있어야 한다. 그렇지 않으면 얇은 페이지임에도 불구하고 읽는 과정에서 조금 애를 먹게 된다. 내용은 MongoDB 셸을 사용한 문서 생성/갱신/삭제/질의/색인 방법, 집계(맵리듀스도 일부 나온다), 고급 기능(제목과는 달리 그리 깊은 내용은 없다), 시스템 관리와 모니터링, 복제/레플리카와 샤딩 등이며, 책 끝 부분에는 자바, PHP, 루비, 파이썬을 사용한 예제 애플리케이션 작성 기법도 나오긴 하는데 20페이지 분량이므로 크게 건질 내용은 없다. 전반적으로 심도 깊은 내부 구조나 철학을 다루기보다는 소개 중심으로 가고 있으므로 MongoDB를 이용한 응용 프로그램 개발자를 표적으로 한다고 보면 되겠다.

MongoDB는 자바스크립트 엔진을 탑재한 셸과, SQL과는 전혀 닮지 않은 질의 방식으로 인해 전통적인 RDBMS 사용자라면 조금 과격하다는 느낌이 들지도 모르겠다. AWS SimpleDB만 하더라도 연산자 형태는 단순 key - value 저장, 질의 형태는 SQL과 유사한 질의어를 사용하지만 MongoDB는 기존의 관습을 무시하고 독자적인 세상을 구축해 놓았으므로(궁금하신 독자분들께서는 SQL to Mongo Mapping Chart를 보시라. 말이 Mapping Chart지... T_T) 학습 과정에 애로 사항이 꽃필 가능성이 높다. 각종 프로그래밍 언어 라이브러리를 사용하더라도 독특한 활용법에 맞춰야 하는 관계상 그리 쉬워보이지는 않는다. RDBMS만 보다가 객체 지향형 데이터베이스를 보는 느낌이라고 설명하면 조금 이해가 갈지도 모르겠다. 지금까지 겁을 좀 줬지만, NoSQL 자체가 기존 RDBMS의 복잡도를 줄이려는 목표로 시작되었기 때문에 책을 읽다보면 전반적인 기능과 한계점이 눈에 보일 것이다.

다른 부분은 다 차치하고서라도 복제/레플리카, 샤딩에 눈이 번쩍 뜨이는 분들도 많으시리라. 클라우드에서 이 단어들은 솔직히 큰 관심을 불러일으키는 주요 논쟁 거리기 때문이다. 그런데, 여전히 문제점은 남아 있다. 복제/레플리카 과정에서 일어나는 성능 저하, 타임 랙(lag)은 피할 수 없어 보이며, 샤딩 과정에서 사용자가 머리를 써서 샤딩 기준을 마련해야 한다는 사실은 변치 않고 있다. 자동 샤딩에 대한 이야기도 아아주우 조금 나와있는데, _자동_이라는 말을 100% 믿을 수 있을지는 각자 판단에 맡긴다.

EOB

토요일, 9월 17, 2011

[일상다반사] 정전사태와 매뉴얼

이번에 전국적인(이라고 쓰고 후진국형이라고 읽는) 정전 사태 때문에 누구 잘못이냐 책임이냐 시끌벅적한 상황이다. 그 중에서 매뉴얼과 관련해 여러 가지 의견을 나열해보면 다음과 같다.

  • 매뉴얼을 따르지 않아 문제가 생겼다.
  • 매뉴얼이 낡아 현실을 반영하지 않았기에 따를 수가 없었다.
  • 매뉴얼도 나오지 않는 비상 상황이 발생했다. 그래서 임의로 조치를 취했다.
  • (이건 B급 관리자 생각) 평상시 매뉴얼대로 연습을 하지 않거나 매뉴얼을 무시했다.

매뉴얼을 제대로 만들고 제대로 따르면 모든 문제가 다 해결될 듯이 언론에서 연일 집중 포화를 때리는데, 정말 그럴까? 천만의 말씀. 아니라고 생각한다. Managing the Unexpected에도 이미 설명을 했지만, 다시 한번 서평에 적었던 내용을 옮겨본다.

정신 바짝 차려 행동하는 조직은 예기치 못한 사건을 초기에 찾아내 재앙으로 번지기 전에 문제를 이해하고 적극 대응한다. 반면 일반적인 조직은 규칙과 위기 계획에 맞춰 사건을 미리 구체화하므로 예기치 못한 사건이 벌어질 경우 이를 기존 틀에 끼워맞추려고 할 뿐 새롭게 배우고 분류하려고 애쓰지 않는다.

만일 매뉴얼 자체가 그야말로 바늘 하나도 들어가지 못할 정도로 꼼꼼하고 완벽하다면 규칙과 위기 계획에 맞춰 사건을 미리 구체화한 셈이 된다. 그러면 사건을 선험적으로 예측할 수 있다는 말인데, 미래를 예측했으니 미리 손을 썼을테고 그 결과... 사건이 발생하지 않아야 정상이다. 하지만 블랙 스완 이론에 따르면 세상 일이 이렇게 정규 분포를 그리며 선형적으로 예측에 맞춰 돌아가지는 않는 듯이 보인다. 결국 이번 정전 사태를 보면 매뉴얼이 아무리 잘 만들어져 있고 여기 맞춰 기계적으로 대응을 했다고 하더라도 문제가 생길 여지가 있다는 말이고, 결국 유연하게 대응하는 주체인 _사람_이 아주 중요하다는 결론을 내릴 수 있다. 자 여기서 궁금한 점. 지경부, 한전, 전력 거래소 등 이번 사태에 책임이 있는 각종 정부/공기관에 낙하산 내려보낸 사람은 누굴까? 해당 분야의 전문 지식이 아니라 지위와 나이로 문제를 풀려고 하니 애당초부터 문제의 소지가 있었다.

여기까지 적고 나면 댓글이 뭐라고 달릴지 충분히 예측 가능하다(물론 과거의 경험에 따라). '그렇게 잘하면 너가 가서 한전 사장해라', '너가 전기 계통이 얼마나 복잡한지 알긴 아냐? 책 몇 권 읽고나서 아는 채 되게 하네', '너 빨간색이지?' 미리 예상 댓글을 달아드렸으니 엉뚱한 댓글을 다는 대신 이제 좀더 생산적인 시간을 보내보자. 전기도 그렇지만 컴퓨터를 사용해 서비스를 제공할 때 피크 타임에 대응하기 위한 문제를 하나 내고 넘어간다.

문제: AWS와 같은 클라우드 환경에서는 AutoScaling과 같은 기능을 제공해 정해진 조건에 따라 자동으로 EC2 인스턴스 개수를 늘이고 줄일 수 있게 되어 있다. 또한 CloudWatch를 사용할 경우 알람을 설정해 특정 조건을 충족하면(아래 그림 CPUUtilization 조건 설정 마법사 화면 참조) 자동으로 사용자에게 알려주거나 큐에 넣을 수 있다. 그렇다면 사용자가 많이 몰리는 피크 타임과 한가롭게 노는 타임을 확실히 구분해 서비스에 지장이 없는 동시에 비용을 최소로 줄이도록 만드는 일관된 조건 집합(예: CPU, HDD, 네트워크, I/O 등 정량적으로 측정 가능한 메트릭을 기준으로)을 찾아낼 수 있을까? 만일 찾아내기가 어렵다면 어떤 방법을 동원해야 할까? 다 함께 생각해보자.

EOB

화요일, 9월 13, 2011

[독서광] Middleware and Cloud Computing

지난번에 이어 오늘도 클라우드 컴퓨팅에 관련된 원서를 하나 소개하겠다. 부제가 'Oracle on Amazon Web Services and Rackspace Cloud'라고 길게 붙은 'Middleware and Cloud Computing'이라는 책이다. 부제를 보면 알겠지만, 이 책은 대표적인 IaaS형 클라우드 서비스인 AWS와 랙스페이스 위에서 오라클 관련 소프트웨어를 이용해 서비스를 제공하는 방법을 설명하고 있다. 지난번 소개했던 Programming Amazon EC2와 마찬가지로 이 책 역시 약파는 내용이 아니라 실전 위주로 되어 있기 때문에, 클라우드가 뭔지 궁금하신 분들이 펼쳤다가는 기절하므로 어느 정도 시스템 관리 경험이 있고 프로그램 작성이 가능한 개발자가 보기 바란다.

책 목차를 보면 크게 클라우드 컴퓨팅에 대한 소개 부분(이 부분은 건너뛰어도 무방해보인다), AWS에 대한 소개(AWS 서비스를 사용하기 위한 기본적인 절차와 방법이 나오므로 처음 AWS에 접하는 분들은 도움이 되겠다), 랙스페이스에 대한 소개(랙스페이스를 다루는 책이 그리 많지 않다는 사실에 주목하자), 오라클 퓨전 미들웨어 소개와 설정 방법(오라클에 관심이 없는 분들이라면 이 부분은 당연히 건너뛰자), 클라우드 설계 방법(일반적인 설계 지침을 소개한다), 클라우드 데이터베이스(AWS 상에서 RDS와 SimpleDB, 웹 로직 소개), 클라우드 관리(이 부분은 사실상 아아주 부실하므로 목차 정도가 도움이 되겠다. 라이트스케일 관리 도구 소개는 읽어볼만 하다), 가용성(웹 로직 중심으로 설명하므로 다소 불만스럽다. SQS에 대한 이야기도 그냥 스치고 지나간다), 규모 확장성(이 부분은 로드밸런싱, AWS Auto Scaling, CloudFront에 대한 기초적인 내용을 설명한다. HAProxy와 비교도 나오므로 개념을 잡기 위해 읽을만하다), 모니터링(이 부분은 웹 로직 관련 내용이 주를 이루며, AWS는 SNS 정도만 다룬다), 오라클 VM(이 부분은 뭐 사실상 없어도 되는 부분으로 보인다)으로 구성되어 있다. 개념적으로 AWS를 이해하는 분들이라면 정리를 위해 아마존에서 아마존 책 페이지에서 목차를 보면 도움이 되겠다.

본문에는 표를 사용해 여러 가지 내용을 일목요연하게 정리하고 있으며 그림을 덧붙인 완결된 예제와 명령행 유틸리티를 소개하고 기타 유용한 3rd party 프로그램을 소개하고 있으므로, 한국인 정서에 맞을 가능성이 상당히 높다. 당연한 말이지만, 이미 시간이 어느 정도 경과했기에 반드시 AWS나 랙스페이스 홈 페이지에 들어가서 내용을 교차 비교하고 3rd party 프로그램의 홈 페이지를 방문해 신형 버전을 확인해야 한다.

아, 이 책 내용은 일부가 PDF로 공개되어 있다. 클라우드 설계 방법클라우드 데이터베이스를 살펴보면 이 책 구성에 대해 감을 잡을 수 있을테다.

결론: 이 책은 크게 얻을만한 심도 깊은 내용은 없지만, 처음 AWS나 랙스페이스 환경에서 막 개발을 시작하려는 사람에게 기초서로 적합하다.

EOB

일요일, 9월 11, 2011

[독서광] 건축가처럼 생각하기

몇 차례에 걸쳐 블로그에서 페트로스키 큰 형님께서 지은 책과 사상을 소개한 적이 있었다. 종이 한 장의 차이를 보면 디자인에 대해 아주 흥미로운 이야기가 나오므로 디자인에 관심이 많은 애독자들분께서 좋아했으리라는 생각이 든다. 오늘은 기계 공학이 아니라 건축으로 넘어가 디자인을 한번 생각해보는 기회를 마련하려고 한다. 오늘 소개할 책은 아쉽게도 지난 5월에 돌아가신(고인의 명복을 빈다) 할 박스 교수가 '지은 건축가처럼 생각하기'다.

다들 충분히 알고 계시다시피, 전산쪽에서는 본질적으로 어려운 문제를 풀어내는 과정으로서 디자인에 대해 많은 관심을 기울여 왔다. 구조화 설계, 객체 지향 설계, 패턴, 안티 패턴, CBD(Component Based Design)과 같은 여러 가지 설계 프레임워크나 기법이 등장했고, 다양한 분야에서 디자인 기법을 차용하려 많은 공을 들여왔다. 예를 들어, 크리스토퍼 알렉산더가 집필한 'A Pattern Language'는 어찌된 판인지 한국에서는 건축 분야보다 전산 분야에서 더 널리 알려지는 흥미로운 광경을 연출하기도 했다. 하지만 막상 전산 쪽 사람들이 건축 쪽 설계에 대해 잘 아느냐? 본인부터 거울에 비춰보면 막상 그렇지도 않은 듯이 보인다(물론 일반화의 오류라고 생각하시는 분들도 계시겠지만, 'A Pattern Language'를 _제대로_ 읽어보신 분 있으면 댓글을 달아보시라. 커피 한 잔 사드린다.) 어찌되었거나... 건축 대가들이 설계를 바라보는 관점이 어떤지 무척 궁금하던 차에 서점 가판을 뒤지다 이 책을 발견했는데, 초대박이다.

이 책은 건축을 둘러싼 다양한 담론을 편지 형태로 다루기 때문에 복잡한 건축 이론이나 수식이 최소로 나온다. 이렇듯 책 내용이 쉬우면 부실하다는 인상을 주기 쉽지만 이 책은 자신이 직접 엄청난 규모의 건축물을 설계하고, 학생들을 가르치고, 자기가 살 집을 지은 경험을 토대로 주제를 뽑고 있으므로 그냥 책상에 앉아 대충 끄적인 책과는 수준부터 다르다. 전반적으로 다루는 주제나 전개 방식이 아주 훌륭하다고 느껴지지만, 특히 책 제목과도 똑같은 8장 '건축가처럼 생각하기: 디자인 전개 과정', 9장 '그림과 모형, 연픽과 컴퓨터로 표현해보기: 시각화 과정', 13장 '디자인 의사 결정', 14장 '스타일, 취향, 디자인 이론' 이 4장은 한 페이지도 놓치기 싫을만큼 좋은 이야기가 많이 나온다. 중간 중간에 크리스토퍼 알렉산더에 대한 일화도 나오고('A Pattern Language'가 나왔을 때, 학생들이 읽으면 안 될 금서로 지정하자는 교수도 있었다고 한다. ㅋㅋ), 모더니즘이 오히려 편안하고 친숙한 공간을 만드는 과정에 방해가 되는 설명도 나오고, 미국의 주간 고속도로가 설립되면서 도시 구조가 지극히 돈만 밝히는 형태로 짜여진 이유도 나오고(미국에서 렌트해 실컷 운전하면서 도심, 주거지, 상업지구가 확실하게 구분되는 이유를 몰랐는데, 이제야 감을 잡았다. T_T), (무엇보다) 소프트웨어 뿐만 아니라 건축 과정에서도 계속 설계가 바뀐다는(이 때문에 여분의 자금을 모아놓아야 한다고 조언한다) 상당히 충격적인 이야기도 나오므로 건축에 대한 오해가 아아주 조금이라도 풀린 느낌이다.

본문에 좋은 이야기가 많이 나오므로 오늘은 8장에서 선별한 내용 중에 다시 선별해 정리해보았다. 책을 그대로 다 옮기고 싶지만 꾹 참아본다.

디자인은 정보와 영감과 솜씨 있는 해결 방안과 표현의 수단을 찾기 위한 직접적이고 논리적인 탐구 과정입니다. 창조적인 문제 해결 방안이 예술이 된 것이라 생각할 수도 있습니다. 기능을 담고, 기능을 특징으로 하는 예술 말이입니다.
예산은 프로젝트의 가장 중요한 현실입니다. 예산이 상황을 좌우합니다. 모든 것이 기준이 됩니다.
목표나 재료에 변동이 생기면 예산도 바뀌어야 합니다.
디자인 전개 과정 중에, 새로운 요인들이 발견되고, 우선 순위가 바뀌면서 계획이 재조정되는 경우가 다반사입니다.
건축 디자인이 복잡한 이유는 언제나 너무도 많은 변수들이 경합을 벌이고 있기 때문입니다.
가장 좋은 해결 방안은 문제 해결 과정을 시각화하는 것이라고 할 수 있습니다.
이 모든 것들을 하나로 종합했다면, 머리 속에 커다란 솥을 걸고 찌개를 끓이는 일을 생각하세요. 잘 저어 가며 끓이다가 때때로 조금씩 떠서 맛을 봐야 하지요.
제가 그리는 양과 지우는 양은 거의 맞먹을 정도입니다.
철저한 조사로 준비하라. 별난 천재처럼 흩어짐 없이, 사로잡힌 듯, 열정적으로 집중하라. 꿈을 꾸고 행동하라. 소중하게 품어 왔던 생각을 내려놓고 새로운 아이디어를 구하라. 대지를 찾아가 보고 아이디어를 논하고 이전에 지어진 건축물을 평가하며 '번뜩이는 통찰력'을 찾아라. 효과적으로 일하라. 발전시킨 아이디어를 디자인에 적용해 문제를 해결하라. 스스로의 작업을 평가하라. 만일 만족스런 작품을 얻지 못했다면 다른 시각으로 네가 원하는 결과에 도달할 때까지 이 과정을 되풀이하라.
우리가 창조하려는 건축은 머릿속의 막연한 환상이 아닌 도면과 모델과 이미지로 표현되어야 합니다.
복합적인 것을 복잡한 것과 헷갈려서는 안 됩니다.
도면 작업이 끝났다고 해서 디자인까지 멈추는 것은 아닙니다.
설계를 하는 데는 개념을 파악하는 능력과 기본적인 지식, 이 두 가지가 모두 필요합니다.
디자인 전개 과정은 기능적인 문제와 건물 시스템, 미적인 문제 사이에서 전진과 후진을 반복하기 마련입니다. 이 때 일정하게 정해진 디자인 이론을 지침으로 삼으면 효과적으로 작업을 진행할 수 있습니다.
제가 아는 가장 훌륭한 디자인 원리는 뭔가를 '아주 적절하게' 만드는 일에 대해 끊임없이 생각하는 것입니다.

이 정도면 뽐뿌질은 충분했으리라 보고 나머지 좋은 이야기는 직접 본문을 확인하시길... 그러면, 애독자 여러분들께서 추석 연휴 모두 즐겁게 보내기를 기원한다.

EOB

일요일, 9월 04, 2011

[독서광] Programming Amazon EC2

오늘은 간만에 영어로 된 원서를 한번 소개해보자(요즘 계속해서 한국어판 책만 읽었더니 영어 독해 실력이 줄어드려고 해서...). 지난번 클라우드 컴퓨팅 구현 기술에 이어 오늘은 클라우드 컴퓨팅 환경의 대명사인 AWS 관련 책을 하나 소개하겠다.

Programming Amazon EC2는 아마존 웹 서비스에서 EC2를 중심으로 동작하는 응용 프로그램을 작성하는 방법을 설명하는 책이다. 이 책의 특징은 기존에 제공하고 있는 실제 서비스를 예로 들어 AWS에서 제공하는 기능을 활용하는 방법을 설명하는 데 있다. 따라서 장점과 단점이 극명하게 드러나는데, 기초가 부족한 초보자가 접근하기 아주 어려운 반면(아예 책 표지 뒷 장에 까놓고 '프로그래밍 경험을 권장한다'라고 적어놓았다), 어느 정도 클라우드 서비스 개념을 이해하고 있고 인터프리터 언어(루비, PHP)나 자바 코드 작성이 가능한 개발자라면 빠른 시간 내에 AWS를 맛볼 수 있다. 페이지가 얇기 때문에 특별한 내용이 없으리라 보면 오산이며, 있을 건 다 있다. 물론 전통적인 오라일리 서적 특성을 그대로 이어받아 코드나 설정 파일은 조각나 있고, 처음부터 끝까지 따라하기란 불가능한 방식으로 필요한 부분만 건너뛰며 설명을 진행한다. 이 책을 읽고서 EC2 인스턴스라도 하나 만들어보려면 최소한 리눅스 기반 시스템 관리에 발은 담궈봤어야 한다는 사실에 주목해야 한다(만일 이 책 독자가 시스템 관리자가 아니라면 실습이 제대로 잘 안 될 거다. ㅋㅋ).

목차를 보면 알겠지만, 처음에는 AWS 기본 개념에 대해 잠시 설명하는 듯 하다 바로 프로그램으로 들어간다. EC2와 S3를 설명한 다음에 바로 SQS, SimpleDB, SNS로 넘어가고, CloudWatch를 좀 보다가 클라우드 환경에서 가장 중요한 디커플링 된 시스템 예를 들면서 끝을 맺는다. AWS는 계속해서 서비스가 확장되며 라이브러리나 API가 추가되는 특성으로 인해 이 책을 읽고나서 바로 AWS 홈페이지를 방문해 문서를 찾는 편이 정신 건강에 이롭다고 힌트를 준다. 이 책은 흔히 클라우드에서 자주 입에 오르내리는 분산 파일 시스템이나 MapReduce에 대한 내용은 한 줄도 안 나오므로 빅 데이터에 관심이 많은 분이라면 미리 알아서 피해 가시라.

뱀다리: AWS는 가입 후 1년 동안 free tier를 제공하므로 대용량 서버를 여러 대 생성하거나 대규모 트래픽을 발생시키지 않는 이상 어느 정도 범위 내에서 실습이 가능하다. 단 해외 사용 신용카드 번호를 입력해야 실 사용자로 등록이 가능하므로 실수하지 않도록 정말 조심하기 바란다(개인 카드야 말할 나위 없고 심지어 한도액이 빵빵한 법인 카드가 꽃혀있더라도 나중에 시말서 안 쓰려면 AWS에서 제공하는 가격 조건표를 열심히 읽으며 인스턴스도 만들고 프로그램도 작성하고 테스트도 주의 깊게 하시라.). EOB

토요일, 8월 27, 2011

[독서광] 변화 리더의 조건



지난번에 읽은 프로페셔널의 조건에 이어 오늘은 피터 드러커의 21세기 비전 2편(미래 경영편)인 '변화 리더의 조건'에 대해 몇 자 적어보려고 한다. 읽은지는 제법 오래되었는데 어쩌다보니 계속 우선 순위가 밀려 여기까지 오고 말았다. T_T



오늘 소개하는 '변화 리더의 조건'은 '경영'이란 무엇이며 어떻게 해야하는지를 명쾌하게 설명하고 있기 때문에 경영에 관심이 많은 사람이라면 반드시 읽고 넘어갈 필요가 있다. 조금 시대에 뒤진 이야기도 나오고 낡은 예도 나오긴 하지만 이 정도는 얼마든지 극복 가능한 강력한 힘이 숨어 있으므로 일단 읽고 평가하자.



목차를 보면 알겠지만, '경영의 본질', '경영의 과제', '경영의 책임', '경영의 기초 지식', '기업가 정신의 경영'이라는 제목 하에 처음부터 끝까지 경영을 물고 늘어지므로 '프로페서녈의 조건'에서 다룬
'전문가의 자아 실현'과는 또 다른 관점에서 회사가 돌아가는 원리를 조감하고 있다.



자 그러면 밑줄 그어놓은 부분을 같이 한번 읽어볼까? 이미 짐작했겠지만 내용이 상당히 길다. 아마 여러분들도 각자 좋은 부분을 정리해보면 많은 도움이 되리라 믿어 의심치 않는다.



'경영자는 리더이다.'라는 명제가 바로 이 책의 중심 사상이다.


경영은 역사상 처음으로 고도의 지식과 기능을 갖춘 상당히 많은 사람들을 생산 활동에 고용할 수 있게 된 이유가 어디에 있는지를 설명해 준다. 그 이전의 어떤 사회도 그렇게 할 수 없었다.


경영은 전통적인 의미에 있어 '일반 교양(liberal art)'이라고 할 수 있다. '일반(liberal)'이라 부르는 이유는 경영이 지식의 본질, 자기 인식, 지혜, 리더십과 관련이 있기 때문이며, '교양(art)'이라 부르는 이유는 경영이 실천/적용과 관계가 있기 때문이다.


경영의 세 가지 과업은 다음과 같다. 1) 조직의 특수 목적과 사명을 달성한다. 2) 조직이 수행하는 작업과 인적 자원의 생산성을 높인다. 3) 조직이 사회에 미치는 영향과 책임을 파악하고 관리한다.


이익의 극대화 개념은 수익성의 의미를 왜곡해 신화화할 위험이 있다.


"기업의 목적은 고객 창조다." 즉, 시장을 창조하는 것은 바로 기업이다.


마케팅이 궁극적으로 지향하는 바는 고객을 충분히 알고 이해함으로써 제품과 서비스를 적절하게 제공해 그것들이 스스로 팔리도록 만드는 데 있다.


단 하나의 올바른 목표를 찾으려고 하는 것은 마치 돌을 금으로 바꾸는 영험한 능력이 있는 현자의 돌을 찾는 것만큼이나 비생산적이다.


시장을 지배하는 수준에까지 이르게 되면 혁신에 대한 내부 저항이 엄청나게 커지고, 따라서 변화에 대한 대응이 위험스러울 만큼 어려워진다.


모든 기업 이론은 결국 진부해지고 따라서 효력을 잃게 된다.


조직의 경영이 사명과 사명의 완수로부터 출발한다는 사실은 아마도 기업이 비영리 조직으로부터 배워야할 첫째 교훈일 것이다.


이제 중간 규모 이상의 연기금들은 소유하고 있는 주식 자산의 규모가 너무 커져 쉽사리 팔 수 없게 되었다. 다른 연기금이 사주지 않는 이상 연기금이 주식을 매각하기란 불가능하다.


'알면서도 해를 끼치지는 않는다.'는 것은 전문가 윤리의 기본 규칙이자 공적 책임 윤리의 기본 규칙이다.


'단 하나의 올바른 조직 구조'라는 것은 존재하지 않는다는 사실을 분명히 깨닫지 않으면 안 된다.


어떤 조직이 위기에 처해 있을 때는 명령 계층과 멸영에 대한 조직 구성원의 무조건적인 수용만이 살아남을 수 있는 유일한 희망이다.


'상사'는 한 사람이어야 한다. '주인이 셋인 노예는 자유인이다.'라는 로마법의 격언은 진리이다.


'모든 명령의 전달 단계마다 잡음은 두 배로 늘어나고, 메시지는 반으로 줄어든다.'


무엇을 하면 안 되는가를 알려주는 것, 그것이 바로 조직 구조와 관련된 다양한 원칙들이 수행하는 역할이다.


"자신의 일에 대해 조직 내 다른 어느 누구보다도 더 많이 알아야 한다."는 것은 지식 근로자에 대한 정의를 구성하는 한 가지 요소다.


인적 자원 관리에서 이론적으로나 실무적으로나 중요한 것은 '성과를 올리는 방법에 대한 관리'다.


이제부터 경영은 "특정 산업에만 해당되는 기술이란 단 한 가지도 없고, 반대로 모든 기술은 어떤 산업에든 영향을 미칠 수 있고 또한 중요한 기술로 간주될 수 있다."는 가정으로부터 출발하지 않으면 안 된다. 또한 경영은 "어떤 제품이나 서비스에 관련된 특정의 최종 용도란 정해져 있지 않으며, 반대로 어떤 최종 용도도 어떤 하나의 제품이나 서비스로만 연결되지는 않는다."라는 가정을 바탕으로 출발하지 않으면 안 된다.


기업으로 하여금 경제 사슬 원가 계산을 받아들이도록 하는 강력한 동인은 '원가에 기초한 가격 결정'에서 '가격에 기초한 원가 설정'으로 전환일 것이다.


어떤 조직에서든 가장 희소한 자원은 유능한 인재들이다.


앞으로는 전문가의 기량 그 자체를 최종 목적으로 인식하는 경향도 더욱 현저해질 것이다.


각 부문의 경영자들의 목표는 회사 전체의 목표 달성을 위해 사업의 모든 영역에 있어 자신이 공헌해야 할 사항이 무엇인지를 분명히 명시해야 한다.


'경비 절감 켐페인'의 유일한 결과는 대체로 말단 심부름꾼이나 타이피스트 몇 명을 해고하는 대신에 높은 임금을 받는 임원이 직접 심부름도 하고 타이프도 치는 것이다.


켐페인에 의한 경영은 기업이 혼란을 겪고 있다는 분명한 징후이다. 그것은 경영자의 무능을 인정하는 것이고, 또한 경영자가 계획을 어떻게 세워야 할지 모른다는 것을 나타낸다.


경영자는 기업의 궁극적인 목표를 이해해야 하고 또한 그 내용을 알고 있어야 한다.


종업원들이 일을 하면서 "내가 무슨 일을 하고 있는지 상사가 모르고 있을 때만 나는 일을 제대로 처리할 수 있단 말이야"라고 말하는 경우도 회사나 상사의 요구에 모순이 있음을 알려주는 징후다.


모든 것을 '통제'하려고 하면 실제로는 아무것도 통제할 수 없게 된다.


"병사는 유능한 지휘관을 가질 권리가 있다."


경영자가 수행하는 모든 의사 결정들 가운데 사람에 관한 의사 결정만큼 중요한 것은 없다. 왜냐하면 그것이 바로 조직의 목표 달성 능력을 결정하기 때문이다.


중요한 것은 그 사람에게 어떤 약점이 있는지가 아니다. 중요한 것은 그 사람이 가장 잘할 수 있는 일이 무엇인가 하는 점이다.


대부분의 사람이 직위가 달라지면 마땅히 다른 새로운 행동 방식이 요구된다는 사실을 깨닫지 못한다.


조직에서 일하는 사람들은 다른 사람이 좋은 대우를 받는 것을 보면 그 사람의 행동을 그대로 본받으려는 경향이 있다.


가족 기업에는 가족의 일원이 아니면서 회사와 가족을 혼동하지 않는 매우 존경받을만한 원로가 한 사람쯤 있어야 한다.


만약 광범위하게 인정되고 있는 어떤 예측이 있다면 그것은 미래에 대한 예측이 아니라 실제로 이미 일어난 최근의 사건들에 대한 보고서일 가능성이 매우 높다고 봐야 한다.


오늘날 혁신과 관련된 논의에서 '창조성'이라는 말이 수 없이 등장하고 있지만, 사실 그것은 진정한 문젯거리가 아니다. 기업을 포함한 다른 어떤 조직에서도 미처 다 이용하지 못할만큼 아이디어가 넘쳐나고 있다. 부족한 것은 대체로 아이디어가 아니라 '제품을 뛰어넘는 비전'이다.


기업가 정신은 자연 발생적인 것도 창조적인 것도 아니다.


새로운 사업이나 혁신과 관련된 활동을 독립적으로 추진해야 하는 이유는 새로운 사업이나 혁신이 감당해야 할 부담을 줄이기 위해서다.


신생 벤처 기업에 있어 최대의 위험은 제품이나 서비스가 무엇인지 혹은 무엇이어야 하는지에 대해 고객보다 '더 잘 알고 있다'고 생각하는 것이다.


신생 벤처 기업이 건강하면 할수록 그리고 빨리 성장하면 할수록 더 많은 영양분, 즉 자금을 필요로 하게 된다.


신생 벤처 기업은 최고 경양자팀에 의한 균형잡힌 경영 관리를 필요로 하는 시점에 도달하기 훨씬 전에 그 팀을 구축해야만 한다. 창업자 1인 체제의 경영이 더 이상 작동하지 않게 되는 시기가 도래하기 훨씬 전에 창업자는 동료들과 함께 일하는 법을 배우기 시작해야 한다.


"법을 준수하지 않는 자유는 없다."라는 것은 오래된 지혜다. 법을 초월한 자유는 특권인데, 그것은 조만간 무질서로, 그리고 머지않아 독재로 전락하고 만다.


어떤 제품이나 서비스의 가격은 공급자가 정한 '원가'에 의해서가 아니고 고객이 부여하는 '가치'에 의해서 설정되지 않으면 안 된다.


세상에 '비합리적인 고객'이라는 것은 없다. 있다면 그것은 오직 '게으른 제조업자' 뿐이다.


지금까지 주옥같은 문장을 읽고 만족스러웠다면, 이제 본문을 읽을 차례다. 인터넷 서점에서 얼른 주문하시길...



EOB

토요일, 8월 20, 2011

[독서광] 공포의 해킹 툴 백트랙 4



처음에 이 책을 출판사에서 선물로 준다고 했을 때 사양한 이유는 단순 해킹 명령이나 스크립트만 소개하는 책이라고 오해를 했기 때문이다. 반 강제(?)로 떠맡겨진 책을 들고와서 밑져야 본전이라고 해킹 명령이나 알아보자고 읽다보니, ... 예상치 못하게 이 책은 상당히 재미있다.



흔히 해킹 책은 세 가지 부류로 나뉘어진다. 소설식으로 해커의 대 활약상(물론 여기에는 꼭 사회공학이 감초처럼 들어간다)을 그리거나 복잡한 암호화 이론을 비롯해 여러 가지 프로토콜 상의 문제를 소개하거나 운영체제 문제점이나 멀웨어나 바이러스 등을 역공학 기법으로 분석하는 경우로 요약된다. 아, 그러고보니 스크립트 키드를 위한(애들은 가라~ 어이) 명령어 소개서나 해킹에 사용할 수도(!) 있는 도구를 소개하는 책들도 있다. 그런데 이 둘을 절묘하게 결합한 책은 없을까? 백트랙 4는 해킹에 사용할 도구를 주로 소개하고 있지만, 가만히 읽다보면 해킹 기법까지도 미뤄짐작 가능한 좋은 내용이 많다.



이 책의 내용은 목표를 설정한 다음에 필요한 정보를 수집하고, 목표의 메타 정보를 획득해 지문(!)을 얻고, 제공하는 포트와 서비스를 확인하고, 취약점을 공격하고, 사회공학적인 기법으로 추가적인 힌트를 얻고, 익스플로잇 기법으로 실제 공격을 개시하고, 권한 상승으로 불법적인 시스템 특권을 탈취하고, 이를 계속해서 장악 유지하는 도구를 소개한다. 보안에 그다지 신경을 쓰지 않는 관리자라면 혼비백산할만한(허접하게 설정된 방화벽 정도는 가볍게 뚫고 패치 안된 운영체제 셸을 얻어 권한 상승으로 루트를 탈취하는 시나리오를 다양한 방법으로 소개하고 있다. 무선 랜에서 웹 페이지를 하이재킹하는 기법을 읽다보면 황당함을 넘어서 공개된 AP를 사용할 때 손발이 오그라들거다. T_T) 이야기가 이 책에서 펼쳐지므로 이론적인 보안에 자신이 있더라도 실제로 해커들이 어떤 짓을 하는지 힌트를 얻기 위한 목적에서라도 이 책을 꼭 읽어보기 바란다. 실용적인 측면에서 활용에 치중하므로 실제 내부적인 동작 방식과 원리가 잘 드러나지 않는다는 아쉬움은 있지만, 보안 분야에서 은총알은 없으므로 다른 이론서나 명령서를 참조하고 실제 코드를 보는 방법으로 각자 목적에 맞게 지식을 확보해야 할 것이다.



특히 요즘과 같은 클라우드 시대(?)에 시스템을 구축해 겁도 없이 바로 일반 대중에 개통하는 대신 이 책에서 소개하는 도구로 반드시 모의 침투 연습(?)을 해보기 바란다. 지극히 편집광적으로 환경을 구축하고 프로그램을 만들지 않는 이상 의외의 문제점이 많이 드러날지도 모른다.



추가 정보 한 가지! 따끈따끈한 백트랙 5도 지난 8월에 나왔다고 하는데 백트랙 4에서 엄청난 변화는 일어나지 않은 듯이 보이므로 한국어판을 잽싸게 읽어보고 공식 튜토리얼로 보충하면 시간을 절약할 수 있을 것이다. 주의: 이 책을 읽고 호기심에서라도 절대 불장난은 치지 말기 바란다. 세상은 넓고 고수는 많다.

토요일, 8월 13, 2011

[독서광] 사장의 본심



간만에 교보문고에 가서 책을 주욱 살펴보고 왔다. 요즘 사장님 본심(?)에 대해 관심이 많던차라 항간에 인기를 끌고 있는 '사장의 본심'이라는 책을 읽어봤다. 이 책의 목차를 보면 알겠지만, 주로 사장이 직원들을 어떻게 생각하고 어떤 관점에서 바라보는지를 설명하려고 무척 애를 쓰고 있다. 하지만, 기대를 많이 하고 봐서 그런지 딱히 흥미로운 내용은 없었고, 간단하게 요약하자면 '사장의 변명' 거리를 정리해놓았다고 보면 틀림없다. 사장 입장에서 직원들과 다르게 보고 듣고 생각한다는 사실은 충분히 이해가 가지만 그래서 일개 직원인 나보구 뭐 어쩌라고? 사장의 본심을 알아도 뾰족한 답이 없다는 게 문제다. 월급 챙기랴 회사 키우랴 사장 노릇하기 힘들다는 사실은 알겠지만, 성공하면 그 만큼 반대급부도 크기 때문에 이 책에서 제시하는 사장님들의 변명(?) 거리는 그리 가슴에 와닿지 않는다. 뭐 꼭 읽고 싶다면 반대는 하지 않겠지만, 솔직히 이 책은 추천하지 않는다.



오늘의 결론: 사장님의 본심을 알아내려고 애쓰는 시간에 묵묵히 열심히 일하는 편이 나을지도 모르겠다는 생각을 해본다. 아니면 직접 사장이 되던가!



EOB

토요일, 8월 06, 2011

[독서광] R&D 혁신의 기술



세상이 점점 더 복잡해지다보니 단독형 소프트웨어 보다는 하드웨어나 다른 서비스와 연계한 소프트웨어를 만들어야 할 필요성이 점점 더 커지고 있다. 소프트웨어의 특성이 워낙 괴상(?)하다보니, 이에 맞춰 만들어진 소프트웨어 개발 방법론에 익숙한 사람들이 다른 부문 사람들과 협업을 하려면 물고 뜯고 싸우는 경우가 많다. 전자, 전기, 기구, 소프트웨어가 모두 필요한 대형 프로젝트를 진행해야 하는 경우 단순 소프트웨어 개발 방법론을 벗어나 더 큰 차원에서 개발 방법론이 필요하다. 이번에 선물로 받아 처음부터 끝까지 읽어본 R&D 혁신의 기술은 엑센추어의 컨설팅 경험을 토대로 R&D 혁신에 필요한 전략과 실천 방안을 제시하므로, 기존 제조업에 속한 개발자들뿐만 아니라 순수 소프트웨어 개발자들이 다른 분야에서 일어나는 연구 개발 방식에 대해 이해하는 데 도움이 되리라 본다. 분량은 작지만 통계 자료와 사례를 비롯해 도표 등이 많으므로 제안서나 연구 기획서를 작성하는 과정에 참고할 내용이 많다는 생각이다.



책은 크게 다음과 같은 7부분으로 나뉜다. (1) 고객 요구사항 반영을 위한 전략, (2) 혁신 제품을 위한 포트폴리오 전략, (3) 신기술 획득을 위한 전략, (4) 개방형 혁신을 통한 아이디어 관리 전략, (5) 플랫폼, 모듈화를 통한 효율화 전략, (6) 글로벌 운영 최적화, (7) 운영 효율화 전략. 이 중에서 소프트웨어 개발자라면 (1), (2), (4), (5)를 살펴보면 도움이 될 것이다.



개인적으로는 (5) 플랫폼, 모듈화를 통한 효율화 전략이 특히 재미있었다. 데이비드 파나스의 'family of program' 개념을 Designing-Software for Ease of Extension and Contraction이나 'On the design and development of programming families'와 같은 논문으로 접해보신 분이라면 플랫폼에 하나 또는 둘 이상의 모듈을 추가, 제거, 치환해 제품을 구성하는 모듈 기반 제품군(160페이지)이나 다음 그림과 같은 보잉 737 제품군의 규모 기반 제품군 개념을 소개하는 내용(165페이지)도 재미있게 읽을 수 있겠다.





보잉 737 제품 소개 페이지에서 가져온 그림에 따르면 차세대 보잉 737-600/-700/-800/-900ER 기종의 외형은 날개 폭/동체 높이는 동일하나 길이만 다르다. 따라서 비행기를 수리하거나 주기할 격납고 높이, 폭이 동일하므로 길이만 900 모델에 맞추면 공통으로 사용 가능하며, 정비 기사들도 각 제품군마다 사용되는 부품이 표준화되어 있고 공통이므로 정비 시간을 단축할 수 있다. 소프트웨어도 이런 식으로 규모 기반으로 만들 수 없을까? 마이크로소프트 비스타나 7 제품군도 이를 흉내낸 듯이 보이지만 일부 기능을 활성/비활성화하고 추가 소프트웨어를 넣고 뺀 정도로 그치기 때문에 보잉 737 제품군 만큼의 경제적인 파급력을 기대하기는 어렵다. 이 책을 읽다보니 갑자기 파나스 큰 형님 논문을 다시 한번 읽어봐야 겠다는 생각이 들었다. 뭐 완전히 엉뚱한 결론(?)이지만 분야가 달라도 생각은 서로 통한다는 사실을 잊어버리면 안 되겠다.



EOB

일요일, 7월 31, 2011

[독서광] 소셜 네트워크 e 혁명



지난번 디지털 휴머니즘을 소개하는 글에서 소셜 네트워크, 클라우딩 컴퓨팅 환경에 대해 문화를 퇴보하는 악(?)의 무리라는 부정적인 시각을 소개한 바 있다. 오늘은 스펙트럼의 정 반대에 자리잡은 의견도 한번 보는 편이 좋을 듯이 보였기에 "개인과 조직, 시장과 사회를 뒤바꾸는"이라는 부제가 달린 '소셜 네트워크 e 혁명'이라는 책을 소개하겠다. 두 책을 모두 읽고 머리 속에서 매시업하면 좋은 그림이 나오지 않을까 싶다.



무려 2008년도에 원서로 처음 나오고 2010년도에 번역판이 나온 이 책은 온라인 소셜 네트워크의 힘이 우리 삶을 변화하는 내용에 초점을 맞추고 있다. 쿠텐베르크가 활자술의 인쇄술을 발명해 그 전 사회와 그 후 사회를 완전히 구분하도록 만들었듯이 웹 2.0과 온라인 소셜 네트워크가 이성적 디자인, 질서 정연한 시장, 수직적 조직에 기초한 가치를 유쾌한 무작위성과 창조적 파괴, 수평적 네트워크 상태의 불확실성에 기초한 새로운 가치로 바꿨다는 내용이 이 책의 기본적인 집필 사상이다. 사람들이 품고 있던 내면의 욕구를 자신의 가치관에 기반해 전파하고 융합시키고 발전시키기 위한 기본적인 기반 구조로서 소셜 네트워크 기술을 다루고 있기에 단순한 기술과 경영/경제 차원을 넘어 사회적인 상호 작용을 강조한다.



목차를 보면 1부에서 아이덴티티 혁명(온라인 소셜 네트워크 인간의 정체성을 바꾼다), 2부에서 지위 혁명(가상 세계에서 누리는 지위의 민주화), 3부에서 권력 혁명(웹 2.0은 권력과 시장과 정치를 어떻게 재배치하는가?)을 다룬다. 즉, 이 책은 정체성(Identity)-지위(Status)-권력(Power)를 놓고 끊임없이 투쟁한 인류 역사를 소셜 네트워크까지 끌여들여 (비록 완벽하고는 거리가 아아주우 멀지만) 21세기 초반 시점에서 재구성하고 있다. 기술 자체가 아주 뛰어나 사회를 뒤바꾸고 난리쳤다는 자화자찬 성격의 글이라면 읽다가 당장 버럭!하고 때려치웠을텐데, 이 책은 인간 본성과 욕구를 토대로 중세와 근세 역사까지 끌어들이는, 상당히 영리한 방법을 사용해 기술 약장수가 만든 전단지와 스스로를 차별화한다. 게다가 이 책은 기존 정통적인 질서를 유지하고자 하는 기득권 세력과 이에 맞서 자신의 지위와 권리를 얻기 위해 싸우는 신(?)세대라는 양자의 대결 구도까지 범위를 넓힌다. 이런 주제는 성전기사단, 프리메이슨이 등장하는 중세부터 위키피디아와 유튜브가 등장하는 현대에 이르기까지 끊이지 않는 충돌과 퇴보/발전의 원동력이 되어왔기에 창/칼/총/대포가 아닌 컴퓨터와 키보드를 들고 벌이는 성전을 구경하는 재미 역시 아주 쏠쏠하다.



이 책은 정체성, 지위, 권력을 놓고 물고 뜯는 싸우는 과정에 기술을 등에 업은 신 세대가 무조건 이긴다는 밝은 면만 나열하는 대신 생각지도 않은 여러 가지 문제점과 부작용도 다루고 있으므로 주의 깊게 읽을 필요가 있다. 공개된 사회집단과 비공개된 사회집단 간의 긴장, 사생활 보호과 침해, 시회적 자본 독점과 지위 민주화, 불평등과 평등, 중앙집권과 지방분권, 상명하복과 만민평등, 지위통제와 집단지성과 같은 사상의 충돌을 목격하고 있으려면 요즘 한참 뜨고 있는 '어버이 연합'대 '자식 연합'의 갈등을 어느 정도 이해하는 단초가 되지 않을까 싶기도 하다(이런 글 쓰면 빨갛다고 또 뭐라할 사람이 있을 듯.).



자 그러면 본문 중 재미있는 구절을 함께 감상해보자.



온라인 아이덴티티 조작은 어쩌다 한번 있는 사교 모임과 같은 게 아니라 일상적 습관이다.


인간 단체의 기능적 결속을 유지할 수 있는 최대 한계인 150이라는 숫자에는 뭔가 특별한 것이 있어 보인다. 150을 넘어서면 인간의 행동이 바뀐다. 150명 이상으로 이뤄진 단체는 안정을 유지하기 위해 규칙과 규제가 필요하다.


새로운 직장을 구할 때 누구에게 도움을 청하는가? 가족? 친한 친구들? 대개의 경우 그들은 별 도움이 되지 못할 것이다. 운 좋게도 족벌주의나 연고주의의 덕을 보지 않는다면 말이다.


결국 좋은 사회란 사람들이, '지인'이 아닌 '타인'을 어떻게 대하느냐에 달렸다.


조직 안에서 사람들은 자신의 권력 기반을 지키려고 한다.


서비스의 질이 하락할 때 소비자와 근로자와 유권자가 불만을 표현하기 위해 선택할 수 있는 방법은 두 가지, 즉 탈퇴하거나 항의하는 것이다.


탈퇴와 항의는 기업, 조직, 체계가 쇠퇴하고 있다는 증거다. 전자는 쇠퇴에 대한 조기 경보의 성격일 경우가 많고, 후자는 보다 역동적이고 전복적인 징후다.


사회에서는 타인과의 협력이 없으면 하고자 하는 일을 할 수 없는 경우가 많다. 타인의 존경 없이는 우리의 행동과 성과가 그 목적과 의미를 잃을 수 있다.


사회 심리학자들의 연구에 따르면, 사고 활동에서 언어의 주요 기능은 '평판 관리'다.


가십은 평판에 대한 영향과 관련한 신호를 보내 기존의 사회적 기준에 순응할 것을 독려하며, 따라서 사회를 통제하는 데 작용할 수 있다.


구글은 본질적으로 '평판 검색엔진'이므로 구글의 희생자가 되지 않으려면 통제권을 쥐고 자신의 가상 아이덴티티를 스스로 만들면 된다. 다른 누군가가 대신해주기 전에.


지휘 획득을 위한 탐구는 모든 인간이 쏟은 노력의 허영 아래 깔려 있다.


사람들은 이익을 얻기 위해 상호 작용과 네트워킹에 참여한다.


관료주의는 단지 기존의 지위 위계질서에 가해질지 모르는 위협을 최소화하기 위해 가치 있는 유능함과 전문지식을 너무나도 자주 '숨겨'왔고, 그로 인해 비생산적이었다. 이런 조직에서는 유능한 괴짜보다 사랑스러운 바보가 더 인기 있을 뿐만 아니라 더 높은 지위를 누린다.


코웬은 '명성'과 '우수성'의 개념을 구분했다. 그 어떤 합당한 기준을 놓고 봐도 유명세를 떨칠 자격이 없는 사람들까지 유명해진다는 것이다.


볼테르는 신성로마제국이 "신성하지도 로마적이지도 않고, 제국도 아니다"라는 유명한 말을 남겼다.


귀속적 지위의 혜택을 받는 사람들은 조직 내에서 더 존경받을 뿐 아니라, 바로 '그 사실 때문에' 이미 뛰어난 성과를 보여주는 사람으로 평가 받는다.


제대로 아는 사람들은 자신이 아는 것을 기꺼이 공유한다. 하지만 수직적 지위라는 가치에 매몰된 비전문가 간부들은 자기 자리를 지키기 위해 의도적으로 중요한 정보를 공유하지 않음으로써 "완전정보"를 저해할 가능성이 높다.


사람들은 너나없이 '능력'보다는 '호감'가는 동료를 택한다. 입증된 능력이 없더라도, 심지어 무능하다 하더라도 말이다. 즉 '유능한 괴짜'보다는 '사랑스런 바보'가 조직 내에서 더 환영 받는다.


너무나도 자주 의사소통을 좌절시키고, 최적의 의사결정을 저해하며, 기업 목표의 달성을 방해하는 지위 갈등을 파악하려면 조직 구조의 역학 관계를 살펴보는 편이 더 효과적이다. 사람이 아니라 '구조'가 문제다.


불투명함, 편견, 불완전정보의 기미가 보이면 부패를 의심하게 된다. 이런 상황이 발생하면 시스템 전체가 신뢰를 잃고 '충성'에 타격을 입는다.


블로그는 솔직함, 시급성, 시의성, 공감성, 논란성이 있어야 작동한다.


권력의 정의는 세 가지 범주, 즉 강압, 보상, 조건으로 나뉜다.


근본적 권력의 원천은 '사회 조직'에서 나온다.


정치적 독재는 종교의 독재와 똑같이 기능한다. 독재가 권력을 얻으면 주변 세력을 없애려고 하는 이유가 그것이다. 자유를 주면 자신들의 규칙이 위태해질까봐 두려워하는 것이다.


협력 관계가 안정적이려면 미래는 충분히 긴 그림자를 드리워야 한다.


윤리 문제로 말하자면, 실제로는 전통적 저널리즘이야 말로 그 태생부터가 이미 뇌물, 부패, 표절, 조작과 수상한 관행 등 윤리적 스캔들로 얼룩졌다.


첫째 자신의 고객을 상대로 소송을 걸어서는 시장에서 절대로 승리할 수 없다. 둘째 승소한다고 해서 대단한 기술 혁신에 맞설 수 있는 건 아니다. 셋째 혁신은 항상 어제의 기술이 보유했던 가격을 먼지와 같이 만들어 버린다.


사실상 많은 회의는 순전히 시간 낭비다.


주주들이 '수익성(Profitability)'을 요구한다면 경영진은 '생산성(Productivity)
'을, 직원들은 '참여(Participation)'을 요구한다.


간부들은 문제 해결에 도움이 필요할 때 자신들이 아는 사람, 좋아하는 사람을 찾는다.


윈스턴 처칠이 말했듯이 민주주의는 최악의 제도이지만 다른 제도들에 비하면 최선이다.


신뢰는 합리적/이성적 계산이 아니라, 깊게 뿌리박힌 윤리적 행동 습관에 바탕을 둔다.


400페이지가 넘는 빡빡한 내용이지만 소셜 네트워크가 사회에 미치는 영향을 궁금하게 생각하시는 분들께 일독을 추천한다.



EOB

수요일, 7월 20, 2011

[독서광] Make: Technology on Your Time Volume 01



사방에 놀거리가 널렸기에 제한된 시간 안에 어떤 미디어/오락거리를 선택할지 무지 고민하는 요즘과는 달리 B급 관리자가 어릴 때만 하더라도 개구리/메뚜기 잡으며 자연과 벗하는 이외에 딱히 놀거리가 없었다. 사실상 한 달에 한 번 나오는 어린이 과학잡지야 말로 상상력의 나래를 맘껏 펼치도록 만드는 유일한 수단이었다. 잡지에 소개하는 여러 가지 흥미로운 이야기와 만화도 좋았지만, 방학을 맞이하여 특별부록 형태로 DIY 장난감 제작 키트라도 따라오는 달에는 부모님을 마구 졸라서 며칠 전부터 문방구를 들락달락한 경험이 아직도 생생하다.



오라일리에서 Make가 나왔을 때, 출판사에서 이 책을 한국어판으로 내면 어떨지 문의가 들어왔는데, 한마디로 한국 같이 바쁜 세상에서 이런 책을 사서 실천(?)하는 호사가가 과연 얼마나 될지 의심스럽다고 사실상 부정적인 의견을 피력한 적이 있다. 하지만 어제 밤에 선물 받은 Vol 1을 읽으니 이런 의구심을 눈녹듯 사라지며, 감동이 물결쳐 떠내려갈뻔 했다. 어릴 때 생각이 갑자기 증폭되면서 도저히 책을 놓지 못해 결국 새벽 2시까지 책을 붙잡고 열심히 다 읽었다. 물론 손재주가 지지리도 없는 B급 관리자는 이 책을 보면서 침만 흘리고 있지만, 손재주 좋은 분들은 틀림없이 뽐뿌질 받아 여기 나오는 물건들 만들겠다고 부품 수급에 나설지도 모르겠다. 기계나 전자 전공하신 분들은 이 책에 넘어가지 않도록 각별히 주의하시라. 낄낄...



Make 한국어판 Vol 1에 실린 이야기 중에서 특히 재미있게 본 내용은 R2D2를 실제로 만드는 사람들의 이야기를 담은 'R2-DIY', 실제로 핑퐁을 아날로그로 구현한 이야기인 '화면에서 뛰쳐나온 핑퐁게임', 사제 제트 엔진을 만드는(19금: 애들은 가라~~) '유리병 제트엔진'인데 상상력을 마구 자극하는 좋은 소재를 토대로 맛깔스럽게 요리한다. 풀 컬러를 동원한 시각적으로 뛰어난 편집 디자인은 물론이고 본문에서 소개하는 제품이나 부품과 관련한 URL도 최대한 현지화(한국에서 구입 가능한 물건을 뽐뿌질하는 독배다!)되어 있으므로 한국어판도 영어 원서에 절대로 뒤지지 않는다. (편집 담당자에게 박수를...) 한국 Make 홈 페이지에 들어가면 몇 가지 흥미로운 DIY 프로젝트를 맛뵈기로 보여주므로 책 내용이 궁금하신 애독분들께서는 선감상하시면 되겠다.



결론: 고전 미드인 맥가이버를 좋아하는 분이라면 이 책을 보면 틀림없이 꺄악~한다. 2권이 8월에 출간될 예정이라고 하니, 다시 어린이 시절로 돌아가 출판사 홈 페이지를 들락달락해야겠다. 하드웨어 호사가 여러분들께 강력 추천!



EOB

토요일, 7월 16, 2011

[독서광] 그린카 콘서트



MOST를 번역한 사연으로 인해 이번에 새로 출간된 그린카 콘서트를 선물로 받았다(요즘 이렇게 협찬(?) 받은 내용을 안 밝히면 블로거를 잡아간다는 소문이 흉흉하다). 평상시 동생이 몰고 다니는 프리우스에 관심이 있었기에 책을 받자 마자 잽싸게 읽었는데, 현재까지 (일반인으로 대상으로) 친환경 자동차에 대해 가장 잘 정리된 내용을 담고 있다고 봐도 무방하다. (언론에서 밝히기 곤란한) 여러 가지 숨겨진 비사가 나오므로 자동차에 관심이 있는 애독자라면 즐겁게 읽을 수 있으리라 본다(책 가격도 착해서 15,000원에 불과하다. MOST가 50,000만원 했었지? (먼산)).



이 책이 단순히 위키피디아에 나오는 하이브리드 자동차 구조와 기능 소개로 끝났으면 재미가 덜했을텐데, 자동차, 정유, 전지 업계의 팽팽한 줄다리기, 친환경 자동차의 ToC 분석, 2차 전지 기술에 대한 소개(2차 전지 기술의 발전 속력은 하드디스크 발전 속력과 맞먹을 정도로 느려처졌다. T_T), 미국과 한국을 비롯한 일부 국가에서 친환경 자동차가 그다지 친환경스럽지 못한 이유, 베터리 충전을 급속으로 하지 못하는 이유, 생활 필수품의 재료로서 석유와 교통 수단을 움직이기 위한 석유의 두 얼굴, 각종 가솔린/디젤차와 전기차의 연비 비교, 겁나게 무서운(!) 리튬 이온 전지를 장착한 자동차의 안정성을 비롯해 여러 가지 흥미로운 이야기가 펼쳐지므로 혹시라도 친환경 자동차를 구입하려고 마음 먹은 분들께서는 반드시 읽어봐야 하겠다.



솔직히 B급 관리자도 프리우스, 인사이트, 쉐보레 볼트, 테슬라 로드스터라는 이름을 들어봤고 차이점을 (언론등을 접해) 대충 알고 있었는데, 이 책을 읽고나니 확실하게 자동차별 아키텍처의 차이점과 장단점이 머리에 쏙쏙 들어왔다. (아이폰이나 안드로이드 폰 사용자라면 누구나 동감하겠지만) 모바일 제품의 최대 결점인 전원 문제가 자동차 세계에서도 똑같이 펼쳐지는데, CPU의 저전력화로 어느 정도 이를 극복한 모바일 세상과는 달리 자동차 업계에서는 여전히 뾰족한 방법이 없다는 사실에 안타까움을 느끼면서도(저자는 제대로 된 전지 기술이 나오려면 수 십년이 걸린다고 예측하는데, 외계인이 오지 않는 이상 이 예상이 맞을 것이다) 내연 기관의 성능 향상, 최적화되면서도 안전한 베터리 충전 방식 개발, 이차전지 자체의 기술 발전으로 어떻게든 CO2를 적게 배출하는 자동차에 대한 꿈과 희망을 품게 만든다. 이번에 14살 먹은 애마가 퍼지는 바람에 폐차하고 준중형 중고(!) 가솔린 자동차를 구입했는데, 앞으로 10년 후에 자동차를 교체할 시점에서는 기술 발전에 힘입어 친환경 자동차 가격이 많이 떨어지고 정말로 친환경을 추구하는 수준의 효율이 나와 B급 관리자도 한번 친환경 자동차를 몰 수 있으면 좋겠다.



EOB

일요일, 7월 10, 2011

[독서광] 지식 e: 가슴으로 읽는 우리 시대의 지식



집에 TV가 없으니 좋은 점도 너무 많지만 지식채널 e와 같은 훌륭한 프로그램도 본방 사수하지 못한다는 단점도 존재한다. 우연히 책으로 나온 '지식 e: 가슴으로 읽는 우리 시대의 지식'을 구해 읽어보았는데, TV와는 또 다른 감동을 선사하고 있다. 제목의 e는 자연(nature), 과학(science), 사회(society), 인물(people)의 e를 따왔다고 하는데 전자적인(electronic) 방식으로 과거 프로그램 시청까지 가능하므로 정말 작명 한번 잘 했다는 생각이다.



지식 e에서 다루는 주제는 지식이다. 단, 따분하고 졸리는 지식이 아니라 우리 주변에 살아 숨쉬는 지식을 다루고 있다는 점에서 기존 교양 프로그램과 차별화 포인트를 제공한다. 또한 5분이라는 짧은 시간 동안 이미지와 음악(책에서는 들을 수 없다는 단점이 있다. T_T)을 아주 잘 활용해 강렬한 이미지를 불러일으키므로 청중 앞에서 발표 자료 등을 만들고 이야기를 구성하는 과정에도 도움이 많이 되리라는 생각이다. 표현 방식에 걸맞게 다루는 주제도 풍부한 중량감을 선사하고 있다. 사회에서 소외된 이들이나 사실을 가장한 위장막 뒤에 숨겨진 진실을 주류 언론에서 다루기가 쉽지 않은데 지식 e 프로듀셔와 작가들은 정말 무모할 정도로 용감하게 정면 돌파를 감행한다(지식 e의 기획 의도를 보면 '결국 지식 그 자체는 완벽하게 객관적일 수 없습니다.'라는 문구가 나온다). 물론 판단은 독자나 시청자에게 맡기지만, 어떤 사회 현상에 대한 문제 제기 자체가 빨갱이/파랭이로 몰리는 요즘과 같은 시국에서 이 프로그램이 여전히 생명력을 이어간다는 사실 하나에 그나마 실날같은 희망을 걸어본다.



책이나 VOD를 활용해 계속해서 이 프로그램을 지켜볼 계획이다. 제작진들에게 진심으로 격려의 박수를 보낸다.

수요일, 6월 29, 2011

[독서광] 안드로이드의 모든 것 분석과 포팅



어쩌다 이번에 한빛미디어에서 새로 나온 '안드로이드의 모든 것 분석과 포팅'이라는 신간을 책이 나오기 전에 미리 읽어볼 수 있었다. 이번에는 서평을 대신해 조금 형식을 바꿔 책에 나온 추천사를 한번 옮겨보았다(주의: 출판사에 발송한 추천사 원문 그대로를 실었으므로 실제 인쇄된 책에 나온 추천사 문구와는 조금씩 차이가날지도 모르겠다. 하지만 전달하려는 내용은 변함이 없다).




“안드로이드와 부대끼는 개발자를 위한 지도와 나침반”

안드로이드 플랫폼은 리눅스를 기반으로 만들어져 있지만, 일반적인 리눅스 개발 플랫폼과는 달리 휴대폰에 특화되어 있으므로 어느 정도 리눅스에 익숙한 개발자라도 새로 익혀야 할 부분이 많다. 이런 과정에서 부딪히는 문제는 C로 만들어진 커널 디바이스 드라이버, 중간을 맡고 있는 C++ 프레임워크, 앱 개발을 위한 자바 프레임워크에 이르는 방대한 분량에 있다. 프로그램 언어도 제 각각이며 추상화 수준도 상당한 차이를 보이지만 결국 모든 구성 요소는 오밀조밀하게 맞물려 돌아가므로 분리해 이해하기란 결코 쉽지 않다. 물론 장애물을 하나씩 차례로 각개 격파하며 안드로이드라는 신기술이 제공하는 흥미로운 비밀을 밝혀내면 가장 좋겠지만 늘 그렇듯 우리에게는 한정된 시간이 문제다. 게다가 지도와 나침반도 없는 상황에서 원시 코드만 뒤지며 돌아다니다 보면 길을 잃어버리기 딱 쉽다. 일례로 안드로이드 코드를 전부 받아오려면 버전과 네트워크 상태에 따라 차이는 나지만 대략 2시간에서 4시간 정도 걸려 10기가바이트짜리 하드 디스크를 가득 채우며, 요즘에 나온 최신 컴퓨터를 사용하더라도 빌드에만 30분에서 1시간 정도 걸리기 때문에 절대로 만만하게 보고 접근할 상대가 아니다.

다행스럽게도 이번에 안드로이드 개발자들의 어려움을 극복하는 데 도움을 주는 길잡이가 등장했다. 이번에 새로 나온 안드로이드 플랫폼은 일반적인 앱 개발서나 안드로이드 프레임워크 소개서를 넘어서 안드로이드 플랫폼을 지탱하는 리눅스 관련 기술(init, udev, uevent)은 물론이고, 입력 디바이스, 센서 하위 시스템, GPS 하위 시스템, 오디오 하위 시스템, IPC 바인더, 카메라 시스템, GDI(그래픽 디바이스 인터페이스)를 원시 코드를 중심으로 집중적으로 설명하고 있다. 단순 코드 나열에 그치지 않고 실제 개발과 이식 과정에서 일어나는 여러 가지 흥미로운 이야기가 현장감 있게 펼쳐지므로 어떤 부분에 주의하고 집중해야 하는지를 간접 경험할 수 있다. 물론 개발자마다 관심 분야도 다르고 실제 맡은 업무도 다르기 때문에 안드로이드와 관련된 모든 부분을 이 책 한 권으로 이해하기란 불가능하지만 그래도 출발점을 결승선으로 조금이라도 당겨 놓는다는 관점에서 이 책의 가치를 찾을 수 있다. 여러 플랫폼에서 드라이버부터 HAL, 프레임워크 개발까지 다루는 안드로이드 플랫폼 개발자라면 긴 여정에 앞서 꼭 이 책을 읽어보기 바란다. 앱 개발자라면 추상화의 늪에 빠져 허우적거린다는 느낌이 들 때 이 책을 펼쳐보면 수면 아래에서 펼쳐지는 상황을 조금이라도 이해하는 데 도움이 되지 않을까 싶다.


안드로이드 내부 구조가 궁금하신 분이라면 이 책을 읽어보시면 조금이라도 갈증이 해소되지 않을까 싶다. 순수 앱 개발자라면 반드시 목차를 먼저 읽어보시고 구입하시길...



EOB

토요일, 6월 25, 2011

[독서광] 넷 마피아



예전에는 해킹이라는 단어가 무척 낭만적이었다. "정보는 자유로워야 한다"는 철학을 기반으로 자유롭게 소프트웨어를 공유하고 문제점을 해결하고 개선하는 일련의 행위를 일컫는 이 단어가 오염되어 요즘에는 금전적인 목적을 달성하기 위해 불법적인 방식으로 타인의 컴퓨터에 침입하는 의미로 변절되어 버렸다. 물론 크래킹이라는 용어를 사용해 원래 해킹과 구분하려는 노력도 있지만 일반인들이 이 둘을 구분하기란 쉽지 않을테다. 그렇다면 일부 언론에서 수박 겉핧기 식으로 다루고 있는 사이버 범죄 현실은 어떨까? 실제 현장에서는 어떤 일이 벌어지고 있을까?



넷 마피아는 봇, 악성 코드를 동원한 분산 서비스 거부(DoS, Denial of Service) 공격을 비롯해 신원 도용, 사이버 테러 등과 같은 여러 가지 사이버 범죄를 (사실을 기반으로) 다루고 있다. 따분한 이론이 아니라 미국, 영국, 러시아를 종횡무진하며 범죄 집단과 벌이는 한 판 승부를 통 크게 서술하며, 실제 지하에서 일어나고 있는 복잡다단한 그들(?)만의 세계를 박진감 있게 그리고 있다. 결말이 상당히 암울한(중국, 러시아 등은 아예 대놓고 사이버 범죄 사업(?) 벌이고 있으며 정부 차원에서 이를 규제하려는 노력도 지지부진하므로 소위 인터넷 강국인 한국은 아주 좋은 먹잇감이다) 박진감 넘치는 테크노 추리 소설로 보면 틀림없겠다. 이미 사이버 범죄는 국경을 넘어 전 세계로 퍼져 나가고 있기에 한국도 더 이상 강 건너 불 구경할 수 있는 안전지대는 아니다. 최근 농협 사태, 현대 캐피탈 사태를 비롯해 제 1금융권 해킹에 이르기까지 다양한 형태의 범죄가 현실화되고 있으므로 (이미 무차별적인 스팸 편지/SMS 살포야 이미 일상다반사고) 사실상 전 국민이 정확한 표적지가 되어(성별, 재력, 성향, 의료 기록에 따라 맞춤식으로) 불법 대출, 도박성 게임, 비아그라를 홍보하는 SMS를 받을 날도 머지 않았다는 생각이 든다. T_T



이 책을 읽다보니 사이버 범죄자들이 합법과 불법을 오가며 사용하는 수법은 상상을 초월할만큼 정교하고 파괴적이므로, 컴퓨터에 접속하기가 두려워질 정도로 최첨단 범죄 기법이 발전했음을 깨달았다(책을 읽다보면 얼마만큼 대단한 수법(일례로 개인이 ATM에서 돈 빼는 상황까지 다 파악한다고 하니...)이 등장하는지 깜짝 놀랄 것이다). 순진하게 안티 바이러스나 안티 스파이웨어 프로그램을 설치해놓고 나 몰라라 안심하고 있다가는 다 털릴지도 모른다는 불안감이 엄습하고 있다. T_T 그렇다고 해서 컴퓨터를 버리고 완전히 오프라인으로 돌아갈 수도 없는 상황이니 될 수 있으면 주의에 주의를 기울여야 겠다. 틈나는 데로 인터넷에서 개인 보안을 강화하기 위한 실용적인 지침을 여러분들께 소개하겠다.



EOB

토요일, 6월 18, 2011

[독서광] 디지털 휴머니즘



간만에 조금 머리 아픈 책을 하나 소개하려고 한다. 부제가 '디지털 시대의 인간 회복 선언'이라고 붙은 디지털 휴머니즘은 세컨드라이프와 Xbox 키넥트를 공동으로 설계한 제론 레이니어가 집필했으며, 원제는 'You are not a Gadget'이다(당신은 전자제품이 아니다?). 레이니어가 가상 현실 부문의 전문가이며 마이크로소프트 소속이며 작곡가라는 사실을 모르고 이 책을 읽으면, 어디서 듣보잡이 감히 소셜 네트워크, 클라우드 컴퓨팅, 모바일이 지배하는 세상에 딴지를 걸까하는 의문이 들지도 모르겠다. 딴지를 거는 목적이 무조건적인 기술 반대가 아니라 경각심을 불러일으키려는 목적이 있다고 서문에서 밝히긴 하지만, 1/3 정도까지는 읽는 사람을 무척 불편하게 만든다. 하지만 절반을 넘기면서부터 컴퓨터를 위한 사람이 아니라 사람을 위한 컴퓨터 기술이 중요하다는 자신의 목적을 확실히 들어내므로, 전반부의 불편함을 만회하고도 남는다.



이 책은 넘사벽인 GEB 만큼의 파괴력은 없지만, 나름 떠올리게 하는 부분이 많다. 음악을 강조하고(본문에서는 MIDI가 현대 음악에 미친 폐해에 대해 집중적으로 공격한다), 수학적인 문제 풀이를 예로 들고, 패턴을 찾고, 문화적인 내용을 컴퓨터 기술과 연결하는 내용을 읽다보면 여러 가지 생각할 거리가 떠오른다. 위키피디아가 종의 다양성을 없앰으로써 지식 전파에 부정적인 영향을 미치는 이유, 유투브와 같은 서비스들이 단편화된 컨텐츠를 퍼트리는 과정에서 문화를 퇴보시키는 이유, 롱테일이 부익부 빈익빈을 강화하는 이유, 파생 상품 등이 판을 치게 된 이유와 이에 대한 방어 방법 등 뜬구름 잡는 이야기가 아니라 오늘날 우리 주변에 벌어지는 현실과 관련해 날카로운 비판도 서슴치 않기 때문에 조금 삐딱한 시각으로 세상을 바라보기를 좋아하는 애독자분들이라면 이 책을 읽어보기 바란다.



그러면 본문 중 재미있는 내용을 살펴볼까?



정보기술만이 지닌 불안정한 특성은, 어떤 디자인이 우연히 틈새를 채워 일단 시행되고 나면 그 완성도와는 상관없이 이를 바꾸기가 매우 어려워진다는 데 있다. 그 디자인은 그 때부터 영구적인 고착물이 되어, 설령 그보다 더 나은 디자인이 나와도 그를 대체하지 못한다.


정말로 생명의 위협을 느끼는 상황이 아니라면 익명으로 글을 올리지 마라.


항공 공학자는 검증되지 않고 아직 추정일 뿐인 이론에 기반해 만든 항공기에 승객을 태우는 일이 절대 없다. 하지만 컴퓨터 과학자들은 그와 비슷한 죄악을 늘상 저지른다.


컴퓨터는 우리로 하여금 모든 단계에서 이진법적인 선택을 제시하는 불행한 경향이 있다. 익명으로 남거나 완전히 노출하기는 쉽지만, 꼭 충분한 만큼만 드러내기는 어렵다.


지배적이고 공식적인 디지털 철학의 가장 짜증스런 주장은 어떤 분야에서는 무보수로 일하는 군중이 보수를 받는 케케묵은 구식 전문가들보다 더 낫다는 것이다.


까다로운 언론을 상대하는 대신 부시 행정부는 시끌벅적하게 반대하면서 서로가 서로를 무효화하는 온라인 군중을 어렴풋이나마 인지하고 그를 이용하려 했다.


롱테일 효과는 창작자들의 매출은 별로 늘려주지 못하지만, 무지막지한 경쟁과 끝없는 가격 인하의 압력을 몰고 온다.


과거에는 투자자가 적어도 그 투자로 무엇을 얻게 될지 이해할 수 있어야만 했다. 새로운 유형의 엘리트 투자가와 실제로 현실에서 벌어지는 상황 사이에는 너무나 많은 층의 추상적 관념이 끼어들어서, 투자가는 자신의 투자가 실제로 어떻게 진행되는지에 대해 개념조차 파악하기 힘들다.


돈의 희소성은, 우리가 지금 아는 대로, 인위적인 것이다. 하지만 정보에 관한 모든 것도 인위적인 것이다. 일정 수준의 강요된 희소성이 없다면 돈은 무가치하다.


차를 훔치거나 집을 터는 일은 쉽지만 실제로 그런 일을 저지르는 사람은 극소수다. 자물쇠는 우리가 궁극적으로 혜택을 받는 사회적 합의를 상기시켜주는 불편한 부적일 뿐이다. 기술은 사람들의 선택을 부추길 수 있지만 선택 그 자체를 대체할 수는 없다.


경제학은 '변경 가능한 규칙들을 변경 불가능한 규칙들에 어떻게 가장 이상적으로 배합하는가'하는 문제를 다루는 학문이다.


엔지니어들은 때때로, 고의로 불완전한 기술을 그보다 약간 덜 불완전하게 만드는, 본질적으로 터무니없는 업무를 떠맡는다.


온라인의 소셜 네트워크 실험이 더욱 급진적이라고 주장하면 할수록, 그 결과가 실제로 보여주는 양상은 도리어 더 보수적이고 복고적이며 친숙하다.


1980년대 초 미디가 나타나기 전까지는 음에 대한 어떤 단일하고 정확한 개념도 음악을 만드는 과정의 필수적인 일부가 되지 못했다.


위키피디아는 이미 영구적인 틈새 사이트로 승격됐다. 미디나 구글의 광고 교환 시스템처럼 일종의 고착물로 자리잡은 셈이다. 그렇게 됨으로써 우리가 잃게 되는 것이 무엇인지를 인식해야 한다. 수학적 증명과 같이 이미 알려진 객관적 진실의 경우에도 위키피디아는 그것을 새로운 방식으로 대화 속에 끌어오는 법을 배울 수 있는 잠재성을 저해한다.


아마도 말을 잘한다는 것은 여전히, 부분적으로는, 성적 과시의 한 형태일 터이다. 말을 잘함으로써, 나는 내가 지적이며 정보가 많은 사람일 뿐 아니라 성공적인 파트너이자 유익한 짝이라는 점을 과시하는 것이다.


이들 회사에는 방 하나를 가득 채울 정도의 MIT 박사 출신 엔지니어들이 포진하고 있다. 그러나 이들이 추구하는 비지니스는, 암 치료제나 저개발 국가들을 위항 안전한 식수원이 아니라 소셜 네트워크으의 성인 회원들끼리 테디 베어와 용 등의 작은 디지털 그림들을 주고받게 해주는 모델이다. 기술적 정교함을 추구하는 길의 종착지에, 인류를 유치원 수준으로 퇴화시키는 놀이터가 놓인 꼴이다.


파편화된 현대 사회에 진절머리가 나는 분이라면 현재 상황 파악과 정리를 위해 머리가 조금 아플 각오를 하시고 주말에 여유롭게 차 한 잔 마시며 이 책을 읽어보시면 좋겠다. 오늘 뽐뿌질은 여기까지. ;)



EOB

일요일, 6월 05, 2011

[독서광] 클라우드 컴퓨팅 구현 기술



요즘 한창 인구에 회자되는 클라우드 컴퓨팅 기술을 파악하기 위해 지난 금요일 플랫폼데이 2011에 다녀왔다. 학생(?)으로서 마땅히 가져야 하는 기본 자세로 예습을 했는데, 바로 오늘 소개하는 클라우드 컴퓨팅 구현 기술이라는 책을 읽었다.



클라우드 컴퓨팅에 대한 이야기야 요즘 사방팔방에 나오므로 여기서 다시 한번 재탕할 생각은 없지만 노파심에서 잠시 위키피디아와 NIST 정의를 가져와봤다.



Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.


요약하지면 클라우드 컴퓨팅은 지역 컴퓨터가 아니라 네트워크 환경에서 구성 가능한 컴퓨팅 지원(자료와 소프트웨어 모두 포함)을 필요/요구에 따라 준비해서 사용 가능한 기술을 의미한다. 아주 신기하고 새로운 만병 통치약으로 보기는 곤란하고 과거에는 여러 가지 제약 사항으로 구현이 어려운 부분이 기술 발전으로 극복되면서 자연스럽게 일반에 퍼져나가는 문화적 현상(?)으로 보는 편이 더 정확할지도 모르겠다.



클라우드 컴퓨팅에 대해 대충 감을 잡았으므로 책을 한번 살펴보자. 이 책은 제목에 '구현 기술'이라는 단어가 붙어있는데, 소위 말하는 약파는 내용이 아니라(약파는 책들은 실체를 가리기 위해 듣도보도 못한 난해한 유행어를 계속해서 반복하는 특성이 있다), 애플리케이션 서버, 분산 코디네이터, 분산 파일 시스템, 대용량 자료 분석 프레임워크, 데이터베이스, 로그 시스템, 캐시 시스템으로 나눠서 실제로 어떻게 시스템을 구축하는지를 설명하고 있다. 구체적으로 쓰리프트, 에이브로, 주키퍼, 하둡, 맵리듀스, HBase, 카산드라, 클라우데이터, 몽고디비, MySQL, 척와, memcached 등을 설치하고 응용하는 방법을 예로 들어 설명한다. 이런 특성으로 인해 이 책은 실제 현장에 뛰어들 기술자에게 적합하다.



본문에서 블로그라는 예를 들어 클라우드 컴퓨팅 서비스를 어떻게 구축하는지 예를 보여주는 방법을 사용하고 있는데, 처음부터 끝까지 완결된 예제가 아니기 때문에(기술을 설명하다 중간중간 블로그에 적용하는 방법을 사용하므로 오라일리 책을 보는 느낌이 들었다) 조금 아쉬운 점이 있다. 또한 책을 읽다보니 기존 기술과 성능 비교, 장단점 파악, 배치와 구성 과정에서 요긴하게 사용할 팁 등이 아쉽다는 생각이 들었지만, 이런 사항은 각자 환경에 따라 천차만별일테니 일반화된 정답은 없기에 책에 담기에는 그리 용이하지 않았으리라는 생각이 든다. 결론적으로 말하자면 클라우드 컴퓨팅에 입문한 개발자가 실제 설치부터 구성, 배치, 간단한 예제 작성과 테스트 방법을 익히기는 부족함이 없다고 본다. 늘 그렇지만 실제 기술 적용 과정에서 풀어야할 숙제는 본인 몫이다.



책과 세미나 덕분에 예습에 이어 복습까지 마쳤으므로 클라우드 컴퓨팅에 대한 기본 개념은 익혔다. 어떻게 한번 써먹어볼지만 남았네?



EOB