인사이드 자바스크립트 리뷰

인사이드 자바스크립트

이 책 “인사이드 자바스크립트”는 자바스크립트에 대한 기본적인 원리와 내부 구조를 자세하게 설명한 책이다. 모든 책들이 그렇겠지만 이 책과 같은 프로그래밍 언어를 설명한 책 역시 선택할 때 유의할 점이 있다. 그것은 저자가 책을 쓰면서 기대하는 독자의 대상에 읽는 이인 자신이 부합하는 지 여부이다. 이 책은 이런 점에서 더욱 각별한 주의가 필요하다.

왜냐하면 이 책은 프로그래밍을 해본 적이 없거나, 개발을 학습해 본 경험이 없는 이들을 위해서 처음부터 끝까지 모든 것을 알려주는 책이 아니기 때문이다. 이런 분들이 읽으면 무슨 이야기인지 도무지 모르겠다 하실 수도 있다.[자바스크립트에 대한 모든 것을 알기 원한다면 같은 출판사에서 나온 “모던 웹을 위한 Javascript + jQuery 입문”을 권장한다.] 책의 두께도 여느 자바스크립트 교재와 달리 상당히 가볍고, 날씬하다. 적절한 독자의 대상은 자바스크립트를 사용해 본 경험이 있는 초급 개발자에 해당한다고 볼 수 있다.

인사이드 자바스크립트-표

이 책의 장점은 첫 번째로 번역본이 아니라는 점이다. 역서는 역자가 아무리 훌륭하거나 내용이 출중해도 국내 개발자가 국내 정서에 맞게 쓴 책에 비해 약점을 갖기 마련이다. 더욱이 이 책은 번역서가 아니면서 내용 또한 알차다. 가장 마음에 드는 부분은 거의 모든 예제 코드의 구조나 플로우를 그림으로 설명한다는 점이다. 또한 DOM 활용으로 자주 쓰면서도 제대로 내부원리에 대해서 알지도 못했던 jQuery까지 간략하게나마 설명하고 있다. 책의 내용이 핵심만 밀도 있게 담고 있어 가볍기 때문에 휴대도 편리하다는 점은 부가적인 장점이기도 하다.

요약하면, 이 책은 자바스크립트의 기본원리를 자세히 살펴보기 원하는 사람들에게 딱 필요한 내용을 담고 있는 책이다. C나 자바와 같은 언어를 공부하는 느낌으로 자세하게 원리를 배울 수 있는 좋은 기회가 될 것 같다.

좋은 코딩 나쁜 코딩 리뷰

좋은 코딩 나쁜 코딩(2판)은 어떻게 프로그램을 짜는 것이 좋은 지 즉, “코딩 스타일”에 대한 실제적인 내용들을 설명하는 책이다. 이 책은 “~하라”는 제안 형태의 128가지 주제를 관련성 있는 내용들끼리 묶어 총 16개의 챕터로 구성되어 있다.

좋은 코딩 나쁜 코딩

책을 처음부터 순차적으로 끝까지 읽었지만 각 주제별 내용이 독립적이기 때문에 목차를 보고 관심 있는 내용을 먼저보아도 무방하다. 각 내용은 회사에서 직속 사수가 어떻게 코드를 짜야 되는지 알려주는 것 같은 느낌으로 설명해준다. 마치 이전에 읽었던 책 중 “프로그래머의 길 멘토에게 묻다“와 비슷한 느낌이 들고 비교를 하게 된다.

제안하는 내용들은 아주 기초적인 것들부터 아 이런 부분은 미처 몰랐네 하는 것들까지 상당히 세밀하게 코드를 잘 짜는 법에 대해서 설명해 준다. “코드를 잘 짠다.”하는 것의 기준을 어디다 두느냐에 따라 다르겠지만 기본적으로 가독성, 관습적 용례, 퍼포먼스 등을 고려하여 저자는 상당히 다양한 조언을 던져준다. 다만 코딩스타일이란 것이 정답이 있는 것이 아니기 때문에 저자가 조언하는 것을 모두 무조건 따를 필요도 없고 저자 또한 서문에서 그렇게 밝히고 있다.

