Post List

레이블이 Books인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Books인 게시물을 표시합니다. 모든 게시물 표시

2016년 3월 12일 토요일

[길벗] 소프트스킬 : 평범한 개발자의 비범한 인생 전략 71가지

소프트스킬 : 평범한 개발자의 비범한 인생 전략 71가지

안녕하세요. 이번에 소개해 드릴 책은 나는 프로그래머다에서 정개발님이 추천해주신 소프트스킬이라는 책입니다.
이전에 읽은 훌륭한 프로그래머가 되는 법 : 프로젝트와 팀을 성공으로 이끄는 선배 개발자의 노하우와는 또 완전히 다른 느낌의 책이었습니다.
훌륭한 프로그래머가 되는 법은 뭔가 율법서 같이 딱딱하면서 실제 업무를 훌륭하게 하는 방법에 대해서 레퍼런스 식으로 소개하는 책이라면소프트스킬은 개발 이외의 개발자의 삶에 대해서 저자가 조곤조곤 조언해 주는 내용으로 부드러운 대화같은 책입니다.
여기서의 소프트스킬은 Software의 소프트가 아니라
  • Hard Skill : 업무적으로 필요한 기술들
  • Soft Skill : 업무이외의 필요한 기술들
    로 구분했을 때의 소프트스킬입니다.
책표지의 작은 글씨로 흔한 개발자. 나는 어떻게 살아야 하나 ? 란 문구가 참 짠~하게 와닿더라구요.
총 7개의 큰 부분으로 나뉘어져 있습니다.

1부 경력

스타트업, 중소기업, 대기업 별 근무환경 및 특징에 대한 간략한 소개와
개발회사와 비개발회사에서의 개발자의 처우 등... 부터해서
승진, 면접, 이력서 등 다양한 내용들을 다루고 있습니다.
기술을 너무 신봉하지 말라는 말과 3년이 지난 기술 중 많은 부분은 더 이상 쓸모없는 기술이다 라는 말이 가장 기억에 남네요.

2부 셀프마케팅

블로그, SNS, 외부강연 등을 통해서 자신을 마케팅하는 방법을 소개하고 있습니다.

3부 학습

개발자의 공부법을 소개해주고 있습니다.
책 그림
우리는 한번도 독학하는 법을 배워본적이 없는데 개발자로서 공부할 때 가장 필요한 것은 독학을 하는 방법이라는 말로 시작하여, 새로운 기술을 익이는 10단계 학습법은 주니어 개발자들에겐 반드시 알려줘야 할 내용이라 생각됩니다. 남을 가르치는 과정에서 자신이 얼마나 더 많이 배울 수 있는가에 대한 얘기는 참 많이 공감이 갔습니다.
필자도 블로그에 뭔가를 정리하는 이유가 책을 읽는 것은 그냥 그 당시에만 머리에 남고 시간이 조금만 지나도 잊혀지게 되며, 그것을 직접 실습해보면 조금 더 그 기억이 오래가며, 해당 기술에 대한 두려움이 있었던 경우에는 그 두려움을 없에주는데 도움이 되며, 블로그에서 글로 정리를 하다보면 어떤 순서로 쓸것인지를 생각하면서 그 동안 머리속에 뒤죽박죽으로 있던 지식을 체계적으로 모아서 분류하는 과정이 일어나서 큰 도움이 되었습니다.
하지만, 아직도 늘 누군가가 책, 강연 이런 얘기를 하면...
책은 읽는 것이지 쓰는게 아니다.
강연은 듣는 것이지 하는게 아니다.
라고 발뺌을 하고 있습니다. ;;;

4부 생산성

집중력을 높여서 작업의 생산성을 높이는 방법에 대해서 소개해 주고 있습니다.
뽀모도로 기법(https://ko.wikipedia.org/wiki/뽀모도로_기법)에 대해 소개해 주고 있어서 한번 날잡고 해봤습니다.
정말로 한 2,3일 정도 걸릴 것이라 생각했던 작업이 하루만에 끝나는걸 보고 스스로 놀랐습니다.
하지만, 그때 했던 작업이 뭔가를 구현하기 위해서 개발하는 과정이라서 가능했던 것이지, 회사의 모든 업무에서 완벽하게 25분간 주위의 방해를 받지 않고 집중하는 것은 무리가 있어 보이며, TDD가 되지 않는 개발환경에서 UI를 손으로 직접 조작해가면서, 일정 시간 이상 조작하며 테스트 하며 디버깅 하기에는 25분의 집중이라는게 큰 의미가 없어 보였습니다.
자택근무나 카페 같은데서 모각코(모여서 각자 코딩)하는 경우에는 상당히 효과적인 방법으로 보입니다.

5부 재무관리

월급을 어떻게 효율적으로 관리를 하는 방법과 부동산투자, 옵션투자에 대해 소개하고 있습니다.

6부 건강

음식, 수면, 운동의 중요성과 효율적인 방법에 대해 소개하고 있습니다.

7부 영혼

정신이 신체를 지배한다는 사실과 긍정적 사고의 중요성, 심지어 연애문제까지도 짧게나다 다루고 있습니다.

총평

개발자를 위한 자기개발서가 몇년전만 하더라도 많이 없었는데, 요즘은 많아 졌습니다. 이책은 다른 책과는 다르게 개발자를 위한 자기개발서이지만, 기술적인 내용이 아니라 기술 이외의 자기관리를 하는 방법에 대해서 총괄적으로 다룬 책입니다. 모두들 한번씩은 꼭 읽어보셨으면 합니다. 이 책의 저자는 33세에 이미 은퇴를 한 성공한 개발자입니다. 이 책 한권에 모든 내용이 다 들어있지 않습니다. 저자가 이 책에서 소개한 내용중 더 자세한 것을 알고 싶을 경우 보면 좋은 책에 대해서도 소개해 주고 있습니다. 물론 한국과 미국과는 여러가지 상황이 다르긴 하겠지만 그걸 감안하고 보더라도 이책을 보기 전의 나와 보고난 후의 내가 확실히 달라졌고, 앞으로도 계속 달라져야 할 것이다라고 느끼고 있습니다.

2015년 12월 24일 목요일

[한빛미디어] 훌륭한 프로그래머가 되는 법 : 프로젝트와 팀을 성공으로 이끄는 선배 개발자의 노하우

훌륭한 프로그래머가 되는 법 : 프로젝트와 팀을 성공으로 이끄는 선배 개발자의 노하우

안녕하세요. 이번에 소개해 드릴 책은 최근에 나온 화제의 도서 훌륭한 프로그래머가 되는 법 : 프로젝트와 팀을 성공으로 이끄는 선배 개발자의 노하우 입니다.
프로그래머로 사는 법 처럼 부담없이 읽을 수 있는 에세이라고 생각을 했는데, 엄청난 착각이었습니다.
팟캐스트 나는 프로그래머다: 뉴욕, 서울, 도쿄 개발자의 촌철살인 IT 이야기 처럼 재미있는 책도 아니었구요.
한마디로 표현하자면 율법서 같다고나 할까요 ?
생각보다 많이 무거운 내용이었습니다. 읽는 내내 엄청 아픕니다. 가슴을 엄청 찔러대더군요.
가끔씩 나름 개그라고 쓴 내용도 있고, 그림도 있긴 했습니다만...
책 그림
전체적인 분위기가 너무 무겁다 보니 그것 또한 웃음으로 다가오기 보다는 좀 심각한 표정으로 보게되더군요.
이 책의 내용을 짧게 요약하자면... 요약이 안됩니다.
그럼 책 내용중 중요한 부분만 정리하자면... 정리가 안됩니다.
어디하나 버릴 내용이 없습니다. 433페이지까지 모든 페이지가 다 중요합니다.
그 중 특히 이 부분이 더 중요하다 싶은데를 꼽을 수도 없습니다. 다~ 중요한 내용입니다.
말그대로 율법서 입니다.
  1. you.write(code);
  2. 연습을 통해 완벽해진다.
  3. 개인적인 일로 받아들이기
  4. 일 끝내기
  5. 사람의 일
    부록. 국내 개발자 이야기
이렇게 5개의 부분을 39개의 챕터로 나눠놨습니다.

Part 1 you.write(code);

13개의 챕터로 구성되어 있으며, 주로 코드 작성시 주의해야 할 사항에 대해서 설명되어 있습니다.
각각의 테스트 단계에 대한 설명 및 오브젝트간의 복잡도(complexity)에 관한 설명도 같이 있습니다.
일반적인 프로젝트의 형태와 처음부터 디자인을 잘잡고 시작한 프로젝트에 대한 비교를 이야기 형식으로 서술한 부분의 이야기가 참 재밌으면서도, 안타까우면서도, 부러우면서도, 그랬습니다. ;;

Part 2 연습을 통해 완벽해진다.

코딩시의 규칙들, 코드 재사용에 대한 이야기, 버전 관리 및 배포(release)에 관한 이야기들이 있습니다.
개인의 개발규칙보다는 회사에서 팀으로 작업할때 필요한 이야기들입니다.

Part 3 개인적인 일로 받아들이기

이 파트에서는 개발자로서의 삶, 자세에 대한 이야기가 주를 이룹니다.
개발자로서 배움을 지속해야 한다는 이야기 및 개발자의 윤리, 언어 및 자세에 대한 이야기를 하고 있습니다.

Part 4 일 끝내기

이 파트도 개인적인 이야기 보다는 회사내에서 팀으로서의 작업에 대한 이야기 입니다. (파트 2의 후속 파타라는 느낌이 강합니다.)
개발이라는 과정이 끝이 명확한 작업이 아닌 만큼, 어떻게 끝을 규정할 것인가 ? 누군가가 일의 진행 사항을 물었을때 어떻게 대답해야 하는가 등에 대한 이야기가 있습니다.

Part 5 사람의 일

프로그래머로서 개발에 대한 이야기 뿐 아니라 삶의 대한 이야기도 같이 있습니다. (파트 3의 후속이랄까요 ?)
생각, 말하기, 태도 등에 대한 이야기를 포함해서 전반적인 삶, 생활에 대한 이야기가 있습니다.

부록 국내 개발자 이야기

국내 개발자 4분께서 여러 가지 조언을 많이 해 주십니다.
굉장히 현실적인 조언이 많이 있어서 큰 도움이 되었습니다.
특히 프로그래머의 미래가 어둡다고 넋두리하는 것에 귀담아 듣지 말라고 하는 염재현님의 조언에 크게 공감이 되었습니다.

총평

진짜 어느하나 버릴 주제가 없는 꼭 필요한 책입니다.
가볍게 읽을 수 있는 책은 아니었습니다.
이 책을 읽으면서 내가 많이 부족하구나, 내가 많이 건방졌구나 란 질책도 많이 느껴졌으며,
반면 그래도 내가 완전 잘못된 방향으로 걸어온 것은 아니구나 라는 위안도 같이 받았습니다.
앞으로도 지금처럼 노력하면서, 책을 보고 느꼈던 나의 부족한 점을 하나하나 고쳐가야 겠습니다.
매일 기도하는 마음으로 책의 한 챕터씩 아니면 한 페이지씩이라도 읽으면서 이 책의 내용에 대해서 계속해서 되씹으면서 늘 옆에 두어야 할 책이라 여겨집니다.

2015년 12월 18일 금요일

[책리뷰] 선대인의 빅픽처 저성장 시대의 생존 경제학

선대인의 빅픽처 저성장 시대의 생존 경제학

안녕하세요.
이번에 소개 드릴 책은 선대인의 빅픽처 저성장 시대의 생존 경제학입니다.
제목 그대로 요즘같은 저성장 시대에서 개인이 어떤 관점을 가지고 경제를 바라 보아야 할 것인가에 대한 소개와
어떻게 투자를 해야 할 것인지에 대한 거시적인 안목을 가지는 방법 및 투자 방법을 한가지 소개해 주고 있습니다.

BIG PICTURE

세계 시장에 대해서 큰 시각으로 바로 보라는 의미와 주목해야 할 10가지 키워드의 머릿글자라는 2가지 의미로 저자는 소개하였습니다.
  • B : Bio-health Care
  • I : Interest Rate (금리)
  • G : Green (녹색산업)
  • P : Petroleum (석유)
  • I : India (인도)
  • C : China (중국)
  • T : Tech Companies (기술기업)
  • U : USA (미국)
  • R : Risk (리스크)
  • E : Exchange Rate (환율)
책 내용이 크게 어렵다던지, 무조건 이렇게 해라는 식은 아니어서 별 다른 거부감 없이 잘 읽혔습니다.
저금리 시대에 은행에 돈을 넣어두자니 아깝고, 너도 나도 부동산 하고 있으니 부동산에 투자하자니 불안하고...
등 고민이 많으신 분들은 꼭 읽어보시길 추천 합니다.
예전같이 금리가 15%씩 하는 이런 시절로 다시 돌아가기는 힘들기 때문에 그 시절의 경제적 논리로 투자를 하면 안된다는 것을 설명해 주고 있습니다. 현 시대의 투자법에 대해서 잘 정리가 되어 있냐 ? 그렇지도 않습니다. 왜냐하면 인류가 아직 이런 저 금리시대에 살아본 적이 없기 때문입니다. 지금의 경제 상황은 인류가 한번도 경험해보지 못한 상황이니 만큼 어느 누구하나 이게 정답이다 라고 할 수도 없는 상황입니다.
1장에서는 국내 증권사는 철저하게 개인의 이익에는 관심이 전혀 없다는 내용과, 달러 - 유가 - 금값 의 상관관계, 세계 4대 경제권과 우리나라 경제의 관계에 대해서 거시적인 관점에서 소개를 해주고 있습니다.
P.35에 아래와 같은 내용이 나오는데 참 공감이 갑니다.
가이드가 정박 중인 멋진 보트들을 가리키며 말했다.
"보세요 저 배들이 바로 은행가와 주식중개인들의 요트랍니다."
그러자 순진한 방문객이 물었다.
"그러면 고객들의 요트는 어디에 있나요?"
1장에서는 세계 경제에 대한 이야기 였다면, 2장에서는 한국 경제에 대해서 지금 현재 상황과 앞으로 어떻게 될 것이라는 작가의 의견이 서술되어 있습니다.
3장에서는 앞서 얘기한 10가지 키워드에 대해서 설명을 해주고 있습니다.
역시 중국 경제에 대해서 주목을 해야 한다는 것에 대해서 강조를 하고 있습니다.
중국이 현재 경제 불황이라고는 하지만, 그래도 다른 나라보다는 훨씬 높은 7% 대의 성장률을 보이고 있으며,
계속해서 투자가 일어나며 임금은 올라가고 일자리도 늘어나고 있다는 것에 대해서 주목을 해야 한다는 군요.
나머지 키워드에 대해서도 설명을 해주고 있는데, 서평에서는 생략하도록 하겠습니다.
다음에는 경제 흐름을 읽는 방법들에 대한 소개하고 있습니다. 비교적 위험 부담이 적고 회사일을 하면서도 크게 신경을 쓰지 않을 수 있는 투자 방법중 하나인 성장형 우량주 투자방법에 대해서 소개를 해주었습니다.
그리고 지난 4년간 그 방법으로 투자를 하여 수익을 냈다는 소개도 같이 해주고 있습니다.
뒷 부분에는 참조할 만한 사이트 4곳의 소개와 같이 읽으면 좋은 경제학 관련 책들에 대한 소개가 있었습니다.

2015년 11월 29일 일요일

못난이 목사 세계를 향해 날다 (박용배 지음)

못난이 목사 세계를 향해 날다

안녕하세요. 이번에 소개 드릴 책은 박용배 목사님의 자서전인 못난이 목사 세계를 향해 날다 입니다. 아무래도 목사님의 자서전이다 보니 종교적인 얘기가 아에 안들어 갈 수는 없겠죠 ? 좀 많은 부분 들어가 있지만, 기독교를 믿지 않는 분들에게도 크게 거부감이 적을 듯한 내용인 듯 합니다. 책의 첫 페이지를 넘긴 후 손에 놓지도 않고 3시간 정도동안 안쉬고 끝까지 한번에 읽었습니다.

저자 소개

현재 인천 청라국제도시에 있는 청라 사랑의 교회 담임 목사님이십니다. 제가 다니고 있는 교회이기도 하구요. 대한예수교장로회(개혁) 인 곳입니다. 교회 다니시는 기독교 교인분들 중에서도 영접기도다락방 이라는 말을 들어 보신 분들은 많이 없을 것입니다. 류광수 목사님과 뜻을 함께하시는 분입니다. 현재 중국 복음, 북한 복음을 위하여 중국쪽으로 사역을 많이 다니시고 있습니다. 자세한 내용은 아래 책 내용에 있으니 생략하겠습니다.

책 구성

350여 페이지가 됩니다. 부록으로 박목사님의 음반이 들어있습니다. 앞의 200여 페이지에 저자의 힘든 시절에 대한 이야기가 드라마 처럼 이야기로 풀고 있으며, 그 뒤 150여 페이지에 본격적으로 선교를 하시는 이야기 들이 있습니다.

저자의 삶

어린 시절 저자의 삶은 정말 비참함 그 자체였습니다. 일찍 어머니를 잃고, 아버지와 형님들이 술로 망가지면서 환영, 환각으로 인해 목숨을 잃으시고, 저자는 먹을 것이 없어서 주워 먹어 가면서 힘들게 초등학교를 마치고, 대구로 와서 일을 시작하게 됩니다.
소박하게 자신의 삶을 살아기지만 세상은 그렇게 호락호락 하지 않고, 죽고 싶은 순간도 많고, 누군가를 죽이고 싶은 순간도 많고... 그렇게 10년간 힘들게 모은 돈을 다른 이로 인해 다 잃어버리게 되고, 군복무를 위해 방위생활을 하는 동안도 먹을게 없어서 힘들게 사는 모습을 소개해 줍니다.
초등학교 졸업자인 목사님을 사랑으로 품어주신 분들을 만나 양자로 들어가게 되며, 그 분들의 딸과 결혼을 하게 되지만, 상처되는 말만 듣고 자살을 결심까지 하는 모습을 보고 있으면, 과연 내가 저 상황이라면 참을 수 있었을까란 생각이 듭니다.
책1
그 뒤 공부를 다시 시작해서 중,고등학교를 검정고시로 패스하고, 신학 대학원까지 졸업하였으나, 서울에서 달동내 교회를 만들지만, 어려운 사람들을 도와주어도 언제나 원성만 듣고 죽이겠다는 협박을 하는 사람들로 인해 상처를 많이 받게 됩니다.
정말 다이나믹한 인생을 저자의 눈 높이에서 그렸습니다. 늘 목사님이 말씀하시는 것처럼 나 자신만 보고, 내 처지만 보면 살 수 있는 희망도 살아가야할 의지도 모두 보이지 않는다.는 그런 현실을 견뎌내셨습니다. 오직 믿음 하나만으로 버텨온 인생이었습니다. 과연 나는 어떻게 살았는지, 저자에 비하면 훨씬 더 부족함 없이 살았으며, 나 스스로는 정말 벼랑끝까지 몰렸고, 이보다 더 밑으로 떨어질 수 없다 할 정도까지 떨어졌다가 일어났다 생각했는데, 그런 내 자신이 부끄러웠습니다.
길은 걷는게 아니라 스스로 만드는 것이다.
라는 메세지가 참 가슴에 와 닿았습니다.

선교 활동

뒷 부분에는 저자의 선교활동에 대한 이야기가 나옵니다. 자신의 처지와 비슷한 어려운 분들을 위해 복음을 하려 하였으나 상처만 받고 원색복음을 전도하기로 결심합니다. 원색복음이란 말을 처음 들어보시는 분들이 많을껀데, 뒤에 따로 설명하겠습니다.
방송인 들을 선교하는 것을 필두로 해서, 우연한 기회에 탈북자들에게 복음을 전하게 되었으며, 그러다가 세계복음화를 위하여 중국과 중국에 있는 북한 동포들에게 복음을 전하는 일들을 하는 이야기가 나옵니다.
이 부분은 성경이야기가 많이 나오므로 거부감이 있는 사람도 있을 수 있으니 생략하겠습니다.
아... 한의원 하시는 매형 이야기도 책 2군데서 나오더라구요. ㅎ
책1

원색 복음

원색복음에 대해서 소개를 아에 안할 수는 없을듯해서 아는게 많지는 않지만, 제가 아는 범위 안에서만 간단히 설명드리겠습니다.
어찌보면 기독교인들이 가장 듣기 싫어하는 말 중에 하나이기도 하구요.
말 그대로 복음에 대한 이야기 입니다.
왜 인간은 불행한가 ?
이 질문에 대한 원인을 성경에서 찾아서, 인간의 원죄, 구원 받을 수 있는 방법 등에 대한 이야기가 주가 됩니다. 그리고 빠지지 않는 이야기가 영적 문제 입니다. 말 그대로 귀신들린 사람부터 해서, 인간의 기준으로 도저히 해석이 안되는 문제들, 사고, 질병 등에 대한 해결도 범주에 속합니다.

2015년 11월 23일 월요일

[한빛미디어] 팟캐스트 나는 프로그래머다: 뉴욕, 서울, 도쿄 개발자의 촌철살인 IT 이야기

팟캐스트 나는 프로그래머다: 뉴욕, 서울, 도쿄 개발자의 촌철살인 IT 이야기

안녕하세요. 오늘 정말 재미있고 유익한 책 한권을 소개할께요. 최근 본 개발자 관련 서적중에 가장 재미있는 책입니다. 위에 제목에 나와 있듯 팟캐스트 나는 프로그래머다: 뉴욕, 서울, 도쿄 개발자의 촌철살인 IT 이야기 입니다. 팟캐스트 방송으로 이미 너무나도 유명한 책이죠.

팟캐스트 소개

저도 아직 제대로 들어보진 않았습니다. 이런 방송이 있다고는 알고 있었지만요. 그러다가 10월 말에 열린 나는 프로그래머다 컨퍼런스 관련 동영상들이 소개된 것을 통해서 들었는데 너무 재미있고, 개발자들의 입장에서 공감되는 이야기를 적나라게 해주는 것이 너무나도 시원시원 하였습니다.
위 Link에서 컨퍼런스 영상 및 팟캐스트 영상 모두 확인이 가능 합니다.

첫 인상

겉표지가 귀여우면서도 세련되었습니다. 캐릭터도 너무 귀엽구요. 개인적으로 데니스님 케릭이 가장 귀여워요. ㅎ 저번에 질문에 몇 번 답해주었다고 스타벅스 쿠폰을 2개나 보내주셨는데, 잘 마셨다고 인사도 못드렸네용.개발자의 가려운 곳을 긁어주마! 라는 말이 너무나도 인상적이었구요. 저런 말이야 누구나 다 할 수 있지. 정말 그렇게 다 긁어줄까 ? 라고 의문을 느낄 수 있겠지만, 이미 나프다 컨퍼런스 영상을 본 후라서 정말 그럴꺼라는 확신이 들었습니다.
책 표지

책 구성

실제 팟캐스트 방송에서 얘기한 것을 책으로 옮겨둔 것입니다. 물론 그 내용이 그대로 대본같이 들어있는 것은 아니겠죠. 그리고 거기다가 방송에서는 미처 얘기하지 못한 작가님들의 설명글도 중간중간에 포함되어 있습니다. 총 11개의 이야기로 구성되어 있구요. 각각의 이야기마다 주제가 있습니다.
  • 언어 : Java, Go, Scala
  • 기술 : MS, MS Build, AWS, FinTech
  • 삶 : MS MVP, 여자 개발자, 개발자영어, SI
이렇듯 모든 개발자라면 모두 관심있어할 만한 주제부터 해서 힘들어하시는 소외받으신 분들 이야기까지 개발자 분야의 꼭대기에서 바닥까지 모든 것을 다 다룬다고 해야 하나요 ?
책 표지

1부 언어

Java, Go, Scala 3가지 언어에 대한 내용으로 각각 방송을 진행한 이야기를 소개해 줍니다. 모든 방송마다 관련 guest를 초대해서 같이 이야기를 나누는 형식으로 진행됩니다.
Java 에서는 주로 자바의 미래가 어두운 점과 아쉬운 점에 대한 이야기가 주가 되구요. 한국의 전자정부 프레임워크가 만들어지게 된 배경부터 한국에서의 Java 개발자들의 안타까운 현실에 대해서 물론 직접 격으신 분들도 많으시겠지만, 직접 겪어보지 않으신 분들도 어느 정도 공감할 수 있도록 적나라하게 이야기를 해줍니다.
Go 언어에 대한 이야기에서는 현재 Google에서 활동하고 계시는 개발자분을 초대해서 이야기가 진행됩니다. Go 언어의 탄생 배경을 시작으로, ActiveX 이야기, Ruby에 대한 이야기등 개발자들이 관심 가질만한 주제에 대해서 이야기를 해줍니다.
Scala에 대해서 안 들어보신 분들은 없겠지만, 어떤 언어인지 제대로 아시는 분들은 아마 많지 않을 듯 한데요. 저도 그런 부류 중 하나이구요. 함수형 언어 ? 이게 뭐지 ? 란 생각은 들어도 그게 뭔지에 대해서 제대로 찾아 보신분들도 많지 않으리라 봅니다. 그나마 함수형 언어가 무엇인지에 대해서 감을 잡을 수 있도록 이야기를 해줍니다. Scala 언어의 탄생 배경부터해서 현재 스터디 활동 중이신 분들을 guest로 모셔서 이야기를 하고 있구요. 스터디를 함께 하고싶으신 분들을 위한 안내까지 해줍니다. 정말 앞으로는 함수형 언어가 대세가 될까요 ? 이 책에 따르면 그럴 수도 있겠단 생각이 드네요. 제가 이 책을 읽고 간단히 이해한 함수형 언어라는 것은
  • 모든 함수는 return값이 있어야 하며 call by reference로 인자를 전달하면 안됩니다.
  • 함수 안에서 인자로 전달받은 값이 아닌 다른 자원에 대해서 수정을 하면 안됩니다.
  • 즉 모든 제어를 함수의 입/출력을 통해서 해야합니다.
  • 그러므로, Unit Test 작성이 용의하며, bug 발생 가능성도 줄어들며, bug가 발생하더라도 예측하기 쉽습니다.

2부 기술

2부에서는 최신 기술들의 흐름에 대해서 알아 볼 수 있었습니다. MS의 신기술들, MS Azure, Amazon AWS 등 Cloud 활용시의 장단점을 비롯하여 FinTech의 범위와 국내 해외의 FinTech 현재 상황까지... 기술적인 부분부터 해서 서비스단의 이야기까지 많은 부분에 대해서 간접적으로 나마 이해하는데 많은 도움이 되었습니다. 그 동안 여러가지 컨퍼런스에서 직접 봐왔던 분들이 guest로 오셔서 이야기를 진행해주셨는데, 그 분들이 정말 대단한 분들이란 것을 느끼게 되었습니다.
책 표지

3부 삶

이 부분에서 정말 느낀게 많았습니다. MS MVP, 여자 개발자, 개발자 영어, SI 까지 여자 개발자 빼고 나머지 3가지 부분은 제가 관심을 가지고 있다던지, 아니면 직접 겪은 부분이라서 더 관심이 많이 가는 부분이었습니다. 지금도 온라인으로 영어강좌를 신청해서 듣고 있는데, 영어 학습과 개발자의 삶에 대해서 직접 임작가님의 재밌는 실수담 부터 해서 영어에 대한 두려움을 없에주는 용기도 주었습니다. 알게 모르게 일어나고 있는 여자 개발자에 대해서 한국 업체들에서 벌어지는 차별들에 대한 소개와, SI업체의 힘든 현실에 대한 부분도 알지 못했던 현실들이었구요.

총평

이야기 하나하나에서 다루는 주제가 개발자들이 관심을 가질 수 있는 주제에 대해서 미리 겪어본 선배님들의 이야기를 들음으로써 나중에 그 분야에 대해서 학습을 할때 시행착오를 덜 겪을 수 있도록 큰 도움을 주는 책으로도 괜찮으리라 봅니다. 물론 그냥 재미로 보기에도 좋은 책입니다. 너무너무 재미있구요. 이 책을 보니깐 시간내서 팟캐스트도 한번 쭉~ 보고 싶다는 생각이 듭니다. 책에는 11개의 이야기를 다루었지만, 팟캐스트는 쭉 진행중에 있죠. 반드시 2권이 출간되었으면 좋겠습니다. 이번 책은 한빛미디어에서 제공해주어서 좋은 기회에 좋은 책을 읽을 수 있었던것 같구요. 2권이 출간되면 반드시 사서 보겠습니다. ㅎ 좋은 책을 제공해주신 한빛미디어에 다시 한번 감사드립니다.

2015년 10월 30일 금요일

[한빛미디어] 자바 네트워크 소녀 Netty

자바 네트워크 소녀 Netty

첫 인상

처음 책을 받고 깜짝 놀랐습니다.
내가 분명 주문한 것은 IT 기술서적인데...
미소녀의 대형 브로마이드가 배송되었으며, 덤으로 책이 한권 같이 왔더군요.
Netty
두께가 많이 두껍지 않아서 부담없이 들고 다니기 좋아 보입니다. 하지만 표지 그림때문에 약간 들고다니기는 망설여 지더군요.
종이재질은 한빛미디어다 보니 당연히 최상이구요.
책안의 그림, 소스코드, 스크린샷 모두 눈에 쏙쏙 들어오게 되어 있었습니다.
  • 그림
    Netty
  • 스크린샷
    Netty
  • Source Code
    Netty

전체적인 서평

수많은 개발자들이 사용하는 언어,JavaNetty는 범용 자바 네트워크 프레임 워크입니다. Facebook에서 출시 된 것을 보고 어떤 내용일까 궁금했는데, 한빛리더스 2기 활동 중인데 이번 달의 목록에 이 책이 있었습니다. 그것도 선착순 5명만 가능하다고 해서 얼릉 신청했습니다.
Network Server 개발을 하기 위해서는 Socket을 이용한 Chatting Server만 만들어보면 됩니다.
Web Server 개발을 하기 위해서는 게시판만 한번 만들어보면 됩니다.
와 같은 말이 있습니다. 마침 Chatting Server 쪽에 대해서 괌심이 있었습니다. Netty의 내부를 이해하기 어려운 점이 있긴 하지만 처음에 추천의 말에서 네티를 처음 접하신 분은 4-5장을 꼭 정독하라는 글귀를 읽고 우선 4-5장부터 차례대로 보기 시작했습니다.
이 책을 읽어야 하는 독자들은 학생들 보다는 Java 현업에서 네트워크 통신 개발이 경험이 있는 프로그래머나 네트워크에 대한 기반과 Java 기본 개념에서 중급으로 넘어갈 수 있는 학생들이라면 추천합니다. 무작정 Java 초급이었다가 Chatting Server를 만들려고 이 책을 접했더라면 엄청 험난한 길에 접어들 것이라 예상됩니다. 기본적인 Linux 사용법과 전반적인 Server에 대한 지식, Java 개발 경험이 있는 개발자들에게 도움이 된다고 할 수 있겠습니다. 저는 Windows 환경의 개발자이고 Java도 공부를 한적은 있지만, Project 경험은 없어서 보는데 애를 좀 먹었습니다. 예전에 TCP를 이용한 Chatting Server / Client는 교육과정을 통해서 직접 만들어 본적은 있었습니다.
책을 전체적으로 볼 때 각 단원마다 마치며 라는 부분이 너무 좋았습니다. 이해 되지 않았던 단어들 및 그리고 현재에 이용해야 하는 개발자들에게 참고 사항같이 독자들의 배려로 보이는 것으로 집필자의 작성 글들이 섬세하다는 것을 많이 느꼈습니다.

1장 네티 맛보기

Network 관련된 기초 설명이 별도로 없기 때문에 Java 네트워크 프로그램에 대한 기본 지식이 있는 상태에서 접근해야 책을 보는데 도움이 될것입니다. 바로 다운받고 설치하는 과정으로 들어가고 특히 환경 설정에서 그림을 보여 주며 설명 해주는 부분은 기존 책들과 비슷합니다. 다만 책에서는 Windows 7을 기준으로 설명하고 있어서, Windows 8.1이나 Windows 10을 사용하는 독자들은 Putty 설치방법 등에 대해서 따로 찾아봐야 합니다. 각각의 필요한 Server에 대해 이해 할 수 있도록 우선 코드를 작성하면서 개념에 대해 설명해주는 것도 좋았습니다.
Source Code에 번호를 붙여 별도로 설명을 해줌으로써 Code를 작성하고 참고할 개발자들에게는 주석을 달아 놓도록 간단하게 설명해주기때문에 그 부분도 좋았습니다.
Netty

2장 네티 주요 특징

Netty의 주요 특징에서는 동기와 비동기에 대해 자세히 설명 해주지만 프로그램적 보다는 사전에 있는 내용을 인용했기 때문에 독자들의 호불호가 갈릴것 같습니다. 그리고 다른 책과는 달리 한 장 한 장씩 동기와 비동기를 그림으로 보여 주고 각각 설명 해주는 부분이 읽기에 부담 없고 이해하는데도 쉽게 도움이 되어 좋았습니다.
블로킹과 논블로킹 소켓에 대한 부분은 직접 Code를 입력해 보면서 숫자를 매겨 설명을 별도로 해주는 방식이라 Source Code에 대한 분석도 좋았습니다. 그림을 통해 다양한 종류로 보여 주기 때문에 이해되지 않는 부분에 대해서도 쉽게 이해할 수 있도록 노력한 점도 좋았습니다. 글만 읽게 되는 것과 글과 그림을 동시에 보여 주는 이해도는 엄청나게 차이가 난다는 것을 다시 한번 느꼈습니다.
Netty

3장 부트스트랩

부트스트랩은 개발자, 디자이너, 퍼블리셔라면 접해야 되는 부분인데 부트스랩의 기본 정의부터 API, 다양한 이벤트 핸들러 관련 부분과 설정까지 다양하게 정리되어 있고 우선 구조에 대해서도 그림으로 보여줌으로써 한눈에 특징을 볼 수 있습니다. Java 개발자들에게 볼 수 있는 다이어그램 및 패턴을 code로 작성해 보면서 code에 붙여 진 주요한 method의 특징을 기호를 찾아 설명을 읽으면 더 자세하면서도 바로 실무에 적용할 수 있는 code가 있는 점이 너무 좋았습니다.
Netty

4장 채널 파이프라인과 코덱

Event 실행을 할 경우에 실행 과정을 보여 줄 때 기호를 표기 해 준 것이 좋았습니다. 보통 책을 읽을 때 순서를 매기지 않고 설명 식으로 진행 해주는 책이 많은데 이 책은 이해하기 쉬웠습니다. 채널 파이프 라인 예시는 관련 개념을 모르는 사람이 보기에도 적절 했습니다. 전력 공급 과정으로 채널과 채널 파이프 라인의 관계를 표현 해주는 쉽게 이해가 되었고 그림 자체도 도움이 많이 되었습니다. 각각의 구성과 설명을 그림으로 표현하고 번호를 붙여 설명해 주는 것이 특히 채널 생성과 채널 파이프라인의 구성에 대해 1장에서 작성했던 code와 주석과 설명 그리고 그림까지 한꺼번에 번호를 매겨 보여 주는 것은 독자들로 하여금 작성하면서 이해 안되어 있던 부분까지 상세하게 보여 주는 배려가 보여 너무 좋았습니다. 이벤트 핸들러의 각각의 이벤트마다 간단한 설명만 있어서 독자들이 각각 해봐야만 이해할 수 있는 부분은 조금 아쉬웠습니다.
Netty

5장 이벤트 모델

웹 개발자라면 눈 여겨 봐도 좋은 chapter입니다. Node.js 와 ver.x(Netty)의 차이점을 이용해서 Netty 이벤트 모델에 대해 설명 해주기 때문에 기존에 웹 프로그램 경험이 있는 개발자들이라면 바로 개념을 이해하고 사용할 수 있도록 그림 설명과 처리량에 대해서는 그래프로 작성해 주어 바쁜 상황에 글을 읽지 못하더라도 한눈에 표로 확인할 수 있도록 배려한 것이 좋았습니다. 그리고 code가 예시로 나오기 때문에 직접 독자들이 작성해 보면서 이해할 수 있도록 해주는 것이 다른 기존 책들보다 상세하게 표현되어 있어 이해하는데 훨씬 도움이 되었습니다.
Netty

6장 바이트 버퍼

이 부분은 Java 개발자이면서 전공자면 조금 쉽게 접근할 수 있을듯 합니다. 예전에 NIO에 대해서 교육받은 적이 있어서 쉽게 이해할 수 있었습니다. 자료 구조와 관련된 부분이 많고 source code로 설명을 해주기는 하나 이 내용을 이해할 수 있는 것은 학생들 보다는 현업에 있는 개발자들 특히 버퍼를 많이 이용하는 개발자에게도 내용이 조금은 어려울 것 같습니다. 버퍼를 많이 이용한 개발자들에게는 예제를 통해서 Netty와의 차이점을 확연히 알아볼 수 있을 것 같습니다.
Netty

7장 네티와 채널 보안

7장부터 끝까지는 3부 Netty응용부분이라 기존에 Netty를 사용하는 개발자들에게는 필요한 부분과 이용할 때 참고 사항이 많아지는 부분입니다. 특히 Netty는 범용 네트워크 프레임워크기 때문에 보안에 대해 관심이 많고 그 보안을 어떻게 해야 할지 모르는 개발자들에게는 한줄기 빛과 같은 단원일듯 판단됩니다.
그리고 네트워크 보안에 대해서도 짧게나마 설명해주는 부분이 있기 때문에 개념에 대해 잘 모르고 이용이 어려울 경우에는 책에 있는 자료를 참고하는것도 좋은 방법일것 같습니다. Netty server에 SSL을 이용하는 내용을 추가해 주는데 Windows와 Lunux에 대한 설명이 같이 있고, OpenSSL을 이용하는 방법에 압축이나 명령 같은 부분을 직접 이용한 명령어로 보여줌으로써 쉽게 따라 할 수 있도록 배려해 준 것이 좋았습니다. 그리고 채널 보안 적용하기에 서버 부트스트랩 설정 코드와 번호를 붙여 간단하게 주석을 작성할 수 있도록 해주는 배려도 좋았습니다. 실제 네트워크 데이터를 캡쳐하여 유용하게 사용하는 도구와 방법을 언급해주므로서 필요할 경우 적용 할 수 있는 점이 좋았습니다.
Netty

8장 네티와 서드 파티 연동

Spring framework에 대한 기본 지식이 있어야 Maven에 접근이 가능합니다. 즉 Java만 배운 학생에게는 어려운 부분이 많아 보입니다. 하지만 Eclipse를 이용할 수 있는 사람이라면 실습은 쉽게 따라 할 수 있도록 잘 설명되어 있습니다. Eclipse에서 market이용하여 Maven 설치와 실습까지 동시에 진행이 되나 Linux에서 실행되는 것이기 때문에 CentOS를 잘 아는 학생이나 개발자들에게는 쉽게 이해 할수 있을듯 합니다. 그렇지 않을 경우 Linux와 Spring 기본 개념에 대해 공부를 하고 source code를 봐야지만 잘 알아 볼 수 있을 것입니다. 기본을 잘 알고 Spring까지 애플리케이션 작성 source code까지 있기 때문에 그대로 따라 해보고 실행해 보거나 응용할 수 있도록 해 주었습니다.
Netty

9장 네티로 구현한 API 서버

마지막은 Netty로 아예 처음부터 설계와 작업을 해서 실습이 되고 API 통합 테스트까지 해주므로서 Netty를 한번 더 과정을 볼 수 있게 해주는 과정이라 좋았습니다.
Netty