처음 처음 | 이전 이전 | 11 |다음 다음 | 마지막 마지막
빅데이터 컴퓨팅 기술 IT Cookbook 한빛 교재 시리즈 164
박두순 외 지음 / 한빛아카데미(교재) / 2014년 6월
평점 :
장바구니담기


이번 미션은 한빛리더스 8기의 마지막 미션이다. 

벌써 5개월의 활동 기간이 끝났다는 것이 믿겨지지 않는다. 마지막 미션이니만큼 유종의미를 거두도록 노력해보겠다. 

오늘 리뷰를 작성하게되는 책은 "빅데이터 컴퓨팅 기술"이라는 대학교재로 목적으로 만들어진 책이다. 대학교재라? 벌써 대학을 졸업한지 5년이 지나가고 있다. 풋풋했던 그때를 생각하며 읽어보았다. 

이제 빅데이터라는 말은 생소한 단어가 아니다. 

신문을 보거나 인터넷을 하거나 광고를 보다보면 빅데이터라는 말을 자연스럽게 듣곤한다.

하지만, 시간내어 찾아보진 못하고 그저 어깨넘어 들어본 정도의 지식만 가지고 있는 저에게는 이 책을 통하여 빅데이터의 개념, 구체적인 관련 기술 등에 대한 기반지식을 습득할 수 있을 것 같아 매우 기대가 된다.


첫인상

책을 처음 받았을 때의 느낌은 정말 상큼하다! 라고 느꼈다.

- 우선 책이 굉장히 얇게 느껴집니다. But, 책 페이지는 344페이지!
- 책 표지에는 푸른색 계열의 육각형들로 구성되어 있으며 빅데이터 관련 여러가지 기술들이 적혀있는 것 같습니다. 육각형은 안정(완벽)적 구조(ex. 벌집)를 보여주고 있기에 빅데이터에 대하여 명쾌하게 정리했다는 표현과도 일맥 상통한다고 볼 수 있을 것 같습니다. 
-
 책 본문은 컬러풀하게 꾸며져 있으며, 삽화나 텍스트들도 읽기 편하게 컬러링되어 있어서 좋아보입니다.


목차

1부 빅데이터 개요

1장 빅데이터 개념과 처리 과정

    1.1 빅데이터 등장 배경

    1.2 빅데이터 개념과 속성

    1.3 빅데이터 처리 과정과 기술

        1.3.1 빅데이터 소스 생성과 수집 기술

        1.3.2 빅데이터 저장 기술

        1.3.3 빅데이터 처리 기술

        1.3.4 빅데이터 분석 기술

        1.3.5 빅데이터 표현 기술

    1.4 빅데이터 활용 분야와 기대 효과

    1.5 빅데이터 시대 준비

    1.6 연습문제

    1.7 참고문헌

2부 빅데이터 컴퓨팅 기술

2장 빅데이터 수집 및 통합 기술

    2.1 개요

    2.2 빅데이터 주요 수집 및 통합 기술

        2.2.1 Flume플럼

        2.2.2 Chukwa척와

        2.2.3 Scribe스크라이브

        2.2.4 SQOOPSQl-to-hadOOP; 스쿱

        2.2.5 Kafka카프카

        2.2.6 OpenRefine오픈리파인

        2.2.7 JSONJavaScript Object Notation; 제이슨

        2.2.8 BSONBinary javaScript Object Notation; 비슨

        2.2.9 Thrift쓰리프트

        2.2.10 Protocol Buffers프로토콜 버퍼스

        2.2.11 Avro에이브로

    2.3 연습문제

    2.4 참고문헌


3장 빅데이터 저장 및 관리 기술

    3.1 개요

    3.2 빅데이터 주요 저장 및 관리 기술

        3.2.1 S3Simple Storage Service

        3.2.2 HDFSHadoop Distributed File System

        3.2.3 DynamoDB다이나모DB

        3.2.4 MongoDBMONGOus DB; 몽고DB

        3.2.5 CouchDBCluster Of Unreliable Commodity Hardware DB; 카우치DB

        3.2.6 Cassandra카산드라

        3.2.7 HBaseHadoop dataBASE; H베이스

        3.2.8 RedisREmote DIctionary System; 레디스

        3.2.9 Riak리악

        3.2.10 Hypertable하이퍼테이블

        3.2.11 ZooKeeper주키퍼

        3.2.12 Voldemort볼드모트

    3.3 연습문제

    3.4 참고문헌


4장 빅데이터 처리 기술

    4.1 개요

    4.2 빅데이터 주요 처리 기술

        4.2.1 Hadoop하둡

        4.2.2 Pig피그

        4.2.3 Hive하이브

        4.2.4 Cascading캐스캐이딩

        4.2.5 Cascalog캐스칼로그

        4.2.6 Mrjob미스터잡

        4.2.7 S4Simple Scalable Streaming System

        4.2.8 MapR맵알

        4.2.9 Acunu아큐누

        4.2.10 Azkaban아즈카반

        4.2.11 Oozie우지

        4.2.12 Greenplum그린플럼

        4.2.13 EC2Elastic Compute Cloud

        4.2.14 Heroku히로쿠

        4.2.15 R 프로그래밍 언어

        4.2.16 Pipes파이프

        4.2.17 Mechanical Turk미케니컬 터크; Mturk

        4.2.18 Solr/Lucene솔라/루씬

        4.2.19 ElasticSearch엘라스틱서치

        4.2.20 Datameer데이터미어

        4.2.21 InfoSphere BigInsights인포스피어 빅인사이트

        4.2.22 InfoSphere Streams인포스피어 스트림즈

    4.3 연습문제 

    4.4 참고문헌 