코딩 스타일을 아직 접해보지 못한 학생이나 개발 초년생들에게는 이 책이 코딩 스타일이란 어떤 것인지 감을 잡는데 의미가 있을 것 같다. 다만 나를 포함한 주변인들을 보고 느낀 주관적인 경험상 코딩스타일이나 코드컨벤션은 실제 프로젝트를 하면서 스스로 그 필요성을 몸으로 느끼는 것이 더 중요한 것 같다.

프로그램 언어가 다양하고 최근엔 스크립트 류의 언어들이 호황을 누리고 있는 것을 감안할 때, 책에서 제안하는 내용들중 적용하기 어려운 부분들도 분명 있다는 점도 감안해야 한다. 또한 설마 이렇게 코딩하는 사람이 있겠나? 싶을 정도의 사례들이 간혹 공감이 잘 안될 때도 있긴했다.

좋은 코딩 나쁜 코딩

결론적으로는 저자가 말하는 바와 같이 코더로 머물고 싶지 않다면 코딩 스타일에 대해서 알고 있어야 하고 나름의 기준과 철학들이 필요하다고 생각하다. 이 책이 그러한 생각을 자라게 해주는 마중물이 되줄 수 있을 것 같다. 대학에서 처음 소프트웨어 개발을 배우는 학부생들이라면 소프트웨어공학 시간에 참고도서격으로 읽어보면 좋을 듯 싶다.

The Power of Events 내용 요약

power_of_events_book_cover_only

The Power of Events는 CEP(Complex Event Processing)이라는 개념의 기본서와 같은 책이다. 저자 David Luckham은 스탠포드에서 CEP를 연구하였고 CEP 아버지쯤으로 불리는 사람이다. 따라서 CEP를 연구하는데 있어서 이 책은 반드시 봐야할 책이다. 책의 구성은 크게 다음과 같이 2개의 파트로 나누어진다.

Part 1 A Simple Introduction to Complex Event Processing
Part 2 Building Solutions with CEP

전반부 파트1에서 챕터 1~4까지는 실제 엔터프라이즈에서의 프로세스를 IT 관점에서 조망하며 CEP가 어떤 의미를 지니는 지를 살펴보고 챕터5~7장까지는 좀 더 기술적으로 CEP의 기본 개념을 차근히 설명한다.

후반부 파트2에서는 복합이벤트 검출을 위한 EPL에 대한 이론적 설명부터 네트워크 구성, 구현 및 사례까지 빼곡히 담아냈다.

앞으로 이 책의 내용의 핵심을 요약할 예정이다.

Part 1 A Simple Introduction to Complex Event Processing

  1. The Global Information Society and the Need for New Technology
  2. Managing the Electronic Enterprise in the Global Event Cloud
  3. Viewing the Electronic Enterprise-Keeping the Human in Control
  4. Designing the Electronic Enterprise: 생략
  5. Events, Timing, and Causality
  6. Event Pattern Rules
  7. Building Personalized Concept Abstraction Hierarhcies

 

R로 하는 데이터 시각화 이북 리뷰

R로 하는 데이터 시각화

R로 하는 데이터 시각화는 한빛미디어의 리얼타임 시리즈로 출간된 이북입니다. 데이터 분석 및 시각화에 대한 관심이 있었기에  R 언어를 한번도 경험해 보지 않았음에도 불구하고 겁 없이 이 책을 선택해서 읽었습니다. 다행히 큰 어려움 없이 책을 읽을 수 있었고 이렇게 리뷰를 남깁니다.

이 책은 제목 그대로 정직하게 R을 통해서 데이터 결과물을 어떻게 시각화 할 수 있는지를 알려줍니다. 다행인 것은 저처럼 R을 처음 경험하는 사람들도 읽을 수 있게 2장 “R 프로그래밍 기본”에서 기초부터 차근차근 설명합니다. 물론 책의 주 목적이 R 설명이 아니기 때문에 자세하지는 않습니다.

또한 이 책을 읽으려면 최소한 기본적인 프로그래밍 지식을 가지고 있어야 합니다. 예를 들면 객체, 벡터, 리스트, Call by value나 Call by reference의 용어를 자연스럽게 사용합니다. 따라서 프로그래밍 경험이 없는 분들이 읽기에는 다소 어려움이 있을 수 있습니다. 

R 시각화

