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

토요일, 10월 03, 2015

[B급 프로그래머] (Quora) 소프트웨어 엔지니어가 고품질 개발 경험을 쌓기 어려운 이유는?

Quora에 실린 Why is it so hard for so many software engineers to get high-quality work experience?라는 질문에 대한 대답 중 흥미로운 내용이 있어 소개한다.

Drew Eckhardt가 제시한 답은 다음과 같다.

  1. 대다수 유용한 상업적인 소프트웨어 프로젝트는 통합 연습이다
  2. 대다수 직업은 기존 소프트웨어를 유지보수하는 작업과 관련이 있으므로, 대다수 엔지니어는 동작을 개선하는 새로운 소프트웨어 프로젝트를 반복적으로 구축하지 못하며, 따라서 다른 사람을 위해 고품질 소프트웨어를 구축하는 충분한 연습 기회를 얻지 못한다.
  3. 새로운 소프트웨어를 구축하는 대다수 직업은 처음 개발 단계부터 거쳐온 오랜 역사를 배우기 위해 동료 작업자와 함께 경험을 공유하지 못하므로 동일한 실수를 반복한다. 폭발적으로 엔지니어가 증가하고 있지만, 더 많은 엔지니어들이 경험이 부족한 상태이며, 잠재적인 멘토로부터 충분한 경험을 얻기 앞서 비 엔지니어 부문으로 옮겨가버린다(예: 관리자).
  4. 평형 상태를 유지하기 위해 동일한 상태에서 상대적으로 오랜 기간 동안 일해온 엔지니어링 리더가 관리직으로 이동한다. 소프트웨어 프로세스를 만드는 경험이 부족해질 수 밖에 없다.
  5. 프로젝트에서 엔지니어링 기술을 유지하기 위한 현재 상태(1~4번 참조)로는 고품질 개발 경험을 제공하지 못한다.
  6. 경험이 풍부한 엔지니어가 성장 가능한 부문은 아주 제약된 상황이다. 구글에서 5% 정도, VMware에서 3%, 대다수 스타트업에서는 한 두 자리만 이 수준에 이른다.

고품질 개발 경험을 얻으려면 샌 프란시스코 베이 에어리어에 가서 시스템 소프트웨어를 개발해야 한다. 벤처 캐피탈 펀딩으로 인해 새로운 개발이 지속적으로 일어나고 있기 때문이다. 새로운 개발을 수행하는 직업이 많기 때문에 훌륭한 동료들과 실질적인 경험을 쌓을 수 있다.

EOB