처음 처음 | 이전 이전 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |다음 다음 | 마지막 마지막
창의적 공학설계 Training How To Think Creatively MSE 시리즈
김은경 지음 / 한빛아카데미(교재) / 2013년 1월
평점 :
절판


주요 특징:
 - 본문 구성을 한마디로 평가를 해보면 정말 “스마트하다”는 느낌이 듭니다. 독자로 하여금 다루는 내용이 한눈에 파악이 잘되도록 본문의 각 요소요소를 배치했고, 눈이 피곤하지 않도록 편안한 느낌의 색상을 가진 폰트를 전반적으로 사용한 것 같습니다(배경색도 포함하여).
 - 목차에도 신경을 많이 쓰신것 같네요. 상당히 꼼꼼해보입니다.
 - 각 챕터 다음의 깜찍한 대주제 폰트와 다룰내용에 대한 간락소개, 소제목의 폰트, 문단과 문단사이의 적당한 여백(여백이 많다고 느껴질 정도), 핵심포인트, 여기서 잠깐, 하단의 주석, 시각적인 이해를 돕기위한 컬러풀한 구성도 그림과 사진 등을 그 예로 들수 있습니다. 
 - 표를 사용한 요점정리입니다. 다루고자 하는 내용을 간결하게 정리하고, 나열합니다. 필요에 따라 표의 전 또는 후에 표에서 다룬 요점을 풀어서 그림과 함께 설명합니다.
 - 적절하게 첨부된 그림(사진)을 통한 사례제시입니다. 문장만으로는 아무리 상세하게 풀어써도 잘 이해가 되지 않더라도 단 한장의 그림(사진)만으로도 쉽게 이해가 되는 경우가 있습니다. 이점을 잘 활용하신것 같네요.
 - 문단 중에서 볼드체로 중요한 문장을 구분지어서 설명합니다.
 - 각 장에서 창의적 발상 도구에 대하여 설명을 할 때, 전반부에서는 이론적인 설명을 하고, 후반부에 실제 실습한 결과물(단계적인 사용방법 포함)을 사례로 제시합니다. 방법을 아는 것과 활용을 해 본 것은 엄연히 다르므로 막연히 이론만 이해하는 것보다 활용사례를 통해 응용이 가능할 것 같습니다.
 - 배경지식으로 제시하는 실제사례가 풍부합니다(4장 문제인식, 5장 진짜 문제 정의, 6장 아이디어 도출). 원인과 결과, 문제인식과 문제해결, 질문과 답 형식으로 이해하기 쉽게 정리도 잘 되어 있습니다.
 - 그리고 교재인 만큼 빠질 수 없는 실습과제와 학습정리 란이 있습니다.
 - 학습정리 란은 저자가 본문의 내용을 요약하는 것이 아니라 독자 스스로가 요약을 할 수 있도록 합니다. 다른 교재에서 각 장 마지막에 본문요점정리를 해서 제공하는 것과는 상당히 대조되는 것이죠.

 

리뷰를 마치면서...
이 교재가 사용되는 교과목은 학부과정 중 신입생을 대상으로 개설되는 경우가 대부분일 것입니다. 책에서 다루는 주제는 결코 쉬운 내용은 아니지만, 본문이 구성된 대로 처음부터 따라하면서 학습을 해나간다면 창의적 공학설계의 목적을 이해할 수 있고, 단계별 프로세스를 실행하는 방법을 정석(!)으로 익힐 수 있다고 생각됩니다. 창의적 발상 도구에 대한 설명과 배경지식, 활용하는 방법을 풍부한 사례로 제공하고 있어서 흥미롭게 읽어나갈 수 있을 것입니다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
프로그래머로 사는 법
샘 라이트스톤 지음, 서환수 옮김 / 한빛미디어 / 2012년 10월
평점 :
장바구니담기



- 전체적인 느낌:

 

IT업계에서 상당히 유명하신 분들의 사진이 표지를 장식하고 있습니다.

 

전체 분량은 약 600 페이지 정도 인데, 크기는 다른 전문서에 비해 상대적으로 작게 느껴지는 편입니다.

 

