데이터베이스 기초와 실습 : 액세스 2007 - 개정 IT Cookbook 한빛 교재 시리즈 117
김지연.정종진 지음 / 한빛아카데미(교재) / 2010년 7월
평점 :
품절


강의용 교재 뿐만 아니라 혼자 데이터베이스에 대한 개념과 액세스2007을 사용하는 방법을 배우고자 한다면 정말 최고의 책이라고 생각합니다. 초보자에게도 자신있게 적극 추천합니다.

데이터베이스에 대한 개념과 관련 용어를 정확하고 간결하게 설명하고 있으며 데이터베이스 관리 시스템의 종류로는 마이크로소프트의 액세스2007을 활용해서 데이터베이스를 관리하는 방법을 알려주는 책입니다.
캡쳐된 화면들 또한 핵심이 되는 내용만 정확하게 다루고 있습니다.
번역서의 경우 책을 읽으면서 특유의 번역체의 느낌을 지울수가 없는데, 국내 저자가 직접 기술한 책이고 필체 또한 정말 읽기 편하고 부드러운 느낌입니다.
오탈자도 거의 없는게 가장 큰 장점이라고 생각됩니다.
액세스의 장점은 사용자가 콘솔입력모드에서 SQL명령어를 입력하는 횟수를 획기적으로 줄여주고 GUI 기반으로 마우스를 이용해 그 절차를 대신할 수 있다는 점입니다.

데이터베이스, 데이터베이스 관리 시스템와 관련된 개념 및 용어에 대해 정리가 잘 되어 있습니다. 데이터베이스가 가져야 하는 제약조건, 데이터베이스의 설계 절차, 관계형 데이터베이스처럼 XX형 데이터베이스에 대한 개념, ERD 등 핵심만 추려서 정리를 정말 잘 해 놓았습니다. 특히 용어같은 경우 제 개인적으로는 헷갈리거나 금방 잊어버리는 경우가 많이 있었는데 이번에 책을 읽으면서 그동안 어지럽게 흩어져 있던 데이터베이스에 대한 개념이 정리가 되는 느낌이었습니다. ERD 부분은 일대일관계, 일대다관계, 다대다관계을 정리하면서 실제 자신의 업무에 맞는 다이어그램을 그리기 위한 좋은 예제가 됩니다. 정규화 과정에 대해서도 왜 정규화가 필요한지 어떻게 해야하는지 차근차근 설명을 해놓았고, 테이블을 정의하는 방법과 테이블과 테이블의 관계를 지정하기 위한 키의 역할도 명쾌하게 설명해 놓았습니다.

액세스 자체에서도 폼과 보고서 작성관련 기능을 제공하여 독립된 모듈 형태로 데이터베이스 응용 프로그램을 만들 수 있습니다. VBA기법을 활용하면 비주얼베이직의 모든 기능을 가져다 쓸 수도 있습니다. 이 책에서는 이러한 과정과 방법을 차근차근 설명하고 있어 초보자도 어렵지 않게 따라할 수 있다고 생각됩니다. 최종적으로 미니 프로젝트(학사관리)를 통해 데이터베이스의 설계부터 폼과 보고서를 활용한 프로그램을 완성하는 예제를 수록하고 있습니다. 데이터베이스의 설계와 응용에 관련된 모든 내용을 정리하면서 자기것으로 만들 수 있는 길잡이를 제공하고 있습니다.

댓글(0) 먼댓글(0) 좋아요(1)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
데이터베이스 기초와 실습 : 액세스 2007 - 개정 IT Cookbook 한빛 교재 시리즈 117
김지연.정종진 지음 / 한빛아카데미(교재) / 2010년 7월
평점 :
품절


강의용 교재 뿐만 아니라 초보자의 데이터베이스 입문서로도 최고입니다!!!

댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
Hadoop 완벽 가이드
톰 화이트 지음, 심탁길.김우현 옮김 / 한빛미디어 / 2010년 5월
평점 :
구판절판


