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

한빛출판네트워크

유닉스 리눅스 프로그래밍 필수 유틸리티(개정판) : vim make, gcc, gdb, svn, binutils, autoconf, autotools

한빛미디어

집필서

절판

  • 저자 : 백창우
  • 출간 : 2010-08-01
  • 페이지 : 796 쪽
  • ISBN : 9788979147599
  • 물류코드 :1759
  • 초급 초중급 중급 중고급 고급
5점 (4명)
좋아요 : 48

뛰어난 프로그래머는 좋은 유틸리티를 적재적소에 사용할 줄 안다

프로그래머는 누구나 도구를 쓰며, 훌륭한 프로그래머는 적재적소에 도구를 사용할 줄 안다. 유닉스/리눅스 프로그래밍을 위한 도구는 많지만, 이에 대한 체계적인 안내서가 없었다. 이 책은 프로그래밍을 쉽게, 프로그램을 견고하게 만들려면 무엇을 써야 하는지 알려준다. 이 책에서는 유닉스/리눅스 프로그래머들이 필수로 알아야 하는 vim, gcc, gas, binutils, gdb, ddd, make, svn, autotools, autoconf, automake 등 다양한 도구를 활용하는 방법을 실용적인 예제로 설명한다.

  • vim 기초 사용법과 실제로 많이 사용하는 고급 사용법
  • ctags, cscope를 사용한 소스 분석 기법
  • gcc 컴파일 과정과 최적화된 컴파일 방법
  • gdb, ddd를 이용한 기초 디버깅 기법과 고급 디버깅 기법
  • gas를 이용한 GNU 어셈블러 익히기
  • binutils를 이용한 바이너리 조작법
  • make의 기초 활용법과 고급 활용법
  • autoconf, automake를 사용한 여러 시스템에서 이식 가능한 프로젝트 작성법
  • 원활한 팀 프로젝트 운영을 위한 CVS, Subversion 사용법
  • rpm, deb를 이용한 패키지 관리법

* 추가챕터 다운로드 : 15장 패키징 및 배포
 

백창우 저자

백창우

동국 대학교에서 컴퓨터 공학을 전공했으며, 리눅스 커널, 디바이스 드라이버, RTOS, 임베디드 시스템 등과 관련된 이론 및 실무 경험을 보유하고 있다. 주요 수행 프로젝트로는 리눅스 커널 분석(버전 2.4, 2.6), 임베디드 시스템에서의 홈네트워크 시스템 구축, 음성 인식, 제어 시스템 연구 등이 있다.
현재는 삼성 소프트웨어 멤버쉽에서 차세대 임베디드 RTOS 구현 및 윈도우 시스템 구현을 목표로 프로젝트를 진행하고 있으며, 비트 컴퓨터(아카데미)에서 임베디드 시스템 통합론을 강의하고 있다.

1부 튜토리얼
 
1장. 튜토리얼
01. 간단한 소스 프로그램 작성
02. gcc 컴파일러로 실행 파일 생성
03. make를 사용해 컴파일
04. 문제 발생, 벌레를 잡아라
05. svn을 사용한 프로젝트 버전 관리
06. doxygen을 이용한 문서화
07. autotools를 사용한 이식성 높은 빌드
08. RPM 패키징 
 
2부 에디팅
 
2장. vi와 vim 에디터
01. vi 개괄 
02. 기본적인 vim 사용법 트레이닝
03. vim을 강력하게 하는 고급 테크닉
04. vim의 조력자 ctags, cscope, 기타 플러그인
05. 개발자를 위한 vim의 유용한 팁
06. 개발자들의 vim 설정
 
3장. 기타 편집기 소개
01. emacs 
02. 이클립스 
03. gedit 
04. KDevelop 
05. anjuta 
 
3부 컴파일과 링킹
 
4장. gcc compiler
01. 컴파일의 의미
02. 알아 두면 정말 유용한 C 소스 컴파일 과정
03. gcc를 사용해 원하는 컴파일하기
04. gcc를 이용한 최적화 컴파일 
05. 기타 알아 두면 좋을 만한 것
 
5장. ld linker
01. 링킹의 기본 이해
02. ELF 바이너리 포맷 구조
03. ld를 사용한 링킹
04. 링커 스크립트
05. ld를 사용한 고급 링킹 테크닉
06. 라이브러리를 만들기
 
6장. gas assembler
01. gas를 사용해 어셈블하기
02. 어셈블리 파일의 작성
03. 인라인 어셈블리의 사용
 
7장. 삶을 윤택하게 하는 바이너리 유틸리티
01. 바이너리 유틸리티 사용하기
 
 
4부 디버깅
 
8장. gdb 디버거
01. 단순하지만 매우 강력한 디버거 gdb
02. gdb를 이용한 디버깅 테크닉 
 