인쇄된 종이는 약간 광택이 나기는 하지만 눈이 부실정도는 아니구요...

 

번역서 이지만 문체는 상당히 매끄럽습니다.

 

- 책의 구성

 

본문은 볼드체로 소주제를 표시합니다.  

 

이 소주제는 몇 개의 문단으로 구성된 내용을 함축하는 문장이기도 합니다.  

 

소주제를 중심으로 이야기를 풀어나갑니다. 다른 장에서 다루는 내용이 등장하면 (몇 장) 식으로 참고하도록 합니다.

 

단순히 흑백만으로 인쇄된 것은 아니구요, 표지에 사용된 붉은 색의 폰트가 곳곳을 장식하고 있습니다.

 

강조하는 문장을 표시하기 위해서도 사용되어 있습니다.

 

* 일부 단어에는 원문을 윗첨자로 표시해두고 있구요.

 

* 가끔 페이지 하단의 역자주에 부연설명도 하고 있습니다.

 

 

- 좋았던 점: 무엇보다 가장 마음에 드는 부분은 인터뷰 부분 입니다. 번역서 이지만 국내 개발자 분들의 인터뷰도 담고 있습니다.

IT업계에서 상당히 높은 직위나 권위를 가진 사람들, 주변의 다른 개발자들은 어떻게 개발자가 되었고, 어떤 마음가짐으로 얼마만큼의 노력들을 했을까 라는 의문이 종종 들곤 했었습니다. 간단히 풀어보면 "대체 어떤 생각을 가지고 생활하고 있을까?" 였습니다. 100% 궁금증 해결은 아니지만 어느정도 의문에 대한 갈증이 해소된 느낌입니다.

 

- 평가: 취업을 앞둔 IT분야 전공의 대학생, 회사에 입사하여 신입으로 프로그래밍을 시작한 사회 초년생, 경력이 쌓이고 있지만 이직, 창업 등의 변화를 준비하는 개발자 분들이라면 한번 쯤은 읽어봐야할 자기계발서라고 생각합니다.

 

본문에서 다루는 내용 어느 하나라도 사소한 내용이 없다는 생각이 듭니다. 하나같이 피가 되고 살이 되는 내용들 이었습니다.

이번 책처럼 본문에 밑줄이나 동그라미로 중요하다고 생각되는 부분에 낙서(!)를 한 경우는 지금까지 없었던것 같네요.

 

특히 interview 란은 전문서적처럼 어떤 지식의 전달이 아니라 현업에서 종사하고 있는 고수님들의 오랜세월동안 축적된 경험에서 나온 지혜를 언급하고 있고, 이를 통해 간접경험을 하고 있기에 더욱 중요하다고 생각했던것 같습니다. 

나름대로 중요하다고 판단한 부분만 캡쳐를 해서 올려봅니다.

 

page 68 - interview 존 벤틀리

 

page 527 - interview 서민구

 

 

page 551 - interview 백창우

 

page 572 - interview 유영창


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
우분투 환경에서 C 언어로 배우는 리눅스 프로그래밍 - 데이터베이스에서부터 네트워크, 그래픽, 디바이스까지 풍부한 예제로 배우는 라이브러리 활용법
이이오 준 지음, 김성재 옮김 / 한빛미디어 / 2012년 9월
평점 :
절판


1. 책의 구성

 * 각 챕터는 짦막한 주제를 다루고 있고 분량이 적은 편입니다.

  - 라이브러리 활용과 관련해서는 맛보기 수준이므로 이런것이 있고, 이렇게 사용하는구나 하고 기본적인 개념정도만 익히고 깊이있는 활용을 위해서는 다른 도서나 관련 튜토리얼 등을 통해 상세히 익혀야 할 것 같습니다.

  - 기본 개념 -> 라이브러리 소개 및 설치 -> 예제코드를 통한 활용 식으로 구성되어 있습니다.

  - 예제코드 뿐만 아니라 실행결과를 같이 첨부하여 독자가 실행했을때의 결과와 비교해볼 수 있도록 합니다.

 

 * 1장에서는 C언어를 기준으로 프로그래밍 언어의 배경지식 일부를 언급하고, 책에서 다루는 내용의 범위와 그 깊이에 대하여 제시합니다. 전제조건으로 미리 알아두어야 하는 사전 지식을 언급합니다만... C언어 문법은 반드시 알고 계셔야 하구요, 그 외에 기본적인 자료구조, 유닉스에 관한 기초지식과 터미널 등을 통한 CUI 조작 방법 및 각종 명령들은 알고 있으면 본문의 학습에 수월할 것입니다.

 