이 책의 핵심은 3장부터 소개하는 R을 통해 데이터를 시각화하는 부분입니다. 구체적으로는 ggplot2라는 패키지를 어떻게 다루는 지를 설명합니다. 설명을 위한 모든 예제에 코드가 제공되며 위의 그림처럼 간단히 책의 코드를 Copy&Paste해서 그대로 따라해 볼 수 있습니다.

데이터를 시각화 하는 R의 소스코드는 R을 처음 접하지만 그리 어렵지는 않습니다. 시각화하는 R의 코드는 논리적으로 프로그래밍하는 개념보다는 예를 들자면 MS오피스의 엑셀에서 차트를 그리는 일련의 과정을 GUI로 쉽게하는 것을 R에서 CLI형태로 하는 듯한 느낌일 뿐입니다.

따라서 여러가지 색상, 그래프 형태와 패턴등을 다루는 옵션들이 많기에 한번에 책의 내용을 다 소화할 수도 없습니다. 그때 그때 책의 예제에 소스를 참고로 다른 옵션들을 적용하면서 어떻게 결과가 나오는지를 보면서 학습하면 좋습니다.

책의 예제를 따라하면서 약간 아쉬운 점은 이북의 장점이기도 한 코드를 그대로 Copy&Paste하는 부분이 가끔 에러가 난다는 점입니다.

R 소스 오류

이는 타이포의 문제가 아니라 코드의 내용이 길어 한줄 내려 쓰기 할 때 문법에 맞지 않는 띄어쓰기가 들어있기 때문입니다. 따라서 제대로 실행하려면 R 문법에 맞지 않는 띄어쓰기를 지워야 정상적으로 명령이 실행됩니다. 이북으로 리얼타임시리즈가 갖는 장점이 바로 바로 코드를 옮겨 붙여 실행을 확인해 볼 수 있다는 측면에서 볼 때 약간 아쉬운 점입니다.

전반적인 총평을 하자면,  이 책은 ggplot2 패키지를 활용하여 어떻게 데이터를 시각화하는지에 대한 상세한 설명이 녹아든 책입니다. 더불어 R을 처음 접하는 독자도 감히 도전할 수 있는 책입니다. 다만 처음 R을 하는 사람들은 데이터를 시각화 하기 위한 전처리 작업, 즉 데이터 멍잉에 대한 부분은 좀 더 많은 연습과 준비가 필요한데 이 부분은 이 책의 목적과 거리가 멀어 많이 다루지 않기에 다른 자료나 교재를 통해 추가적인 예제 및 실습을 통한 학습이 요구됩니다.

방 안에서 R과 함께 따듯한 연말과 겨울을 보내봅시다!

R로 하는 데이터 시각화_리뷰

 

만들면서 배우는 CodeIgniter 프레임워크 리뷰

코드이그나이터 표지3년 째 워드프레스를 다루다 보니 정식으로 공부하지 않았지만 PHP 코딩이 편해졌습니다. 물론 PHP가 가지고 있는 단순한 문법 떄문인지 모르겠습니다만, 이러한 배경하에 PHP를 가지고 좀 더 진지하게 웹서비스를 구현해 볼까 하는 마음이 늘 있었고 때 마침 “만들면서 배우는 CodeIgniter 프레임워크” 책을 선택해서 읽게 되었습니다.

최근의 웹서비스 구현은 거의 예외없이 개발 편의 및 생산성 향상 등의 목적으로 프레임워크를 사용하고 있으며 CodeIgniter역시 대표적인 PHP기반 프레임워크입니다. 제목에서 드러내듯이 “만들면서 배우는 CodeIgniter”(이하 CodeIgniter) 책은 프로젝트 기반으로 기능을 하나씩 구현하면서 CodeIgniter 프레임워크 학습을 도와줍니다.

책은 11개의 챕터로 구성되어 있지만 실습 프로젝트 주제에 따라  Todo, 게시판, SNS의 3가지로 나눌 수 있습니다. 3개의 주제는 각각의 챕터 내에서 점진적 개발을 통해서 CodeIgniter의 기능을 맛 볼 수 있도록 도와줍니다.