5장 빅데이터 분석 기술

    5.1 개요

    5.2 텍스트 마이닝 기술 

    5.3 오피니언 마이닝 기술

    5.4 리얼리티 마이닝 기술

    5.5 군집화 기술

        5.5.1 계층적 군집화 기술

        5.5.2 분할적 군집화 기술

    5.6 소셜 네트워크 분석 기술

    5.7 그래프 마이닝 기술

    5.8 빅데이터를 처리하는 기존 알고리즘 변형 기술

        5.8.1 도형 세기 알고리즘의 변형

        5.8.2 컬럼 빈도수 측정 프로그래밍 방안

        5.8.3 소셜 네트워크 통계 방안

        5.8.4 네트워크 분석 기법

    5.9 최신 빅데이터 분석 연구

        5.9.1 데이터 마이닝 연관 규칙을 활용한 빅데이터 알고리즘 

        5.9.2 빅데이터와 분류 기술 

        5.9.3 빅데이터와 군집화 

    5.10 빅데이터 주요 분석 기술 

        5.10.1 NLTKNatural Language ToolKit

        5.10.2 OpenNLP오픈NLP

        5.10.3 Boilerpipe보일러파이프

        5.10.4 WEKA웨카

        5.10.5 Mahout머하웃

        5.10.6 scikits_learn사이키트런

    5.11 연습문제

    5.12 참고문헌


6장 빅데이터 표현 기술

    6.1 개요

    6.2 빅데이터 주요 표현 기술

        6.2.1 Tag Cloud태그 클라우드

        6.2.2 Gephi게피

        6.2.3 GraphVizGRAPH VIsualiZation software; 그래프비즈

        6.2.4 Processing프로세싱

        6.2.5 Fusion Tables퓨전 테이블

        6.2.6 Tableau타블로

        6.2.7 TinkerPop팅커팝

        6.2.8 Clustergram클러스터그램

        6.2.9 Spatial Information Flow스페이셜 인포메이션 플로우

    6.3 연습문제 

    6.4 참고문헌


7장 빅데이터 플랫폼 기술

    7.1 개요 

    7.2 빅데이터 플랫폼 요소 기술과 구조 

        7.2.1 빅데이터 플랫폼 요소 기술 

        7.2.2 빅데이터 플랫폼 구조 및 세부 기술 

    7.3 빅데이터 플랫폼 관리 기술 

        7.3.1 가상화 기술 

        7.3.2 클라우드 환경에서 처리 기술 

    7.4 빅데이터 워크플로우 컴퓨팅 플랫폼 기술 

        7.4.1 그래프 기반 빅데이터 응용 

        7.4.2 그래프 기반 빅데이터 처리 기술 

    7.5 연습문제 

    7.6 참고문헌 

3부 빅데이터 기술 개발 현황과 실제 구현 예

8장 빅데이터 기술 개발의 현황과 활용

    8.1 개요 

    8.2 국내외 빅데이터 기술 개발 현황 

        8.2.1 국내 빅데이터 기술 개발 현황 

        8.2.2 국외 빅데이터 기술 개발 현황 

    8.3 빅데이터 산업체 현황

        8.3.1 EMC 

        8.3.2 오라클 

        8.3.3 IBM 

        8.3.4 SAP 

        8.3.5 테라데이타 

        8.3.6 마이크로소프트 

        8.3.7 코난테크놀로지 

        8.3.8 솔트룩스(트루스토리) 

        8.3.9 다음소프트(소셜 메트릭스) 

        8.3.10 그루터(씨날) 

        8.3.11 기타 사업체 

    8.4 빅데이터 활용 사례 

        8.4.1 공공·정부·과학 분야 

        8.4.2 정보 통신 분야 

        8.4.3 소셜 미디어 분야 

        8.4.4 의료·헬스 케어 분야 

        8.4.5 도소매 분야 

        8.4.6 제조업 분야 

    8.5 연습문제 

    8.6 참고문헌 


9장 하둡을 이용한 추천 시스템의 구현

    9.1 개요 

        9.1.1 협업 필터링과 연관 규칙을 이용한 추천 시스템과 하둡 에코시스템 

        9.1.2 실습 환경 구축 

    9.2 협업 필터링 기법과 머하웃을 이용한 구현 

        9.2.1 협업 필터링 기법의 원리 

        9.2.2 사용자 기반 추천 엔진의 구현 

        9.2.3 아이템 기반 추천 엔진의 구현 

        9.2.4 협업 필터링 기법에서 추가로 고려할 사항 

    9.3 연관 규칙 기법과 피그, 하이브를 이용한 구현

        9.3.1 연관 규칙 기법의 원리 

        9.3.2 피그를 이용한 연관 규칙 구현 

        9.3.3 하이브를 이용한 연관 규칙 구현 

    9.4 추천 시스템의 구현 

        9.4.1 데이터 준비하기 : u.data 

        9.4.2 전처리하기 : PHP 

        9.4.3 단일 아이템 빈도수 구하기 : 샤크 

        9.4.4 아이템 (A∩B) 조합의 빈도수 계산하기 : 샤크 

        9.4.5 연관 규칙 계산하기 : PHP와 샤크 

        9.4.6 데이터 내보내기 : 스쿱 

        9.4.7 웹 서비스로 추천 기능 구현하기 : PHP 

    9.5 참고문헌 