* 책의 구성
하둡의 개념과 방대한 API에 대해서 여러 챕터로 나누어서 설명을 하고 있습니다. 각 챕터는 짤막하며 이론설명과 이를 구현하기 위한 API의 사용방법과 관련해 핵심구성요소에 대한 이해를 돕기 위해 예제를 포함해 설명하고 있습니다. 하둡 API의 활용방법을 마치 소설처럼 말로 풀어서 설명을 하고 있는 점이 참 독특했습니다. 또한 모든 외래어에 대해 윗첨자로 영문단어의 표기를 해서 각 단어의 의미를 정확히 파악할 수 있도록 구성을 한 점이 정말 인상적이었습니다. 한국어로만 표기하면 혼동의 여지가 많은데 영어단어로 옆에 표기가 되어 있어서 정확하게 이해할 수 있었습니다.
번역체의 단점이라고 해야 할까요, 필체가 너무 번역스러운 점이 좀 아쉬웠습니다. 저자가 우리나라사람이 쓴 책이 아닌만큼 그 점은 감안해야 할 것 같습니다.
번역본이 아닌 원서의 단점이라고 할까요, 소스코드의 실행과정이 너무 함축적인 점이 아쉬웠습니다. 실제 활용을 위해서는 상당한 연습이 필요할 것 같습니다. 그리고 모든 예제는 리눅스 명령행에서의 파이프 처리, 자바, 루비, 파이썬, C++으로의 예제 설명이 되어 있습니다. 오픈소스답게 모든실행과정이 리눅스인점이 윈도우 유저인 점에서는 정말 아쉬웠습니다. 즉, 책에 제시된 예제들의 실행방법은 리눅스 기준으로 기술되어 있고, 또한 리눅스에서만 완전하게 실행이 가능합니다. 윈도우즈 사용자들이 만약 윈도우에서 하둡의 API를 실행하고자 한다면, CgyWin의 설치와 함께 별도의 환경설정을 반드시 해주어야만 합니다. 이때 CgyWin등의 설치방법도 개별적으로 찾아야 합니다. 모든게 리눅스 환경에서 테스트 되었고, 이래서 오픈소스의 진정한 가치를 알고 싶으면 리눅스 기반에서 테스트하라는 말을 만들고 싶어졌습니다.

* 책의 내용
지금까지 고성능의 서버라면 처리속도도 당연히 빠르므로 한대의 서버만으로도 대용량의 데이터 처리를 할 수 있을것이라 생각했었습니다. 그러나 데이터가 수천만개에서 수십억개까지 증가한다면, 정말 RDBMS의 성능에만 의존할 수 있을까? 라는 의문이 들기 시작했습니다. 하둡의 개념은 거대한 데이터를 일정한 크기로 분할해 N개로 나누고 여러 컴퓨터에서 이들을 병렬로 처리한 다음 그 결과를 취합해서 사용자에게 제공하고자 하는 것입니다. 멀티쓰레딩에도 익숙치 않던 제게 멀티프로세싱도 아닌 엄청난 개수의 컴퓨터들 사이에서 데이터를 나누어 처리한다는 병렬처리방식은 지금까지의 고정관념을 완전히 바꾸어 놓고 있었습니다.
평소 검색엔진 분야에 관심이 있던 저로서는 익숙한 명칭등을 접할 수 있었고 지금까지의 저장장치와 탐색기법의 변천사에 대해서도 알 수 있었습니다. 루씬, 너치, 하둡, 그리고 야후에서 하둡을 채택해 검색사이트를 구성한 배경까지도. 지역적으로 데이터를 분산시키고 이를 처리하는 방법이라든가 탐색을 위해 데이터를 병렬처리하는 방법에 대해서 항상 궁금했습니다. 하둡의 배경지식을 통해 일괄적인 직렬처리과정이 아닌 병렬처리과정을 배울 수 있었습니다.
책 전반에 걸쳐서 분산컴퓨팅에 관련한 이론설명이 강조되어 있습니다. 이 분야에 관심이 있어서 배경지식이 있는 독자가 아니라면 네트워크 및 데이터통신과 관련된 어느정도의 지식을 알고 있어야 책의 내용을 이해하기가 쉬울 듯 합니다(어려운 용어 예시-네트워크 토폴로지).
간혹 안드로이드 OS가 단말기의 성능을 100% 활용하지는 못한다는 말을 들은 적이 있습니다. 화려한 GUI로 사용자에게 편의성을 제공하는 것 뿐만 아니라 하드웨어를 제어하고 그 성능을 활용하는 것 또한 소프트웨어의 역할이기도 합니다. 이러한 사실에 대해 하둡은 어떤 강력한 하드웨어라도 충분히 활용할 수 있다는 것을 증명하고 있습니다.

* 기타
1쇄이어서 그런지 오자, 탈자가 많이 있습니다. 2쇄에서는 말끔하게 정리될 듯 합니다.

댓글(0) 먼댓글(0) 좋아요(1)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
테스트 주도 개발 - 고품질 쾌속개발을 위한 TDD 실천법과 도구
채수원 지음 / 한빛미디어 / 2010년 6월
평점 :
절판


