토요일, 1월 30, 2016

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

한 주 정도 밀린 숙제를 하느라 토요일 오후를 다 쓰고 말았다. T_T 상당히 긴 목록이므로 천천히 살펴보시기 바란다.

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

토요일, 1월 23, 2016

[B급 프로그래머] 전문 프로그래머와 일반 프로그래머의 차이

간만에 Quora에 올라온 재미있는 질문을 하나 소개한다.

What differentiates a "senior" programmer from a "regular" programmer?

여기에 대해 흥미로운 대답이 있어 정리해보겠다.

일반 프로그래머:

전문 프로그래머:

  1. 문제 풀이에 있어 경험: 전문 프로그래머는 아주 많은 프로그래밍 도전을 풀어온 충분한 경험을 쌓은 사람이다. 문제가 등장하면, 전문 프로그래머는 문제에 대한 해법의 역사를 알고 있을 가능성이 높다. 반면에 일반 프로그래머는 새로운 문제에 대해 쫄거나 걱정할 가능성이 높다.
  2. 문제 해결에 대한 접근 방법: 전문 프로그래머는 작은 테스트를 거쳐 특정 시나리오를 배제할 것이다. 일반 프로그래머는 벽에다 뭔가를 던지고 붙는지 볼 것이다. 일반 프로그래머는 뭔가 진행되고 있다고 느낄지 모르겠지만, 복권을 긁고 있을 뿐이다. 전문 프로그래머는 아주 논리적이다. 전문 프로그래머는 실험/테스트를 수행하고, 가정을 검증하고 점을 연결해 결론에 이르는 과학자처럼 일한다.
  3. 가능성에 대한 포용: 일반 프로그래머는 고정 마인드세트를 갖고 있으며, 무엇이 가능하고 무엇이 불가능한지 이미 마음속에서 결론을 내린 지식을 사용할 것이다. 전문 프로그래머는 성장 마인드세트를 갖고 있으며, 고객이 문제를 푸는 과정에 도움이 되는 플러그인, 모듈, 트릭, 미세 조정 등 문제에 대한 해법이 있을지도 모른다고 생각한다.
EOB

토요일, 1월 16, 2016

[B급 프로그래머] 밀린 소식 정리

지난 주에 언급드렸듯이 이번 주에도 밀린 소식을 정리해드리겠다. 숙제 끝내면 다시 좋은 책을 소개해드리기로 하겠다.

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

토요일, 1월 09, 2016

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

12월은 여러 바쁜 일이 겹쳐서 소식을 정리하지 못했다. T_T 2016년도에는 정신 바짝 차리고 다시 소식 정리 작업을 진행할 예정이다. 일단 1월 초에 올라온 소식부터 먼저 전하고 다음 주에는 연말에 밀린 소식을 호외로 정리해드리겠다.

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

토요일, 1월 02, 2016

[독서광] 사피엔스

2016년 애독자 여러분들께 새해복 많이 받으시라는 인사와 더불어 첫 블록 쌓기를 시작하겠다. 오늘은 신년 특집으로 '사피엔스'라는 강력한 책을 하나 들고 나온다.

2015년 말에 출간되지 마자 여러 언론과 SNS에서 화제가 되었던 이 책은 인간이 성공적으로 지구를 지배하기까지 이뤄왔던 업적 또는 악행(응?)을 차근차근 설명하고 있다. 일단 TED 강연(유벌 노아 하라리: 무엇이 인간의 성공을 설명해줄까요?)부터 잠깐 시간 내어 시청하는 편이 이 책을 이해하는 과정에 큰 도움이 되겠다.

이 책은 인간의 성공 뒤에 숨어있는 잔혹함을 그대로 드러내기 때문에 기존의 역사책과는 사뭇 다른 접근 방법을 택한다. 인간이 신을 넘보는, 무기물에 생명을 불어넣기 직전의 상태까지 오게된 여정을 인지 혁명, 농업 혁명, (중간에 잠깐 쉬어가기 위해 세 가지 보편적 질서를 중심으로 설명하는) 인류의 통합, 과학 혁명이라는 4단계로 설명한 다음에 마지막으로 신에 도전하는 인간의 패기를 소개하면서 마무리한다. 각 혁명이 인간에 미친 영향력을 설명하기 위해 정치, 역사, 경제, 문화, 과학 등 여러 분야를 오가며 씨줄과 낱줄을 엮는 다양한 사례와 이론을 소개하기 때문에 신나는(상당히 암울한 분위기를 연출하므로 내용이 유쾌하고 즐겁다는 말은 결코 아니다. T_T) 독서 경험을 독자 여러분들께 선사하리라 기대한다.

백문이 불여일견이므로, 본문 중에 좋은 글을 몇 개 가져와보겠다.