빅데이터가 무엇일까? 알고 싶다!

이 책을 읽기전에 기대했던 것은 대학교재인 만큼 빅데이터의 정의와 그리고 관련된 기술들에 대하여 알고 싶었다. 

책의 구성은 위 목차에서도 봤듯이 빅데이터의 개념부터 시작해서 빅데이터를 가공하기까지의 기술들을 소개하고 있다. 그리고 어떻게 그 빅데이터 정보들이 활용되고 있는지 설명하고 있다. 

빅데이터는 전통적 개념으로는 결국 아주 방대한 양의 데이터를 의미한다고 한다. 
그리고 현재는 빅데이터의 5가지의 속성을 정의하여 표현하기도 한다.



과거에는 정보(데이터)를 생산하는 주체는 한정되어 있었다. 하지만 요근래는 정보를 생성하는 주체가 특정한 부류에서 개인으로까지 넓혀졌기 때문에 기존의 데이터 규모와는 말도 아니게 방대해지게 된 것이다. 
그도 그럴 것이 지금 나 역시 이 리뷰를 작성하고 있는 것을 봐라. 이러한 데이터들도 역시 빅데이터의 일부가 되는 것이다. 이렇게 다양 주제, 방대한 양의 데이터를 처리하려면 기존의 데이터 처리 방식에서도 문제가 발생할 수 밖에는 없다. 그래서 빅데이터를 수집부터 저장, 처리, 사용가능한 형태가 되기까지 많은 작업들이 필요하게 되었다. 


이 책은 그러한 내용에 대하여 큰틀을 잡고 세세한 기술들에 대하여 간략하게 나열하고 있다. 
각 개별적인 기술에 대해서는 추가적으로 관련 책들을 읽어보기를 원한다. 

책을 읽다보니 T-Mobile 사의 사례가 나왔다. T-Mobile사는 자신들의 고객들이 타 통신사로 이탈하는 것을 막기 위하여 고객들의 통화 및 송수신 내역을 담은 빅데이터를 분석하여 이를 방지했다고 했다. 이 대목에서 개인정보 유출? 이라는 문제가 발생한 것 아니냐? 라는 생각이 들었다. 
고객들의 개인정보를 허락없이 분석했다는 것 아닐까? 이래도 되는지 의심이 들었다.

책을 읽다보니 이러한 빅데이터의 시대에 살고 있는 우리가 꼭!? 빅데이터에 대하여 알아야 하는것인가?
라는 생각을 해보게 되었다. 빅데이터가 분명 우리 삶의 편의성을 제공해주는 것은 맞는 것 같다.
그 예로, 구글이나 가끔 쇼핑몰 사이트를 이용하면 내가 가지고 싶었던 내용들이 어떻게 딱딱 맞게 나오는 것인가? ㅎ 그건 아마도 내가 그 동안 검색했던 내용들을 수집하여 패턴을 분석하여 관련된 정보를 같이 보여주는 빅데이터 기술이 적용되어있기 때문일 것이다. 

분명 회사의 이익 증대, 고객의 편의성 등이 있지만 이 또한 잘 사용해야 할 것 같다는 생각이 들었다. 


연습문제와 참고문헌

각 장이 끝날때 마다 연습문제와 참고문헌이 나온다.
역시 대학교재라 그런지 연습문제는 시험에 나올법한 내용들에 대하여 물음을 던지고 있다.
하지만 질문들을 보면 빅데이터의 이해, 습득을 너무 강요하는 것 같아 아쉽게 느껴지는 대목이다. 

참고문헌은 정말 많은 책들을 참고하여 이 책에 담아 두었구나 하는 생각을 들게 한다. 
그 말은 곧 개요정도의 설명이니 자세한 사항은 추가적인 부분을 찾아보라는 의미겠지 않겠나?
처음 개념을 잡고 사용되는 기술들이 궁금한 독자들은 아주 유익하게 볼 수 있을 것 같다.


마무으리~

끝으로 이 책은 컬러풀하여 읽는 내내 기분이 좋았다.
오랜만에 빅데이터에 대한 정보를 습득하면서 시험을 봐야 할 것 같은 생각에 암기하는 나를 보게되었다. 
빅데이터 컴퓨팅 기술 앞으로 어떻게 더 발전해 나갈지 기대해보겠다. 

"이 리뷰는 한빛리더스 8기 활동의 일환으로 작성되었습니다."


댓글(0) 먼댓글(0) 좋아요(1)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
글로벌 소프트웨어를 말하다, 지혜 글로벌 소프트웨어를 꿈꾸다 시리즈
김익환 지음 / 한빛미디어 / 2014년 6월
평점 :
장바구니담기


이번에 리뷰할 책은 최근에 출간된 우리나라의 IT 소프트웨어 산업에 쓴소리?를 해주는 "글로벌 소프트웨어를 말하다, 지혜"라는 제목을 가진 책이다. 

나는 글로벌 소프트웨어라고 하면 생각나는 것들이 다 외국산 S/W 밖에는 생각이 잘 나지 않았다. 
예로 운영체제(OS)도 그렇고, Office, PhotoShop 등이 생각이 났으며, 국산 S/W하면 생각나는 것이 있다면 한글과 컴퓨터, AhnLab 백신 등이 생각이 났다. 