테스트 주도 개발. 이 개발방식이 무슨 의미와 효과를 줄 수 있을까요? 일반적으로 규모가 작은 프로젝트는 시나리오와 요구사항을 정의하고 설계 및 구현을 통해 결과물을 도출한 다음 테스트를 거쳐 배포하게 됩니다. 테스트 유형에 따라 배포된 다음에서야 오류가 발견되는 경우도 종종 있습니다. 또는 테스트 도중에 오류가 발견되어 구현과 테스트 과정을 반복하게 되기도 합니다. 테스트 코드를 먼저 만드는 것부터 시작하는 TDD는 "개발문서 없이도 결과물만 도출하면 되지 않느냐?" 하는 방식의 저를 포함해 일부 개발자들의 통념과 발상을 완전히 뒤집는 것이었습니다. 예외는 발생하면 그때 그때 개선하자는 식의 코딩 스타일을 근본부터 뒤흔들고 있었습니다. 다른 책에서 읽었던 내용인데 개발자들은 동일한 코드지만 에러가 발생할 만한 상황으로의 테스트를 본능적으로(!) 피해간다고 합니다. 정확하게는 반의도적으로 에러가 나는 상황은 발생을 안시켜서 문제가 없다고 넘긴다고 해야할 것 같습니다.
무엇보다 책의 구성과 필체가 마음에 들었습니다. 이론에 해당하는 내용의 설명과 실제적인 예제(물론 전체 소스라기 보다는 조각에 해당하는 예제들이 많은편이긴 하다)를 통한 따라하기 식의 친절한 구성이 돋보입니다.
저자의 필체는 굉장히 자연스럽고 읽기 편한 구어체(거의 이끌어주기식의 대화체에 가깝다)로 되어 있습니다. 따라서 쉽게 읽을 수 있었고 마치 1:1 대화식으로 개인과외를 받는 느낌이었습니다.
IT 개발자 들에게는 너무나 익숙한 용어(전문용어는 아님)를 사용한 표현으로 상황을 예로 들어 필자의 의도를 정확하게 전달하고 있습니다. 정말이지 너무나 가슴에 와닿는 예시들이었습니다. 또한 전문용어 표기시 용어(명령영어)를 표기해 의미를 정확히 전달하고 있습니다.
주제별로 목차가 구성되어 있고 각 장은 초반에는 간단한 예제로 시작하면서 점점 깊이있는 API 활용으로 넘어가도록 구성이 되어 있습니다.
TDD 경험이 없었던지라 독특한 용어가 눈에 띄었습니다. 더미->테스트 스텁->페이크 객체->테스트 더블->테스트 스파이, Mock 객체 등 생소한 용어가 많아 그 의미를 몇번씩 짚어보기도 했습니다.
다른 테스트 프레임워크나 API에 대해서 이전 버전에 대한 비교 설명으로 최신버전에 대한 거부감을 감소시킬 수 있다고 기대합니다. 예를 들면 JUnit3와 JUnit4의 비교설명을 자세히 해 놓았습니다. 프로그램의 구성 단위별로 테스트가 가능한 자동화된 테스트 프레임워크인 JUnit에 대해서는 들어보기만 했었습니다. 저는 JUnit의 사용경험이 없어서 잘 모르지만 기존의 JUnit3 사용자들에게는 비교설명을 통해 JUnit4의 습득이 용이할 것 이라 기대됩니다.
Mock의 개념과 이를 구현한 다양한 프레임워크에 대한 설명으로 각 프레임워크의 장단점을 알 수 있고, 자신에게 맞는 프레임워크의 선택시에 조언으로 활용할 수 있습니다.
개발도구 중 이클립스를 활용해 테스트 프레임워크를 적용하는 방법을 설명하고 있습니다. 이클립스 사용법을 위주로 제시하므로 추가적인 기능을 익힐 수 있다고 본다. 중간 중간의 이클립스 활용팁은 꼭 필요한 정보들이었습니다.
TDD는 부품->조립->전체의 성능테스트가 아닌 부품테스트->조립으로 결함을 감소 시키는 방식을 취하고 있습니다. TDD의 강점은 초기 시간투자로 지연이 될 수는 있지만 일단 완성되면 결함을 60% 이상 감소시킨다는 연구결과도 나와 있습니다.
이러한 TDD의 프로젝트에의 도입결과로 얻는 효과는 엄청날 것이라 생각합니다. 테스트 케이스의 작성, 리팩토링을 통한 정제된 코드로 배포 하는 것이 개발자 입장에서는 더 없이 좋은 도움말이 될 듯 합니다. Javadoc 기능으로 API 문서 작성을 해본적은 있지만 활용예제는 담을 수가 없어서 아쉬울 때가 많았습니다. 테스트 코드의 배포 방식이 단순히 소스코드에 대한 문서화 주석기능을 통한 API 문서보다는 훨씬 나을 것이라고 판단합니다. 정석코스(해당 분야별 바이블)가 있다면 이 TDD 책은 속성코스에 해당한다고 할 수 있습니다. 꼭 필요한 내용들로만 구성이 되어었습니다.
페이지 중간중간의 전문가 인터뷰를 통해 쉬어가는 느낌과 실제 필드에서 TDD가 어떻게 사용되는지 경험담과 현장의 목소리를 간접적으로 들을 수 있었고, 인터뷰에 응한 전문가만의 프로젝트를 통해 얻은 노하우를 얻을 수 있었습니다(개인적으로는 다른 한빛미디어의 책과 비교해서 가장 좋았던 부분입니다).

댓글(0) 먼댓글(0) 좋아요(3)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
테스트 주도 개발 - 고품질 쾌속개발을 위한 TDD 실천법과 도구
채수원 지음 / 한빛미디어 / 2010년 6월
평점 :
절판


프로그램 개발보다 테스트 코드가 먼저다! TDD의 속성코스

댓글(0) 먼댓글(0) 좋아요(2)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo