토요일, 12월 27, 2014

[독서광] 제로 투 원

요즘 한창 뜨고 있는 '제로 투 원'을 읽은지 제법 되었는데, 연말이라 정신이 없어 이제야 독후감을 올려드린다.

이 책은 페이팔 마피아의 1인인 피터 틸이 스탠퍼드 대학교 'CS183: Startup'에서 강의한 내용을 정리한 내용을 담고 있다. 이 책의 내용을 딱 한 줄로 요약하라면 '경쟁하지 말고 독점하라'라고 볼 수 있는데, 5장까지(책의 약 1/3 지점) 신나게 '독점'에 대한 이야기가 이어진다. 자 그 다음부터가 중요하다. '독점'이 스타트업에 좋다는 사실을 알았는데, 그러면 독점을 달성하는 방법을 알아야 독점이 가능하기 때문이다. 8장 '발견하지 못한 비밀'을 시작으로 독점을 추구하기 위한 여러 가지 조언들이 나온다. 그리고 13장부터는 (이런 부류의 책에 절대 빠지지 않는) 사례 연구가 등장해서 테슬라의 일론 머스크를 집중 분석한 다음에, 버진 그룹의 리처드 브랜슨, 냅스터의 숀 파커, 등등 창업자의 역설을 소개하면서 끝난다.

상당히 도발적인 내용이 많고(비IT 부문을 마구 디스한다) 스타트업과 관련해 생각해볼 내용도 많지만, 여전히 제로에서 원으로 가는 획기적인 비법을 제시하지는 못한다(예전에 '블루오션' 열풍이 불었던 시절을 기억하는가? 은총알은 어디에도 없다.)는 점에서 약간 아쉽기는 하다.

요즘 뜸했는데, 간만에 본문 중에서 재미있는 내용을 골라봤다.

역사가 흐른다고 새로운 기술이 저절로 나타난 적은 없었다.
스마트폰은 우리 주변만 잊게 만든 것이 아니라, 우리 주변이 이상하게도 구식이라는 사실까지 잊어버리게 만들었다.
변비에 걸린 것처럼 제 기능을 못하고 있는 조직에서는 실제로 일을 하기보다는 일이 진척되고 있다는 신호만 내보내는 편이 승진에는 오히려 더 유리하다(지금 다니는 회사가 이렇다면 당장 그만두는 편이 낫다).
외톨이형 천재는 예술이나 문학의 고전을 남길지는 몰라도 산업 하나를 통째로 일굴 수는 없다.
신생기업이 가진 장점 중에서 가장 중요한 것은 '새로운 생각'이다. 새로운 생각은 '민첩함'보다도 더 중요하다. 그리고 규모가 작아야 생각할 공간이 생긴다.
'지속적인 가치를 창출하고 또 보유하고 싶다면, 차별화되지 않는 제품으로 회사를 차리지 마라.'
독점기업들은 스스로를 보호하기 위해서 거짓말을 한다. 거대한 독점 사실을 자랑했다가는 감사를 당하고, 조사를 받고, 공격받는다는 사실을 잘 알고 있다.
독점기업이 아닌 회사들은 정반대의 거짓말을 한다. "우리는 이쪽을 꽉 잡고 있어요."
독점기업이 아닌 회사들은 자신의 시장을 여러 작은 시장의 교집합으로 정의함으로써 더 특별한 시장이라고 과장한다.
행복한 기업들은 다들 서로 다르다. 다들 독특한 문제를 해결해 독점을 구축했기 때문이다. 반면에 실패한 기업들은 한결같다. 경쟁을 벗어나지 못한 것이다.
교육 시스템은 경쟁에 대한 우리의 집착을 반영하는 동시에 부추기고 있다.
엘리트 학생들은 자신 있게 계단을 올라가다가 결국은 자신의 원래 꿈을 포기해야 할 만큼 치열한 경쟁 단계에 이르게 된다.
경쟁 구도는 해묵은 기회를 지나치게 강조하게 만들고, 과거에 효과가 있었던 것을 그대로 베끼게 만든다.
간단히 말해서 오늘의 기업 가치는 그 회사가 미래에 벌어들일 모든 돈의 총합이다.
가까운 시일 내에 성장하는 데 목숨을 건다면, 스스로 자문해봐야 할 가장 중요한 질문을 놓치게 된다. "앞으로 10년 후에도 이 회사가 존속할 것인가?" 숫자만으로는 결코 그 답을 알 수 없다.
성공하려면 "다른 무엇보다 먼저 마지막 수를 연구하라."
"성공은 결코 우연이 아니다."
사람이 너무 많은 분야에서는 변화를 만들어내기가 극도로 어렵다.
거듭제곱법칙은 시간이 지난 후에야 명백하게 드러나는 특성이 있는데, 정작 우리는 기술 기업에 투자하는 전문가들조차 현재를 살고 있는 경우가 너무 많기 때문이다.
인생은 포트폴리오가 아니다. 이런 사실은 신생기업의 창립자에게도, 그 어느 일반인에게도 마찬가지다.
모범적인 대학생들은 미래의 위험을 회피하는 데 집착한 나머지 별로 중요하지 않은, 듣도 보도 못한 각종 능력들을 수집하듯이 익히고 있다.
우리는 한눈 팔지 않고 오로지 '잘하는 것'에 집중해야 한다. 다만 그전에 반드시 그 일이 미래에 가치 있는 일이 될 것인지를 먼저 치열하게 고민해봐야 한다.
성공한 기업가들은 거의가 인사이더인 동시에 아웃사이더다. 그런 사람들이 실제로 성공하면 명성과 오명을 동시에 떨친다.

결론: 스타트업을 하거나 하려고 마음먹은 사람들에게 추천!

EOB

토요일, 12월 20, 2014

[B급 프로그래머] 12월 3주 소식

2014년 한 해 동안 격주로 소식을 전달해드렸는데, 독자 여러분들께서는 만족도가 어떠실지 궁금하다(댓글로 부족한 점이나 바라는 점을 달아주시면 내년에 최대한 반영을 해드리겠다고 약속한다). 올해 마지막 소식을 정리하겠다.

  1. 웹/앱 소식
  2. 개발/관리 도구 소식
  3. 고성능 서버/데이터베이스 소식
  4. 기타 읽을거리

연말 연시 보람차게 보내시기 바라며.

EOB

토요일, 12월 13, 2014

[독서광] 빅 픽처 2015

오늘은 뉴스 페퍼민트 대표인 '이효석' 씨와 개인적인 친분 때문에 선물 받은 '빅 픽처 2015'라는 책을 소개하려 한다.

12월이 되면 한 해를 정리하고 다음 해를 예상하는 기사와 책들이 많이 나온다. 현실에 묻혀 늘 바쁘게 살고 있는 우리들에게 종종 앞뒤를 돌아보고 방향을 다시 설정한다는 측면에서 시간을 내어 잠시 세상이 어떻게 돌아가는지 확인하는 계기를 마련해주기에 정리형/예상형 기사와 책을 읽고 나름대로 자신의 입장과 관점에서 한 해를 정리하고 다음 해를 기획할 수 있다. '빅 픽처 2015'도 바로 이런 가치를 제공하는 책으로 생각하면 틀림없겠다.

주로 경제 분야에 집중하던 기존 책들과 달리 이 책은 정치/경제/사회/문화/기술에 걸쳐 다양한 분야를 다루기에 조금 색다른 시도로 보여진다. 분야가 다양하다고 해서 결코 책 내옹이나 구성이 산만하지는 않다. 새로 등장하는 의제와 전통적인 의제를 균형 감각을 유지하면서 소개하고 실천에 방점을 찍으며 구체적인 대안을 제시하고 있으므로 책 제목처럼 '큰 그림'을 그릴 수 있게 생각거리를 던져준다.

책에서 제시하는 여러 가지 흥미로운 주제 중에서도 특히 좋았던 주제를 하나만 꼽으라면 개인적으로는 "‘만들어진 행복’을 걷어차라 -‘인간 탐구’에 관한 과학적 사실들"을 택하겠다. "피할 수 없으면 즐겨라"와 '아프니까 청춘이다'로 대표되는 행복을 강요하는 사회적인 분위기는 사회의 문제를 개인의 문제로 환원시키는 점에서 문제의 여지가 상당히 많지만 이런 주장을 강화하는 '자기 계발서'가 범람하는 상황을 보면 쉽게 분위기가 바뀔 것 같지는 않다. "'만들어진 행복'을 걷어차라"에서는 인간의 의지에 모든 것을 맡기는 방법으로는 현실의 개선이 어렵다는 한계를 명확하게 제시한다. 행복을 스스로 부트스트래핑해서 만들어낸다는 주장은 매력적으로는 들릴지 모르겠지만, 과연 인간의 이성만으로 모든 것을 돌파할 수 있는지에 대해서는 충분히 고민해야 한다. 하지만 이런 고민 자체를 사치로 여기는 사회적 분위기가 더 큰 문제일지도 모르겠다.

결론: 책을 다 읽고 나니 커피숍에서 여러 분야의 전문가들과 함께 이야기를 나눈 듯한 느낌을 받았는데, 시공간이라는 물리적인 제약을 훌륭하게 극복하는 '책'이라는 사상의 전달 매체에 대해 감탄하지 않을 수 없다. 여러분들도 함께 이런 경험을 느끼면 어떨지?

EOB

토요일, 12월 06, 2014

[B급 프로그래머] 12월 1주 소식

금주에도 푸짐한 소식이 들어와 있다.

  1. 웹/앱 소식
  2. 개발/관리도구 소식
  3. 고성능 서버/데이터베이스 소식
  4. 기타 읽을거리
EOB

토요일, 11월 29, 2014

[독서광] 노드로 하는 웹 앱 테스트 자동화

간만에 기술서적 하나 소개드리겠다. 오늘은 에이콘 출판사에서 노드 관련 서적으로 선물해주신 '노드로 하는 웹 앱 테스트 자동화'다. '헤드리스 브라우저와 모카를 활용한'이라는 부제를 보면 알겠지만, 단순한 API 단위 테스트를 넘어서 실제 브라우저를 흉내내어 테스트하는 방법을 설명한다.

테스트를 하려면 테스트 대상 프로그램이 필요한데, 이 책에서는 아주 간단한 애플리케이션(할 일 목록)을 Node.js, CouchDB, Flatiron.js 조합으로 뚝딱 만들어낸다. 그런 다음 좀비와 모카를 사용해 테스트를 수행한다. 헤드리스 브라우저인 좀비를 사용해 사용자가 직접 크롬과 같은 브라우저 없이 자동으로 서버에 요청을 할 수 있으며, BDD를 기반으로 만들어진 테스트 프레임워크인 모카를 사용해 사용자 시나리오에 맞춰 좀비로 요청을 보내고 받은 결과를 비교하는 방법을 사용한다. 단순한 HTTP 요청을 넘어서 동적인 AJAX(드래그 & 드롭)와 라디오 버튼 선택과 같은 동적인 HTML 화면 제어 방법을 설명하고 있으므로(눈치챘겠지만, 브라우저를 시물레이션 할 수 있다!), 기존 REST API 단위 테스트에 익숙한 개발자라면 조금 놀랄지도 모르겠다. 모카는 비동기식과 promise를 지원하므로 AngularJS와 친한 자스민에 비해 기능이 풍부하다는 장점이 있으므로, 유심히 살펴볼 필요가 있다.

이 모든 것이 Node.js를 중심으로 동작하는 자바스크립트로 구축되어 있으므로, 자바스크립트를 사용해 프론트엔드와 백엔드를 모두 개발하는 분들이라면 아주 자연스럽게 다가올 것이다. 책을 구입하기 전에 예제를 한번 봐야하는 독자를 위해 출판사에서 예제 다운로드 링크를 제공하므로 미리 살펴보면 도움이 되겠다.

결론: Node.js 세상에서 테스트와 테스트 자동화가 필요한 분이라면 빠른 시간 내에 읽을 수 있는 책으로 볼 수 있다.

EOB

토요일, 11월 22, 2014

[B급 프로그래머] 11월 3주 소식

금주에는 특히 좋은 소식이 많아서 시간을 들여 정리해보았다.

  1. 웹/앱 소식
  2. 개발/관리도구 소식
  3. 고성능 서버/데이터베이스 소식
  4. 기타 읽을거리
EOB

수요일, 11월 19, 2014

[독서광] 인터스텔라 머피 방의 책장에 꽂혀있던 이스터에그 9권