정말 이 책을 보면 글로벌 소프트웨어가 될 수 있게 하는 마법같은 내용이 있는 것일지 궁금해진다. 


첫인상

깔끔한 백지에 붓글씨로 써내려간듯한 글꼴이 심플하면서도 진지한 느낌(?)을 표현해주고 있는 것 같습니다. 무엇보다 크기는 작게 표현되어있지만 "지혜"라는 단어가 책의 내용이 어떤 의미를 내포하고 있을지 궁금하게 하는 역할을 하고 있다고 생각이 들었습니다. 이제 천천히 읽어보려 합니다. 


목차

이 책에서는 목차라고 1장에서 6장까지 나눠놓기는 했지만 읽다보니 순차적으로 읽어야 하는 것 같아보이진 않았다. 물론 1장부터 읽다보면 자세한 내용은 XX장을 참고하세요 라고 멘트가 적혀있긴 하지만 꼭 앞에서 부터 읽을 필요는 없어보인다. 


1장. 지혜란 무엇인가?

    01 제1원인(First Cause)을 찾아라

    02 소프트웨어는 지식 산업이다

    03 프로는 아름답다

    04 하드웨어와 소프트웨어는 같고 나서 다르다

    05 인과관계와 상관관계의 오류

    06 손자병법을 읽고 손무가 되는 착각을 하다

    07 Top-Down 방식은 왜 어려울 수밖에 없는가?

    08 갈라파고스 증후군

    09 정의란 무엇인가?

    10 깨닫는 데 걸리는 시간 10년

2장. 좋은 고객서비스가 글로벌 소프트웨어의 장애물이다

    11 공감대의 병폐와 선각자의 외로움

    12 개발자를 바보로 만드는 문화

    13 죄수의 딜레마와 엘리트 카르텔

    14 좋은 고객서비스가 글로벌 소프트웨어의 장애물이다

    15 패배로 이끄는 습관의 유혹

    16 악령이 출몰하는 소프트웨어 세상

3장. 개발자의 가치는 도메인이 아니라 소프트웨어에 있다

    17 모차르트, 호킹, 기타리스트, 훌륭한 개발자의 공통점

    18 인재가 중요한가, 시스템이 중요한가?

    19 베이비시팅과 훌륭한 코치의 역할 차이

    20 매트릭스 속의 개발자, 깨어나야 한다

    21 코딩은 시작이 중요하다

    22 책에 나온 대로 코딩하면 초보자다

    23 페르마의 마지막 정리보다 어려운 문제

    24 구글이 원하는 개발자, 문제해결 역량

    25 오픈소스의 혜택은 무궁무진하다

    26 개발자의 가치는 도메인이 아니라 소프트웨어에 있다

4장. 쉬운 일보다는 어려운 일을 먼저 해라

    27 글로벌 소프트웨어 회사의 필요조건과 특징

    28 CTO와 CEO의 좋은 만남과 나쁜 만남

    29 회사의 잘못과 학교의 잘못

    30 국내 소프트웨어 회사의 6가지 불치병

    31 개발팀의 커뮤니케이션이란 무엇인가?

    32 어려운 일과 쉬운 일, 왜 순서가 중요한가?

    33 존경의 대상인가, 해고의 대상인가?

5장. 우리는 인도에 개발 외주를 줄 수 있을까?

    34 인도에 개발 외주를 주는 방법

    35 설계에 대한 자세

    36 소프트웨어 공학, 프로세스, 문서화, 동료검토의 공통점

    37 화면 100개 중 50개를 만들었다. 몇% 완성되었는가?

    38 좋은 병행개발과 나쁜 병행개발

6장. 포기할 수 있는 단 한 번의 기회가 중요하다

    39 외주의 역설, 쉬운 것과 어려운 것

    40 포기할 수 있는 단 한 번의 기회

    41 2년의 프로젝트가 하루의 오차도 없이 끝나다

    42 귤화위지, 투명성이 주는 경쟁력

    43 테스트는 소프트웨어 품질 향상에 도움이 안 된다


짧지만 강렬한 느낌의 쓴소리들...

저자는 실리콘벨리에서의 10~20년의 경력과 한국에서의 10여년의 경력을 토대로 우리나라의 IT의 현 상태를 아주 조목조목 뜯어보며 쓴소리를 하고 있는 것 같다. 

그 이야기를 읽고 있다보면 나도 모르게 심하게 공감하고 있지만 생각해보면 참으로 씁슬한 이야기가 아닐 수 없었다. 

저자가 몇가지 예를 들어가면서 비판(?)한 내용 중 생각나는 이야기들을 보면

첫번째로 우리나라 IT회사들은 잘 정의된 SRS(Software Requirements Specification)를 작성하지 않고 개발에 착수하는 경우가 많다는 이야기를 하면서 아래의 예시를 들었다.  

음악에서는 연주할 곡이 완성되지도 않은 상태에서 연주할 수 있는 방법이 없다. 그런데 국내 소프트웨어에서는 무엇을 만드는지도 잘 모르는 상태에서 만들기 시작하는 경우가 허다하다.