책의 소스코드를 직접 다운 받을 수 있지만, 저는 일일이 소스코드를 처읍부터 타이핑하면서 읽어나갔습니다. 그러다보니 예상 밖의 코드오류들이 심심찮게 보였습니다. 타이포도 있었지만 제가 만난 대부분의 코드오류는 점진적인 기능 추가에 따라 코드 변경된 부분이 제대로 적용되지 않아 발생한 것들이었습니다. 예를 들면, 라이브러리 사용을 위한 선언 코드가  빠져있다든지, 기능이 개선되면서 함수의 매개변수가 바뀐 부분들이 적용이 안 된채로 남아 있다든지 하는 코드 오류들이 종종 보였습니다. 따라서 유의깊게 보지 않으면 책에 있는 소스대로 실행이 되지 않는 부분을 볼 수 있습니다.

그러나, 위와 같은 문제를 보완할 수 있는 방법들이 다행이 있습니다. 우선은 코드이그나이터 한국 커뮤니티의 존재입니다. 이 책의 저자분께서 코드이그나이터 커뮤니티에서 활동중이시며 궁금한 질문들을 책 전용 게시판에 올리면 빠르게 저자로부터 직접 답변들이 올라오며, 이미 비슷한 문제들에 대해서 검색을 통해서 해결방법들을 확인할 수 있습니다. 또한 다음 그림처럼 책의 방대한 코드에서 중요한 라인에 일일이 넘버링을 하고 설명을 하고 있어 길을 헤매지 않고 차근히 이해하는데 도움을 주고 있습니다.

코드이그나이터 코드예제

이 책에서 제대로 설명해주지 않는 부수적 효과(장점)은 트위터 부트스트랩의 활용입니다. 책 전반에서 트위터 부트스트랩을 사용하기 때문에 부트스트랩에 경험이 없는 분들도 자연스럽게 트위터 부트스트랩에 익숙해 질 수 있습니다. 다만 책에서 사용하는 부트스트랩은 버전이 2.x이므로 최근에 개편되 버전3와는 코드 호환이 되지 않습니다.

결론적으로, 이 책은 PHP에 대한 기본적인 이해와 웹서비스(HTML, javascript, ajax)에 대한 어느정도의 지식을 가지고 있어야 읽는데 지장이 없습니다. PHP를 가지고 한번 웹서비스를 제대로 구현해 보고 싶으신 분들께 실제적인 학습을 위한 도구로서 이 책을 주저없이 추천할 만 합니다.

라즈베리 파이 활용백서 리뷰

라즈베리 파이가 국내에 보급되면서 많은 이들의 관심을 끌고 있는 와중에 BJ퍼블릭에서 “라즈베리파이 활용백서”를 내놓았다. 개인적으로 라즈베리파이를 가지고 있기 때문에 이 책을 한번 읽어보고 싶었는데 기회가 닿아 실제로 읽어보고 책에 내용대로 따라해 볼 기회를 얻었다.

책의 구성은 6개의 챕터로 나누어진다. 1장에서는 기본적으로 라즈베리파이에 대한 간략한 소개와 함께 기본 환경설정에 대해서 다룬다. 글쓴이는 라즈베리파이를 사용할 때 초기에 네트워크 설정까지만 hdmi 케이블로 직접 모니터와 연결해서 작업하고 보통은 SSH로 라즈베리파이에 접속하여 커맨드라인환경에서 가지고 논다. 하지만 가정에서 미디어센터나 게임용으로도 관심 있는 분들을 위해 GUI로도 설정을 하는 방법들을 상세히 1장에서 다루고 있으므로 참조하면 좋을 것 같다.

라즈베리파이

2장은 본인이 주로 관심갖고 실제 구축한 웹서버와 관련된 내용이 나온다. 이 책을 보기 전까지는 데비안 계열의 라즈베리파이 공식 OS인 라즈비안 위에서 아파치와 mysql을 가지고 웹서버를 구성해서 센서와 연결작업으로 이것저것 테스트를 해보았다.

하지만, 이 책에서는 기본적으로 Arch Linux를 채택하고 nginx, PHP와 Maria DB등 최신의 그리고 새로운 기술들을 접목시켜서 구축하는 설명을 한다. 이 챕터의 내용은 꼼꼼히 다 따라해서 그런것도 있지만  고사양이 아닌 소형 싱글보드에 맞는 최적화된 구성의 웹서버 설치가이드를 제공하는 이 챕터가 다른 챕터의 내용보다 가장 마음에 들고, 유익했다.