인간은 너무나 빨리 정점에 올랐기 때문에, 생태계가 그에 맞춰 적응할 시간이 없었다. 게다가 인간 자신도 적응에 실패했다.
뒷담화는 악의적인 능력이지만, 많은 숫자가 모여 협동을 하려면 사실상 반드시 필요하다.
허구를 말할 수 있는 능력이야말로 사피엔스가 사용하는 언어의 가장 독특한 측면이다.
과학적 연구 결과 뒷담화로 결속할 수 있는 집단의 '자연적' 규모는 약 150명이라는 것이 밝혀졌다.
단어를 통해 가상의 실재를 창조하는 능력은 서로 모르는 수 많은 사람들이 효과적으로 협력하는 것을 가능하게 했다.
우리 조상들이 자연과 더불어 조화롭게 살았다는 급진적 환경보호운동가의 말을 믿지 마라. 산업혁명 훨씬 이전부터 호모 사피엔스는 모든 생물들을 아울러 가장 많은 동물과 식물을 멸종으로 몰아 넣은 기록을 보유하고 있었다.
농업혁명은 안락한 새시대를 열지 못했다. 그러기는커녕, 농부들은 대체로 수렵채집인들보다 더욱 힘들고 불만스럽게 살았다. ... 농업혁명은 역사상 최대의 사기였다.
어느 종이 성공적으로 진화했느냐의 여부는 굶주림이나 고통의 정도가 아니라 DNA 이중나선 복사본의 개수로 결정된다. 한 회사의 경제적 성공은 직원들의 행복이 아니라 오직 은행잔고의 액수로만 측정된다.
농업 혁명의 핵심이 이것이다. 더욱 많은 사람들을 더욱 열악한 환경에서 살아 있게 만드는 능력.
역사의 몇 안 되는 철칙 가운데 하나는 사치품은 필수품이 되고 새로운 의무를 낳는 경향이 있다는 것이다.
지구에서 가장 널리 퍼져 있는 대형 포유류를 순서대로 꼽으면 사람이 첫째이고, 2, 3, 4위가 가축화된 소, 돼지, 양이다.
가축이 된 닭이나 소는 아마도 진화적 성공의 사례이겠지만, 역사상 가장 비참한 동물인 것도 사실이다.
농업혁명 덕에 미래는 어느 때보다 중요해졌다. 농부들은 언제나 미래를 의식하고 그에 맞춰 일해야 한다.
고대 메소포타미아에서 진 제국과 로마 제국에 이르는 모든 협력망은 '상상 속의 질서'였다. 이들을 지탱해주는 사회적 규범은 타고는 본능이나 개인적 친분이 아니라 공통의 신화에 대한 믿음에 바탕을 두고 있었다.
인간은 단순히 자기 DNA를 복사하고 이를 후손에 전해주는 것만으로는 사회운영에 필요한 핵심정보를 보존할 수 없다. 사피엔스의 사회질서는 가상의 것이기 때문이다.
대부분의 사회정치적 차별에는 논리적, 생물학적 근거가 없으며, 우연한 사건이 신화의 뒷받침을 받아 영속화한 것에 불과하다.
우리는 생물학적으로 결정되어 있는 것과 단지 사람들이 생물학적 신화를 통해 정당화하려고 노력하는 것을 어떻게 구별할 수 있을까? 양자를 구분하기 좋은 경험법칙이 있는데, '자연은 가능하게 하고 문화는 금지한다'는 기준이다.
진실을 말하자면, '자연스러움'과 '부자연스러움'이라는 우리의 관념은 생물학이 아니라 기독교 신학에서 온 것이다.
(호모 사피엔스에게) 최초로 등장한 보편적 질서는 경제적인 것, 즉 화폐 질서였다. 두 번째 보편적 질서는 정치적인 것, 즉 제국의 질서였다. 세 번째 보편적 질서는 종교적인 것, 즉 불교, 기독교, 이슬람교 같은 보편적 종교의 질서였다.
"나와 내 동료들은 금으로만 나을 수 있는 마음의 병을 앓고 있기 때문이다." - 코르테스
우리 눈앞에서 형성되고 있는 지구제국은 특정 국가나 인종 집단이 지배하는 것이 아니다. 옛 로마 제국과 비슷하게 이 제국은 다인종 엘리트가 통치하며, 공통의 문화와 이익에 의해 지탱된다.
종교는 '초인적 질서에 대한 믿음을 기반으로 하는 인간의 규범과 가치게계'라고 정의할 수 있을 것이다.
과학혁명은 지식혁명이 아니었다. 무엇보다 무지의 혁명이었다. 과학혁명을 출범시킨 위대한 발견은 인류는 가장 중요한 질문들에 대한 해답을 모른다는 발견이었다.
만일 우리가 공자, 부처, 예수, 마호메트에게 인간의 마음을 이해하고 그 병을 치료하려면 통계학을 먼저 공부해야 한다고 말해주었다면, 그들은 아주 어리둥절했을 것이다.
역사를 통틀어 사회를 고통스럽게 했던 가난은 두 종류였다. 남들은 이용할 수 있는 기회를 나는 이용하지 못하도록 만드는 사회적 가난, 그리고 식량과 집이 없어서 개인의 삶을 위협에 빠뜨리는 생물학적 가난이었다.
과학은 자신의 우선순위를 스스로 정할 수 없다. ... 과학연구는 모종의 종교나 이데올로기와 제휴했을 때만 번성할 수 있다.
과학자와 정복자는 둘 다 무지를 인정하는 데서 출발했다. 이들은 "저 밖에 무엇이 있는지 나는 모른다"고 말했다.
지난 5백년간 진보라는 아이디어는 사람들로 하여금 미래를 점점 더 신뢰하게 만들었다. 신뢰는 신용을 창조했고, 신용은 현실 경제를 성장시켰으며, 성장은 미래에 대한 신뢰를 강화하고 더 많은 신용을 향한 길을 열었다.
자본주의는 '자본'을 단순한 '부'와 구별한다. 자본이란 생산에 투자되는 돈과 재화와 자원을 말한다. 반면에 부는 땅에 묻혀 있거나 비생산적 활동에 낭비된다. 비생산적인 피라미드에 자원을 쏟아붓는 파라오는 자본주의가 아니다.
근대에 이르러 귀족은 자본주의 신조를 믿는 새로운 엘리트에게 추월당했다. 이들 유력자는 중세 귀족보다 훨씬 부유하지만 사치성 소비에 대한 관심이 훨씬 덜하다. 수입에서 비생산적인 활동에 쓰는 돈이 차지하는 비중도 훨씬 적다.
인류의 경제는 근현대 기간 내내 어찌해서든지 계속 기하급수적으로 성장해왔는데, 이것은 오로지 과학자들이 몇 년마다 한 번씩 새로운 발견이나 장치를 들고 나온 덕분이었다.
가족과 공동체의 품 안에서 사는 삶은 이상적이지 않았다. 가족과 공동체의 억압은 오늘날 국가와 시장의 그것보다 덜하지 않았다.
국가와 시장은 거절할 수 없는 제안을 가지고 사람들에게 접근했다. 그들은 말했다. "개인이 되어라. 누가 되었든 네가 원하는 사람과 결혼하라. 부모의 허락을 받을 필요는 없다. 네게 맞는 직업을 택하라. 그 때문에 공동체의 연장자가 눈살을 찌푸리더라도. 어디가 되었든 네가 원하는 곳에서 살아라. 그 때문에 가족 만찬에 매주 참석할 수 없게 되더라도. 당신은 더 이상 가족이나 공동체에 얽매일 필요가 없다. 그 대신 우리, 즉 국가와 시장이 당신을 돌볼 것이다. 식량과 주거, 교육과 의료, 복지와 직업을 제공할 것이다. 연금과 보험을 제공하고 당신을 보호해줄 것이다."
수백만년에 걸친 진화의 결과, 우리는 스스로를 공동체의 구성원으로서 생각하면서 살아가도록 설계되었지만, 불과 2세기 만에 우리는 소외된 개인이 되었다. 문화의 무시무시한 힘을 이보다 더 잘 증언하는 사례는 없다.
국가는 상상의 존재라는 자신의 속성을 숨기려 최선을 다한다.
역사를 통틀어 대부분의 폭력은 가족과 공동체가 서로 일으키는 국지적 반목이 원인이었다.
인간이 권력을 남용하는 경향이 있다는 사실은 이미 증명되어 있다.
진화에서 행복과 불행이 맡는 역할은 생존과 번식을 부추기거나 그만두게 하는 것과 관련해서만 의미가 있다. 그런 의미에서 보자면, 진화의 결과 우리가 너무 불행하지도 행복해하지도 않게 만들어졌다는 사실은 놀라운 일이 아닐지 모른다. 진화는 우리로 하여금 일시적으로 몰려오는 쾌락적 감각을 누릴 수 있게 했지만, 그런 느낌은 결코 영원히 지속되지 않는다. 조만간 이 느낌은 가라앉고, 불쾌한 느낌에게 자리를 내준다.