9장. GUI 디버거 DDD의 사용
01. DDD란 무엇인가?
02. DDD를 사용한 디버깅
 
10장. 기타 디버깅 툴
01. trace 유틸리티를 사용한 프로그램 문제점 분석
02. 문제 진단 유틸리티
 
 
5부 프로젝트 빌드
11장. make
01. make의 이해
02. 매크로의 사용
03. 확장자 규칙의 사용
04. 더미 타겟의 사용
05. 명령 사용 규칙
06. 재귀적 make의 사용
07. 조건부 수행
08. 함수의 사용
09. 특수 타겟
10. make 최종 정리
 
12장. autoconf
01. autoconf란 무엇인가
02. 따라 해 보기
03. autoconf의 구조와 원리
04. configure.ac 파일 작성 규칙
05. 사용 가능한 매크로
06. 함수 체크 매크로
07. 세밀한 제어를 위한 configure.ac 작성
08. 설정 헤더를 사용해 소스 파일에 설정 적용
 
13장. automake
01. automake의 구조와 원리
02. 따라 해 보기
03. Makefile.am 파일 작성 규칙
04. 재귀적 Makefile.am 파일 작성
 
 
6부 프로젝트 버전 관리
 
14장. Subversion, CVS
01. 버전 관리의 이해
02. Subversion을 이용한 버전 관리
03. Subversion 서버 설정
04. Subversion을 사용해 프로젝트 진행
05. CVS를 이용한 버전 관리
06. CVS 서버 설정
 
부록A. 프로그래밍 유형별 가용 유틸리티
01. GUI 프로그래밍
02. 네트워크 프로그래밍
 
부록B. vim 명령 정리
부록C. gcc 옵션 정리
부록D. autoconf 매크로 정리
 
찾아보기

유닉스 이책은 유틸리티를 설명하는 가벼운 내용이라고 볼수도 있지만
저자가 컴파일러 개발자이기 때문에 다년간의 다양한 경험을 바탕으로
유틸리티도 훌륭한 예제를 만들어 쉬우면서도 저자의 노하우를 전수 받을수 있다.
더불어 컴파일러의 내부적인 구조와 세부적인 구현원리를 최대한 쉽게 전달하고
있다. 수많은 개발자가 있지만 실력은 천차만별이듯이 많은 책들도 마찬가지인데
이 책은 저자의 깊은 지식과 노고와 수고가 배여 있다.

이 책을 읽게 되어 기쁘다.

정말 좋은 책이다.



윈도우 환경에서 이클립스로 IE에서 돌아가는 웹 프로그램을 개발하면서 화려한 화면과 마우스 클릭만으로도 많은 것이 자동으로 이뤄지는 IDE에 길들여진 나에게 유닉스, 리눅스의 까만 화면은 그야말로 암흑 그자체였다. 학부시절 VI로 C언어를 컴파일하고 소켓통신 프로그램을 만들때 윈도우 보조 프로그램의 메모장을 얼마나 그리워했었는지 모른다.



모르는게 죄다.

진작에 이 책을 만났더라면...



이 책은 vim, make, gcc 에서 부터 svn까지 말 그대로 필수 유틸리티에 대해 자세하게 설명하고 있다. 이 책이 훌륭한 이유는 unix나 linux의 유틸에 대한 소개와 사용법 그리고 명령어들만의 나열이 아닌, 어떻게 구성이 되어있고 어떠한 과정으로 실행이 되는지 까지를 다루고 있기 때문이다. 일례로 이 책의 2장의 2장의 vi에 대한 부분을 보면 되돌리기 명령 u에 대해 설명하는데 실제 레지스터에 어떤 식으로 저장되는지 또한 되돌리기와 이전 작업으로 돌아가기가 어떻게 다른지 등을 알기쉽게 설명하고 있어 단순히 외워야할 명령어가 아닌 한번 더 생각해보고 음미할 수 있는 기회를 준다.



가장 즐거운 마음으로 읽었던 부분은Debugging 부분이었다. 사실 디버깅 또는 테스트 분야는 실제 맨땅에 헤딩하며 실제로 경험해 보지 않으면 디버깅의 중요성이나 어떻게 하면 효과적으로 이러한 기능을 사용할 수 있는지 알기가 어렵다. gdb를 이용해서 이클립스나 다른 IDE 못지 않은 디버깅 기능을 사용할 수 있다는 것을 알수 있었다. 또한 하나의 파일럿 프로젝트에 대해 실제 디버깅을 실행하며 그 과정의 화면을 보여주고 있어 실습을 통해 익힐 수 있어 좋았다.



그리고 항상 왠지 어려울 것만 같은 이름만으로도 살짝 긴장하게 만드는 make에 대한 설명과 gcc 컴파일러에 대한 내용도 아주 유용했다. gcc 구조 및 컴파일이 어떻게 이루어지는지 또한 컴파일을 할 때 최적화 하기위한 방법은 무엇인지도 다루고 있다.



