화요일, 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