뽐뿌질은 여기까지... 알맹이 있는 내용은 본문을 직접 확인하시라 !

결론: 2015년/2016년 겨울을 강타할 #1 책으로 보면 틀림 없겠다. 강력 추천!

EOB

화요일, 12월 29, 2015

[독서광] 슈퍼 컴퓨터를 사랑한 슈퍼맨

권순선님의 추천으로 진작 사놓고서 읽지 못하다가 이번 크리스마스 연휴를 기념해서 번개처럼 읽은 책은 바로 '슈퍼 컴퓨터를 사랑한 슈퍼맨'이다. 책 제목을 보는 순간 이 책의 주인공이 누구인지 단번에 맞춘다면 당신은 컴퓨터 역사광!

냉전과 함께 기존 제품과 호환성이나 제품 자체의 완성도는 떨어지더라도 어떻게든 빠름을 추구하는 고객을 만족시키기 위한 군에 소속된 특수한 고객을 대상으로 하는 틈새 시장이 생겼고, 이를 차지하기 위한 스타트업(응?)의 치열한 경쟁 속에서 슈퍼컴퓨터 역사상 가장 유명한 인물이 탄생하게 되는데, 바로 시모어 크레이다. 이 책은 시모어 크레이를 중심으로 빠름에 목숨을 건 슈퍼컴퓨터의 역사를 풀어낸다. 슈퍼컴퓨터의 흥망성쇠를 생생하게 전달한다는 점이 이 책의 가장 큰 특징이다.