와이어드를 읽다보니 9 EASTER EGGS FROM THE BOOKSHELF IN INTERSTELLAR라는 아주 흥미로운 글이 올라왔다. 머피 방의 책장에 꽂혀있던 책이 무엇인지 궁금하지 않은가? 독자 여러분을 위해 본문에 나오는 원서를 대상으로 직접 한국어판을 찾아 정리해보았다(아쉽게도 몇몇 책은 번역서가 없었다).

  1. 말벌공장(원서 제목: The Wasp Factory): "한번 읽고나면 결코 잊어버리지 않은 강렬한 감동. 거의 고립되다시피 살아가는 아이와 아버지의 끔찍한 이야기"
  2. Selected Poems by T.S ELIOT: "가장 복잡한 시공간의 개념은 종종 과학보다 예술로 가장 잘 표현된다"
  3. 스탠드(원서 제목: Stand): "중요한 사건에 대한 우리의 인식이 항상 개인적이라는 사실을 깨닫게 만드는 암울한 시나리오"
  4. 중력의 무지개(원서 제목: Gravity's Rainbow): "가장 우아한 제목"
  5. 에마(원서 제목: EMMA): "아름다운 책을 위한 아름다운 이름"
  6. 시간의 주름(주의: 그래픽 노블임)(원서 제목: A Wrinkle in Time): "더 높은 차원에 대한 개론서. 4차원 정육면체의 개념을 소개한다"
  7. Labyrinths by Jorge Luis Borges: "제목이 모든 것을 말한다"
  8. The Go Between by L.P. Hartley: "어른 세상에서 메아리치는 어린 시절의 경험. 가슴 뭉클하게 만드는 가장 위대한 도입부를 보여주는 책"
  9. 플랫랜드(Flatland: A Romance of Many Dimensions): "여러분을 둘러싼 세상을 바라보는 실질적인 시각을 바꾸려는 주목할만한 시도"

오늘은 이렇게 엉뚱하게 뽐뿌질을 하고 말았다. 놀란 감독의 취향이 여러분에게 와 닿는지?

EOB

화요일, 11월 18, 2014

[일상다반사] IoT 클라우드 플랫폼 회사 달리웍스와 Thing+ IoT 플랫폼

지난 11월 5일부터 7일까지 열린 2014년 사물 인터넷 전시회에 다녀왔는데, 오늘은 그 중에서 특히 눈에 띄는 회사 하나를 소개해드리려 한다. 주인공은 바로 IoT 관련해 서버 기술부터 단말 기술까지 모두 갖추고 있는 회사인 달리웍스다. 대표님과 친분(대학교 선배님이시다)이 있다고 해서 자랑하려는 것이 아니라, IoT 관련해 전체 스택(full stack)을 갖추고 있는 몇 안 되는 회사이므로 소개해드리려 한다. 이번 전시회에서도 연합군을 결성해 나왔는데, 하드웨어 부문은 뉴로메카(참고로 여기 대표님도 대학교 선배님이시다)도 함께 참여해서 개발하므로 완성도가 아주 높다(참고로 뉴로메카는 CAN과 로봇 자동화 관련해 기술력이 뛰어나다).

일단 Thing+ 클라우드를 설명하는 동영상부터 소개하겠다. 실제로 디바이스를 등록하고, 규칙을 만들고, 이벤트를 발생시키고, SMS를 사용해 통지 받는 시나리오를 돌려봤는데, 어렵지 않게 진행할 수 있었다. 물론 완전 초보자가 하기에는 어려운 점이 있지만, IoT 관련 지식이 있는 사람이라면 어렵지 않게 수행할 수 있는 정도의 완성도를 자랑한다.

IoT 관련 디바이스에서 수집한 자료를 저장하고 분석하는 서비스는 Thing+ 클라우드에서 제공하며, 구성, 제어, 시각화를 위한 사용자 인터페이스는 Thing+ 포털에서 제공한다. 플랫폼 구성 요소는 다음 그림을 보면 이해가 쉬울 것이다.

구현을 위해 사용한 기반 기술이 대단한데, 퍼블릭 클라우드(AWS)와 프라이빗 클라우드는 물론이고 도커를 사용해 개발되었고, 서버는 비동기식 이벤트 처리에 적합한 Node.js를, 포털 인터페이스는 웹소켓과 AngularJS를 사용해 HTML5 기반의 반응형으로 만들어졌다(웹, 태블릿, 스마트폰 모두 지원). 한 마디로 현재 뜨고 있는 여러 기술을 잘 활용해 다양한 이벤트 처리가 필요한 애플리케이션을 제대로 만들었다. 최근 아마존이 람다라는 자바스크립트/Node.js 상에서 이벤트 중심의 개발 편의 서비스를 AWS에 추가한 사실을 볼 때, 달리웍스는 IoT에 대한 개발 기반 기술을 제대로 선택한 듯이 보인다.

결론: IoT 분야에 관심이 있는 분들께서는 기술력으로 승부를 거는 달리웍스에 주목하기 바란다.

EOB

토요일, 11월 15, 2014

[B급 프로그래머] (Quora) 10분만에 알고리즘 사고를 기르는 방법

Quora에 재미있는 질문이 하나 올라와서 독자 여러분을 위해 정리해보았다.

What can I learn right now in just 10 minutes that could improve my algorithmic thinking?

한국어로 번역하자면 '10분만에 알고리즘 사고를 기를 수 있는 방법은 무엇인가요?'이며, 가장 멋진 대답을 정리하면 다음과 같다.

이미 알고 있는 지식이 어느 수준인지 모르는 상태에서 대답하기는 어렵습니다. 한 가지만 힌트를 드리자면, 루프 불변입니다. 루프를 작성할 때, 암시적이거나 명시적으로 루프 불변을 사용한다는 사실을 이해해야 합니다.

루브 불변은 술부(predicate, 참 또는 거짓인 서술)이며, 다음과 같은 속성이 있습니다.

  1. 처음 루프에 진입할 때 참이다.
  2. 루프 반복을 시작할 때 참이면, 다음 반복을 시작할 때도 참이다.
  3. 루프가 종료되면, 루프 불변은 루프가 원하는 속성을 제공하는 근거를 제시한다.

간단한 예를 들어봅시다. 배열 a의 첫 n개(양수)를 더하기 위해 다음 루프를 만들어봅시다.

Read Quote of Thomas Cormen's answer to What can I learn right now in just 10 minutes that could improve my algorithmic thinking? on Quora

바로 루프 불변 예제입니다. 루프 반복에 들어갈 때, sum = a[0] + a[1] + a[2] + ... + a[i - 1]을 계산합니다. 위에서 설명한 세 가지 속성이 충족하는지 살펴봅시다.

  1. 처음 반복할 때 i = 0입니다. i - 1 = -1이므로, a[0] + a[1] + a[2] + a[i - 1]은 비어 있습니다. 아무 항도 더하지 않았으므로 0이 됩니다.
  2. i의 값에 대해 반복에 들어갈 때, 루브 불변이 참이라고 가정하면 sum = a[0] + a[1] + a[2] + ... + a[i - 1]이 됩니다. 반복 과정에서 a[i]을 sum에 더하고, i를 하나 증가시킵니다. 따라서 루프 불변은 다음 반복에 들어갈 때도 계속해서 유지됩니다.
  3. i=n이 되면 루프가 종료됩니다. 루프 불변에 따르면 sum = a[0] + a[1] + a[2] + ... + a[i - 1]입니다. 따라서 sum은 배열의 첫 n개의 합입니다.

예제가 정말로 사소할지 모르겠습니다. 이런 루프를 작성했다면, 정형적인 방식으로 사유했다고 보기는 어려울지도 모릅니다. 하지만 인지하든 인지하지 못하든 마음 속에서는 정확하게 위에서 설명한 방식에 맞춰 사고가 일어납니다. 루프 불변은 훨씬 복잡한 루프를 이해하고 올바르게 증명하는 과정에 도움을 줍니다.

루프 불변이 수학적인 귀납법을 떠올리게 했다면, 당연합니다. 첫째 속성은 귀납의 기초를, 둘째 속성은 귀납적인 추측과 유사합니다. 셋째 속성이 조금 다른 이유는 대다수 귀납적인 증명에는 종결 조건이 없기 때문입니다.

어찌되었거나, 10분만에 배울 수 있는 뭔가를 질문했습니다. 루프 불변은 10분만에 배울 수 있는 최선의 개념입니다. 재귀를 말하고 싶었으나, 초급 과정에서 재귀를 가르친 23년 동안의 경험에 따르면, 설명에 10분 넘게 걸립니다.

EOB

토요일, 11월 08, 2014

[B급 프로그래머] 11월 1주 소식

슬슬 늦가을로 접어드는 11월 1주 소식을 전해드리겠다.

  1. 웹/앱 소식
  2. 개발/관리도구 소식
  3. 고성능 서버/데이터베이스 소식
  4. 기타 읽을거리
EOB

목요일, 11월 06, 2014

[독서광] 33가지 프로젝트로 배우는 아두이노

집에 아두이노 호환 보드를 사놓고 이런 저런 실험을 하며 재미있게 갖고 놀고 있는데, 아무래도 스타터 킷SIK 지침서만으로는 성이 안 차서 한빛미디어에서 나온 '33가지 프로젝트로 배우는 아두이노'를 구매해(여러 후보를 놓고 비교한 결과 이 책이 낙점되었다) 읽어보았는데, 많은 즐거움을 선사했다.

원서 제목이 30 Arduino Projects for the Evil Genius라는 점을 고려할 때 사악한 천재를 위해 만들어진 예제가 즐겁고 흥미롭지 않으면 그게 더 이상할 것 같다. 하지만 초보자용이 아니라는 사실에 주의해야 한다. 이 책은 어느 정도 C 프로그래밍 언어를 이해하고 있고 최소한 트랜지스터가 뭔지 아는 사람이 봐야한다. 물론 쉽게 설명하려 노력했고 난이도 별로 쉬운 예제와 어려운 예제를 균형있게 제시함으로써 다양한 독자층을 아우르긴 하지만 그래도 아두이노를 생애 첫 보드로 구입한 친구들이 무작정 덤비기에는 다소 곤란한 책으로 보인다. 브레드보드만 사용해 실험을 이끌어나가는 대신 (많은 분량은 아니지만) 중간 중간 납땜을 요구하기 때문에 혹시나 비싼(?) 부품 등을 망가뜨릴까봐 조금 두렵다는 생각이 들지도 모르겠다.

본문 구성을 살펴보면 아니나 다를까 LED부터 시작한다. 아주 간단한 점멸을 활용한 모스 부호 번역기를 시작으로 모형 신호등과 LED 주사위까지 난이도를 높여나간다. 출력이 있으면 입력이 있는 법인지라 그 다음으로 센서 장착에 들어간다. 키패드 비밀번호 입력에 이어 모형 신호등에 로터리 엔코더를 붙인 다음 심장 박동 모니터와 USB 온도 기록계를 제작한다. 여기까지 오면 일단 입출력에 대한 기본적인 프로젝트가 끝나므로 뒤에 이어지는 내용은 빛, 소리, 전력이라는 주제를 놓고 심화 프로젝트를 소개한다. 빛의 경우 세븐 세그먼트로 주사위를 다시 만들고 LED 배열을 사용해 색상 패턴을 표시하고, USB 메시지 보드를 만든다. 소리의 경우 오실로스코프를 만든 다음 음악 플레이어, 빛 하프, VU 미터를 제작한다. 전력 프로젝트에서는 실제 외부 장치(또는 액추에이터)를 제어하는 방법을 소개하면서 LCD 온도 조절기, 컴퓨터 조종 선풍기, 최면 장치, 서보 모터를 사용한 레이저 글자 쓰기 장비를 제작한다. 그리고 나서 잡다한 프로젝트라는 이름으로 거짓말 탐지기, 자석 도어록, 적외선 리모콘, 릴리패드 시계, 카운트다운 타이머와 같은 누구나 한번쯤 만들어보고 싶은 장난감을 제작해본다. 마지막으로 레오나르도를 사용해 가상 키보드와 마우스를 만들며 대단원의 막을 내린다. 물론 책의 가장 뒤에는 독자적인 프로젝트를 수행하기 위한 기초 지식을 정리하는 내용이 나오긴 하지만 아무래도 짧은 지면에 많은 내용을 설명하려다 보니 큰 도움이 되지는 못하는 느낌이다(설마 전자공학이 챕터 하나로 뚝딱 끝낼 수 있으리라 믿는 분은 안 계시리라...).

이 책의 가장 큰 장점은 컬러다. 책 두께와 정가가 올라가긴 했지만 컬러이기 때문에 배선도를 보다 햇갈릴 가능성을 상당히 줄여준다. 당연한 이야기지만 회로도, 배선도, 실제 배치도가 모두 총천연색으로 나오므로 디버깅(?)을 하는 과정에서도 많은 도움을 받을 수 있다. 또한 대응하는 코드가 완결된 형태이며 깃허브에 가지런히 올라와 있기에 일단 무작정 따라하기 모드로 가는 경우에도 큰 어려움 없이 진행이 가능하다. 코드가 이해가 안 가면 본문 중에 번호를 붙여가며 정리해놓은 설명을 읽어보면 도움이 될 것이다.

결론: 아두이노를 구입하려거나 구입한 독자 중에 C 프로그래밍 언어를 어느 정도 이해하고 기초적인 전자공학 지식도 있는 분이라면 이 책은 결코 여러분을 실망시키지 않을 것이다. 강력 추천!

EOB

토요일, 11월 01, 2014

[영화광] 크리스토퍼 놀란은 이메일 주소가 없다

THE VERGE에 올라온 Christopher Nolan doesn't have an email address이라는 글을 읽다보니 이번 인터스텔라로 다시 한번 극장가를 휩쓸지도 모르는 크리스토퍼 놀란의 몇 가지 흥미로운 비밀(?)을 소개하고 있었다. 독자 여러분을 위해 간단하게 번역해보았다.

  1. 놀란은 "이메일 주소를 보유하지 않기로 선언"했다. 따라서 비서가 중요한 이메일을 인쇄해서 갖다준다.
  2. 항상 정시에 나타난다.
  3. 주말에 일하지 않는다.
  4. 스티브 잡스와 마찬가지로 매일 똑같은 옷을 입고 등장한다. 물론 날씨가 차가워지면 옷이 바뀌긴 한다.
  5. 뜨거운 차에 중독되었다. 따라서 주머니에 항상 보온병을 넣고 다니고 이빨은 밤갈색으로 얼룩졌다.
  6. 영화를 만들기 전에 아버지의 낡은 타이프라이터를 사용해 영화에 대한 기본적인 아이디어를 2주일에 걸쳐 타이핑한다.
  7. 특수 효과를 (후처리가 아니라) 카메라 촬영 과정에서 최대한 많이 사용하려 노력한다.
  8. 낡은 비행기 격납고에 거대한 모델 세트를 만들어 촬영한다.
  9. 디지털보다 35밀리 필름을 선호한다. 인터스텔라가 아날로그 영사기로 올바르게 상영되는지 확인하기 위해 뉴욕 시의 극장을 방문하기도 했다.

이번 인터스텔라도 최적의 상영 환경은 (아날로그) 70mm IMAX 영화관인데, CGV 멀티플렉스에는 디지털 IMAX 영화관 밖에 없다는... T_T

EOB

화요일, 10월 28, 2014

[독서광] 주키퍼: 고가용성 서버를 위한 분산 프로세스 코디네이션

오늘은 간만에 기술서적을 하나 소개하려 한다. 오늘의 주제는 아마 고가용성 서버 구축을 해보신 분이라면 한번쯤은 들어보셨을 주키퍼다. 주키퍼가 무엇인지 모르시는 분을 위해 Apache ZooKeeper™ 홈페이지에서 가져온 정의를 살펴보자.

주키퍼는 구성 정보와 이름을 유지하며, 분산된 동기화를 제공하며, 그룹 서비스를 제공하기 위한 중앙 집중적인 서비스다."

오라일리 주키퍼 책은 바로 이런 아파치 주키퍼의 특성을 이론적으로 나열하는 대신 실제 업무에 적용 가능한 코드 형태로 제시한다는 점에서 개발자에게 직접적인 도움을 준다. 분산 환경에서 코디네이션이 가장 위력을 발휘하는 마스터-워커 사례(실제 HBase 아키텍처를 단순화한 모델을 사용한다)를 예로 들어 일단 배포판에 들어있는 기본 주키퍼 클라이언트를 사용해 프로그래밍 언어를 사용한 코드 작성 없이 실험을 해본다. 다음으로 가장 기본적인 자바 API를 사용해 실제 코드 형태로 구현하는 방법을 제시한다. 그리고 나서 C API와 고수준 프레임워크인 큐레이터를 사용해 동일한 코드를 작성하는 방법을 제시한다. 따라서 책을 순서대로 읽다보면 자연스럽게 분산 환경에서 가용성이 높은 애플리케이션 작성에 필요한 기초 지식을 쌓을 수 있게 된다.

하지만 주키퍼 API를 사용해서 애플리케이션을 작성했다고 하더라도 저절로 가용성이 보장되지는 않는다(많은 사람들이 주키퍼를 설치하고 애플리케이션만 만들어 운영하면 모든 문제가 사라질 것으로 희망하는데, 공짜 점심은 없다!). 주키퍼 서비스 자체가 이를 담보해야 하므로, 책에서는 주키퍼 자체의 가용성을 높이기 위해 앙상블을 구성하는 방법부터 장애가 생겼을 때 고려해야하는 주키퍼 내부의 동작 방식과 이와 관련된 애플리케이션의 설계 방법, 그리고 주키퍼 운영에 필요한 각종 설정 방법도 빠짐없이 설명한다.

책을 구매하기 앞서 내용 파악이 필요하거나 책을 읽는 도중 완전한 코드를 참조할 필요성이 있을 경우 zookeeper-book-example을 방문해 코드를 살펴보면 좋겠다.

전반적인 책 내용이 프로그래머를 충분히 배려했다고 소개했는데, 번역 상태를 점검하겠다. 무척 아쉽게도, 오탈자가 아주 많고(이 부분에 대해서는 출판사에 이야기를 해놓은 상황이며 조만간 정오표에 신고 내용이 올라갈 것이다), 중간 중간 무슨 이야기인지 몰라 제대로 이해하기 위해 신경써야 하는 부분이 존재한다. T_T

결론: 번역 품질만 감수할 수 있다면, 분산 환경에서 오늘도 열심히 개발에 전념하는 개발자들에게 추천한다. 주키퍼 튜토리얼만 읽었다면 이 책을 읽으면서 숨겨진 여러 가지 비밀을 찾아낼 수 있을 것이다.

EOB

월요일, 10월 27, 2014

[일상다반사] FALinux 16차 공개 세미나 소식

오는 11월 4일에 코엑스에서 열리는 FALinux 16차 공개 세미나 소식이 들어와 있어 독자 여러분들께 소개 드리려 한다. 이번 세미나의 주제는 '산업 자동화 분야의 하이브리드 클라우드'로서 현장에서 클라우드와 IoT를 접목한 전문가 발표와 전통 산업 부문에 계신 청중들의 네트워킹이 어우러져 상당히 알찬 시간이 되지 않을까 생각한다. 이번 세미나를 가장 잘 드러내는 목차를 정리하면 다음과 같다.

------------------------------------------------------------------
12:00 - 13:00 :  세미나 접수 및 등록
13:00 - 13:20 :  환영사 - 이혁재(정보통신산업진흥원 SW진흥단장)
13:20 - 13:30 :  Break Time
13:30 - 14:00 :  키노트 : Hybrid cloud for industrial - 이승현(에프에이리눅스 이사)
14:00 - 14:40 :  전통 산업과 IoT 융합 - 정원진(두산인프라코어 차장)
14:40 - 15:20 :  Open Web 기술 기반의 IoT 플랫폼 기술 - 이순호(달리웍스 대표)
15:20 - 16:00 :  Coffee Break Time
16:00 - 16:40 :  Change the World in IoT - 이태영(Internet of Everything[Facebook group] 운영자)
16:40 - 17:20 :  산업분야 사물인터넷 서비스 현황 및 정부 정책 - 이창훈(정보통신산업진흥원 IoT 사업부 팀장)
17:20 - 17:30 :  경품 추첨
------------------------------------------------------------------

세미나 내용을 미리 살짝 정리해보면 다음과 같다.

  • 키노트: IoT, 빅데이터, 클라우드 에 대한 용어 해설과 FALinux가 현장에 적용했던 하이브리드 클라우드, 저전력 서버, 자바를 기반으로 하는 임베디드 솔루션인 임자등에 대한 내용을 소개.
  • 전통산업과 IoT 융합: 두산인프라코어 인천 공장의 사례를 토대로 과거 두산이 구축한 소방방재 분야의 IT 솔루션이 어떤 효과를 가져왔고 향후 어떻게 발전시켜 나갈 지에 대한 내용을 소개.
  • 오픈웹 기술 기반의 IoT 플랫폼 기술: 오픈 하드웨어 및 오픈 소스와 관련한 IoT 플랫폼 기술에 대한 내용과 이를 활용한 남미 시장 진출에 대한 내용을 소개.
  • 체인지 더 월드 인 IoT: 현재 출시된 IoT 제품군을 통해 바라본 세상의 변화와 IoT 트렌드 분석 내용을 발표.
  • 산업 분야 사물인터넷 서비스 현황 및 정부 정책: 정부에서 추진 중인 IoT 분야에 대한 계획과 정책 등을 발표.

결론: 현장에서 실제 일어나고 있는 IoT 기술 전파 상황을 파악하고 실제 현업에 적용하고 싶은 분들께서 신청하시면 딱 맞을 듯이 보인다.

EOB

토요일, 10월 25, 2014

[끝없는 뽐뿌질] 서피스 프로 3 (2편)

지난 번에 올려드린 [끝없는 뽐뿌질] 서피스 프로 3 (1편)에 많은 관심을 보여주셔서 감사드린다. 오늘은 2편을 계속해서 올려드리기로 한다.

윈도우 7을 주로 사용하다 윈도우 8.1을 사용하는 순간 몇 가지 이유로 인해 멘붕이 찾아왔다. '시작' 버튼이 없어서 난리가 났다는 소식이야 하도 많이 들어서 크게 놀라지 않았는데, 내가 원래 하던 아주 쉽게 처리하던 일을 어떻게 해야할지 몰라서 우왕좌왕하는 상황이 생겼기에 사례별로 정리해보았다.

윈도우 8에서 가장 큰 차이는 앱과 데스크탑 애플리케이션의 분리다. 데스크탑 애플리케이션이야 늘 사용하던 녀석이라 혼란이 없는데, 일단 윈도우 8 전용 애플리케이션인 앱을 띄우고 나면 도대체 어떻게 여기서 나가야할지 눈앞이 캄캄해지기 마련이다. 다음과 같은 몇 가지 힌트를 기억하자.

  • 앱 메뉴바를 띄우러면 마우스를 화면 위로 올리거나 터치로 상단 가장자리 스와이프를 사용하면 된다. 숨겨진 앱 메뉴바가 나오면 축소, 종료가 가능하다.
  • 아니면 마우스를 화면 아래로 내리거나 Windows+T 키를 누르거나 하단 가장자리 스와이프로 작업 표시줄을 꺼내면 된다. 여기서 기존 데스크탑을 다루듯 앱을 다루면 된다.
  • 아주 익숙한 ALT+TAB 키나 Windows+TAB 키를 눌러 프로그램 전환이 가능하다. WINDOWS+TAB은 마우스를 사용해 왼쪽 상단으로 가거나 터치에서 왼쪽 가장자리 스와이프로 대신할 수 있다.

다음으로 참 바(Charm Bar)라는 요상한 기능에 대해 이해해야 한다. 원래 마이크로소프트는 '시작 메뉴'를 완전히 없애버리고 싶었기에 윈도우 8에서는 진짜 그렇게 했다(물론 3rd party 프로그램을 사용하면 다시 살릴 수 있긴 하지만...). 그리고 대체품으로 바로 참 바를 넣었다. 참 바는 Windows+C키나 터치로 오른쪽 가장자리 스와이프로 꺼낼 수 있다. 참 바에는 검색, 공유, 시작, 장치, 설정이라는 다섯 가지 메뉴가 나오며, 시작 메뉴를 추상화해 제공한다는 의도는 좋았지만 정말 이걸로 뭔가를 하려면 상당한 시행착오가 필요하다. 마이크로소프트가 참 바에 얼마나 공을 들였느냐 하면 각 메뉴에 대한 단축 키를 제공한다는 사실로 미뤄 짐작이 가능하다. 검색(Windows+F은 파일, Windows+S는 전체, Windows+Q는 앱, Windows+W는 설정), 공유(WIndows+H), 프로젝트(Windows+P), 설정(Windows+I), 장치(Windows+K) 등이 여기 해당한다. 하지만 막상 참 바는 태블릿이 아닌 이상 일반 데스크탑/노트북에서는 불편해 사용자들은 Pokki와 같은 시작 메뉴를 설치해 사용하는 경우가 많다. 하지만, 참 바도 싫고 예전 방식과 유사한 시작 메뉴도 싫을 경우 다른 트릭은 없을까? 앱 모드와 데스크 탑 모드와 무관하게 Windows 아이콘을 오른쪽 버튼으로 누르거나 Windows+X키를 누르면 신나는 일이 벌어진다. 윈도우 도구라는 메뉴가 나타나면서, 실행을 위한 앱/애플리케이션 목록 확인을 제외하고 여러분이 하고 싶어하는 대부분 작업이 가능해진다.

앱이나 데스크탑용 애플리케이션 목록을 어디서 볼 수 있는지가 다음 고민이다. 물론 참 바에서 검색 기능을 사용해 원하는 프로그램을 선택할 수도 있지만, 뭐가 설치되어있는지 그리고 이름이 뭔지 알게 뭐람? 이런 경우에는 시작 화면으로 가서(시작 화면으로 가는 방법은 시작 버튼을 콕 누르면 된다. 참 쉽죠?) 선택을 해야 하는데, 내가 원하는 모든 프로그램을 보려면 아래쪽 화살표를 누르면 전체 앱/데스크탑 애플리케이션 목록이 등장하므로 필요한 녀석을 선택할 수 있다. 만일 정말 자주 사용하는 프로그램이 있다면, 전체 앱 보기 화면에서 오른쪽 버튼을 눌러 아예 시작 화면에 고정하거나 데스크탑 작업 표시줄에 고정하는 방법도 있다. 시작 화면에 고정한 다음 위치를 변경해 잘 보이는 곳에 두면 될 것이다.

윈도우 8.1의 경우 데스크탑의 작업 표시줄에 마우스를 가져간 다음 오른쪽 버튼을 눌러 속성을 선택한 다음 탐색 탭을 누르면 몇 가지 중요한 옵션이 있다. 우선 "시작 화면으로 이동하면 자동으로 앱 보기 표시"를 선택할 경우 시작 화면으로 갈 경우 타일 화면 대신 전체 앱 보기가 나온다. 게다가 "범주별로 정렬된 경우 앱 보기에 데스크톱 앱을 먼저 표시"를 선택하면 데스크탑 애플리케이션부터 먼저 보여주므로 Windows+X 키와 함께 사용하면 적어도 시작 화면과 유사한(응?) 효과를 얻을 수 있다.

이제 고급 기능을 하나 더 소개하겠다. Windows+. 키를 누른 다음 화살표 키를 누르면 화면을 분할해 앱 두 개나 앱과 데스크탑 애플리케이션을 한 화면에 동시에 배치할 수 있다. 폭도 조정할 수 있으므로 작업 과정에서 필요한 만큼 공간을 확보하기 바란다. 전체 단축기 목록이 궁금하면 List of Windows 8 Shortcuts을 참고하면 된다. 심심풀이로 한번씩 읽어보면 의외로 도움이 되는 기능을 찾을지도 모르겠다.

마지막으로 서피스 프로 3과 관련된 필살기를 몇 가지 소개할 차례다. 먼저 참 바를 꺼내기 위해 아예 타이핑 커버 F5~F8에 검색, 공유, 장치, 설정이 할당되어 있다. 키보드 백라이트 밝기를 높이려면 F2를, 낮추려면 F1을 누른다. 원래 기능 키로 사용하려면 Fn을 누르면서 기능 키를 누르거나 Fn+Caps 키를 눌러 원래 Fn과 타이핑 커버 기능 상태를 토글하면 된다. Fn을 사용하면 몇 가지 불가능(?)하게 보이는 작업도 가능하다. 예를 들어 화면 밝기를 높이려면 Fn+Del, 줄이려면 Fn+Backspace를 누르면 된다. 페이지 업은 Fn+위 화살표, 페이지 다운은 Fn+아래 화살표, Home은 Fn+왼쪽 화살표, End는 Fn+오른쪽 화살표를 누르면 된다. 태블릿처럼 사용할 경우 '화면' 항목에서 자물쇠 아이콘이 있는데, 이 곳에서 화면 자동 기능을 끄고 켤 수 있으므로 누워서(!) 뭔가를 읽고 볼 때 유용하게 사용하기 바란다.

마지막으로 스크린 캡쳐 관련 기능을 소개한다. Fn+스페이스 바는 전체 화면 스크린 캡쳐(클립보드), Alt+Fn+스페이스 바는 현재 창 스크린 캡쳐, Fn+Windows+스페이스 바는 전체 화면 스크린 캡쳐(사진 폴더에 저장)라는 사실을 기억하자. 태블릿 본체에 있는 윈도우 버튼+볼륨 다운을 눌러도 스크린 캡처가 가능하다는 사실을 알면 타이핑 커버가 없을 경우에도 캡쳐가 가능하다.

Surface Pro 3 User Guide(영어)서피스 프로3 단축키 + 윈도우 8.1 공통 단축키 모음(한국어)를 참조하면 서피스 프로 3와 조금 더 친숙해지지 않을까 싶다.

EOB

토요일, 10월 18, 2014

[B급 프로그래머] 10월 3주 소식

금주는 무척 바빠서 오늘 조금 늦게 소식을 올려드린다.

  1. 웹/앱 소식
  2. 개발/관리도구 소식
  3. 고성능 서버/데이터베이스 소식
  4. 기타 읽을거리

월요일, 10월 13, 2014

[번역은 즐거워] 클릭의 황제: IBM 모델 M 키보드

The Verge를 읽다 King of click: the story of the greatest keyboard ever made라는 기사가 눈에 띄여 독자 여러분을 위해 전문을 번역해봤다.

클릭의 황제: 지금까지 만들어진 가장 훌륭한 키보드의 역사

30년 동안 흉내, 복제, 개선되어 온 IBM의 모델 M은 현대적인 키보드 디자인의 조상이다.

결국 원하는 물건을 수중에 넣게 되었을 때 IBM 키보드에 대해 처음 받는 인상은 크기다. 치클릿 키와 2~3 파운드짜리 유리 화면을 여러 해 동안 두들 긴 다음에 크고 무거운 5파운드 짜리 플라스틱과 금속(두꺼운 철판을 포함하는) 덩어리 앞에서 서면 주눅이 든다. 다음은 소리이며, 업계 표준인 베이지색 주변 기기를 컴퓨터 역사상 가장 소중하고 유용한 고전으로 바꾼 딸깍거리는 클릭음이 주인공이다.

내년이면 모델 M이 서른을 맞이한다. 하지만 너무나도 많은 사람에게 모델 M은 여전히 사용할 가치가 있는 유일한 키보드다. 모델 M은 최근에 마인크래프트를 만든 마르쿠스 알렉세이 "노치" 페르손의 책상 위에 등장했다. 수천 불에 이르는 그래픽 카드가 장착된 게임 전용 PC에 붙어서 말이다. "모델 M은 지금껏 만들어진 최고의 키보드입니다."라고 페르손은 PC 게이머에 말했다. 유튜브를 검색해보면 엄청난 모델 M 타이핑 시연 비디오, 박스 개봉 비디오, 모델 M과 다른 키보드 사이의 소리 비교 비디오가 나온다. 처음 등장한 이후에 모델 M은 키보드 경험을 충족하는 표준으로 자리잡아 왔다.

"저는 아이패드 사용을 즐겨합니다. 훌륭한 디바이스니까요. 킨들 이-리더는 아름다운 물건입니다."라고 프린스턴 대학교 IT 관리자인 브랜든 에르미타가 말한다. "하지만 저는 터치스크린으로는 결코 이야기나 논문을 쓸 수 없었습니다. 일을 할 수도 없었습니다." 에르미타는 모델 M을 살리기 위해 노력했다. 재활용 센터와 부품 창고에서 모델 M을 구해 자신의 사이트인 ClickyKeyboards에서 판매한다. 또한 제대로 된 모델 M을 다루는 개인 박물관을 운영한다. 에르미타는 지난 10년 동안 4000에서 5000대 키보드를 애호가들의 손가락 아래에 놓아줬다고 추정한다.

많은 사람과 마찬가지로, 내게는 어린 시절 모델 M을 사용한 어렴풋한 기억이 존재한다. 지난 달, 뉴 저지 교외로 에르미타를 만나러 떠났고 모든 시절에 걸쳐 가장 사랑받는 키보드의 마법을 재발견했다.

에르미타의 널찍한 사무실을 방문한 날, 스무 개 남짓한 키보드가 좋은 와인처럼 랙에 편안하게 자리 잡고 있었다. 그 위에 유리 케이스로 보호되고 있는 검정 키보드가 하나 놓여있었다. 에르미타의 수집품 중 가장 오래된 키보드 중 하나인 프로토타입 모델 M이었다. 바구니 하나에는 분리되어 과자 부스러기를 치울 필요가 있는 수집품과, 바늘, 전의 소유주에서 얻은 다양한 폐기물이 담겨 있다. 최근 몇 년이라는 세월 속에 처음으로 모델 M을 보니 가장 주목할만한 사항은 가장 평범하게 보이는 외형이었다. 모델 M은 과거의 유물이었지만, 오늘날 사용하는 거의 모든 키보드에 DNA가 남아 있다.

쿼티 키보드 배열은 19세기 후반에 타이프라이터를 위해 설계되었으며, 아주 빠르게 퍼져나갔다. 하지만 IBM이 1981년 첫 PC를 출시할 시점에는 배열은 더 이상 스페이스와 대문자로 구성된 단순한 형태가 아니게 되었다. 사용자는 워드 프로세서, 터미널, 마이크포컴퓨터와 통신하기 위해 특수 키를 요구했다. 지나고 나서 보니까, 70년대와 80년대에 나온 키보드는 친숙함에서 벗어나 반직관적이고 완전히 낯선 이상한 물건이었다. IBM PC의 원본 83키가 장착된 (PC/XT라 알려진) 키보드는 가장 중요한 시프트와 리턴 키의 크기를 줄인데다 돌출부를 중앙으로 몰았고, 인쇄된 라벨은 수수께끼같은 화살표로 바뀌었다. 전반적인 모습은 작은 버튼과 불가해한 빈틈이 엉망으로 자리잡은 듯한 느낌을 줬다. 1984년 8월에 IBM은 훨씬 더 구미에 당기는 PC/AT 키보드를 발표했다. 직전 모델과 비교해 "AT 키보드는 난공불락이다."라고 PC 매거진이 말했다. AT는 오늘날 유행하는 키보드로 자리잡지는 못했다. 기능 키는 상단 대신 왼쪽 구석에 두 줄로 배열되었다. 이스케이프 키는 키패드 영역에 자리잡았다. 그리고 컨트롤과 캡스 락 키는 위치가 바뀌었다. 그럼에도 불구하고 AT 키보드는 현대적인 관점에서 직전 키보드와 비교해 훨씬 깔끔하고 이해하기 쉬웠다.

하지만 IBM은 단순히 받아들일만한 키보드 이상을 원했다. 80년대 초기, 전문가와 사용자로부터 정보를 얻어 더 나은 키보드를 만들기 위해 10명으로 구성된 기동 부대를 조직했다. 초기 디자인은 "여러 포커스 그룹에서 수행하던 방식을 따르는 대신 빠르고 신속하게 진행되었습니다"라고 지금 널리 쓰이는 Ctrl+Alt+Delete 기능의 창시자로 알려졌고 기동 부대의 일원이던 데이비드 브래들리가 말한다. 새로운 그룹은 초보 컴퓨터 사용자를 불러와 더욱 친숙한 형태가 되게 키보드를 테스트했으며, 중요한 제어 키를 더 크게 만들고 Ctrl과 Alt와 같은 자주 사용되는 키를 중복시킴으로써 양쪽 어느 손가락에도 닿게 만들었다. 키캡은 본체에서 분리 가능해졌으며, 사용자는 필요에 따라 교체할 수 있게 되었다. 그리고 모델 M이 탄생했다.

IBM3161 터미널의 일부로 소개된 모델 M은 초기에 "IBM 개선 키보드"라 불리었다. PC 호환 버전은 다음 봄에 등장했고, 1987년 IBM PS/2에 표준으로 장착되었다. 에르미타가 검증한 아주 초기 터미널용 모델 M은 1985년 6월 10일에 생산되었다. 아주 구체적인 날짜이며, 이렇게 특정할 수 있는 이유는 모든 모델 M 키보드에는 뒷면에 ID와 제조일이 찍혀있기 때문이다. 에르미타는 모델 M의 생일에 만들어진 키보드를 찾기 위해 20대부터 꾸준히 사업을 진행하고 있다. 에르미타는 또한 모델 M 어카이브 프로젝트를 주도하고 있는데, 자신의 사업에서 얻는 정보 뿐만 아니라 다른 사람이 제출한 (ID, 제조일, 공장 번호) 정보를 사용해 키보드를 추적하는 엄청나게 긴 스프레드 시트 목록을 유지한다.

에르미타의 수집품은 여행사 직원을 위해 내장된 키보드를 장착한 모델, 계산원을 위해 3열로 묶인 키가 장착된 작은 모델 등과 같이 특화된 업계에 맞춤식으로 제작된 키보드를 포함한다. "컴퓨터가 처음 소개되었을 때, 사업용 기계로 불렸습니다."라고 전 IBM 관리자였던 네일 무스켄스가 말한다. 구형 키보드에는 여전히 특정 프로그램을 위한 명령어가 담긴 스티커가 붙어있으며, 비평가들은 워드스타나 로터스 1-2-3와 같은 소프트웨어를 얼마나 쉽게 사용할 수 있는지를 판단하는 방법으로 키보드를 평가했었다.

어떤 비평가는 모델 M이 제안한 뒤섞인 키보드 배열에 다시 한번 당황했으나, 이런 디자인이 받아들여질지 계속해서 의구심을 품었다. "저는 IBM이 저에게 다음과 같이 말하는 태도가 불편했었습니다. '당신은 이 키보드를 배우는 편이 바람직하다. 왜냐하면 이 키보드가 바로 미래의 키보드이기 때문이다.'"라고 PC 매거진에 올라온 기사는 컴퓨터 역사상 엄청나게 특정 기술을 과소평가한 내용으로 밝혀졌다.

모델 M의 배열은 너무 오랫동안 사용되어 원래 그렇다고 여겨진다. 하지만 이 키보드의 후손들은 모델 M에서 가장 특징적인 기능 중 하나이며 PC/XT에서 도입된 키 시스템인 '조임 스프링'이 빠져버렸다. 플런저와 같이 직접 눌리는 기계적인 스위치 대신, 모델 M에는 "버클"이라는 찰각거리는 받침에 접촉한 다음 키에서 손을 땔 경우 원 위치로 튕겨 돌아오는 스프링이 개별 키 아래에 달려 있다. 대다수 현대적인 키보드에서 볼 수 있는 부드럽고 조용한 고무 덮개가 줄 수 없는 방식으로 사람들의 주의를 끌었다. 이는 항상 좋은 특성만은 아니었다. 모델 M 소유주들은 종종 끊임없는 딸깍거림을 견디지 못하는 배우자와 동료 작업자들의 이야기를 슬픈 듯이 올리곤 했다. 하지만 팬들은 스프링의 저항과 청각적인 '딸깍거림'이 키 압력이 가해졌음을 명확하게 느끼게 만들어 오류를 줄인다고 말한다. 더욱 중요하게, 모델 M에서 타이핑 경험은 특별한 느낌을 전해줬다. 타이프라이터와 마찬가지로 날카로운 클릭음은 글자마다 물리적인 존재감을 부여한다.

모델 M이 등장한 직후, 시장에 복제품이 쏟아져 나왔다. 이에 대응해 IBM은 최소한으로 다시 설계한 키보드 신형 버전을 제공할 뿐이었다. 이와 같은 결과로 모델 M에 대한 향수가 세대 사이에 퍼졌다. "사람들은 종종 이메일로 제게 연락합니다. 1980년대 20대 공학도로 돌아갔을 때를 상기하게 만들어줘서 감사하다는 내용입니다."라고 에르미타가 말한다. 더 젊은 구매자들은 중학교 시절 장난으로 급우가 사용하던 키보드 배열을 바꿨던 사실을 기억한다. "저는 이런 이야기를 여러 번 들었습니다."

1990년 IBM은 미국 타이프라이터, 키보드, 프린터 사업을 렉스마크라는 새로운 회사로 분리했다. 6년 후, 렉스마크는 키보드 부문을 포기했다. 무스켄스의 회상에 따르면 업계 전반에 걸쳐 더 저렴한 제품으로 이동하던 시기었다. IBM은 맥시 스위치라는 회사의 스코틀랜드에 위치한 공장에서 나오는 제품에 대해 로열티를 받아왔다. 하지만 우리가 아는 범위 내에서 마지막 모델 M은 1999년에 양산 라인을 탔다.

여전히 80불 정도에 공식 모델 M을 구입할 수 있지만 IBM 상표가 달려있지 않다. 렉스마크가 사업을 접으면서, 무스켄스와 다른 직원들은 유니캠프라는 회사에서 일하며 천천히 키보드의 지적 재산권과 제조 설비를 구입하기 시작했다. "우리는 전자 장치를 바꿔야만 했습니다."라고 무스켄스는 말한다. "키캡 커버 재료도 1999년으로 되돌렸습니다. 하지만 나머지는 거의 그대로 남아 있습니다."

몇몇 사람들에게는 이 정도로 충분한 진품 느낌을 주지 못했다. "우리는 항상 'IBM 로고가 붙은 제품을 구입할 수 있는지'라는 질문을 받습니다. 그러면, '아니오, IBM이 로고를 소유합니다'로 대답합니다."라고 무스켄스가 말한다. 무스켄스는 IBM이 여전히 현존하는 상용 고객을 위해 몇몇 키보드를 주문하고 있지만, 예전 시절의 로고가 붙은 제품을 원한다면 이베이나 에르미타와 같은 사람을 찾아야 한다고 말한다. 몇몇 사람들에게는 내재적인 우월성과 융통성이 진품이라는 향수를 앞도한다. 몇몇 사용자들은 블루투스로 무선이 가능하게 개조한다. 한 레딧 사용자는 레이저나 에얼리언웨어와 같은 상판 설계를 떠올리게 백라이트 키로 수정하는 고유의 방법을 올렸다. 하지만 제한된 공급 내에서 모든 모델 M 팬은 예상보다 오랜 기간 동안 타이핑을 하고 있다.

"모델 M은 기름과 같습니다. 어느날 기름이 말라버리겠지요. 엄청난 충격이 될 것입니다."라고 에르미타가 말한다. 물론 지금 현 상태로는 이런 충격은 아주 먼 미래의 일로 보인다. 가장 오래된 모델 M은 이미 30년 동안이나 버텼다. 그리고 에르미타는 아마도 앞으로 10년이나 20년을 더 버티리라 희망한다. 적어도 컴퓨터 역사의 일부를 한 세대 이상이 목격하기에 충분한 시간이다.

모델 M은 최고 성능의 컴퓨터가 여전히 업계에 통용되고 있던 시점에 나온 인공물이다. 이 키보드를 표준으로 탑재한 컴퓨터인 PS/2는 최소 가격이 2,295불(오늘날 거의 5,000불)이었고, 그럼에도 불구하고 최신 스마트 폰과 비교하면 성능이나 융통성이 떨어진다. 몇 십년이 지나고 나서, 컴퓨터는 기하급수적으로 능력이 올라갔고 극적으로 가격이 내려갔다. 하지만 이런 움직임 속에서, 제조사들은 내구성과 오랜 수명이라는 개념을 팽개쳐왔다. 셀 수 없는 수 많은 외부 회사가 도매가에 특별한 마우스와 키보드를 팔 준비가 된 환경에서 도매가보다 더 많이 투자하는 행위를 정당화하기란 어렵다.

범람하는 일회성 제품은 우리가 잃어버린 무엇에 대해 날카롭게 자각하게 만들어왔으며, 스트레스와 충격을 버틸 수 있는 하드웨어에 대한 열정을 불러일으켰다. 한 레딧 사용자는 최근 다음과 같은 글을 남겼다. "이 놈들은 _진짜_ 게임용 키보드입니다. 아무리 굴려도, 키보드보다 당신이 먼저 죽을 겁니다."

EOB

토요일, 10월 11, 2014

[끝없는 뽐뿌질] 서피스 프로 3 (1편)

거의 1년 동안 아이패드를 업무용으로 사용하려 무진장 노력했으나, 결국 백기를 들고 마이크로소프트 진영에 투항하고 말았다. 오늘은 마이크로소프트의 버전 3(이라고 쓰고 '삼세번'이라 읽는다)의 위력을 유감없이 보여주는 서피스 프로 3의 특징을 정리하겠다. 1편에서는 하드웨어를 집중적으로 살펴보고, 2편에서는 주로 윈도우 7을 사용했던 분들을 위해 윈도우 8.1의 야릇한 특성과 팁을 살펴보기로 한다.

기존에 늘 사용해왔던 아이패드(에어를 사용하지는 않았지만 무게/크기는 에어를 기준으로 삼았다)와 집중적으로 비교해보자.

  • 무게는 아이패드 에어와 비교해 다소 무겁다(서피스 800g vs 아이패드 470g).
  • 크기는 아이패드 에어에 비해 크다(서피스 292.1mm x 201.4mm x 9.1mm vs 아이패드 240mm x 169.5mm x 7.5mm). 하지만 화면 비율이 3:2이므로 크기에 비해 안정적으로 느껴지며(너무 길지 않다), 전자책을 읽거나 문서 편집이 많은 경우에 특히 유리하다(업무용에서 서피스 프로 3가 확실히 앞서는 느낌).
  • 화면 해상도는 인상적이다(서피스 2160x1440 vs 아이패드 2048 x 1535). 해상도가 이보다 더 높아질 경우 전력 소모가 커지고 12인치 화면에 표시되는 글자가 읽기 불가능해지는 문제가 있다(참고로 서피스 프로 3의 기본 화면 확대 비율은 150%로 설정되어 있으며, 업무 등 목적을 위해 100%로 바꾸는 순간 아아주우우 작은 글씨를 보게 될 것이다.).
  • 서피스 프로 3를 세울 수 있는 킥스탠드가 걸작이다. 처음에 킥스탠드를 세울 때 부서질까봐 무척 조심스러웠는데, 익숙해지니 불편함이 없게 되었다. 최대 굽힐 수 있는 각도가 예술이다. 사용자가 눈높이와 목 각도를 맞추는 대신 서피스 프로 3가 각도를 맞춰준다고 생각하면 틀림없겠다. 중간에 걸림 없이 자유롭게 각도를 정할 수 있다.
  • 35와트 전원 공급용 어댑터는 무게/크기 관점에서 만족스럽다. 특히 어댑터에 달린 여분의 USB 충전 포트는 전력 소모가 큰 외장 디스크를 장착하거나, 아이패드나 아이폰 등과 같은 추가 장비를 동시에 충전할 수 있기 때문에(서피스를 사용하면서 아이패드를 충전할 경우 상당한 시간을 요하므로 애플 12W 어댑터여 안녕이라고 선언하기는 곤란하다.) 활용도가 무척 높다. 애플의 매그세이프와 유사한 형태의 자석으로 붙는 전원 단자 설계도 마음에 든다. 하지만 8자 선 길이가 짧고 애플 어댑터처럼 선을 감을 수 있는 장치가 없으며, 애플 어댑터와 마찬가지로 케이블이 단선될 가능성이 높은 형태라서 주의 깊게 관리하지 않으면 생돈 11만원이 날아갈 것이다. T_T
  • 서피스 펜이 번들이다. (물론 전문가들 입장에서는 불만스러울 가능성이 높지만) 일반인 관점에서 쓸만한 마우스펜이 따라온다. 펜 버튼만으로 자동으로 서피스 프로 3를 구동하고 원노트를 띄워주므로 필기와 그림 작업이 많은 사람에게 도움이 된다. 물론 펜 내부에 AAAA 건전지가 들어간다는 사실을 기억해야 한다. 제일 처음 서피스 프로 3를 뜯고 나서 하는 작업이 바로 펜에 건전지 넣기라는... 한가지 힌트를 주자면, 서피스 펜을 서피스 프로 3 옆면의 전원 단자 근처에 자력으로 붙일 수 있다. 물론 일시적인 편의성을 제공하는 기능이므로 이렇게 붙인 상태에서 여행을 하면 안 된다!
  • 부팅/깨어나기 속력: 전원이 꺼진 상태에서 시작하는 콜드 부팅은 아이패드에 비해 빠르며(서피스 12~15초 vs 아이패드 28~32초), 잠들기에서 깨어나는 속도는 비슷하게 느껴진다.
  • 팬 소음: 대부분 조용하지만, (CPU를 많이 사용하는) 특정 작업을 시작하면 은근히 나오는 펜 소음이 제법 거슬린다. 아이패드의 완전 무소음에 익숙한 사용자로서는 조용한(아니 조용해야 하는) 곳에서 작업할 경우 난감할지도 모르겠다.
  • 발열: 아이패드에 비해 확실히 발열이 많이 느껴진다. 분산한다고 노력은 했지만 특정 부위가 뜨끈뜨끈해진다.
  • 스피커: 돌비 사운드 스테레오 스피커에서 나오는 소리는 크고 또렷하다. 아이패드에 비해(모노 사운드???) 월등히 좋은 느낌이다.
  • 카메라: 전후방 모두 500만화소라서 아이패드의 FaceTime HD 카메라 120만 화소에 비해 스펙상으로는 뛰어나다.
  • 속력: Core i5 제품군과 4G 메모리를 사용하는데, 웹 브라우징이나 오피스 작업 등에서 전혀 불편함을 느끼지 않는다. 한마디로 쾌적하다. 그래픽 가속기가 내장형이라 복잡한 3D 게임은 무리가 있을지도 모르겠다.
  • 배터리 수명: 웹 브라우징 시 최대 9시간이라고 하는데(이 말을 곧이 곧대로 믿기 어렵다. T_T 화면을 최대로 어둡게 쓰고 플래시가 들어 있는 페이지를 적게 보고... 등등), 아무래도 아이패드에 비하면 아쉬움이 많으리라 본다.
  • 무선 네트워크: 현재 서피스 프로 3에는 3G/LTE 버전이 존재하지 않는다. 아이패드는 LTE를 지원하는 모델이 있으므로 언제 어디서든 바로 인터넷 접속이 가능하지만, 서피스 프로 3는 와이파이를 지원하는 무선 AP나 에그 또는 테더링을 지원하는 스마트폰이 있어야 인터넷에 접속 가능하다.
  • 기타: 내장 무선 랜 모듈을 인식하지 못하거나 블루투스 마우스를 잡지 못하는 등 이해하기 힘든 돌발 상황이 벌어지는 경우가 있었다.

돈을 투자하면 삶이 편해지는 부분을 점검해보자.

  • 타이핑 커버는 물컹한 키 감이 아닌 기계식과 다소 유사한 키 감과 흔히 보조 키보드에서 볼 수 있는 요상한 작은 배열이 아닌 손가락에 맞는 키캡 크기로 인해 소형 블루투스 키보드에 실망하신 분이라면 반겨할만하다(물론 빠르게 타이핑할 경우 조금 흔들린다는 느낌이 들긴 하다). 게다가 ESC 키(ESC 없는 블루투스 키보드에 저주를!)와 근접센서를 활용한 백라이트까지 지원하므로 있을 건 다 있다고 보면 된다. 자석 연결부가 중간에 하나 더 있어서 자연스럽게 키보드 뒤가 들린 형태의 자세가 나오므로 편하게 쓸 수 있다. 타이핑 커버를 완전히 뒤로 젖힐 경우 키보드 입력이 중지되므로 타이핑 커버를 벗기지 않고서도 태블릿 형태로 사용할 수 있다(물론 조금 어색하긴 하다). 본체와 함께 공짜로 제공되었다면 초대박이었겠지만 무려 16만 4천원이나 하는 가격이 이 모든 장점을 갉아먹는다. 그럼에도 불구하고 타이핑 커버는 선택이 아니라 필수라는 사실이 우리를 울게 만든다(타이핑 커버가 없는 서피스 프로 3는 앙꼬 없는 찐빵일지도...). 서피스 펜을 넣을 수 있는 스트립이 타이핑 커버에 제공되지만 약해서 쓸만하지 못한 느낌이다. 타이핑 커버 패드는 재질이 유리처럼 느껴져서 감촉이 나쁘지 않다.
  • 옆면에 미니 디스플레이 포트가 존재한다. 따라서, 당신이 애플 애호가일 경우 집에서 뒹굴고 있는 애플 정품 또는 짝퉁 미니 디스플레이 어댑터를 재활용(응?)하면 VGA, DVI, HDMI 연결이 가능해진다. 마이크로소프트에서 서피스용 정품도 판매하지만, 40불(국내에 들어오면 5만원 넘는다에 한 표)이나 하기 때문에 굳이 이 물건을 살 이유가 있을까 싶다. HDMI 연결을 위해서라면 60불을 투자해 마이크로소프트 와이어리스 디스플레이 어댑터를 구입하면 무선으로 미러링(!)이 가능해진다.
  • 옆면에 USB3.0 포트와 뒷면에 microSD 포트가 존재하므로 (무척 아쉽게도 USB 포트가 1개이므로 제한적이나마) 확장성을 제공한다. 특히 microSD 카드의 경우 요즘 가격이 많이 떨어졌기에 class 10 UHS-I을 지원하는 녀석으로 구입해서 개인 자료 저장용으로 붙박아두면 가격 대비 성능이 아주 좋아진다. microSD 포트는 뒷면 킥스탠드 뒤에 숨겨져 있으므로 위치를 찾는 과정에서 숨바꼭질을 잘 하기 바란다. microSD 카드는 보통 FAT32로 포맷되어 있는데 exFAT으로 포맷해놓으면 여러 가지 장점이 생길 것이다(늘어난 최대 파일 크기, 맥OS X용 기계에 가져갔을 경우 호환성 강화).

결론: 기존 태블릿을 사용하면서 업무용으로 애플리케이션과 파워 부족을 심하게 느꼈거나, 노트북을 들고 다니면서 무게와 크기에 불만을 품는 사람이라면 서피스 프로 3를 조심스럽게 추천해본다(가격만 아니면 팍팍 질러라고 뽐뿌질을 하겠지만... 타이핑 커버만 16만원이 넘으니...). 서피스 프로 3는 개인용이라기 보다는 업무용에 가깝다는 사실을 다시 한번 언급하고 넘어가겠다.

EOB

금요일, 10월 10, 2014

[일상다반사] (Quora) 천재들이 생각하고 행동하는 패턴

Quora에 What patterns can be observed in the way geniuses think and behave?라는 글이 올라와 독자 여러분들께 소개 드리려한다. 천재들이 생각하고 행동하는 패턴은 어떤지 함께 살펴보자.

제가 만났던 가장 똑똑한 사람들(주로 교수와 대학원생)에게서 발견되는 몇 가지 패턴을 정리합니다. 재현 가능하거나 이런 조건만 충족하면 천재가 되거나하지는 않습니다. 그냥 있는 그대로 읽어주세요.

  1. 천재들은 추상화를 오르내리는 과정에서 극도로 재능을 보입니다. 천재들은 겉으로 보기에는 연관성이 없는 사실을 거의 즉시 큰 그림에 끼워 맞추고 필요한 세부 수준으로 파고드는 능력이 있어 보입니다. 학습할 경우에도 상향식이나 하향식을 추구하는 대다수 사람들과는 달리 한번에 모든 추상화 수준에서 배우려 합니다.
  2. 천재들은 많이 추정합니다. 창의적인 사고는 기존 추정을 깨야한다는 이야기를 들어왔기에 직관적이지 않아보일지도 모르겠습니다. 물론 기존의 추정을 깨어야 창의적인 사고가 나온다는 말은 사실일지도 모릅니다. 하지만 천재들은 아주 빨리 수 많은 추정을 하고 가설을 검증하고 필요하다면 아주 느리게 추정을 바꾸는 듯이 보입니다.
  3. 천재들은 정보를 압축하는 독특한 방법을 떠올립니다. 똑똑한 사람은 10단계로 연결하는 어려운 수학 공식을 볼지도 모릅니다. 반면 천재는 시각화해서 그림 한 장으로 봅니다.
  4. 천재들은 사고로부터 감정이나 외부 생각을 분리합니다. 적어도 과학에서는 천재들은 자신들의 사고에 어떤 외부적인 의미도 부여하지 않으려는 경향이 있습니다. 예를 들어, 천재들은 완전한 파괴라는 이미지로 인해 동요하지 않고서 국가를 효과적으로 침략하거나 무시무시한 무기를 사용하는 방법에 대해 생각할 수 있습니다. 이와 유사하게, 천재들은 주변 상황에 무관하게 작업에 집중할 수 있습니다. 시끄러운 소음이나 개인적인 정신적 외상에 관계 없이 말입니다.
  5. 천재들은 연관되지 않은 듯이 보이는 사물을 연결합니다. 천재는 종종 학습에서 T자형 모델을 따릅니다. 한 분야에서 전문가가 되지만 여러 분야를 파고 듭니다. 천재들은 주요 연구 분야와 무관한 사물 사이를 연결하거나 여기서 영감을 얻습니다.
EOB

수요일, 10월 08, 2014

[독서광] 슬로씽킹

엄청나게 바쁜 세상이다. 뭐든 빨리 빨리하지 않으면 남들보다 뒤떨어져 죽을지도 모른다는 압박감은 점점 더 심해졌으면 심해졌지 줄어들지는 않을 것 같다. 그래서 '슬로씽킹'이라는 제목의 책이 나오자마자 한 권 구입해서 천천히(응?) 읽어본 소감을 독자 여러분께 정리해드리겠다.

일단 제목은 참 잘 잡은 것 같다. 원서 제목부터 '느린 사고가 현명한 작업'이다보니 빠름을 강조하는 세상에서 '느린' 방법으로 제대로 일을 하는 방법을 기술하는 책이라는 느낌이 들지 않는가? 하지만, 이렇게 생각했으면 여러분은 낚인 거다. T_T 이 책은 뭐든 빨리 대증요법으로 처리하는 '퀵 픽스'에 대한 반작용으로 등장한 '슬로씽킹'을 설명하고 있지만, 실제 '슬로씽킹'이라는 개념이 '천천히 느긋하게 사고하기'를 벗어나기 어려운 관계상 1장 '우리는 왜 빨리빨리에 중독되었나'를 제외한 나머지 장은 '슬로씽킹'이라는 단어를 어떻게든 살리고자 끼워맞춘 듯한 행보를 보인다.

본문에 나오는 자기 잘못 인정, 문제 규정에 충분한 시간 들이기, 나무가 아니라 숲을 보기, 장기적인 관점에서 생각하기, 디테일에 집중하기, 철저한 준비와 전문성 강화, 협력과 집단 비평, 크라우드소싱, 리더십, 권한 이양, 정서적인 욕구 인정, 게임을 사용한 문제 해결이라는 각각의 주제를 보면 그럴싸하지만, '슬로씽킹'이라는 제목을 걸지 않고도 이미 여러 책에서 충분히(!) 설명되었던 내용이라 독창적인 '느림'의 미학을 기대한다면 포인트가 어긋날 가능성이 높다.

결론: 이 책은 주변에서 쉽게 찾아볼 수 있는 자기 계발서에 가깝다.

뱀다리: 서평을 쓰려 표지를 보니까... 이 책을 펴낸 출판사가 '쌤앤파커스'였다. (이하 생략)

EOB

월요일, 10월 06, 2014

[B급 프로그래머] 넷플릭스, AWS EC2 장애에서 원숭이 때문에 살아나다

2014년 9월 25일, 대략 10%에 이르는 AWS EC2 인스턴스가 '즉각적인 보안과 운영 업데이트'로 인해 재시동되는 상황이 벌어졌다는 사실을 애독자 여러분들은 이미 알고 계실 것이다. 넷플릭스는 여러 차례 경험을 토대로 비상시 복원 전략이 충분히 갖춰져 있었음에도 불구하고, 이런 환경적인 영향은 서비스에 심각한 영향을 미치기 마련이다. 다행히도 Chaos Monkey를 도입했기 때문에 넷플릭스는 충분한 대응을 할 수 있었던 것으로 보인다. 넷플릭스 기술 블로그에 올라온 A State of Xen - Chaos Monkey & Cassandra에서 핵심을 간추려본다.

데이터베이스는 애플리케이션 세상에서 응석받이 버릇없는 왕자로 자라왔다. 최상의 하드웨어, 풍부한 관리자 지원을 데이터베이스에 쏟아왔으며, 고의로 데이터베이스를 망치는 상황은 꿈도 꾸지 못한다. 하지만 민주화된(주목: 일베 용어 아님! 원문을 참조하시오.) 클라우드 공화국에서는 더 이상 이런 응석이 가능하지 않다. 노드 실패는 충분히 발생할 뿐더러 예상하고 있어야 한다. 따라서 실패를 견디고 계속 수행이 가능한 데이터베이스 기술이 필요하다.

넷플릭스에서 채택한 데이터베이스는 카산드라로 CAP 중에서 AP(Availability, Partition Tolerance)를 강조한다. C(Consistency)를 희생하는 관계상 궁극적으로 일관성을 유지하게 애플리케이션을 작성하는 식으로 설계 방향을 잡았다. 여러 해 동안 카산드라를 운영한 결과 실패에 상당한 내성을 발휘했다. 하지만 사람의 개입을 많이 요구했다.

2013년 실패한 카산드라 노드 복원을 자동화하기 위해 상당히 큰 투자를 결정했다. 그 결과 실패한 노드를 감지하고 파악할 수 있는 수준에 도달했다. AWS가 제공하는 클라우드 API를 사용해, 실패한 노드의 위치를 파악하고 프로그램적으로 대체 노드를 구축하고 새로운 카산드라 노드를 부트스트랩할 수 있게 되었다.

처음에는 완벽하지 않았다. 하지만 계속하다보면? 넷플릭스의 일하는 방식에 따라, 빨리 실패하고 좋은 방향으로 수정했다. 몇 달이 지나자 자동화가 더 나아졌다. 오탐 확률이 낮아졌고, 복구 스크립트는 거의 사람 손을 필요로 하지 않았다.

그리고... 9월 25일이 되었다.

EC2 재시동 소식을 듣자마자 우리는 입이 쩍 벌어졌습니다. 얼마나 많은 카산드라 노드가 영향을 받을지 알게 되자 현기증이 느 껴졌습니다. 그 때 지속적으로 수행한 Chaos Monkey 연습을 떠올렸습니다. 제 반응은 다음과 같았습니다. "한번 해보자!"(크리스토스 칼란치스)

그 주에 비상 대기 중이던 운영 요원들은 바짝 경계했고, 전체 클라우드 데이터베이스 엔지니어링 팀이 초 비상 상태가 되었다. 자동화를 믿었지만 신중한 팀은 최악을 준비하고 최상을 희망했다.

2700대 이상의 상용 카산드라 노드 중에 218개가 재시동 되었고, 22개 노드는 성공적으로 재시동되지 못했다. 따라서 문제가 생긴 노드는 온라인으로 살아나지 않았다. 자동화 시스템이 실패한 노드를 감지해 사람의 개입을 최소화하며 자동으로 교체했다. 넷플릭스의 다운타임은 0이었다.

반복적이고 주기적인 실패에 대한 연습은 모든 회사의 복원 계획의 일부가 되어야 한다. 만일 Chaos Monkey로 카산드라를 테스트하지 않았더라면, 아마 다른 이야기로 끝났을 것이다.

EOB

토요일, 10월 04, 2014

[B급 프로그래머] 10월 1주 소식

2014년도 100일이 남지 않은 상황이다. 아무쪼록 올 한해 마무리 잘 하시기 바라며 10월 1주 소식을 정리한다.

  1. 웹/앱 소식
  2. 개발/관리도구 소식
  3. 고성능 서버/데이터베이스 소식
  4. 기타 읽을거리
EOB

월요일, 9월 29, 2014

[B급 프로그래머] (Arstechnica) 삼성전자의 소프트웨어 인력 수는?

Arstechnica에 Samsung has more employees than Google, Apple, and Microsoft combined라는 글이 올라와 독자 여러분들께 간략하게 정리해 소개하겠다.

삼성이 "큰" 것을 사랑한다는 사실은 여러분도 다 알고 계실테다. 휴대폰도 크고, 광고비도 크고, 종업원 수도 크다. 삼성은 애플, 구글, 마이크로소프트를 모두 합한 직원 수 보다 더 많은 직원을 보유하고 있다.

27만 5천명은 구글에 비해 다섯 배다. 삼성이 기관총 스타일로 제품을 낼 수 있는 이유를 보여준다. 회사는 2014년 한 해에 스마트폰을 46종, 태블릿을 27종을 선보였다

삼성이 이 많은 사람들로 무엇을 하고 있을까? 2013년에 소프트웨어 엔지니어 수는 40,506명이다. 실제로 구글의 직원 중 18,593명만 "연구와 개발"(이라 쓰고 소프트웨어 개발이라 읽는다)을 담당하므로, 소프트웨어 엔지니어 수만 놓고 보면 삼성은 구글의 두 배다. 소프트웨어 군단은 삼성이 최근 확보한 자원이다. 소프트웨어 인력 수는 2011년 이후 45퍼센트 성장했다.

하지만 삼성의 2배 가까운 소프트웨어 엔지니어는 구글과 같은 영향력을 미치지 못한다. 터치위즈나 삼성의 중복된 안드로이드 생태계 앱들을 생각해보자. 회사는 안드로이드와 터치위즈를 만들어내는 모든 신형 스마트폰에 이식한다. 매년 70개에 이르는 디바이스를 배포하고, 2년 동안 모든 것을 지원해야 한다. 엄청나게 큰 프로젝트다.

삼성전자에는 또한 디스플레이와 SoC 부문도 있다. 엄청난 펌웨어와 드라이버를 개발해야 한다. TV, 카메라, 소형 장비 역시 소프트웨어가 필요하다. 그리고 삼성전자는 타이젠이라는 독자적인 운영체제를 만들고 있다.

삼성전자는 거대한 회사이며, 더 큰 "삼성 그룹"의 일부다. 삼성 그룹은 전화기, 테블릿, 반도체, 디스플레이, TV, 랩탑, 프린터, 카메라, 가전용품은 물론이고 삼성 그룹은 대형 컨테이너선, 신용카드, 정유 플랜트, 보험, 테마 마크, 엑스레이, 마천루 건설과 같은 다양한 분야에 다양한 제품을 만든다. 모든 부분에 모든 제품을 제공하기 위한 시도는 삼성을 전방위로 뻗어가는 회사로 만들고 있다. 반면 애플과 구글은 초점을 맞춘 라인업으로 하드웨어 전쟁 지역의 선별을 원하는 듯이 보인다.

EOB

토요일, 9월 27, 2014

[B급 프로그래머] 페이스북 확장에 규정은 없다

하드웨어 공학에서 몇 가지 작업 방식이 있으며, 공학도들은 심지어 필요한 경우에도 이를 어기려 들지 않기 때문에 단순히 규칙을 따른다. 하지만 페이스북은 어떨까? 오늘은 테크크런치에 When It Comes To Facebook Scale, You Can Throw Out The Rulebook라는 글이 올라와서 독자 여러분들께 간략하게 소개드린다.

페이스북은 하드웨어 상당수를 직접 만들기 시작했다. 따라서 공학도들은 일이 어떻게 진행되어야 하며, 페이스북의 확장을 위해 장비를 구축할 경우 생각을 달리할 수 있게 되었다. 창의적인 사고가 필요한 셈이다. 페이스북의 코드리는 다음과 같이 말한다. "페이스북은 도전, 비용, 운영 환경을 이해하고 있으며, 외부 업체보다 더 나은 결과를 얻어야 합니다. 우리는 페이스북에 특별히 필요한 요구 사항을 전문적으로 다룰 수 있습니다."

페이스북이 창의적인 사고를 격려하는 한 가지 방법 중 하나가 전문 분야를 건너뛰는 협업이다. 페이스북은 공학도들이 각자 일하는 대신 함께 일할 때 흥미로운 일이 벌어진다는 사실을 발견했다. 다른 회사들이 서버, 스토리지, 데이터베이스 등등으로 공학팀을 격리하지만, 페이스북에서는 통합적으로 한데 묶는다. 다양한 팀이 함께 일하면 문제를 해결하기 위한 새로운 방법을 찾을 수 있으니까.

심지어 하드웨어 제조사들도 자사 공학도들을 데이터센터로 보내 자신들이 설계한 하드웨어를 사람들이 사용하는 모습을 지켜보는 관례를 정립하지 않았다. 하지만 직접 뛰어들어 하드 드라이브를 교체하느라 스크류 6개(또는 16개)를 빼는 작업을 지켜보고, 매년 수 백번 넘게 이런 작업을 한다는 사실을 알게 되면 뭔가 더 간단한 방법이 필요하다는 사실을 깨닫게 된다.

따라서 페이스북은 디스크 어래이를 다르게 설계했다. 쉬운 유지보수를 위해 스크류가 하나도 없다. 커다란 녹색 레버를 당겨 배열을 튀어나오게 한 다음, 힌지 덮개를 당기고 하드 드라이브를 꺼내 새 하드 드라이브로 교체한다. 물론 스크류는 하나도 없다. 다른 회사의 경우에는 기술자들이 유지보수에 전혀 신경쓰지 않기에 작은 스크류와 교체가 어려운 방식을 고집한다.

새로운 기계를 다룰 경우 약간의 수고만 감수하면 되지만, 수천 대나 심지어 수 만대를 다룰 경우 이야기가 달라진다.

페이스북 공학도들이 상자 바깥으로 나와서(글자 그대로 :)) 생각하게 만드는 또 다른 방법은 서버 설계다. 공학도들은 서버 설계가 2u 랙에 맞아야 하지만, 만일 랙 제약이 없다면 어떤 식으로 서버를 설계할지 상상하라고 주문한다.

