화요일, 3월 01, 2016

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

감기 몸살로 2월 말에 정리했어야 하는 소식을 늦게 전해드린다. 애독자 여러분들께서도 각별히 환절기 건강 유의하시길...

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

[일상다반사] English for Developers 3쇄 기념 이벤트 당첨자 발표

총 11분께서 이벤트에 참여해주셨습니다. 간단한 ruby 주사위 프로그램을 작성해 추첨한 결과를 알려드립니다.

  • 자카드
  • 설비영
  • 박영준

당첨되신 애독자분들께서는 제 이메일(jrogue 에뜨 gmail.com)로 받으실 주소/우편번호/성함을 알려주시면 금주 내로 책을 우편 발송하겠습니다.

그리고 특별히 이메일로 제안 주신 IL HAN님께는 English for Developer 책과 함께 기프티콘(아이스카라멜마키아또 또는 요거트 주스&망고 젤리 선택 가능)을 보내드릴 예정이므로 주소/우편번호/성함 이외에 전화번호도 함께 에메일로 제게 알려주시면 감사하겠습니다.

이벤트에 참여하신 모든 분들께 다시 한번 감사 말씀 드리며, 다음에 다른 이벤트에서 만나 뵙겠습니다. English4Developers 페이지에 계속해서 좋은 글을 올려드리기로 약속드리며...

EOB

토요일, 2월 20, 2016

[일상다반사] English for Developers 3쇄 기념 이벤트

English for Developers : IT 트렌드로 배우는 개발자 영어 독해가 지난 9월 초에 나온 이후로 2쇄에 이어 3쇄를 돌파했다는 소식을 어제 출판사로부터 들었다. 출간 기념으로 테헤란로 북 클럽 행사를 진행했는데, 3쇄 돌파 기념으로 뭔가 이벤트를 열지 않을 수 없다. 따라서, 다음 두 가지 이벤트 내용을 정리해드리겠다(양쪽 모두 참여 가능).

  1. 페이스북 좋아요 이벤트: English4Developers 페이스북 페이지 상단 배너의 좋아요 버튼을 누르고 여기에 댓글을 달아주시면 세 분을 추첨해 'English for Developers' 책을 선물로 보내드리겠다.
  2. 페이스북 내용 제안: 향후 English4Developers 페이스북에 올라올 좋은 내용이나 기획안을 이메일(jrogue 에뜨 gmail.com)로 제안해주시면 좋은 제안을 하신 독자분을 선별해 저녁(and/or 맥주) 대접을 해드릴 예정이다.

이벤트 참여 기한은 2월 마지막날까지로 정하며, 3월 1일에 이벤트 당첨자를 발표하겠다. 그러면 애독자 여러분의 많은 참여 부탁드리겠다.

EOB

토요일, 2월 13, 2016

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

약속드린 나머지 2주 소식을 정리해드리겠다.

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

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

설 연휴 잘 보내고 오셨는지? 2주 소식을 1차로 정리해보았다. 2차 정리는 저녁에 완료할 예정이다.

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

좋은 소식: 내주부터는 격주가 아니라 매주 소식을 전해드릴 예정이다. 격주로 하니까 분량이 너무 많아서 정리도 힘들고 읽기도 힘들어서...

EOB

토요일, 2월 06, 2016

[독서광] 위험한 과학책

아직 밀린 숙제(응?)를 완벽하게 처리하지 못했지만, 책이 밀렸기에 연휴 맞이 서평을 하나 정리해보겠다. 오늘의 주인공은 제목부터 무시무시한 '위험한 과학책'이다.

나무 막대기 사람이 과학을 설명하는 XKCD 사이트 내용 중 인기 있는 항목을 골라 묶은 이 책은 빌 게이츠의 2015년 여름 휴가 도서 목록에도 선정될만큼 인지도가 높다. 원서 부제인 "“Serious Scientific Answers to Absurd Hypothetical Questions"이 이 책을 가장 잘 설명하는 문구로서 멍청한 질문에 대한 진지한 과학적인 대답을 읽오 있으면 포복절도하다가도 긴장을 타지 않을 수 없다.

목차 중에서 몇 가지 흥미로운 항목을 골라보면 다음과 같다.

  • 지구가 자전을 멈추면
  • 진짜 광속구를 던지면
  • 사용 후 핵연료 저장 수조에서 수영을 하면
  • 다 같이 레이저 포인터로 달을 겨냥하면
  • 원소 벽돌로 주기율표를 만들면
  • 70억 명이 다 함께 점프하면
  • 두더지 1몰을 한자리에 모으면
  • 감기 전멸시키기
  • 갑자기 물 잔의 반이 비면
  • 인간이 자가수정을 한다면
  • 가장 높이 던질 수 있는 높이
  • 과속방지턱을 그냥 달리면
  • 궤도에 도달하기 어려운 이유
  • 인터넷보다 빠른 페덱스
  • 가장 오래 뛰어내릴 수 있는 곳
  • 프린트된 위키피디아를 업데이트하려면
  • 죽은 자들의 페이스북
  • 대영제국에 해가 진 날

제목만 봐도 알겠지만, 상당히 엽기발랄한 질문들이 많이 보이고, 대답 역시 이에 못지 않게 과격(!)하므로(스포일러를 피하기 위해 내용은 언급하지 않겠다) 별난 과학을 좋아하는 사람에게 딱 맞다는 생각이다. 개인적으로는 질문에 대한 답을 구할 목적으로 미분 방정식을 울프람 알파에서 풀다가 시스템 자원을 너무 많이 쓰는 바람에 계정이 중지되어 원상 복구하기 위해 진땀을 흘렸던 해프닝이 가장 기억에 남는다. 말도 안 되는 질문을 풀기 위해 강력한 컴퓨팅 파워를 썼다고 말하면 울프람 알파를 만든 스티븐 울프람이 울까 웃을까? 이런 상상의 나래를 펼쳐가면서 책을 읽을 수 있어 아주 좋았다.

결론: 어릴 때부터 엉뚱한 질문을 많이 했던 분들이라면 이 책이 무척 만족스러울 것이다. 과학도들에게 강력 추천!

힌트: 이 책을 감싸고 있는 표지를 벗겨서 뒤집어 보길...

주의: 심신이 약한 노약자는 종종 나오는 과격한 내용 때문에(예: 지구 멸망) 조금 곤란할지도...

EOB

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