항상 10년 정도 뒤쳐진 기술을 토대로 10배의 기술적인 발전을 일궈냈다는 점에서 크레이의 창의력과 집중력은 실로 대단하다는 생각이다. 하지만 크레이의 은둔자적인 성향으로 인해 여러 가지 어려움에 직면하게 되는데, 의외의 숨은 인물인 레스 데이비스라는 크레이 1의 수석 엔지니어가 크레이를 충실하게 보완해준다(Oral History of Les Davis를 읽어보면 당시 생생한 이야기가 나온다). 우리는 보통 슈퍼컴퓨터 부문에서 크레이만 알고 있지만(1등이 아닌 사람은 기억도 못하는 듯. 뉴뉴)... 이 책은 앞서나가는 사람이 있으면 반드시 뒤에서 마무리를 지어주는 사람이 필요하다는 사실을 어김없이 보여준다.

상당히 오래된 이야기지만, 아직도 컴퓨터 하드웨어/소프트웨어 개발과 관련해 중요한 시사점을 던져주는 내용이 곳곳에 등장하므로 관리자들은 타인 계발서 하나 덜 읽는 대신 이 책을 읽어보면 상당한 교훈을 얻을 수 있으리라는 생각이다. 관료주의 대 엔지니어의 자유, 봉급이 아닌 프로젝트 자체에 대한 몰입, 뭔가 엄청난 일을 성취하기 위한 개인적인 희생 등과 같은 내용을 보면 데이터제네랄이라는 회사에서 32비트 컴퓨터를 만들기 위해 악전분투하는 개발자들을 그린 새로운 기계의 영혼의 슈퍼컴퓨터 판으로도 볼 수 있겠다.

스포일러를 피하기 위해 이 쯤 해두기로 하고 출판사 책 소개 페이지에 가면 미리 맛보기와 자료 모음 링크를 제공하므로 한번 방문해보시기 바란다.

결론: 컴퓨터 역사(특히 하드웨어)를 좋아하시는 분들께 강력 추천드린다.

EOB

일요일, 12월 27, 2015

[일상다반사] 소프트웨어 악취를 제거하는 리팩토링: 구조적 설계 문제를 풀어내는 최선의 실천법

연말을 맞이하여 독자 여러분들께 책 한 권을 소개해드리겠다. 오늘의 주인공은 Refactoring for Software Design Smells라는 책을 번역한 "소프트웨어 악취를 제거하는 리팩토링: 구조적 설계 문제를 풀어내는 최선의 실천법"이다. 국내에 원서가 잘 알려져 있지는 않아서 흥행은 자신하기 어렵지만, 기술 부채를 중심으로 구조적인 설계 문제에 고민이 많은 분들이라면 꼭 한 번 정독해보시기를 추천드린다. 이 책을 어떻게 설명할지 고민하다가 가장 손쉽게 역자 서문을 가져와봤다.


한국어로 번역되어 많은 분들의 사랑을 받은 로버트 C 마틴이 집필한 클린 코드(clean code)(인사이트, 2013년 출간)에서는 좋은 코드와 나쁜 코드, 그리고 나쁜 코드를 좋은 코드로 만드는 리펙터링 기법에 대해 소개하고 있다. 전문가로서 소프트웨어 개발자의 올바른 자세가 무엇인지 역설하고 있는 클린 코드는 소프트웨어 개발에 있어 나쁜 프로젝트 팀보다 더 위험한 요인으로 나쁜 코드를 짚어낸다. 이 책의 가장 멋진 특징은 바로 문제가 있는 코드에서 출발해 튼튼하고 효율적이면서 깨끗한 코드로 바꿔나가는 과정이다.

그렇다면 코드 수준이 아닌 설계 수준에서 깨끗함을 다루는 책은 없을까? 소프트웨어 설계에 대해 무척 관심이 많았기에 여러 해 동안 소프트웨어 설계와 관련된 책을 찾아다녔는데, 우연한 기회에 길벗 출판사에서 Refactoring for Software Design Smells: Managing Technical Debt라는 책의 번역을 요청해왔다. 제목에 붙어 있는 기술 부채(technical debt)라는 용어를 보면서 이 책의 내용이 범상하지 않으리라는 예감이 들었고, 1장을 펼치는 순간 이 책이 추구하는 방향에 대해 감이 왔다. 바로 기술 부채를 줄이고 소프트웨어 품질을 높이기 위한 설계 수준에서 악취 해소다!

이 책은 코드 수준보다 추상화 단계가 높은 설계 수준에서 펼쳐지는 다양한 문제점(즉, 악취), 문제점을 일으킨 원인, 이를 해소하는 방법(즉, 리펙터링), 악취가 영향을 미치는 핵심 품질 속성을 추상화, 캡슐화, 모듈화, 계층 구조라는 네 가지 대 범주에 속한 25가지 항목으로 나눠서 소개한다. 소프트웨어 개발자들이 설계 원칙을 어길 때 발생하는 악취가 무엇인지 파악함으로써 설계 과정에서 직면한 다양한 도전을 탐구한다. 단순히 악취 목록만 나열하는 이론적인 접근 방법에서 벗어나 다양한 일화와 실제 사례 연구를 중심으로 소프트웨어 개발 현장에서 어떤 문제가 발생하고 이를 어떻게 해결하는지 구체적인 방식으로 경험담을 기술하므로, 좋은 설계와 나쁜 설계가 무엇인지 제대로 보여준다.