글을 읽고 현재의 나를 돌아보니 글에 씌여진 상황과 같은 경험을 한적이 있다는 것을 되새김질 했다. 
물론 SRS를 잘 작성하고 진행하려면 시간도 들고 관리 포인트도 늘어나고 업무량이 늘어나는 것을 감수해야 하기 때문에 간소화하거나 생략한 경우도 있었다. 물론 SRS를 꼭 작성해야만 프로젝트가 성공하고 글로벌하게 되는 것은 아닐 것이라 생각한다. 하지만 기본기는 지켜야 한다고 저자는 말하고있는 것 같다

두번째로 저자는 이야기를 하면서 건축학에 비교하여 설명을 하고 있다. 그도 그럴것이 설계(Architecture)라는 것이 건축학에서부터 나왔기 때문일 것이다. 글로벌 소프트웨어를 작성하기 위해서는 Top-Down 형태가 되어야 한다고 하며, 그 Top의 역량을 가진 사람을 발굴해서 성장할 수 있는 환경을 만들어 주는 것이 관건이라고 말하고 있다. 

세번째로 글로벌 소프트웨어로 거듭나기 위해서 이야기한 내용 중 바라보는 시점에 대한 이야기도 있었다. 그 예로 품질 중시와 고객 서비스 중시라는 내용이였다. 제품 사용자들을 보면 A/S가 잘되는 제품을 판매하는 업체가 좋은 업체라고 인식되고 있는 경우가 있다. 이말은 어떻게 보면 제품이 고장날 때 빠르게 고쳐줄 수 있어서 좋은 부분이긴 하지만 다르게 생각해보면 제품이 잘 고장나는 것이 문제가 될 수 있다는 것이다.

국내가 아닌 미국을 예로 들면 만약 집에서 쓰는 세탁기가 고장 났다면? 그것을 고쳐주기 위하여 출장오는데만도 반나절이 걸릴 수도 있다. 이런 경우라면 기업에서도 A/S 비용으로만으로 손해를 볼 수 있는 상태가 될 수도 있다. 그렇기 때문에 버그가 많은 소프트 웨어를 만들어서 A/S를 하는 방법으로는 글로벌화 할 수 없다는 이야기를 저자는 하고 있다. 

이렇게 이 책을 읽다보면 분명 맞는 말을 하고 있긴 한데 정말 우리가 무언가 잘못하고 있는 것인가? 라는 생각도 들게 만들고 있다. 서술하고 있는 내용들을 보면서 하나씩 적용해보는 것도 좋을 것 같다는 생각이 든다. 


"이 리뷰는 한빛리더스 8기 활동의 일환으로 작성되었습니다."


댓글(0) 먼댓글(0) 좋아요(1)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
드림팀의 악몽 : 애자일로 뒤엎기 - 산으로 가는 팀 프로젝트를 바로잡는 애자일 코칭법
포샤 텅 지음, 김광호 옮김 / 한빛미디어 / 2014년 5월
평점 :
절판


이번달 리뷰할 책은 애자일 관련 내용의 따끈따근한 신간인 "드림팀 악몽 애자일로 뒤엎기"이다.

이 책을 선택하게 된 이유는 현재 사내에서도 그 동안의 개발 방법(론)의 형태에 회의를 느껴서 인지 더 나은 개발 문화를 만들어 가보자는 취지에서 애자일 방법론을 막 도입하기 시작하였던터라 설레이는 마음으로 선택하게 되었다.


책 구성을 확인해보니 어렸을때 읽었던 퍼즐(모험)형태?의 선택을 하고 그에 대한 답변을 따라가는(페이지 이동) 형식이라 재미있을것 같았다.

다만 표지의 3명의 눈을 나타낸 의도는 책을 읽기 전까지는 어떤 의미를 내포하는 알 수 없었다.
읽어보면 저 눈빛들의 느낌을 알 수 있을 것이다.



목차

Part1. 모험의 시작

Part2. 부록


* 보통 책을 처음 읽게되면 사람들은 목차를 보곤한다. 이 책 역시 처음 받았을 때 목차를 먼저 확인해보았다. 목차의 구성은 정말 단순했다. Part1 모험의 시작이라는 큰 묶음 하나만 덩그러니 있었으며 세부 내용들은 순차적인 번호 등으로 나열되지 않았다. 그럴만 한 것이 이 책은 목차의 의미가 필요 없는 구성이였기 때문이다. 책을 읽어나가면서 책의 독특한 구성을 보니 더욱더 명확해졌다.


모험을 떠나기전에 ...

저자는 모험을 떠나기 전에 독자에게 당부하고 있는 것이 있다.
그것은 바로 애자일에 대한 기본 개념에 대해서 알고 있는지 여부였다. 만약 애자일이 무엇인지 전혀 모르고 있다면 애자일에 대한 기본 개념정도는 미리 확인해보고 이 책을 읽기를 원하고 있다. 친절하게도 저자는 애자일에 대한 정보를 얻을 수 있는 방법을 안내하고 있다. 참으로 고마운 일이 아닐 수 없다. 


자 애자일 모험을 떠나 볼까?

오랜만에 부담없이 즐겁게 책을 읽어내려간 것 같다.
이 책은 읽읅수록 점점 글 속에 상황에 빠져들어 가고 있는 나를 발견했다.

애자일이란 제목으로 단순히 여타 다른 애자일 관련 책들과 같이 개념 및 사용방법들을 기술하고 있을 줄 알았는데 이 책은 달랐다. 이미 난 책속의 주인공인 짐 후퍼가 빙의되어 있었다. 무슨말이냐?하면 이 책은 챗 뒷면을 보면 알 수 있게된다. 바로 이 책의 분류는 "IT 에세이"였기 때문이었다.