이런 제약을 버리면, 다양한 가능성이 열린다. 공학도들은 길고 좁은 박스를 만들어 왔다. 페이스북은 새로운 크기에 맞춰 랙을 설계했다. 박스는 랙 바깥으로 미끌어져 빠져 나오며, 상단을 열면(물론 스크류는 없다), 한번에 모든 부품이 눈에 들어온다. CPU 옆에 붙은 RAM처럼 관련된 부품끼리 가까이 모여있다.

독특한 하드웨어 형태를 양산할 때, 이를 오픈소스화 해서 오픈 컴퓨터 프로젝트에 공개한다. 확장 가능한 컴퓨터 문제를 해결하고 유지보수가 쉽고, 더 효율적으로 움직이고, 생명 주기 동안 비용 절감이 가능한 하드웨어를 생산하는 방법을 함께 공략하려는 시도다.

창의력과 상상력이 궁금하다면 페이스북에서 힌트를 얻기 바란다.

EOB

금요일, 9월 26, 2014

[B급 프로그래머] 배시 셸쇼크 버그

인터넷을 떠들썩하게 만들었던 하트블리드 버그에 이어 이번에는 더 큰 녀석이 등장했다. 셸쇼크라 불리는 카테고리 5급 버그인데... 사실상 거의 모든(99%) 리눅스/맥OS X 컴퓨터에 설치된 배시 셸의 문제이므로 회피하기가 지극히 곤란한 상황으로 보여진다. T_T