2. 독특한 점

 * 목차의 “칼럼 모아보기” 란에 언급된 칼럼은 본문 곳곳에 짧막하게 언급된 토막지식들을 의미하는데, 이 칼럼들의 제목을 목차에 모아두었다는게 흥미롭습니다.


 

3. 좋은 점

* 이해를 잘 시켜주는 저자의 설명방식과 꼼꼼한 첨부그림과 실행화면에 대한 예시, 핵심만 다룬 소스코드, 첨삭설명같은 저자주

 - 

 - 본문에 첨부된 그림들을 보면 본문에서 설명하고자 하는 내용에 대한 이해를 돕기 위해 구성요소, 처리과정이나 흐름에 대하여 깔끔하면서도 꼼꼼하게 짚어주려고 한것 같은 느낌이 듭니다.

 - 리눅스 명령이나 C언어 예제 소스의 경우 꼭 필요한 부분만 다루어서 알려주고자 하는 개념을 명확하게 전달해주는 것 같습니다.

 - 하단의 저자주 란을 통해 부연설명을 해줍니다.

 - 목차와 도서 마지막의 INDEX에서 원하는 부분만 찾아서 참고하는 방식으로 학습해도 좋을 것 같습니다.

 

4. 느낀 점

 * C언어를 다룬 책의 내용면에서 볼때 중급자를 대상을 하고 있어 초보자에게는 다소 어려울 수 있습니다.

   하지만 리눅스 환경에서의 프로그래밍 측면에서 볼 때 입문서로 정말 좋은 책이라는 생각이 듭니다.

 * 현업에서 사내 프로젝트의 개발환경과 고객사 설치환경의 차이로 발생하는 문제점들을 절실하게 느낄 수 있는 애로사항들이 잘 정리되어 있는것 같습다. 나만 그런걸 느끼는게 아니었구나! 하고 공감하게 되었습니다. 


 * 4장의 프로그램의 이식성에서 다루는 내용은 현업에서 충분히 겪을 수 있는 문제점들을 깊이 있게 다룹니다. 개발용 서버에서 개발을 하고 고객사의 상용화 서버에 이전작업을 할 때 발생하는 문제를 직접 겪어보았기에 몹시 공감이 가는 부분들 이었습니다. 리눅스 환경에서 아파치 웹서버와 PHP를 설치할 때 소스코드를 다운로드 받아 ./configure -> make -> make install 순서로 설치하곤 했는데, 정작 configure의 의미를 잘 모르고 있었습니다. 여기서 명확하게 짚어주어서 궁금증이 해결되었습니다.

 

 * 7장 데이터 다루기에서는 GLib에서 제공하는 자료구조 라이브러리를 설명하는 부분에서 기본적인 자료구조에 대한 개념과 주요 특징을 익힐 수 있습니다. 오히려 다른 도서에서 자료구조 하나에 한 챕터씩 길게 설명하는 것보다 필수적인 개념을 익히기에는 좋은것 같습니다.