웹서버를 기본 설치한 후에 워드프레스를 올리는 설명을 이어서 하는데, 개인적으로 워드프레스는 익숙하게 활용하고 있어 대신 PHP 코드이그나이터 프레임워크를 올려서 웹개발을 하고 있다. 성능은 혼자 가지고 개발하고 놀기에는 아주 만족스럽다. 다만 실제 2장의 내용들을 하나 하나 따라가다 보니 조금 변경된 부분들과 쉘 명령어에 오타가 조금 있어 이 부분에 대한 정정이 필요해 보인다. 다음판에서는 이 부분이 업데이트 되면 좋을 것 같다.

3장에서는 미디어센터용으로 기본으로 제공되는 XBMC에 대해서 설명한다. 간단한 설치 방법 후에 이어지는 내용 설명이 일일이 캡쳐화면으로 제공되어 상세한 반면 컴퓨터와 이런 환경에 익숙한 사람들에게는 다소 과도한 친절에 가까운 설명이긴 하다. 다만 가정에 미디어 센터용으로 아무것도 어떻게 할 줄 모르는 분들이 라즈베리 파이를 처음 접했을 때는 유용한 챕터가 될 것 같다.

4장은 네오지오 에뮬 설치 방법과 실제 네오지오 게임 구동을 안내한다. 직접 따라해 보지는 못했지만 역시나 상세한 설명과 가이드가 제공되니 현재 Arch로 올린 웹서버를 다시 라즈비안으로 바꿀 때 책을 꺼내서 따라해 볼 욕심이 생긴다.

이 책의 또다른 별미가 바로 5~6장이다. 5장은 제어기 활용이란 이름을 달고 있고 6장은 실전 프로젝트 샘플 20개를 제공한다. 라즈베리파이의 장점은 GPIO를 통해서 직접 다양한 하드웨어와의 통신과 연계가 가능하다는 점인데 이 부분에 대해서 상세하게 설명을 해주고 있다. 특별히 나같은 하드웨어와 전자 지식이 다소 부족한 사람에게 빵판에 어떤 부품을 어떻게 배치해야 하는지 위 그림과 유사한 배선도를 제공하고 각 프로젝트마다 친절하게 제공하고있어 따라하기가 무척이나 쉽다. 5~6장은 이 책에서 가장 빛을 발하는 부분이다.

다시 책의 전체 구성으로 돌아오면 이 책은 꼭 처움부터 따라 읽을 필요가 있는 책이 아니다. 자기가 관심 갖는 주제에 따라 때마다 골라보는 쿡북 형식이라 볼 수 있다. 더불어 책의 매챕터는 아래 그림과 같이 챕터의 말미에 친절하게 참고 사이트를 제공하고 있어 추가적인 정보를 확인할 수도 있다.

라즈베리파이-참고

사실 최근 웹상에 많은 정보들이 있기 때문에 어지간하면 구글링으로 모든 정보를 얻을 수 있지만 워낙 정보가 많아서 나에게 꼭 맞는 정보만 찾아서 잘 관리하는 것도 꽤 시간이 드는 일이다. 하지만 이 책은 라즈배리파이를 처음 시작하는 사람부터 어느정도 심도 깊은 프로젝트에 관심있는 중급자 모두에게 흥미로울 주제를 골고루 담고 있어 필요할 때마다 꺼내보는 재미를 가져다 준다.

라즈베리파이-리뷰

 

마지막으로 개인적으로 나는 라즈베리파이를 가지고 놀면서 가끔 잊거나 필요한 내용에 대해서 책 속에서 자주 찾아 볼 것 같은 부분을 북마크 해두면서 이 책을 대하고 있다. 라즈베리파이에 관심갖고 있는 다른 분들에게도 이 책이 좋은 길잡이가 되었으면 한다.

마켓 3.0 내용 정리

마켓 3.0

2년전에 읽었던 책이지만 관련 주제로 칼럼 쓸 일 때문에 다시 들춰 보면서 인상에 남는 구절들을 남겨본다.