일단 여러분 컴퓨터(운영체제가 리눅스나 맥OS X)에 문제가 있는지부터 확인해보자. 배시 셸을 하나 열어 다음 명령을 수행해보자.

$ env x='() { :;}; echo vulnerable' bash -c 'echo this is a test'

"vulnerable"이 답으로 나오면 여러분 시스템은... 보안에 문제가 있다고 보면 되겠다. 문제는 바로 "() { :;};" 부분이다. 이 함수는 뒤에 (무조건 실행되는) 임의의 코드를 허용하므로, 잠재적으로 '악성' 코드를 설치할 수 있는 구멍이 활짝 열린다.

자 그렇다면 악당들은 이런 보안 문제를 어떻게 활용악용할까? 간단하게 설명하자면 HTTP 요청을 던지며 특정 문자열을 잘 조합해 원격 컴퓨터에서 실행 가능한 형태로 만들면 된다. 기술적인 토론은 What is a specific example of how the shellshock bash bug could be exploited?를 보면 되며, 실제로 DDoS 공격에 활용되었다는 소식도 들려오므로 강 건너 불 구경할 상황은 이미 넘어선 듯이 보인다.

레드햇과 우분투는 이미 패치를 발표했으며, 애플도 조만간 버그 픽스를 발표할 것으로 보인다. 물론 겉으로 드러나는 증상만 피하는 긴급 패치이므로 공격하는 쪽에서 다른 우회책을 사용할 가능성도 배제할 수 없기에 패치를 설치하더라도 100% 안전한 상태라 보기는 어렵다. 따라서 지속적인 주의가 필요하다.