본문에 들어가기 앞서 객체지향 소프트웨어 설계 원칙에 친숙할 필요가 있다. 부록 A에 추상화 원칙, 비순환 의존성 원칙, DRY 원칙, 캡슐화 원칙, 정보 은닉 원칙, KISS 원칙, LSP, 계층 원칙, 모듈화 원칙, OCP, 단일 책임 원칙을 소개하므로 우선 부록에 정리한 설명을 읽으면서 좋은 설계를 위해 어떤 원칙을 지켜야 하는지부터 파악한 다음에 해당 원칙을 어기는 경우 풍기는 악취에 주목하면 이해가 더 쉬울 것이다.

아무쪼록 자신도 만족스럽고 남도 만족스러운 깨끗한 설계를 위해 오늘도 끊임없이 노력하는 모든 소프트웨어 개발자 동료에게 조금이라도 도움이 되었으면 좋겠다. 이 책에서 소개하는 교훈을 바탕으로 한 단계 높은 아키텍처 구성과 설계가 가능해지면 더 바랄 나위가 없겠다.


역자 서문을 보면 이 책의 목적과 내용, 그리고 대상 독자층을 대충 파악했으리라 믿는다. 하지만 여기서 그치지 않고 애독자 여러분을 위한 보너스 선물인 세미나 자료를 준비해봤다. 비록 모든 내용을 다루지는 않지만 이 책의 분위기를 느끼기에는 부족함이 없으리라고 생각한다.

이 책과 더불어 클린 코드도 많이 사랑해주시기 바란다. 꾸벅~

EOB

토요일, 11월 21, 2015

[일상다반사] 해커스, 아태이론물리센터 선정 과학 고전 50선에 포함

연륜이 계신 개발자분들께서 적극적으로 사랑해주신 해커스 : 세상을 바꾼 컴퓨터 천재들 (무삭제판)이 아태이론물리센터에서 선정한 과학 고전 50선에 포함되었다. 컴퓨터 역사의 태동기부터 다루는 보기 드문 책이기에 하드웨어/소프트웨어 개발자들의 발자취를 따라간다는 측면에서 좋은 점수를 받은 것 같다.

그리고 1쇄가 모두 팔려서(2년 만에... 뉴뉴), (여러 오탈자를 수정한) 2쇄가 나왔다. 꼼꼼히 읽어주시고 오탈자를 알려주신 독자분들께 감사드리며, 3쇄는 없을 것으로 보이므로 혹시 소장하시고 싶은 분들께서는 2쇄가 모두 팔리기 전에(시간적으로 충분히 여유가 있을 것으로 보인다) 구입하시면 좋겠다.

EOB

[B급 프로그래머] 아마존 클라우드 위력의 일곱가지 비밀

linkedIn Pulse를 읽다가 Seven Secrets of Amazon's Cloud Juggernaut라는 재미있는 글을 만나서 독자 여러분들께 소개드리려 한다.

AWS의 비즈니스 계획을 수립한 앤디 재시와 AWS Re:Invent 컨퍼런스의 키노트에 앞서 인터뷰 내용이며, 아마존이 비즈니스 기술 부문에서 가장 강력한 지위를 차지하게 된 몇 가지 이유를 소개한다.

  1. 굶주림: 가격이 떨어짐에 따라서 짭짤한 인수가 가능해진다. AWS는 지금까지 상대적으로 인수에 적극적이지 않았지만, 여러 파트너와 깊은 관계를 맺으며 다양한 솔루션을 만들어 왔다. 앞으로 더 많은 회사를 인수할 것으로 기대한다.
  2. 확장: 자본 문제다. 인프라 기술에 대해 이야기할 때 아주 자본 집약적인 사업이다. 유일하게 성공한 선두 주자만 존재하지는 않지만, 20개가 넘어가지 않을 것이다.
  3. 침묵: 아마존은 클라우드에서 일하는 팀 규모를 밝히지 않는다. 하지만 70억불짜리 매출을 일으킬 정도로 많은 사람을 늘여왔다.
  4. 현명함: 고객이 우리에게 중요하다고 말하는 사안에 대해 우선 순위를 높여왔다. 인프라 위에 관리되는 서비스를 제대로 공급하는 업체는 충분하지 않다. 사실상 이런 관리되는 서비스를 제공하는 수 많은 강력한 시스템 통합자를 위한 충분한 공간이 존재한다고 생각한다.
  5. 공포: AWS 계획 당시 소매상에 불과한 아마존이 세상의 인프라 플랫폼이 된다는 사실이 쉽지 않았다. 따라서 최대한 조용하게 그리고 최대한 빠르게 마이크로소프트와 같은 대기업이 눈치채지 못하게 만들면서 기반을 닦아야 했다. 우리가 먼저 시작할 수 있었다는 사실에 정말 감사한다.
  6. 외교: 마이크로소프트와 연합해 고객 데이터를 정부 접근으로부터 보호하기 위해 노력한다.
  7. 트윗: 고차원에서 고객 서비스를 강화하기 위해 트위터를 사용한다. #AWS라는 해시태그를 살피며, 고객이 어떤 어려움을 겪고 있는지 확인한다.