3.0 기업들은 더 이상 사람들을 단순한 소비자로 대하지 않고, 이성과 감성과 영혼을 지닌 전인적 존재로 바라보는 접근방식을 택한다. 21p

창의적인 사람들처럼 기업 역시 ‘물질적 목적을 넘어서는 자기실현’에 대해 숙고해야 한다. 자신들이 무엇을 하는 조직인지, 그리고 왜 그 비즈니스에 종사하는지 반드시 이해해야 한다. 뿐만 아니라 스스로 ‘되고자 하는 바’가 무엇인지도 알아야 한다. 그리고 이 모든 것을 기업의 ‘미션’과 ‘비전’, ‘가치’에 담아야 한다. 소비자들이 이러한 기업들이 자신의 가치실현에 기여했다는 것을 인정해줄 때, 수익은 절로 따라올 것이다. 이것이 기업의 관점에서 보는 영성 마케팅, 즉 영적 마케팅이다. 49p

기업문화에 ‘사회적 관심과 변화에 대한 동참’을 포함시키고 이를 유지하기 위한 최선의 접근법은 바로 이러한 행동을 기업의 미션과 비전, 가치의 일부로 받아들이는 거이다.79p

미션은 반드시 진실해야 하며, 피터 드러커의 주장대로 근원적인 유의미성을 확보해야 한다. 피터 드러커는 모든 비즈니스는 반드시 위대한 미션으로부터 출발해야 한다고 단언했다. 100p

훌륭한 미션은 항상 변화(change)와 변혁(transformation), 차이(difference)를 만드는 것이어야 한다.101p

5대에 걸쳐 운영되어 온 가족기업인 S. C. 존슨의 핵심가치는 당연하겠지만 가족 가치다.  S. C. 존슨은 소비자들뿐 아니라 직원들엑도 이러한 가치를 장려하는 데 많은 노력을 기울이고 있다. 136p

기업은 사회적 문제의 해결책을 찾는 일에 동참해야 한다. 192p

사회 문화적 변혁을 이루기 위한 3단계 203p

사회 문화적 변혁을 이루기 위한 3단계

사회적 비즈니스 기업(Social Business Enterprise, SBE)은 무하마드 유누스가 만들어낸 용어로, 이윤을 내는 동시에 사회에 긍정적인 영향을 미치는 기업을 가리킨다. SBE는 비정구기구(NGO)도 아니고 자선재단도 아니다. SBE는 처음부터 사회적 목적을 띤 채 설립된다. 그러나 기존 기업을 SBE로 전환하는 일 또한 가능하다. 223p

사회적 변혁을 만들어내는 또 다른 방법은 우리 시대의 가장 심각한 글로벌 이슈의 해결에 기여하는 것이다. 237p

 

 

프로그래머들을 위한 통계학습 실습교재 Think Stats 리뷰

Think Stats 표지 프로그래머에 대한 정의가 사람마다 조금씩 틀리겠지만, 데이터 중심의 객체지향 프로그래밍이 흥왕하면서 아마도 데이터를 최전선에서 다루는 사람들로 이야기 할 수도 있지 않을까 싶네요. 이 포스팅에서 한빛리더스7기 미션도서로 리뷰할 Think Stats 역시 데이터를 수학적으로 다루는 통계에 관한 이야기 입니다.

Think Stats은 첫인상을 쓴 포스팅에서 말씀드린대로 한 마디로 프로그래머의 프로그래머에 의한 프로그래머를 위한 통계학 학습 책이라고 말씀드릴 수 있습니다. 따라서 내용은 주로 수학적인 공식과 이론설명보다는 실제 코드구현을 통해서 통계를 프로그래머에게 이해시키는 것이 목적입니다.

log_normal_distribution

이 책은 철저하게 이론 설명, 파이썬 예제, 그리고 용어정리의 구조로 반복됩니다. 그렇기 때문에 그냥 읽기만 해서는 내용을 제대로 소화하기 쉽지 않습니다. 예제코드를 리딩하고 위 그림처럼 코드를 돌려보고 결과를 확인하는 것이 상당히 중요합니다.

brfss_weight_log