핵심 요약: 엄청나게 심각한 버그이므로, 패치를 잽싸게 설치해야 한다. 한가롭게 기다릴 시간이 없다.

EOB

수요일, 9월 24, 2014

[B급 프로그래머] 9월 3주 소식

이번 주는 조금 늦게 소식을 전한다.

  1. 웹/앱 소식
  2. 개발/관리도구 소식
  3. 고성능 서버/데이터베이스 소식
  4. 기타 읽을거리
EOB

토요일, 9월 20, 2014

[독서광] 가장 인간적인 인간

그녀라는 영화를 보고난 다음 너무 마음에 들어 맥주에 통닭을 뜯으며 대본을 읽기도 했었다(참고로 이런 일은 자주 일어나지 않는다). 그런데, 트위터에서 누군가 '그녀'와 관련해 '가장 인간적인 인간'이라는 책을 추천하는 글을 읽고 나서 본능적으로 구매를 해뒀는데, 몸과 마음이 바빠 차일피일 미루다 우연이 눈에 들어와 손에 쥔 순간... 2014년도에 읽은 가장 멋진 책이 되리라 감을 잡고 말았다.

이 책은 튜링 테스트에 대한 내용을 중심으로 전개된다. 한 가지 특이한 사항이 있다면, 튜링 테스트를 통과해 '(컴퓨터인) 내가 사람이다'를 증명하는 대신 거꾸로 '(사람인) 내가 진짜 사람이다'를 증명하려는 노력이 주제라는 점이다. 막강한 계산 능력과 지금까지 축적된 공학적, 사회적인 기술을 바탕으로 사람을 위협하는 인공지능 군단에 맞서 가장 인간적인 인간이라는 사실을 심사위원들 앞에 납득시켜야만 하는 인간 연합군이 바로 이 책의 주인공이다. 인간 연합군 중에서도 특히 탁월한 기량을 발휘해 뢰브너 프라이즈에서 '가장 인간다운 인간' 상을 수상한 브라이언 크리스찬은 이 책에서 '가장 인간다움'이 무엇인지에 대해 고민에 고민을 거듭한다.