EOB

토요일, 11월 14, 2015

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

금주에도 풍성한 소식으로 여러분을 찾아뵙는다. 금주부터는 빅데이터/인공지능이 별도로 분리되므로 참고하시기 바란다.

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

토요일, 11월 07, 2015

[독서광] 빅데이터로 일하는 기술 : 감이 아닌 과학으로 성공하는 빅데이터 구축 및 활용 가이드

5년 전 [독서광] 공피고아: 어떤 조직에서도 승승장구하는 사람들의 비책에 대해 소개한 적이 있었다. 갑자기 뜬금없이 옛날 책을 소개하는 이유가 궁금할텐데, 놀랍게도 동일 저자가 오늘 소개하는 빅데이터 책을 집필했기 때문이다.

이 책은 빅데이터를 다룬다. 그냥 빅데이터의 개념과 기술을 설명하는 대신 이 책은 조금 특이한 접근 방법을 사용한다. 중간에 빅데이터 테마 선정을 위한 도출 방법론과 마지막에 빅데이터 구축 방법론이 나오는데, 현업에서 빅데이터를 위한 범위를 설정하고 프로젝트로 만들어 이를 실천하는 방법을 체계적으로 설명한다. 기존 빅데이터 서적이 이론적으로 흘러갔다면 이 책은 실전에서 어떻게 빅데이터라는 강적과 맞서 싸울 수 있는지 전략 전술을 소개한다고 보면 되겠다.

방법론으로만 접근하면 상당히 따분한 책이 되었을텐데, 중간 중간 실제 사례와 빅데이터 프로젝트를 위한 기술을 소개하며 실제로 진행 과정에서 일어남직한 여러 가지 문제와 이에 대한 대응 방안도 소개하고 있으므로 회사에 빅데이터를 도입하려는 CIO/중간 관리자는 물론이고 성공적인 빅데이터 프로젝트 완수를 위한 현업 전문가들에게도 도움이 될 것이다. 또한 도입 당사자는 물론이고 외부 컨설팅 업체나 빅데이터 솔루션 구축 업체에 속한 컨설턴트와 개발자 역시 고객의 성공을 위해 어떤 관점에서 접근해야 할지 감을 잡는데 도움이 될 것이다.

다음 예시처럼 텍스트 중심이 아니라 그림과 표가 많이 나오므로, 프로젝트 발표 자료나 보고서 등에도 써먹을만한 유용한 템플릿이 많다는 사실도 기억하면 좋겠다.

보너스: 책 읽을 시간이 없는 분들께서는 저자 직강(?)을 한 번 보셔도 좋겠다. CIO Summit 2015 발표자료도 강력하게 추천한다.

결론: 빅데이터 부문의 교양서적이 아닌 실무서이므로 현장에서 빅데이터 도입 때문에 머리가 아픈 분들에게 적합하다.

EOB

토요일, 10월 31, 2015

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

여러 가지 사정으로 인해 소식을 늦게 전한다.

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

[일상다반사] 독자분의 궁금증 해소