혹시 파이썬이 처음이신 분들은 조금 어려울 수도 있습니다. 모든 코드가 파이썬으로 되어 있고 그래프 그릴 때 사용하는 matplotlib를 설치해야하기 때문입니다. 1 잘 설치되면 책의 예제를 따라 위와 같은 로그분포 그래프를 파이썬 코드로 그릴 수 있답니다. ^^

책이 실습위주라서 제 생각에는 최소한 고등학교 수학 선택과정인 확률과 통계 혹은 대학교양수업으로 통계학을 들어본 적이 있어야 읽기에 부담이 덜 할 것 같습니다.

마무리하면서, 이 책의 핵심은 예제의 코드를 돌려보고 결과를 눈으로 보는 것 입니다.  따라서 재미있게 따라해 볼 수 있는 반면에 통계이론에 대한 내용 생략이 많습니다. 주로 위키피디아 참조를 많이 하지요. (저처럼) 통계이론의 빠른 리뷰나 복습용으로는 적절치 않습니다. 오히려 기본 통계공부를 마친 뒤에 실제 활용측면에서 이 책이 빛을 발할 것 같습니다.

모든 프로그래머가 꼭 통계를 공부할 필요가 있는 것은 아니지만, 통계가 필요한 프로그래머에게는 기본적인 통계 공부 후 실습 교재로 Think Stats이 적절한 책이 아닌가 생각해 봅니다.

Notes:

  1. 책에서는 이런 부분에 대한 설명은 없어서 저는 구글링을 통해서 설치법을 찾아서 matplotlib를 설치 했습니다.

Think Stats, 한빛미디어 프로그래머를 위한 통계 학습

통계학이 학문세계에서 조미료처럼 안 쓰이는 곳이 없다보니 일부로 아껴두었다가 학부 4학년때 통계학을 수강했다. 하지만 시간이 꽤 지나고 난 지금 통계를 자주 활용하는 것은 아니다보니 기억속에 남아 있는 통계지식은 점점 사라져 간다.

Think Stats 표지

그런데 간간히 개발을 하다 보면 통계적 지식이 필요한 일이 있다. 그렇다고 학부 때 공부한 교재를 꺼내서 보자니 수식과 이론 중심의 내용은 귀찮고 시간이 많이 든다. 다행히 통계공부의 필요성을 늘 가지고 있던 찰나에 한빛리더스 7기의 리뷰 도서중 “Think Stats”이 보여 선택하게 되었다. 무엇보다 부제 “프로그래머를 위한 통계 및 데이터 분석 방법”이 딱 나한테 맞는 적절한 내용일 것 같았다.

Think Stats 실물 표지

이북을 다운 받아 아이패드에 넣어서 저자와 역자의 서문을 훑어보았다. 이 책은 대학에서 전산을 가르치는 Allen B. Downey가 쓴 “Think Stats” 를 번역한 것이다. 저자는 종래의 통계 도서를 전혀 보지 않고 전산 전공자 입장에서 어떻게 통계에 접근할 것인가를 고려하여 책을 썼다고 한다.

think_stats_comp저자는 누구나 자유롭게 공부할 수 있도록 내용을 공개하기를 원하여 홈페이지에서 영어 원문을 직접 다운받을 수 있도록 했다. 또한 페이스북 페이지도 운영하고 있어서 여기서 다른 정보도 얻을 수 있도록 한다.

구체적인 책의 내용은 전산전공자를 위해서 프로젝트 중심으로 파이썬을 통해서 진행하는 것 같다. 수식과 계산에 짓눌리지 않고 공부한 내용을 프로그래밍을 통해서 바로 확인할 수 있을 것 같아 재미있는 통계 공부가 될 것 같은 기분이다.

내용은 이북 사이즈로 전체 160 페이지라서 기억이 희미해지면 복습하기에도 부담없는 분량이다. 오늘부터 약 2주간 빠르게 읽어보면 좀 더 이 책의 매력을 알 수 있을 것 같다. 자 통계의 바다로 빠져보자!

Angular JS 기초편 eBook 리뷰

제목: Angular JS 기초편

한빛미디어에서 받은 Angular JS 기초편 eBook을 읽고 난 뒤에 느낌을 먼저 한 문장으로 요약해 보겠습니다.

요약: Angular JS 기초편은 마실 겸 뒷동산에 올랐다가 가파른 경사와 언덕을 만나 탈진할 수도 있는 책