이 책의 집필 목표는 1장에서 명확하게 드러난다. 크리스찬의 의도를 같이 살펴볼까?

우리는 테니스 경기, 철차 맞히기 시합, 표준화된 각종 시험 등에 대비해 훈련을 한다. 나는 튜링 테스트도 마찬가지라 생각했다. '내가 얼마나 인간적인지'를 평가하는 것이기 때문에 이 경우에 '인간다움'이라는 것은, 그리고 자기 자신답게 행동한다는 것은, 단순히 어떤 능력을 보여주는 것 이상의 무엇을 함축하고 있는 것이다. 적어도 나에게는 그랬다.

그리고 이 '이상의 것'이 정확히 무엇인지를 밝혀내는 것이 바로 이 책의 핵심을 이룰 것이다. 이 책에서 내가 발견한 답변들은 튜링 테스트를 넘어 우리의 삶 전반에 적용될 수 있을 것이다.

그리고 나서 크리스찬은 문제의 핵심으로 돌진한다. 호프스태터가 G.E.B에서 '인지'에 대한 비밀을 찾기 위해 첫 페이지부터 마지막 페이지까지 무지막지하게 정공법으로 밀어붙이는 방식과는 정 반대로 조금은 유머러스하게(종종 망가진 자신의 모습도 보여주면서...) 생각이나 대화가 점차 컴퓨터처럼 변하고 있는(그래서 튜링 테스트에서 컴퓨터가 점점 더 유리해진다고 볼 수도 있다) 현대인의 '인간다움'을 다양한 각도에서 파헤친다. 상태 독립적 대화와 상태 의존적인 대화, 대화와 장소 적합성, 연애 전문가 동호회와 체스 슈퍼 컴퓨터, 반전문가와 전문가 체계, 이야기 도중 끼여들기와 점잖게 기다리기, 말이 이어지게 만들어주는 대화의 손잡이, 무손실 압축과 엔트로피에 대한 설명을 읽다보면 인간적인 인간이 되는 일이 결코 쉽지 않다는 사실(그래서 우리는 모두 고독한지도 모르겠다)을 깨닫게 될지도 모르겠다.