오늘은 독자분께서 궁금증을 정리해 보내주신 이메일에 대한 답변 형식으로 글을 작성해봤다. 조금이라도 궁금증이 해소되었으면 좋겠다.

  • 책 리뷰들을 많이 쓰시기에 출판사에서 책들을 보내주시나봐요?
    • 번역/저술 등을 많이했기에 출판사와 친분이 생겨 책을 많이 보내주십니다. 아, 물론 종종 전혀 예상하지 못한 일반 출판사에서도 선물로 책을 보내주시기도 합니다.
  • 책들을 보내준다는 것은 그만큼 리뷰 파워가 있다는 것인데 그걸 출판사에서 어떻게 아나요? 아니면 블로그에서 링크를 클릭해서 들어가 서점에서 구매하면 그걸 출판사에서 아는 건가요?
    • 검색 엔진(특히 네이버)에서 제 서평이 검색 결과 최상위에 올라오는 경우가 많으므로 출판사에서도 이를 인지하고 있다고 보입니다.
  • 블로그 글들에 비해 댓글이 많이 없는것 같습니다. 이유가 뭘까요? 이 정도 퀄리티있는 글들이면 엄청 유명해서 제가 이미 알고있어야 하는 블로그일텐데 말이죠..
    • 제 블로그 독자들께서는 주로 RSS를 많이 활용하십니다(또는 트위터). 또한검색 엔진에서 키워드를 입력해 필요한 정보를 얻을 목적으로 일회성으로 방문하는 경우가 많습니다. 따라서 다른 친목성(?) 블로그에 비해 댓글이 거의 없을 것입니다. 하지만 오프라인 등에서 개발자분들을 만날 때 제 블로그에 자주 들어오신다고 말씀주시는 분이 많았습니다. 뒤에서 늘 응원해주시는 독자분들을 위해 게으름을 잘 극복해나가고 있습니다. :)
  • 보안쪽 서적을 번역하신 특별한 이유가 있을까요?
    • 임베디드 쪽을 하다 보니까 보안과 유사한 부분이 많았기에 번역을 조금 했었습니다. 그리고 원래 보안 쪽에 관심이 있었습니다.
  • IT책 뿐만 아니라 인문학 책 등에서도 좋은 시각들을 보여주시는데 특별히 어떤 노력들을 하시나요?
    • 다양한 책을 많이 읽고 독후감을 남기는 과정을 반복하다보니까 어느 순간 자연스러운 일상이 되었습니다. 시간 투자가 최선이라는 생각입니다.
  • 필명이 독서광? 이신것 같은데 책들을 언제부터 많이 읽게 되신건지?
    • 대학교 다니면서부터 책을 많이 읽기 시작했고, 회사 다니면서 책을 더 많이 읽게 되었습니다. 집에 책을 둘 곳이 부족해 요즘은 책 구입도 자제하고 있습니다. 뉴뉴
  • 그리고 회사(?확실하지 않습니다.) 다니시면서 책을 읽을 시간을 어떻게 만드시는지요?
    • 주로 대중 교통을 이용할 때 책을 많이 읽었습니다(가방 속에 항상 책이 있어서 틈나는대로 읽습니다). 최근에는 트위터 때문에 독서시간이 줄어든 것 같습니다.
  • 제가 요즘 가지고 있는 고민인데.. 생산성 툴에 많이 빠져있습니다. 특히 life hacker 책 리뷰 보고 바로 구매하였습니다. life hacker는 많이 들어봤지만 영어라서 일단 skip 하게 되는데 좋은 정보가 엄청 많았네요. 그건 그렇고.. 생산성 툴에 너무 빠져서 다른 것들을 공부할 시간이 부족합니다. 물론 제 생각으로는 생산성 툴을 마스터 해놓는다면 그 이후에는 시간 절약을 굉장히 많이 할 수 있기 때문에 공부할 수 있는 시간을 더 만들 수 있다고 생각합니다. 그런데도 불구하고 제가 생상성 툴 공부를 먼저 하는게 맞는지 확신이 들지 않습니다. 다른 사람들은 프로그램 재미있는것 만들고 하는데 나만 너무 생산성 툴에 빠져있는게 아닌가라는 생각이 듭니다. 비슷한 고민을 해보셨을거라 생각하는데(생산성에 대한 책들 리뷰가 많아서) 어떻게 생각하시나요?
    • 주객이 전도되면 곤란하겠지만, 필요한 생산성 도구를 잘 활용하고 부족한 부분은 직접 만들어나가면서 능동적으로 자신의 삶을 개선할 수 있기에 해커 문화 또는 개발자 문화를 배양하는 수단으로 활용하면 좋겠습니다. 여러 번 반복되리라 여겨지는 작업은 최대한 도구를 활용하는 편이 시간을 절약할 수 있습니다. 인터스텔라 보셨겠지만, 시간도 중요한 자원입니다.
EOB

금요일, 10월 23, 2015

[독서광][영화광] 마션 vs 마션(주의 스포일러!)

Warning: 순도 100%의 강력한 스포일러가 있으므로, 영화나 책을 읽으신 분들만 이 글을 읽어주시기 바란다.

오늘은 특집(?)으로 영화 마션과 책 마션이 어떤 차이가 있는지 정리해봤다. 영화는 시간 제약으로 인해 책 내용을 전부 옮길 수도 없고, 전지적 작가 시점에서 변사(?)를 동원해 어떤 작업을 할 때마다 구구절절 소개하기도 참으로 난감하기에 뭔가 줄이고 바꾸는 작업은 필연적이다. 따라서 영화를 보시고 나서 이 글을 읽어보시면 궁금증이 상당히 많이 해소되리라 생각한다.