5. 본문에서 다루는 라이브러리 관련 요약

 - 자료구조(배열, 리스트, 해시테이블, 스택과 큐)

 - XML 파일의 입력과 탐색, 출력

 - SQLite 활용

 - 서버-클라이언트 방식의 소켓 프로그래밍과 네트워크 상의 패킷 분석 방법

 - 수학에서 다루는 선형대수과 방정식의 풀이

 - 영상압축방식과 디지털 이미지 다루기, 아스키 아트

 - GUI 프로그래밍을 위한 위젯 라이브러리(GTK+, QT, FLTK, Motif)와 GUI 빌더

 - 컴퓨터 그래픽(CG): 벡터 vs 레스터, 2D 그래픽 라이브러리 Cairo, 3D 그래픽 라이브러리 OpenGL

 - 장치 액세스: 이미지 캡처 라이브러리(unicap), USB 장치 액세스 라이브러리(libusb), 휴먼 인터페이스 장비(HID) 조작 라이브러리(libhid), 지문인식 장치 라이브러리(ThinkFinger), 아이팟과 아이폰 데이터 액세스 라이브러리(libimobiledevice), 아이팟의 음악 데이터베이스 제어 라이브러리(libgpod)

 - 바코드 출력 라이브러리(barcode), 2차원 바코드 중 QR코드 관련 라이브러리(iec16022,qrencode), 문자열 해석 라이브러리(URI 해석-URIparser, MIME 데이터 처리 - GMime, 설정파일 읽기 - dot.conf)

 - 프로그램 테스트: 유닛 테스트 지원 도구(CUnit), 메모리 누수 검출 라이브러리(Dmalloc) 



댓글(0) 먼댓글(0) 좋아요(2)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
안드로이드 프로그래밍 - JAVA부터 시작하는 안드로이드 프로그래밍 IT Cookbook 한빛 교재 시리즈 142
우재남.이복기 지음 / 한빛아카데미(교재) / 2012년 7월
평점 :
구판절판


- 리뷰전문

대학교재용으로 본문이 구성되어 있습니다. 각 장에서 실습할 요소들에 대한 설명을 하고, 실습을 통해 앞서 설명한 요소들을 응용하여 하나의 앱을 작성합니다. 실습 다음에는 직접 풀어보기가 있어서 앞서 실습한 내용을 수정해보도록 하고 있습니다(이부분에 대한 코드첨부는 본문에는 없습니다, 예제소스를 다운받아서 참고하세요). 마지막으로 중요한 부분을 정리한 요약과 연습문제가 있습니다.

 

본문에 사용된 코드의 설명시 라인번호를 미리 명시하고 해당 라인범위별로 한줄씩 한줄씩 풀어서 그 의미를 설명합니다. 설명이 간결하고 명확합니다. 어느부분이 중요하고 어느라인이 변경되는지 추적(!)이 용이했습니다. 초급자에게 딱 좋은 설명방식인 것 같네요.

 

오탈자가 매우 적은것 같습니다. 단순 맞춤법부터 설명에 오류가 있으면 학습하는 독자 입장에서는 당황하기 마련입니다. 

 

저자 한마디나 문서아이콘의 팁 설명이 유용합니다. 이클립스라는 개발툴의 활용과 관련한 깨알같은 노하우라고 할까요.

 

따라하기 정말 좋습니다. 알기쉽게 풀어서 설명합니다.

본문에서 다룰 내용이나 중요한 부분은 일련의 그림이나 표로 정리도 합니다. 


문장이 전체적으로 군더더기도 없고 막히지 않아 이해를 위해 따로 찾아볼 필요는 없는것 같네요.

 

다른 책에서는 설치방법과 실습과정의 실행화면을 생략하고 문장으로만 나열하는 경우가 종종 있습니다. 여기에 개발도구의 버전이 변경되고 책에서 제시한 버전을 사용하기 어려운 경우에는 따라하기도 힘들고 헤매는 경우가 자주 발생하곤 했습니다.

 

이런점을 고려해서인지 비교적 최신버전을 반영하려고 했고, 순서대로 따라하면 저자와 동일한 환경 구축이 가능합니다. 저자는 실습의 원활한 진행을 위해 본문에서 공통적으로 사용하는 안드로이드 프로젝트의 구조와 구성방법을 상세하고 꼼꼼하게 설명하고 이에 맞게 진행하도록 했습니다.

 

- 아쉬운 점

초급자를 대상으로 하고 있고, 대학교재용으로 집필했기 때문인지 API를 설명할 때 실습에 필요한 부분만 설명하고 추가적인 부분이나 깊이 있는 설명은 하지 않는것 같습니다.