나는 짐 후퍼가 되어 여러가지 문제점을 가지고 있었던 드림팀이라는 조직에 들어가 문제점을 파악하고 어떻게 해결해 나갈 수 있는지에 대하여 풀어헤쳐나가야 하는 중요한 임무를 맡았다. 

우선 드림팀의 멤버 소개를 들은 후 그 팀 멤버들이 각각 어떤 업무를 맡고 있는지 확인하였다. 확인하는 과정에서 드림팀 멤버에 대한 관계도를 그려보기도 했다.


알고보니 부록의 "Who's Who?"부분에 등장인물에 대한 정리가 다되어 있었다. 그것도 모르고 난 혼자 누가 어떤일을 하는 사람이였는지 정리를 하고 있었다. ^^;


모험을 진행하던 중 처음으로 고민되는 선택이 나타났다. @.@
나는 이 드림팀을 잘 이끌어 가고 싶은 마음에 정말 진지하게 고민했고 결국에는 "회의를 연기한다"를 선택했다.

 

제이슨이라는 최상급 개발자는 애자일에 대하여 심각할 정도로 반감을 가지고 있었던 터라 회의를 연기하고 이야기를 진행하면서 차츰 차츰 이 팀에 대한 해결책을 찾아가고 있었다. 

어느새 이 모험에 빠져들어 진행하다보니 나도 모르게 결론(해결책)에 도달하게 되었다. 
해결책은 애자일에 대한 반감이 컸던 제이슨을 프레데터라는 다른 팀으로 보내어 새로운 곳에서 휴식을 할 수 있게 하며 현재 드림팀에는 애자일에 대한 긍정적인 생각을 가진 사람들로 다시 결성되어 앞으로의 프로젝트를 잘 수행해 나갈 수 있도록 하는 방안이었다. 



이 해결책을 말하고 나니 이 책에서는 나에게 "" 이라는 단어와 함께 애자일 모험이 종료되었음을 알려주었다.


애자일 모험을 마무리하며 !

짐 후퍼에 빙의되어 책을 읽다보니 결론에 도달하기까지 생각보다 오래걸리지는 않았다.
책은 350페이지였지만 모험에 대한 선택을 어떻게 하느냐에 따라서 빨리 끝날 수도 더 오래 걸릴 수도 있는 그런 모험들로 구성되어 있었다.
이 책은 기술적인 방법, 용어 등의 구성은 아니지만 내가 그 상황이 되어 진행하다보니 자연스럽게 애자일에 대한 것을 느낄 수 있었던 좋은 기회를 제공해준 것 같다. 

그리고 이 간접체험을 해보니 왠지모르게 사내에서도 애자일 방법론에 대해서 적용할 때 조금 더 고민하고 자신있게 진행할 수 있을 것만 같은 느낌이 들었다. 

ps. 나중에 다시 읽을때는 다른 선택들을 해봄으로써 어떤 결말이 나올지 궁금해진다. 

"이 리뷰는 한빛리더스 8기 활동의 일환으로 작성되었습니다."




댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
ARM으로 배우는 임베디드 리눅스 시스템 - 개정판, CPU에서 안드로이드까지 총망라! IT EXPERT
안효복 지음 / 한빛미디어 / 2013년 12월
평점 :
품절


이번달 미션은 자유 미션으로 그동안 리눅스 관련된 책을 읽지 못하여 관련 책을 찾다가 [개정판]으로 재 출간된 "IT EXPERT - ARM으로 배우는 임베디드 시스템" 책을 선정하게 되었다.


첫인상

개인적으로는 IT EXPERT의 표지와 인쇄용지가 마음에 든다.

표지에서 언급했듯이 "CPU부터 안드로이드까지 총망라"라는 말처럼 목차를 보면 정말 많은 내용들을 수록했다는 느낌을 받고 지레 겁을 먹기 시작했지만 그래도 Reference Book으로 사용하면 된다는 마음가집으로 책을 읽어보려 한다.


이전판과 개정판 차이

2006년 5월에 출판한 1판에 이어 이번에 2013년 12월에 출판된 개정판은 그동안 발전한 ARM 프로세스 명령어 부분에 대해서 내용들이 보강된 것 같아보이며 추가적으로 이제는 대세가 아닌 일상생활의 한부분으로 굳어진 안드로이드 대한 내용이 추가되었다.


목차

[1부 임베디드 시스템]

1장 임베디드 시스템의 개요
2장 임베디드 시스템의 설계

[2부 ARM 프로세서의 이해]

3장 ARM 아키텍처와 동작 원리
4장 프로그래머 모델
5장 ARM 프로세서 명령어
6장 예외 처리와 시스템 리셋

[3부 ARM 프로세서와 임베디드 하드웨어 설계]

7장 ARM 프로세서 코어
8장 ARM 프로세서
9장 SoC 구조
10장 임베디드 시스템 하드웨어 설계

[4부 임베디드 소프트웨어 설계]

11장 소프트웨어 개발 툴의 이해와 활용
12장 임베디드 C 프로그래밍과 소프트웨어 최적화
13장 시스템 리셋과 부트코드
14장 하드웨어 제어

[5부 임베디드 ARM 리눅스]

15장 개발 환경과 부트로더
16장 리눅스 커널
17장 디바이스 드라이버
18장 리눅스 파일시스템과 애플리케이션

