메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

IT/모바일

놓칠 뻔한 그러나 놓쳐서는 안될

한빛미디어

|

2003-12-08

|

by HANBIT

9,673

† Note: 본 기사는 「마이크로 소프트웨어」 12월호 Book 벤치마크를 발췌하여 정리한 기사입니다. 본 기사의 원문은 이곳을 클릭하시면 볼 수 있습니다. 원문 기사에 제작에 참여해주신 분들은 다음과 같습니다.
- 기획/정리: 홍수진 기자
- 글: 고려대 하나와 영 벤치마크팀(http://oaz.korea.ac.kr)/한양대 휴즈 벤치마크팀(http://www.huhs.net)
많은 독자들의 성원에 힘입어 오랫동안 북 벤치마크가 진행됐지만 아쉬운 점이 없는 것은 아니다. 특히 매달 하나의 주제에 10권의 책을 소개하기 때문에 10권 이상 출판되지 않는 주제의 서적들의 경우 북 벤치마크에 소개하고 싶어도 그렇게 하지 못하는 경우가 발생한다. 또한 어떤 주제는 너무 많은 서적이 출판되어 좋은 책임에도 어쩔 수 없이 뺄 수밖에 없는 경우도 생긴다. 이와 같은 아쉬움을 조금이라도 만회하고자 이번 달 북 벤치마크에서는 송년 특집으로 "번외편"을 준비했다. 물론 이번에 소개하는 도서만으로 1년 동안의 아쉬움을 완전히 달랠 수는 없을 것이다. 그러나 북 벤치마크의 의도는 어떤 분야에 대한 좋은 책을 소개하는 것에도 있지만 독자들 스스로 자신에게 맞는 책을 고르게 하는 방법을 알려주는 역할 또한 있다. 따라서 이번호에 소개하는 내용들이 독자들에게 이와 같은 역할을 하는 가이드라인이 되지 않을까 싶다.

리눅스 커널의 이해, 개정판
리눅스 커널의 이해, 개정판


오픈소스 프로젝트 중의 하나인 리눅스는 모든 소스가 공개되어 있다. 이는 잘 다듬어진 운영체제를 자기가 직접 수정하고 새로운 기능을 부여하는 등 많은 가능성들을 실현시켜 줄 수 있다는 것을 의미하지만, 초보 개발자나 운영체제에 대한 경험이 부족한 이들에게는 섣불리 건드릴 수 없는 영역으로 존재할 수 있다. 그러한 이들을 위해 커널 2.4의 소스로 리눅스 커널의 구조와 동작에 대해 상세히 설명하고 있다. 리눅스는 다양한 시스템에서 운영될 수 있지만 운영체제의 특성상 하드웨어에 의존적인 부분이 필수적으로 존재하게 된다. 이러한 부분에 대해 많은 사용자를 가지고 있는 x86 아키텍처를 중심으로 설명하며, 모든 설명에 대한 커널 소스를 함께 제공함으로써 커널에 대한 접근과 이해를 돕는다. 특히 커널을 이해하기 위해 필요한 부분인 커널에서 사용하는 중요한 자료 구조와 여러 알고리즘, 프로그래밍 기법을 함께 다루고 있으며 운영체제의 주요 기능인 메모리 관리, 프로세스 처리, 인터럽트, 파일 시스템에 대해서도 리눅스 커널이 가지는 특징을 자세하게 설명하고 있다. 이 책을 읽고나면 리눅스 커널 코드를 이해할 수 있으며 데이터 구조의 중요도를 구분할 수 있게 될 것이다. 따라서 리눅스 커널을 공부하려는 이들에게 커널 소스의 설명뿐만 아니라 리눅스의 내부동작 및 원리에 대해 전반적으로 이해할 수 있도록 지침서 역할을 할 것이다.

자바 퍼포먼스 튜닝 (개정판): 성능 향상을 위한 205가지 핵심 기법
자바 퍼포먼스 튜닝 (개정판): 성능 향상을 위한 205가지 핵심 기법


현재 자바는 엔터프라이즈 환경 및 임베디드 시스템에서 가장 각광받는 개발 언어 중 하나이다. 인터넷이나 엔터프라이즈 환경의 프로그램들은 동시에 다수의 사용자 접근이 이루어지고 있으며 임베디드의 경우 한정된 시스템 자원을 이용해야 하므로 빠르고 최적화된 프로그램 코드 작성이 관건이라고 할 수 있다. 많은 프로그래머들은 여러 경험에 근거하여 자신들만의 최적화 기법을 가지고 있을 것이다. 하지만 정리되지 않은 지식들의 활용은 매 순간마다 적용되기 어렵고, 설계 단계에서 지식의 활용 여부를 판가름하기도 어렵기 마련이다. 개발자들이 이와 같은 어려움을 극복할 수 있도록 프로그램 개발 최적화 단계 및 설계 단계에서 반드시 참고해야 할 주요 가이드라인을 제공하고 있다. 책의 수준을 고려할 때 자바 초보자가 아닌 기본적인 자바 언어에 대한 지식과 더불어 최적화에 관심을 가지고 있는 개발자들에게 도움이 된다. 전체적인 내용은 최적화에 대한 주요 개념과 전체적인 수행 방법에서부터 튜닝 도구, JVM, 여러 튜닝 기법 등으로 구성되어 있다. 이러한 내용을 기반으로 1판에 수록됐던 전반적인 내용이 다시 번역되었으며 J2EE 관련부분이 추가되었다. 각 장은 내용적으로 의존성이 그리 크지 않으므로 필요에 따라 원하는 부분만 찾아볼 수도 있다. 또한 각 장 사이의 의존성이 걸려 있는 부분은 주석처리가 되어 있어 필요한 내용을 찾고 난 후 어리둥절해 하는 일은 없을 것이라고 생각된다. 결론적으로 처음 읽을 때는 최적화에 대한 개념 습득을, 그 후로는 지속적인 참고문헌으로서의 활용으로 유용하다. 편집 상태는 차분하고 심플하게 되어 있어 부담 없이 편하게 눈에 들어오며 개정판에서는 번역도 새로 이루어져 내용도 쉽게 이해할 수 있을 것이다. 그리고 각 장마다 있는 성능비교표는 독자들의 최적화 적용에 있어서 많은 도움이 될 것이다.

초보자를 위한 Linux & Unix C 프로그래밍
초보자를 위한 Linux & Unix C 프로그래밍


리눅스 프로그래밍을 시작해야 하는데 C언어도 모르고 리눅스?유닉스도 모르므로 리눅스?유닉스 프로그래밍의 전반 사항을 모른다는 공식에 도달한 "초보자"를 위한 서적이다. 세 분야를 한 권에 소개함으로써 지식 전달과 이해에 효율을 높이겠다는 것이 이 서적의 전략적 의도이다. 크게 C, 리눅스?유닉스의 C 라이브러리, 개발 도구, 프로그래밍, 통신 및 네트워크 프로그래밍의 다섯 부분으로 구성되어 있다. 800페이지가 조금 넘는 분량에 5가지의 큰 주제를 집어넣은 책 구성이 오히려 유연하여 답답하거나 지루하다는 느낌은 들지 않는다. C언어의 표준 문법과 C 라이브러리를 1, 2부에서 다루고 있다. 대부분의 프로그래밍 기초 서적에서는 문자열이나 데이터 변환 함수 등을 여러 장에 분산하여 사전식으로 소개하는 경우가 많은데 여기서는 한 곳에 모아두어 찾아보기 쉽게 구성했다. 3부는 이 책에서 가장 돋보이는 부분으로 리눅스?유닉스 프로그래밍의 감초인 vi, gcc, make, gdb를 설명한다. make만 하나의 서적으로 나올 만큼 비중이 높은 부분인데 적은 분량에 함축적인 내용을 담아 초보자도 부담 없이 기본적인 내용을 숙지할 수 있다. 대상이 분명하며 이에 따른 편집과 구성에 신경을 많이 썼다는 느낌을 받을 수 있다. 또한 초보자를 대상으로 한 목표를 처음부터 끝까지 잘 유지하고 있다. 꼭 필요한 부분에 예제와 그림이 많이 포함되어 있어 이해도 쉽다. 이 책의 내용만으로 고급 프로그래밍을 할 수는 없겠지만 학교 수업에서 나오는 리눅스용 프로젝트를 수행하기에는 손색이 없다. 단점이라면 리눅스?유닉스 시스템 사용법에 대한 설명이 없다는 것이다. 그러나 프로그래밍을 아직 공부해 보지 않았거나 윈도우 프로그래밍에만 익숙하다면 리눅스 프로그래밍에 대해 전체적으로 빠르게 익히는데 큰 도움이 될 것 같다.

기타 추천도서
  • 『다시 체계적으로 배우는 C 언어 포인터』(2003, 정보문화사) 정재은 저
  • 『네 가지 색깔의 Java Project』(2002, 삼양미디어) 박철희 저
  • 『APPLIED MICORSOFT .NET FRAMEWORK PROGRAMMING』(2003, 정보문화사) 제프리 릭터 저, 안재우 역
  • 『Direct3D ShaderX 정점 & 픽셀 셰이더 팁과 트릭』(2003, 정보문화사) 드루 카드 외 4인 저, 류광/최지호 역
  • 『Inside Microsoft Visual Studio .NET』(2003, 정보문화사) 브라이언 존슨 외 3인 저, 이동범/오세영 역
  • 『보안을 위한 효율적인 방법 PKI』(2003, 인포북) 찰리 아담스/스티브 로이드 저, 장기식 역
  • 『기초에서 실무까지 XML 웹서비스 - 열혈강의』(2003, 이한디털리/프피렉) 신민철 저
TAG :
댓글 입력
자료실

최근 본 상품0