안드로이드 앱 개발을 다룬 서적의 경우 자바 문법을 안다고 가정하는 경우가 대부분입니다. 본문에서 자바 문법을 다루기는 하지만(정말 간략하고 심플하게 다룹니다. 설명이 상세하지는 않기 때문에 부실하다는 느낌이 좀 들구요. 특히 3장의 문법적인 요소를 설명하는 부분에서 초보자를 배려했는지 최대한 간단하게 설명하려고 하신것 같네요) 독자 스스로가 정말 열심히 노력해서 익히지 않고서는 책 전체의 내용을 익히고 응용하기에는 어려울 수 있다는 생각이 듭니다.

 

- 실습후기

개발도구로 이클립스를 사용하므로 책의 초반에 이클립스 관련하여 기본적인 사용방법을 알려줍니다. 실습내용도 설명패턴이 고정되어 있으므로 계속 따라하다보면 금방 익숙해질것 같습니다.

저자는 안드로이드의 개발환경 변화의 주기가 짧음을 고려해 단시간에 책과 동일한 화면을 제공하는 실습환경을 제공하고자 한다고 했습니다. 따라해보면서 느낀점으로 봤을때 정말 그렇습니다.

실습환경을 구축할 때 이미 JDK1.6 버전을 사용하고 있어서 이를 제거하고 JDK1.7을 설치하기는 좀 어려웠습니다. 본문의 내용을 그대로 따라하되 JDK만 1.6을 사용했습니다. 이클립스는 무설치 툴이므로 여러개를 설치하더라도 폴더만 다르게 하면 설치가 가능했습니다. Android SDK도 설치방법이 간단해서 어렵지는 않았습니다.

본문의 예제소스는 필수적인 부분을 제외하고는 생략된 부분이 많으니 그대로 타이핑해도 결과가 안나올 때는 빠진부분이 없는지 따져봐야 합니다 ^^;

  

- 아주 개인적인 추천 의견

자바스크립트 쿡북이라는 도서를 리뷰한적이 있습니다. 이 도서(자바스크립트 쿡북)는 본문의 구성이 문제와 해결방안으로 구성되어 찾아볼 때 참 편리하고  좋은 구성이었습니다. 이 구성방식을 참고하여 본 도서(안드로이드 프로그래밍)에도 목차에 나와있는 실습제목과 간단 설명 + 완성된 앱의 실행화면을 따로 정리해서 부록으로 제공해준다면 찾아보기 용이할 것 같네요.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
성능을 100% 끌어내는 멀티코어 애플리케이션 프로그래밍 - 윈도, 리눅스, 솔라리스부터 CUDA, TBB, POSIX, C++/CLI, C++11, OpenMP까지 한 번에 배운다
대릴 고브 지음, 권오인 옮김 / 한빛미디어 / 2012년 7월
평점 :
절판


초보자에게는 다소 어려운 내용입니다. 운영체제 교과목에 대한 지식도 어느정도 있어야 합니다.
C언어와 포인터를 주로 다루므로 관련 문법들은 반드시 알고 계셔야 합니다.
극히 일부분은 어셈블리어로 명령들을 설명하기는 하지만 복잡한 명령들까지 기술하지는 않으므로 굳이 모르셔도 됩니다(아주 단순합니다).
이 책은 단순히 멀티스레드 기반의 애플리케이션 구현을 위한 관련 라이브러리 함수를 활용하는 방법만을 다루지 않는다는 점입니다.
* 다루는 내용들을 대략적으로 살펴보면 다음과 같습니다...
  1단계: 애플리케이션의 실행시간을 줄이려면 어떻게 해야 할까요?
  다양한 시각을 가질 수 있도록 배경지식을 제공하고 있습니다.
  이러한 내용들을 다루면서 병렬 프로그래밍의 개념과 소스코드 단계에서 애플리케이션의 성능을 개선하기 위한 방법들을 찾아봅니다.
  병렬로 수행될 수 있는 작업영역을 찾는게 중요합니다.
  결과적으로는 컴파일러가 최적화된 실행코드를 만들 수 있도록 도와주어야 겠지요 ^^;
  2단계: 경쟁상태의 여러 개의 스레드들이 데이터를 공유하면서 발생하는 문제점들을 다룹니다.
  이를 방지하기 위한 동기화(락, 해제) 기법에는 무엇이 있는지 알아봅니다.
  프로세스 간의 메모리 공유방법과 통신방법도 다룹니다.
  3단계: UNIX 계열에서 사용할 수 있는 POSIX 스레드, MS-Windows 계열에서 사용할 수 있는 WINAPI 스레드의 활용방법을 다룹니다.
  역시나 어렵습니다.
  4단계: 추상화된 병렬처리방법은 없을까?
  #pragma omp로 시작하는 OpenMP를 다룹니다. #pragma 전처리기 지시자를 활용하네요.
  5단계: 동기화 장치를 직접 만들 수 있을까요?