결론: 두 말할 필요 없이, 2014년에 읽은 최고의 책이다. 절판되기 전에 관심있는 독자분들께서는 서둘러 지금 당장 구매하는 편이 좋지 않을까 싶다.

EOB

금요일, 9월 19, 2014

[일상다반사] 전문 검색과 분석을 위한 Elasticsearch 서버: 아파치 루씬 기반의 고성능 엔터프라이즈 플랫폼

지난 4월 말에 아파치 Solr 4 구축과 관리 : 오픈소스 루씬 기반 엔터프라이즈 검색 플랫폼이라는 제목으로 독자 여러분께 번역서를 하나 소개해드린 바 있다. 오늘은 Solr와 치열한 경쟁을 벌이고 있는 루씬 기반의 또 다른 검색엔진인 일래스틱서치 출간 소식을 전해야겠다. 현재 Yes 24에서 절찬 예약판매 중인 이 책은 일래스틱서치와 관련해 바로 사용 가능한 필수적인 정보를 꽉꽉 담은 책이라 보면 틀림없겠다. 원 저자가 라팔 쿠크로 지난번 '아파치 Solr 4 구축과 관리'를 읽고 마음에 들었다면 이 책 역시 여러분 취향에 딱 맞을 가능성이 높다.

일래스틱서치는 지난 번에 소개한 Solr 4의 기능과 거의 유사한 다음 기능을 제공한다. 따라서 일래스틱서치를 사용하느냐 Solr를 사용하느냐가 가장 큰 고민거리일지도 모르겠다.

  • JSON API
  • 검색 결과 강조(highlight)
  • 패싯 검색과 필터링
  • 공간 지리 검색
  • 빠른 점진적인 갱신과 색인 복제
  • 캐시
  • 클러스터 구성(고가용성)
  • 복제
  • 분산 색인/샤딩
  • 모니터링 인터페이스

다행히도 역자 서문에 제시한 바와 같이 Apache Solr vs ElasticSearch라는 사이트에서 아파치 솔라와 일래스틱서치의 기능을 API, 색인, 검색, 플러그인, 분산 측면으로 나눠 분석하고 있다. 검색 자체 기능만 놓고 보면 대동소이한데, 일래스틱서치는 외부 시스템과 연동 측면에서 월등하다.

예를 들어, 외부에서 들어오는 로그를 쌓는다고 가정하자. Solr 4를 사용할 경우에는 애플리케이션을 작성해 연결해야 하는 반면 일래스틱서치는 Rivers 플러그인을 사용해 외부에서 들어오는 들어오는 입력을 그대로 받아 색인이 가능하다. 자체적으로 지원하는 트위터, RabbitMQ, CouchDB, Wikipedia는 물론이고, 공동체에서 지원하는 수많은 플러그인(ActiveMQ, Amazon SQS, CSV, Dropbox, Filesystem, Git, GitHub, JDBC, JMS, kafka, LDAP, MongoDB, Redis, Neo4j, Solr, RSS, Subversion, DynamoDB, IMAP/POP3 등)을 사용해 외부 소스와 연계가 가능하다. 또한 최근 일래스틱서치의 일원이 된 오픈소스 로그 관리 도구인 로그스태시를 사용할 경우, 외부에서 들어오는 자료 형식을 변환한 다음에 일래스틱서치에 저장할 수 있으므로 유연성을 극대화할 수 있다. 이게 바로 일래스틱서치의 최대 강점이다.

일단 오늘 소개한 책을 읽으며 공부하고 계시면, 후속작으로 Open Source Log Analysis with Elasticsearch를 준비해서 선보일테니 독자 여러분들의 많은 성원 부탁 드리겠다.

EOB

수요일, 9월 17, 2014

[독서광] 비즈니스 모델의 탄생

린 스타트업 관련 서적을 읽으며 알게 된 이 책을 구입해두고 (여러 가지 이유로 인해) 한참 동안 읽지 않았었다. 그러다가 린 분석 책을 읽는 도중에 다시 한번 비즈니스 캔버스가 떠 올라 이 책을 펼쳐보게 되었다. 비즈니스 모델 캔버스를 정리한 그림은 (독자 여러분들께서도 이미 잘 알고 계시겠지만) 다음과 같으며, 이 책의 처음부터 끝까지 일관성있게 사용되므로 유심히 봐둘 필요가 있다.

이 책의 가장 큰 장점은 편집의 아름다움이다. 보기 좋은 떡이 먹기도 좋다고 이 책의 편집은 정말로 신경 썼다는 느낌이 팍팍 오게 만든다. 원서는 물론이고 번역서 자체의 편집도 공을 들였기에 읽는 과정에서 상당한 즐거움을 느꼈다. 예쁘기만 하고 특별한 내용이 없다면 이것도 큰 문제일텐데, 출간된지 조금 시간이 흐르는 바람에 한 물 간(예: 롱테일과 블루오션 전략(으아아악) T_T) 내용이 등장함에도 불구하고 여전히 비즈니스 전략 구성에 도움을 준다는 생각이다. 요즘 뜨거운 주제가 린 스타트업이긴 하지만, 린 스타트업에서 비즈니스 모델을 설명할 때 빠지지 않고 등장하는 몇 가지 개념을 이 책에서 자세히 설명하므로 짚고 넘어갈 필요가 있겠다.