[6부 커널 포팅 및 디바이스 제어]

19장 커널 포팅 준비
20장 커널 포팅
21장 루트 파일시스템
22장 디바이스 제어
23장 임베디드 리눅스의 활용

[7부 안드로이드 탑재와 활용]

24장 안드로이드의 이해
25장 안드로이드 빌드, 탑재 및 실행

저자의 서문에서...

저자의 "지은이의 말"을 읽으면서 정말 이 책을 통하여 정말 많은 사람들에게 임베디드 시스템 분야에 대해서 확실한 이해를 시켜주려고 노력하는 모습이 떠올랐다. 

이 책에서 저자는 임베디드 시스템의 개념부터 ARM프로세서의 동작 원리, H/W 설계 방법, 최적화 기법, 커널 포팅 방법, 드라이버 개발 방법, 안드로이드에 대한 내용 등 정말 방대한 내용들을 집대성해놓았다고 볼 수 있다. 

천천히 & 꾸준히 읽어보자!!

고등학교 시절 처음으로 프로그래밍이라는 것을 접하게 되는 시점에 1000페이지가 넘는 서적을 접하게 된적이 있다. 그 동안은 기껏해야 100~200페이지 정도 분량의 책들을 봤었던 나에게 정말 커다란 산을 만난 것 같았다. 그 책을 다 읽을 엄두도 나지 않았고 그 내용도 다 외울 수 있을까? 라는 생각이 앞서 포기하고 싶었을 때가 있었다. 

하지만 10년이 지난 후 다시 접해보는 이런 고용량의 책을 접하니 그때와는 또 다른 느낌, 자신감이 생긴다. 그떈 너무 급했고 단순하게 생각했었기 때문이다.

천천히 꾸준히 읽어서 완독하길 나에게 바란다. 

기본 개념이 필요하면 읽어보자!!

이 책은 정말 기본 개념에 대해서 자세히 설명하고 있는 책이다. 

임베디드 시스템 개요부터 천천히 읽다보니 꼭 대학교 때 들은 "컴퓨터 시스템 구조"라는 과목이 생각이 났었다. 그 말인 즉, 개념부터 아주 내실있게 내용이 정의 되어 있다는 것이다. 아마도 그래서 이 책이 더 두꺼워지지 않았나 생각해본다. 핵심만 원하는 사람에게는 다소 지루할 수 있는 기본 내용이지만 처음 접하거나 개념이 필요한 사람에게는 충분히 좋은 내용들이라고 생각된다. 

정보가 필요할 때 찾아보자!!

5장 ARM 프로세서 명령어 부분을 읽다보면 이 책은 나중에 Reference 형태로 봐야겠구나 하는 생각이 들게 된다. MS에서 제공하는 MSDN처럼 ARM명령어에 대한 설명, 형식, 동작 방법, 사용 예 까지 체계적으로 정리되어 있기 때문이다. 그렇기 때문에 위에서 이야기 했던 내용 중 이 책을 무조건 외우려 하지 않고 필요할 때 찾아보자 라는 마음으로 읽으니 마음이 한결 편해졌다. 

심화 학습을 위한 발판으로 사용하자!!

위에 언급했듯이 정말 많은 내용을 알차게 담아내고 있다. 하지만 그 만큼 심도있게 파고 들지는 못한 부분들도 있는 것 같다. 사실 지금의 나는 ARM을 잘 알지 못하기 때문에 이정도도 심도는 있다고 생각한다. 그래도 내가 업무로 하고 있는 디바이스 드라이버 부분을 보자면 개념정도만 나와있으니 추가적으로 관련 서적을 찾아봐야 할 것 같기에 심화 학습을 위한 발판으로 사용하면 좋을 것 같다는 의견을 비춰본다. 


끝으로...

이 책을 한권 가지고 있다면 그냥 기분과 마음이 든든해지는 느낌이 든다.
전문분야의 책이기 때문에 모든 내용들을 이 서평에 언급하긴 어렵지만 ARM프로세서, 리눅스 커널, 안드로이드 등에 대한 개념 및 정보를 얻고 싶다면 이 책을 추천하고 싶어진다

"이 리뷰는 한빛리더스 8기 활동의 일환으로 작성되었습니다."


댓글(0) 먼댓글(0) 좋아요(1)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
프로그래밍 면접 이렇게 준비한다 - 3판
존 몽건 & 에릭 기게리 & 노아 수오야넨 킨들러 지음, 서환수 옮김 / 한빛미디어 / 2014년 3월
평점 :
구판절판


▷ 첫 인상!

이번에 한빛 미디어에서 출간한(개정판) "프로그래밍 면접 이렇게 준비한다(3판)"를 서점에서 처음 마주하였다. 


이전판과 비교해 보면 3판은 정말 깔끔하고 스마트한 느낌을 받았다. 이전판 같은 경우 빨간색의 표지로 강렬함과 더불어 외국사람들을 표지 모델로 사용하고 있었다. 


        


▷ 이전판과 개정판의 차이점

추가된 내용

  • Chapter. 정렬
  • Chapter. 디자인 패턴

보강된 내용

  • Chapter. 연결 리스트
  • Chapter. 그래픽 알고리즘
  • Chapter. 트리 알고리즘
  • Chapter. 지식 기반 문제