* 주요특징
- 용어를 설명함에 있어서(예를들면 프로세스, 스레드, 캐시 등) 단순히 언급만 하는 것이 아니라 상세한 의미와 관련 배경지식도 같이 알려줍니다.
  개념을 설명하는 경우에는 몇개의 단계로 나누어서 한단계를 설명하고 그 다음 단계를 설명하는 방식입니다.
  비교적 알기쉬운 사례로 예를 들고 사각형만 모인 그림이지만 적절하게 구성된 그림을 첨부하여 이해를 돕습니다(그림이 좀더 상세했으면 하는 바램은 있습니다. 어렵거든요 ^^;).
- 예제 코드는 정말 짧막합니다. 정말 간단한 몇줄의 코드만 가지고 예를 들어줍니다.
  해당언어의 문법을 알고 있다면 직관적으로 어떤 연산을 하는지 알 수 있습니다.
  본문에서 다루는 내용들이 쉽지 않은 개념이어서 소스코드까지 복잡하면 이해하기 어려울 수 있는데, 간단명료하게 필요한 코드만 선정한 것 같습니다(소스코드가 너무 간결한 점에서 왠지 아쉬운 느낌까지 드네요).
  문제가 있는 소스 -> 간단하게 보완한 소스 -> 고급스럽게(!) 보완한 소스 순으로 설명하기도 합니다.
  본문에 삽입된 소스코드가 C언어로 되어 있다는게 장점이자 단점입니다.
  Java 언어로 구현된 소스코드를 다루면서 비교해 주었으면 좋겠다는 생각도 해봅니다.
  아! 그리고 예제로 첨부된 소스코드를 100% 이해하기는 쉽지가 않습니다.
  개념 이해로는 적당한것 같기는 합니다.
  중요한건 실무에 적용하려면 본인이 잘 소화를 시켜야 할 겁니다.
- 번역관련해서 문장의 흐름이 어색하지 않고 사용된 어휘의 선택도 적절한 것 같습니다(예전에 억지로 끼워맞추거나 직역한 다른 책을 보다 보면 한숨이 나올 때가 있었습니다).
  역자분의 필체도 상당히 매끄러운 느낌입니다.
  번역 시 영어로 된 용어를 한글로만 써놓으면 그 의미를 다르게 받아들일 수 있는데,
  용어인 경우 한글단어와 원문단어를 윗첨자로 표시해 놓아서 개념을 이해하는데 도움을 줍니다.
* 후기
- 실제로 프로그래밍 언어로 구현하려면 머리가 좀 아프겠지요.
  다행히도 POSIX 스레드, WINAPI 스레드로 작성된 실제코드를 접해봅니다.
  어떤 함수를 어떻게 호출하고 서로 어떤 관계가 있어서 어떻게 사용해야 하는지 설명하는 방식입니다.
  인터넷 검색으로 익히는 것보다 일련의 정리된 순서대로 책에서 배울 수 있다는게 정말 좋았던것 같습니다.
- 멀티스레드간 데이터 공유와 동기화 처리 관련하여 발생하는 문제점에 대한 여러가지 방안을 제시하고 코드로도 구현을 해보기는 합니다만,
  명쾌하지는 않은것 같네요.
  이런게 있구나 정도로 아셔도 도움은 되실 것 같습니다.
- 시스템 자원의 효율을 최대한 활용하여 병렬프로그래밍(단순히 멀티스레드 기반의 애플리케이션을 개발하는 것이 아닌)을
  하고자 하시는 분들이 참고하시면 좋은 서적일 것 같습니다.

 


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
처음 처음 | 이전 이전 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |다음 다음 | 마지막 마지막