이 책은 비즈니스 모델 캔버스의 구성 요소를 설명한 다음 자주 사용되는 비즈니스 모델 패턴(언번들링, 롱테일, 멀티사이드 플랫폼, 무료 비즈니스 모델, 오픈 비즈니스 모델을 다양한 사례와 함께 소개한다. 그리고 나서 비즈니스 모델을 설계하는 다양한 기술과 도구(고객 통찰, 아이디에이션, 비주얼 씽킹, 프로토타이핑, 스토리텔링, 시나리오)를 소개한다. 다음으로 비즈니스 전략(비즈니스 모델 환경, 비즈니스 모델 평가, 블루오션 전략에 대한 비즈니스 모델 관점, 여러 비즈니스 모델 관리)에 이어 비즈니스 모델 설계 프로세스를 설명하며 마무리한다. 앞서 이미 언급했지만 이 책은 작업의 시각화를 위해 그림, 다이어그램, 표, 흐름도 등 다양한 기법을 사용하므로, 실제 비즈니스 모델을 만드는 과정에 참고할만한 손쉬운 템플릿을 확보하기 딱 좋다는 생각이 들지도 모르겠다(주의: 너무나도 당연한 이야기지만, 템플릿이 좋다고 더불어 아이디어도 좋아지지는 않는다. T_T). 예쁜 템플릿으로 끝나고 말면 허무할텐데, 다행히도 천편일률적인 예를 위한 예를 대신해 여러 기업들의 실제 사례를 소개하므로 유사한 분야에 속한 선구자들의 비즈니스 모델 수립 경험을 습득할 수 있는 기회를 제공한다.

본질적인 질문을 하나 해보자. 비즈니스 캔버스를 사용해 머리를 굴릴 경우 얻는 이익이 무엇일까? 바로 강력한 지적 능력을 사용한 사고 실험이 가능하므로 실제 사업을 벌여보기 전에 나를 알고 적을 알고 위험이 무엇인지 파악할 수 있다는 장점을 얻는다. 종이 위에서 생각을 끄적이는 행위가 현실과는 동떨어진 탁상 공론으로 생각할지도 모르겠는데("해봐야 안다" 파의 주장), 다양한 각도로 문제를 분석해 비즈니스 모델을 설계하지 않고 사업에 뛰어들며 이를 '린(lean)'으로 포장하는 전술은 요즘과 같이 복잡하고 빠르게 변하는 세상에서 자살 행위와 마찬가지다(실패도 무대포 실패가 아니라 제대로 계획된(응?) 실패여야 한다). 혁신과 변화를 추구하기 위한 토대로서 이 책을 활용하면 시행착오를 조금이라도 줄일 것이다.

책 내용과 편집이 궁금하시다면 Yes24에서 제공하는 본문 미리 보기를 읽어보시기 바란다. 또한 독자 여러분들을 위해 저자인 알렉산더 오스터왈더가 직접 만든 발표자료(물론 영어다... T_T)를 올려드린다. 책을 읽은 다음에 정리 목적으로 사용해도 좋겠다.

결론: 스타트업에 뛰어든 분이라면 기본 소양을 쌓기 위한 기초 서적으로 강력 추천한다. 최소한 내가 하는 사업의 비즈니스 모델 수립은 내가 직접 해야 하지 않겠는가?

EOB

토요일, 9월 13, 2014

[독서광] 린 분석: 성공을 예측하는 31가지 사례와 13가지 패턴

1년 반 전에 Running Lean: 린 스타트업이라는 책을 한 권 소개해드린 적이 있었다. 오늘은 이 책의 연장선 상에 놓인 '린 분석: 성공을 예측하는 31가지 사례와 13가지 패턴'이라는 책을 소개해드리려 한다(한빛미디어에서 선물로 보내주셨기에 감사의 말씀을 전한다).

이 책은 스타트업에서 꼭 필요한 좋은 지표가 무엇인지 정의하고, 상황에 맞춰 각 지표를 찾고 분석하는 방법을 소개한다. 그리고 나서 여러 분의 사업이 어디에 위치하며, 해당 위치에서 주의 깊게 살펴볼 지표를 제시한다. 마지막으로 이 책의 백미라고 볼 수 있는 목표 기준을 소개한다! 솔직히 처음 스타트업을 시작할 때 해보기 전에는 절대 알기 어려운 목표 기준을 업계 표준치로 정리했다는 사실 하나만으로도 이 책의 가치는 충분하리라 생각한다.

이 책에서 제시하는 구체적인 사업 모델은 전자상거래, SaaS, 무료 모바일 앱, 미디어 사이트, 사용자 제작 콘텐츠, 양면 마켓플레이스를 아우르며, 초기 IT 스타트업이 주로 채택하는 형태이므로 현실감 있게 다가올 것이다. 또한 사업 단계는 공감, 흡인력, 바이럴 효과, 매출, 확장으로 나눠 소개하므로, 현재 스타트업이 처한 상황에 맞춰 가장 중요하게 여겨 주의 깊게 살펴야하는 지표를 정의할 수 있다.

이 책의 장점은 상황별로 정리한 명확한 지침이다. 흔히 창업 관련 서적들은 뜬 구름 잡는 이야기만 하거나 희망찬 장밋빛 미래를 그리느라 정신이 없는데, 이 책은 사업 부문별로 단계에 따라 실질적으로 도움이 되는 지표와 목표 그리고 달성 방안을 제시하므로 읽는 즉시 응용 가능하다는 특징이 있다. 예를 보여드리기 위해, '무료 모바일 앱'을 기준으로 책에 나온 몇 가지 지표와 목표를 간략하게 정리해보겠다(나머지 모델에 대한 지표와 목표가 궁금하시다면 직접 책을 읽어보시라!).

  • 모바일 앱의 크기: 누구나 어디서든 앱을 쉽게 다운로드할 수 있게 하려면 '포털에 올려진' 앱 크기가 50MB 이하여야 한다.
  • 모바일 고객 확보: 다른 앱 안의 배너 광고는 일반적으로 설치 건당 1.5~4달러의 비용이 든다. 설치 건당 비용을 평균 0.5~0.75달러로 유지하는 편이 좋다.
  • 활동 모바일 사용자 비율: 사용자의 54%만이 앱을 사용하기 시작한 지 한 달 후에도 여전히 앱을 사용하며, 두 달이 지난 후에는 43%만 남고, 세 달이 지나면 35%만 앱을 사용한다고 한다. 앱 종류에 따라 크게 다르지만 사용자들은 앱을 평균적으로 하루 3.7회 사용했다.
  • 일일 활동사용자 평균 매출: 퍼즐/돌보기/시물레이션 게임은 0.01~0.05달러, 숨은 그림 찾기/어드벤처 게임은 0.03~0.07달러, 도박/포커/RPG 게임은 0.05~0.1달러
  • 모바일 사용자당 월 평균 매출: 업계 관계자들은 모바일 게임의 경우 일일 활동 게이머당 월 3달러, 즉 일 0.10 달러의 매출이 평균이라 말한다.
  • 모바일 앱의 평가 비율: 유료 앱은 평가율을 1.5% 이하로 예상하고 무료 앱은 평가율이 1%보다 훨씬 낮다고 예상하라.

위에서 정리한 내용을 보면 짐작하겠지만 지표에 대한 구체적인 수치가 등장하므로, 동종 업계를 벤치마크하는 목표 설정과 비교 과정에서 귀중한 조언을 얻을 수 있다.

혹시 책 IV부, 실무 적용에 나오는 나오는 사례 연구만 미리 읽고 싶은 분들이 계시면, Lean Analytics Book 홈페이지에 들어가서 Analytics Lessons Learned라는 무료 전자책(주의: 영어)을 받으시기 바란다. 마지막으로 'Lean Analytics' 발표자료(영어)를 올려드리니, 혹시 책을 구입하기 전에 미리 맛보기를 원하시는 독자분들께서는 간단하게 읽어보시기 바란다.

결론: 스타트업을 시작한 모든 분들께 이 책을 적극 추천한다.

EOB

금요일, 9월 12, 2014

[독서광] 불평등의 대가

가을을 맞이하여, 좋은 책을 집중적으로 소개하기로 마음먹었다. 1번 타자는 노벨상 수상자인 조지프 스티글리츠가 쓴 '불평등의 대가'다. 조만간 번역서로 나올 토마 피케티가 쓴 '21세기 자본'이 사람들에게 멘붕을 불러일으키겠지만, 오늘 소개하는 이 책 역시 결코 만만하지 않다. 일단 이 책을 펼치는 순간 절망이라는 깊은 심연 속으로 빨려들 가능성이 아주 높기 때문에 어지간한 강심장이 아닌 이상 주의해서 읽어야 겠다.

이 책은 상위 1%가 모든 것을 독차지해버린 미국의 불편한 현실을 집중적으로 파헤친다. 하지만 참으로 희한한 상황이 벌어지는데... 책을 읽다보면 어느새 무대가 미국이 아니라 한국으로 옮겨지는 기묘한 경험을 하게 된다. 분명히 미국 정치와 경제에 대한 논의가 진행되고 있지만, 한국 역시 만만치않은 싱크율를 자랑한다. 어떻게 보면 미국보다 더 미국스러운 한국이라는 생각이 들지도 모르겠다. T_T

책의 내용은 제목 그대로다. 불평등이 위험한 이유와, 불평등을 심화시키는 요인이 무엇인지 분석하고, 불평등을 해결하기 위한 방안을 제시한다. 정치, 경제, 사회를 넘나들며 불평등을 일으키는 주범(?)과 이들의 논리를 분석하며 어떤 문제점이 있는지를 날카롭게 파고든다. 책 내용을 기계적으로 요약하는 대신 본문에 나오는 몇 가지 뜨끔한 이야기를 들어볼까?

미국의 시장은 새로운 부를 창출하는 행위 대신에 다른 사람들에게서 부를 빼앗는 행위를 장려하는 방향으로 왜곡되어 있다.
불평등을 옹호하는 사람들은 상위 계층에게 더 많은 돈을 몰아주면 성장이 가속화되므로 모두가 그 혜택을 받게 될 거라는 반론을 펼친다. 이것이 이른바 낙수 경제 이론이다. ... 상위 계층에게 돌아가는 부는 하위 계층을 희생시킨 데서 나온 것이다.
중하위 계층의 재산은 대부분 소유 주택의 가치에 좌우되는 것이었기에 거품이 낀 주택 가격을 토대로 한 유령 재산에 지나지 않았다.
지금은 대부분의 노동자들이 확정 기여형 퇴직 연금 제도에 가입해 있다. 이 경우 사람들은 퇴직 연금 계좌를 직접 관리할 책임을 떠안아야 한다. 또한 주식 시장 변동과 인플레이션의 위험도 감수해야 한다.
가난한 사람들이 겪는 곤경을 그 사람들 탓으로 돌려서는 안 되며, 자신들은 자력으로 돈을 벌었다고 하는 상위 계층의 주장에는 귀를 기울일 필요가 없다.
정부가 시장 실패를 바로잡는 데서 상당한 성과를 올릴 때만 그 나라 경제는 번창한다.
사업가들의 주된 관심은 사회의 행복을 증진시키거나 시장 경쟁을 강화하는 데 있지 않다. 그들의 목적은 오로지 시장이 자신에게 유리한 방식으로 움직이게 만들어 자신의 수익을 끌어올리는 데 있을 뿐이다.
상위 계층의 돈벌이 수단 중 하나는 자신이 장악한 시장과 정치적 권력을 이용해서 다른 사람들을 희생시켜 자신의 소득을 늘이는 방법이다.
시장에는 승패를 식별하는 간단한 방법이 있다. 바로 그 사람이 가진 돈의 총액이다.
'지대'라는 용어는 원래 토지로 인한 수익을 이르는 말이었다.
현대적인 경제에서는 여러 가지 형태의 지대 추구가 존재한다. 첫 번째 형태는 국가 자산을 공정한 시장 가격 이하로 장악하는 방식이다. 두 번째 형태의 지대 추구는 정반대로 정부에 물건을 팔면서 시장 가격 이상을 받아 챙기는 방식이다. 세 번재 형태의 지대 추구는 공식적인 정부 보조금이나 비공식적인 보조금을 받는 것이다.
민간 부문은 자력으로 능숙하게 국민들로부터 지대를 뽑아낼 수 있다. 이를테면, 독점적인 관행을 통해서 정보와 교육의 혜택을 충분히 누리지 못하는 서민들을 수탈하는 것이다.
비유하자면, 공정한 게임을 하여 이기는 사람이 열심히 뛰어가는 사람이라면, 자신이 이길 가능성을 증대시키는 방향으로 아예 게임의 규칙을 정하는 사람은 고속철을 탄 사람이고, 심판까지 직접 고르는 사람은 제트기를 탄 사람이다.
세계화를 지지하는 사람들은 모든 사람들이 더 풍요롭게 될거라고 주장하는 걸까? 그들의 주장은 모든 사람들이 더 풍요로워질 가능성이 있다는 것뿐이다. 다시 말해서 승자가 패자에게 보상을 해줄 가능성이 있다는 이야기일 뿐, 반드시 그럴 거라는 이야기는 아니다. 승자는 대체로 그런 행동을 하지 않는다.
많은 국가들이 부실한 거시 경제 정책으로 인해서 일자리 소멸 속도가 일자리 창출 속도를 앞서가는 곤경을 맞았다.
부자들과 갑부들은 흔히 기업을 이용해서 자신을 보호하고 자신의 소득을 감춘다.
부유층에 대한 감세의 결과로 재정 적자와 국가 부채가 크게 늘어나고 있는 현실은 또 다른 측면에도 강력한 영향을 미친다. 정부는 교육, 과학 기술, 기간 시설 투자에 대한 지원을 축소해야 하는 곤경에 빠진다.
개발도상국에는 똑똑하고 부지런하고 열정이 넘치는데도 가난하게 사는 사람이 많다. 능력이 부족하거나 충분한 노력을 기울이지 않아서가 아니라 제대로 돌아가지 않는 경제에서 일하고 있기 때문이다.
신뢰가 없으면, 나중에 일이 복잡해질 거라고 판단되는 사업상의 거래는 이루어지지 않는다.
현재 언론 분야는 상위 1퍼센트에 의해 지배되고 있다. 이들은 비판적인 언론사를 매입하여 지배할 수 있는 자원을 가지고 있고, 손해를 보더라도 이런 전략을 고수할 의향이 있는 사람들도 있다.
상위 계층은 중위 계층에게 왜곡된 세계관을 심어 이들로 하여금 상위 계층의 이익에 도움이 되는 정책들이 자신의 이익에 도움이 된다고 믿게 만든다.
상위 1퍼센트가 여론을 형성하는 데 성공하고 있다는 사실은 신념의 변동성이 크다는 것을 입증한다.
문제는 물건이 시장에서 거래될 수 있듯이, 관념도 시장에서 거래될 수 있다는 점이다. 정책을 뒷받침하는 관념들은 더 말할 것도 없다.
우파는 인식 형성에서 교육이 차지하는 중요성을 알고 있다. 바로 이런 이유 때문에 우파는 각급 학교의 교육 과정 설계에 영향력을 행사하기 위해 적극적으로 활동한다.
민영화와 시장 자유화를 옹호하는 사람들은 오래전부터 이런 정책들은 지대 추구를 제한하기 위해 반드시 필요한 것이라며, 참으로 어이없는 주장을 펴왔다.
금융 부문의 혁신은 모든 미국인의 후생을 개선하는 것이 아니라 은행 경영진의 후생을 개선하는 방향으로 추진되었다.
기업들이 타인들에게 비용을 전가하고 있다는 사실은 대체로 쉽게 눈에 띄지 않는다. 기업들은 대개 지나친 위험을 추구한다. 물론 아무 사고 없이 여러 해가 흘러가기도 한다. 하지만 사고가 발생하면 수천 명이 피해를 입는다.
경제학의 기본 원칙에 따르면, 좋은 행위에 과세하는 것보다 나쁜 행위에 과세를 하는 쪽이 더 효과적이다.
최악의 신화는 예산을 긴축하면 경제가 회복되고, 정부 지출이 늘어나면 경제가 회복되지 않는다는 논리다. 이 논리에 따르면 정부의 재정 상태가 개선되면 될수록 사람들은 자신감이 붙어서 더 많은 투자를 한다는 것이다.
인플레이션율을 낮게 유지하자고 주장하는 사람들은 낮은 인플레이션이 경제 전반에 유익하다고 주장한다. 이들은 낮은 인플레이션으로 큰 혜택을 보는 채권 보유자들에 대해서는 거론하지 않는다.
많은 젊은이들이 열정과 희망을 품고 새로운 생활을 시작하는 것이 아니라 불안과 공포에 빠져 지낸다. 이들은 앞으로 힘겹게 상환해야 하고, 게다가 파산을 해도 탕감이 되지 않는 학자금 대출금이라는 무거운 짐에 짓눌린 채 침체된 시장에서 좋은 일자리를 찾아다닌다. 운이 좋아서 직장을 구한다 해도 이들이 받는 임금은 실망스러운 수준이고, 임금이 너무 적어서 독립하지 못하고 부모와 함께 사는 이들이 적지 않다.
오십 대 부모 입장에서는 자녀들도 걱정스럽고 자신의 미래도 걱정스럽다. 집을 잃지나 않을까? 압박을 견디지 못하고 조기 퇴직을 해야 하는 건 아닐까? 저축해 둔 돈이 대침체 때문에 크게 줄어들었는데 그것으로 노후 생활을 지탱할 수 있을까? 이들은 아무리 어려워도 자녀들에게 도움을 청할 수 없다는 사실을 잘 알고 있다.

본문에 나오는 내용을 보고 있으러면 눈물이 앞을 가린다. 마지막으로 이 책의 북트레일러를 보너스로 소개한다.

결론: 우리 사회가 불평등한 이유를 알고 싶은 모든 분들께 강력하게 추천한다.

EOB

토요일, 9월 06, 2014

[B급 프로그래머] 9월 1주 소식

독자 여러분께 즐거운 한가위 보내시기를 기원드리며, 9월 1주 소식을 정리해드리겠다.

  1. 웹/앱 소식
  2. 개발/관리 도구 소식
  3. 고성능 서버/데이터베이스 소식
  4. 기타 읽을거리
EOB