▷ 목차

  • CHAPTER 01] 구직을 시작하기 전에 
  • CHAPTER 02] 입사 지원 절차 
  • CHAPTER 03] 프로그래밍 문제 접근법 
  • CHAPTER 04] 연결 리스트 
  • CHAPTER 05] 트리와 그래프 
  • CHAPTER 06] 배열과 문자열 
  • CHAPTER 07] 재귀 호출 
  • CHAPTER 08] 정렬 
  • CHAPTER 09] 동시성 
  • CHAPTER 10] 객체지향 프로그래밍 
  • CHAPTER 11] 디자인 패턴 
  • CHAPTER 12] 데이터베이스 
  • CHAPTER 13] 기타 프로그래밍 관련 내용 
  • CHAPTER 14] 카운팅, 측정 및 순서 관련 퍼즐 
  • CHAPTER 15] 그림 및 공간 퍼즐 
  • CHAPTER 16] 지식 기반 문제 
  • CHAPTER 17] 기술과 무관한 질문 
  • APPENDIX A] 이력서 

▷ 책을 읽기 전 저자의 서문에서...

저자의 서문에서 아래와 같은 당부의 말이 있다.
"이 책에서 본전을 뽑고 싶다면 문제를 직접 풀어봐야만 한다."

1. 문제를 읽은 다음 바로 책을 덮어놓고 직접 문제를 풀어본다. 
2. 문제를 풀다가 막히면 풀이를 읽어본다. 이 책에서는 답을 풀이 시작 부분에서 절대 공개하지 않고 있기 때문에 풀이의 앞부분을 본다고 해서 바로 답을 알게 되는 것은 아니다. 
3. 풀이를 읽다가 필요한 힌트가 나왔다 싶으면 다시 책을 덮고 문제를 풀어본다. 
4. 위 과정을 반복한다. 

▷ 프로그래밍 면접 준비의 가이드라인

이 책의 독자층은 "프로그래밍 면접"을 준비하는 사람과 자신의 "능력(스킬) 확인 및 재정비" 할 목적을 가진 사람들이라면 즐겁게 심도 있는 내용과 재미있는 내용들을 읽어 내려 갈 수 있을 것 같다. 


위 독자층이 아닌 일반 독자층(비 전공: 프로그래밍 언어 지식 X)이라면 초반 Chapter 1,2,3  이후에는 따라가기 힘들 것으로 예상된다. 


책의 구성 및 내용은 정말 알차지만 심플하게 가져가려고 노력한 것 같아보인다. 


Chapter 1,2 같은 경우, 구직을 위한 기반 활동에 대하여 구체적인 방법을 제시하고 있다. 다만, 읽다보면 우리나라의 실정과는 거리감이 느껴지는 부분이 있기는 하지만 충분히 도움이 될만 하다. 


Chapter 3,4,5,6,7,8 같은 경우, 프로그래머가 주어진 문제를 해결해나가기 위한 방법에 대하여 C, C++, Java, C#등의 언어를 통하여 설명하고 있다. 입사 지원을 예정하고 실기 면접을 진행해야 할 경우라면 필수적으로 확인해보고 넘어가야 할 내용들이다. 문제를 제시하고 문제풀이 또한 같이 제공하기 때문에 많은 도움이 될 것 같다. 


Chapter 9,10,11,12,13 같은 경우, 기술적인 방법에 대해서는 앞에 설명한 자료구조, 알고리즘을 통하여 설명하였다. 이 부분에서는 조금 더 개념적인 부분에 대해서 공부하라는 내용을 전달하고 있다. 책 내용의 질문들 중에는 우리가 늘 알고 있다고 생각하고 있지만 답변을 하려고 하면 생각정리가 잘 안되는 내용들이 있으므로 자신의 지식을 잘 정리해둘 필요성을 느낄 수 있었다. 


Chapter 14,15,16 같은 경우, 퍼즐 관련 내용들로 굳어진 생각들을 말랑말랑하게 해주는 그런 문제들에 대해서 설명하고 있다. 상상하고 생각할 수 있는 시간을 갖는 좋은 내용들이 많았다. 


Chapter 17 같은 경우, "기술과 무관한 질문"은 회사에서 다른 직원들과 잘 어울릴 수 있는 경험과 능력을 알아보기 위함이라고 저자들은 이야기 하고 있다. 이 내용들은 기술면접 이후 임원진 면접에 갔을 때 나올만한 내용들로 구성되어 있다. 그 중 기억에 남는 내용은 "연봉은 얼마 정도 생각하십니까?"라는 질문이었다. 


▷ 끝 느낌!

이 책을 읽고나니 입사 준비하던 시기가 떠올랐다. 그 당시에는 이 책을 몰랐기에 C언어 관련 책 한권을 하루동안 쭈욱 훑고 갔던 기억이 난다.


이렇게 상세하고 재미있는 내용들(간혹 잘 모르는 파트는 어렵기도 했지만)로 구성되어 있는 책을 알았더라면 조금더 수월하지 않았을까? 하는 생각을 해본다. 


전체적으로 기술적인 내용들은 외국과 한국과의 차이는 없어보이지만, 구직관련 내용들에 관하여는 문화적 차이는 분명 존재하기에 감안하고 보면 좋을 것 같다!




"이 리뷰는 한빛리더스 8기 활동의 일환으로 작성되었습니다."




댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
처음 처음 | 이전 이전 | 11 |다음 다음 | 마지막 마지막