AngularJS기초편 표지

책은 총 4장으로 구성되어 있습니다. 1장은  몇 가지 짧은 코드의 예제를 통해서 Angular JS만의 장점을 보여주는데 그다지 어렵지 않게 Angular JS의 기능들을 맛볼 수 있습니다. 짧은 1장의 내용에서 다음 장에 대한 기대를 주지요. 기존에 웹 프레임워크를 활용해서 개발해 본 적이 없는 분들도 1장은 쉽게 따라하실 수 있습니다.

2장에서 좀 더 깊게 Angular JS만의 기능들을 설명합니다. 데이터 바인딩, 지시어와 같이 Angular JS의 멋진 기능들을 설명하는데요. 이 부분은 다소 내용이 어렵습니다. 기능에 대한 설명보다 Angular JS의 장점을 설명하는데 포커스가 있다는 듯한 느낌이 강합니다. 저처럼 웹프레임워크를 이용한 개발이 익숙치 않은 분들에게는 조금 어려운 내용들이 많습니다. ajax나 자바스크립트에 대한 선이해도 필요합니다. 그래도 2장까지는 집중해서 여러 번 읽으면 Angular JS를 맛보는데는 좋은 역할을 합니다.

3장에서 본격적으로 anuglar를 활용해서 웹 어플리케이션을 개발하기 위한 도구와 방법을 안내합니다.  그러나 여기서부터 문제가 발생합니다. ㅠ 일단 이 책에서는 angular를 활용하기 위해서 yeoman이라는 툴을 사용합니다. 그런데 책이 쓰여진 시점 이후로 yeoman이 상당히 많이 바뀌었습니다. 따라서 책의 쉘명령어가 작동하지를 않습니다.

우선 yeoman을 설치하려면 107쪽에 나와있는 curl을 통한 설치는 더이상 제공되지 않고 npm이 필요하므로 Node.js를 먼저 설치해야 합니다. 자세한 설치 방법은 공식사이트를 참고해야 합니다. yeoman을 설치하고 나서 책과 달라진 명령어를 몇 개 소개하면 다음과 같습니다.

  • (angular 프로젝트 생성) yeoman init angular -> yo angular
  • (루트 추가) yeoman init angular:route home -> yo angular:route home
  • (테스트 실행) yeoman test -> grunt test
  • (프로젝트 빌드)yeoman build -> grunt build

마지막으로 4장에서는 하나의 예제를 통해서 angular JS를 활용한 앱의 숲을 볼 수 있도록 해줍니다. 하지만 역시 아쉽게도 1~3장에서 angular에 대해서 수박 겉핡기 식으로 훑고 나서 갑자기 4장에서 앱 하나를 통쨰로 설명하는 내용이 나타나니 이 역시 조금 버거운 느낌입니다.

본래 이 책은 Angular JS 원서를 두 번에 나누어 1~4장은 기초편으로 5~8장은 활용편으로 분리되어 국내에 출판된 것으로 압니다. 기초편에서는 angular JS에 대한 이해를 돕는데 초점을 두고 자세한 설명은 활용편으로  넘기고 있습니다. 따라서 기초편만 가지고는 angular JS를 온전하게 이해하는 데는 어려움이 다소 따릅니다. 따라서 이 책 하나로 angular JS를 이해하려는 기대는 조금 접어두시기를 부탁드립니다. 대신 angular에 대해서 잘 설명해 준 블로그 하나를 안내합니다.(클릭!)

개인적으로 웹에 관심이 없다가 최근에 웹 프레임워크가 다양해지고 발전하게 된 것을 보면서 조금씩 다시 배우고 있는데, angular는 최근 웹 프레임워크의 경향을 이해하는데 도움을 주었습니다. 물론 제가 위에서 평한대로 이 책 하나로는 angular를 온전하게 이해할 수 없습니다. 제안드리는 것은 한글로 먼저 이 책을 빠르게 훑어보고 angular의 공식 사이트의 튜토리얼을 차근히 따라가는 것을 제안해 봅니다. 마지막으로 대우정보통신 블로그에서 정리한 angular JS를 활용한 대규모 웹 개발 관련 블로그도 함께 링크를 남깁니다.(클릭!)