개정판인만큼 더욱 충실한 내용과 책에 오타도 거의 찾을 수 없었고 깔끔한 구성도 이 책의 장점이다.



나와같이 윈도우에만 길들어져 까만화면 울렁증이 있는 개발자에게 이 책은 최고의 사수이자 선생님이자 친구가 되어줄 것이다.

진심으로 강추한다!

UNIX/LINUX 환경에서 개발은 많이 하는편은 아니지만
때때로 간단히 Shell,Perl, Python Programming 할일이 있으면
한동안은 그걸 잡고 일을 하게 된다.

평소에 원도우에서만 개발하며
필요할시에 서버에 SSH 접속후 VI 환경에서 개발을 하는데
항상 느끼는 것이지만 개발시 디버깅환경이 구축이 안되어서
언제나 DEBUG 전역변수를 두고 print 해서 확인하는게 다였는데
평소보다는 불편하긴 하지만 디버깅 환경이 있다는걸 처음으로 알았다.
적지 않은 신세계라고 할까?

개인적으로 MFC, C#로 개발할때 Visual Studio.net IDE 환경에서
디버깅시 여러 편한점(수정후 중단 위치 이동, 디버깅상태에서 소스수정)이나
JAVA, FLEX 개발시에 이클립스(FLEX 필더또한 이클립스 기반)로 사용시
이클립스의 끝 없는 장점들이 많다.

특히나 vim의 플러그인이 존재한다는 사실도 알게되었다.
바로 쓸생각은 없지만 필요시에 다시 한번 책을 뒤척이지 않을까 싶다.
개인적으로 Vim 의 경우 수많은 단축키들을 지금까지
찾아보고 때때로 사용하지만
외우는 것의 한계가 있어
현재 쓰게 되는 것은 조금 불편하더라도 자연스럽게
사용가능한것만 사용하고 가끔은 마우스 신공을 쓰기도 한다.
정말 VI 단축키는 외운다고 되는게 아닌
무의식의 영역에서 사용되어야 할 정도로 쉬우일이 아닌것 같다.

책의 전반에 대해서 보면 의외로 회사 생활하면서 책에서 나온 것을
활용하는 것이 많지만 그렇지 않은 것도 많다.

얼마전 Python으로 만든 S/W를 처음으로 어느곳에 설치하는데
tgz 으로 묶어서 처리했었는데 여러모로
설치 후 PATH 세팅이라던가 환경 세팅으로 인해 불편한 점이 있다.
한서버에만 설치하면 되는 내용이라서 상관이 없지만
수십대의 서버라면 책에 나온것과 같이 패키징화 하는것이
역시 좋은것으로 보인다.

형상 관리는 CVS는 잠시 써봐서 잘 모르겠지만
subversion이 현재 업무에도 사용중이고 크게 문제점은 없는것 같다.
MS의 Source Safe 와는 분명히 체계가 다른면이 있는것 같다.

이 정도에서 이 책의 정의를 내리자면
불편했던 개발(컴파일, 디버깅, 형상관리, 패키징)환경을 바꾸어 줄 책이라는 것이다.
물론 바꿀지 안바꿀지는 선택하기 나름이다.
모든것을 적용하는건 힘들더라도 효율성이 필요한 시점에선
적용을 고려해보는것도 나쁘지 않을것 같고
그런면에서 전체적으로 알게 해줄 흔치않은 코스 요리 같은 책이라고 정의하고 싶다.

1판은 읽어 보신분이라면 아시지만 유닉스 또는 리눅스에서 개발을 시작하는 사람에게 필요한 많은 정보를 가지고 있는 책입니다.
개발툴인 vi, 컴파일러 GCC의 원리, make, svn등 프로젝트 진행에도 꼭 필요한 유틸리티에 관해서 풍부하면서도 쉽게 잘 정리된 책입니다.

1판은 읽은 독자라면 2판 바뀌어 봐야 얼마나 바뀌었겠어 생각하실지도 모르겟지만
1판에서 보다 최신화 된 내용과 1판에서 부족했던 내용을 보충하는 글들도 많이 있습니다.

군더더기 없는 매우 유익한 책이라 생각합니다.

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 도서명 :
유닉스 리눅스 프로그래밍 필수 유틸리티(개정판) : vim make, gcc, gdb, svn, binutils, autoconf, autotools
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
유닉스 리눅스 프로그래밍 필수 유틸리티(개정판) : vim make, gcc, gdb, svn, binutils, autoconf, autotools
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
유닉스 리눅스 프로그래밍 필수 유틸리티(개정판) : vim make, gcc, gdb, svn, binutils, autoconf, autotools
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실