먼저 영화 내용이 책과 다른 부분부터 정리해봤다.

  • 마크 와트니는 감자 재배를 위한 인분을 고를 때 신중하게 자기 것(응?)만 고른다. 병에 감염되지 않으려면 자기 배설물만 사용해야 마땅하지? 영화에서는 요한슨 냄새 구리다는 말을 한다.
  • 영화에서는 로버 한 대가 모래 폭풍에 파손되어 태양전지만 가져오는 것으로 묘사되어 있지만, 책에서는 둘 다 멀쩡하다고 나온다.
  • 영화와는 달리 책에서는 감자 재비 장소가 부족해서 책상, 비상용 텐트 등을 총동원한다.
  • 책에서는 로버의 히터 대용품으로 사용하는 RTG가 너무 열을 많이 발생시켜서, 로버의 내장재등을 뜯었다 붙였다 하게 만든다. 영화에서는 그냥 뒷좌석에 벨트로 채워놓고 끝난다.
  • 감자 재배를 위해 물을 만드는 과정에서 처음부터 와트니는 MDV 연료인 하이드라진 독성 때문에 제대로 무장하고 시작한다. 영화에서는 그냥 마스크만 쓰고 시작해서 혼쭐인 난 다음에야 방호 장비를 입고 나온다.
  • 에어록 1번이 폭발하고 나서, 덕 테이프로 에어록의 구멍난 곳을 때운 다음에 우주복을 잘라서 헬맷을 수리한다. 영화에서는 빠른 진행을 위해서 그런지 그냥 헬맷에 덕 테이프를 붙인다.
  • 영화에서는 자기가 죽으면 부모님을 찾아봐 달라는 이야기를 와트니가 선장에게 하는데, 책에서는 마르티네스에게 한다.
  • 책에서는 와트니가 로버 개조 작업 중에 실수로 패스파인더에 과전류를 흐르게 만들어 고장내버리는 바람에 지구와 통신이 두절된다. 영화에서는 패스파인더를 로버에 실어 아레스 4 MAV가 있는 스키아파렐리로 향한다.
  • 로버 개조는 절반 정도만 NASA 도움을 받고 나머지는 와트니가 직접 머리를 써서 해결한다.
  • 영화에서는 MAV 개조를 아주 빠르고 경쾌하게 진행하지만, 책에서는 (필요없는) 1단 주 엔진 1개도 분리해서 버리는 등 상당히 고생한다.
  • 영화에서는 마지막 화성 랑데뷰 장면에서 선장이 직접 와트니를 구하러 가지만, 책에서는 닥터 베크가 구하러 간다.
  • 책은 쿨하게 마크 와트니 구조 장면에서 끝난다.

다음으로 영화에서 빠진 부분을 정리해봤다.

  • 중국 항천국에서 아레스 5 탐사대에 중국인 한 명을 추가할 수 있고, 미국인을 구조해서 중국이 미국과 등등하다는 사실을 보여줄 수 있다는 논리로 중국 국무원을 설득한다.
  • 책에서는 MAV를 개조해 아레스 4 탐사대가 와트니를 낚아 채어 스키아파렐리로 가는 시나리오를 구상한다. 물론 보급품을 와트니에 무사히 전달했다는 가정하에서.
  • 패스파인더를 태워먹은 이후 NASA와 교신은 모르스 부호를 사용해 일방향으로 와트니가 전송한다.
  • 스키아파렐리로 가기 위해 로버를 개조할 때, 비상용 텐트도 개조해서 함께 가져간다. 휴식 등을 위해 유용하게 써 먹는다.
  • 스키아파렐리로 향한 여정에서 영양소를 강화하기 위해 남은 감자를 모두 익힌 다음에 얼려서 가져간다.
  • 스키아파렐리로 가는 도중에 모래 폭풍을 만나 죽을 고비를 넘긴다.
  • 분화구를 통과하는 도중 로버가 옆으로 기울고 트레일러가 뒤집어져서 또 한번 죽을 고비를 넘긴다.

혹시 영화를 보면서 갸우뚱 한 부분이 있으면 책을 읽어보시라! 보너스로 책이 영화보다도 훨씬 유머러스하므로 즐겁게 읽을 수 있을 것이다. 강력 추천!

EOB

토요일, 10월 17, 2015

[B급 프로그래머] (Quora) 소프트웨어 공학도들이 믿는 가장 큰 미신은?

Quora에 What are the biggest myths software engineers believe?라는 글이 올라와서 독자 여러분께 소개드린다. 특히 사람들이 많이 읽은 대답이 있어 정리해보았다. 재미로 읽어보시길. ;)

  • 하루 이틀 정도 걸리는 작업은 주말에 확실히 끝낼 수 있다.
  • 관리자가 되는 사람은 대부분 숙달된 엔지니어다.
  • 가장 제대로 설계된 프로젝트가 시장을 장악하는 제품이 된다.
  • 특정 작업을 위해 설계된 도구가 해당 작업을 수행하기 위한 최선의 수단이다.
  • 몇몇 프로젝트를 끝내고 나면, 소프트웨어 엔지니어는 통신 위성 프로토콜, 분산 파일 시스템, 병렬 컴파일러, 선거 관리 시스템, 고성능 스트리밍 처리 엔진을 설계할 수 있게 된다.
  • 컴퓨터는 예측 가능하다.
  • OOP는 유용하다.
  • goto는 나쁘다.
  • Java는 훌륭한 언어다.
  • 논리와 정밀한 의사소통에 능하면 오늘날 세상에 대응해 제대로 준비된 개발자가 될 수 있다.
  • 내 코드는 스레드에 안전해!
  • 우리는 고객이 무엇을 원하는지 알아.
  • 최고의 제품이 시장에서 승리할 것이다.
  • 서비스는 100% 안정적이고 100% 일관성을 보증한다.
  • 6주만에 C++를 배울 수 있다.
  • 빈틈없는 업그레이드
  • 간단한 수정이므로, 테스트가 필요없다.
  • 이게 마지막 버그다!
  • 내 코드에는 버그가 없어!
EOB

토요일, 10월 10, 2015

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

추석 이후 새소식을 정리하지 않았는데, 시간을 투자해 정리한 결과 다양하고 풍성한 소식으로 여러분들을 찾아뵙게 되어 무척 기쁘다.

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