logo
logo
x
바코드검색
BOOKPRICE.co.kr
책, 도서 가격비교 사이트
바코드검색

인기 검색어

실시간 검색어

검색가능 서점

도서목록 제공

우분투 환경에서 C 언어로 배우는 리눅스 프로그래밍

우분투 환경에서 C 언어로 배우는 리눅스 프로그래밍

(데이터베이스에서부터 네트워크, 그래픽, 디바이스까지 풍부한 예제로 배우는 라이브러리 활용법)

이이오 준 (지은이), 김성재 (옮긴이)
  |  
한빛미디어
2012-09-01
  |  
32,000원

일반도서

검색중
서점 할인가 할인률 배송비 혜택/추가 실질최저가 구매하기
yes24 로딩중
교보문고 로딩중
영풍문고 로딩중
인터파크 로딩중
11st 로딩중
G마켓 로딩중
쿠팡 로딩중
쿠팡로켓 로딩중
notice_icon 검색 결과 내에 다른 책이 포함되어 있을 수 있습니다.

중고도서

검색중
로딩중

e-Book

검색중
서점 정가 할인가 마일리지 실질최저가 구매하기
로딩중

책 이미지

우분투 환경에서 C 언어로 배우는 리눅스 프로그래밍

책 정보

· 제목 : 우분투 환경에서 C 언어로 배우는 리눅스 프로그래밍 (데이터베이스에서부터 네트워크, 그래픽, 디바이스까지 풍부한 예제로 배우는 라이브러리 활용법)
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 리눅스/유닉스 프로그래밍
· ISBN : 9788979149531
· 쪽수 : 564쪽

책 소개

앞으로 리눅스 환경에서 C 프로그래밍을 해야 하거나 리눅스 프로그래밍을 경험해보고 싶은 사람에게 바로 도움이 될 수 있는 실용적인 내용으로 구성되어 있다. 라이브러리를 활용한 접근 방식과 흥미롭고 적절한 예제 덕분에 학습하는 재미를 느낄 수 있다.

목차

__옮긴이의 말
__지은이의 말

PART 1 기초편 - 실천적 C 프로그래밍 학습
__CHAPTER 1 왜 지금 C를 배워야 하는가?
____1.1 알고리즘과 구현
____1.1.1 컴퓨터 프로그램의 동작원리
____1.1.2 프로그래밍 언어의 트렌드
____1.1.3 시스템 프로그래밍이란
____1.2 C 학습의 장점
____1.2.1 C 활용의 장점
____1.2.2 C의 단점
____1.3 이 책을 효과적으로 활용하려면
____1.3.1 이 책을 읽기 위한 전제조건
____1.3.2 이 책의 구성

__CHAPTER 2 우분투가 제공하는 학습 환경
____2.1 우분투 리눅스 설치
____2.1.1 우분투란
____2.1.2 우분투를 사용해보자
____2.1.3 패키지 관리 시스템
____2.2 C 언어 개발 환경 정비
____2.2.1 C 언어 컴파일러와 각종 도구
____2.2.2 에디터와 실행 환경
____2.2.3 개발 환경과 개발 스타일

__CHAPTER 3 대규모 개발 프로젝트와 라이브러리 이용
____3.1 프로그램 소스의 분할
____3.1.1 C 프로그램의 빌드 과정
____3.1.2 프로그램 소스를 분할하는 이유
____3.2 make의 이용
____3.2.1 빌드 자동화
____3.2.2 다양한 make의 기능
____3.3 라이브러리 활용과 헤더 파일의 의의
____3.3.1 라이브러리
____3.3.2 헤더 파일의 역할
____3.3.3 사전으로서의 헤더 파일

__CHAPTER 4 프로그램의 이식성
____4.1 프로그램 이식성 확보
____4.1.1 플랫폼과 환경설정에 의한 차이
____4.1.2 차이를 극복하는 방법
____4.2 Autotoolset
____4.2.1 소스 코드 입수와 설치
____4.2.2 configure 스크립트
____4.2.3 Autotoolset을 이용한 이식성 높은 소프트웨어
____4.3 새로운 도구 CMake
____4.3.1 CMake의 활용
____4.3.2 CMake로 프로그램 빌드

__CHAPTER 5 라이브러리의 특징과 활용 시 주의점
____5.1 외부 코드 이용의 실제
____5.1.1 라이브러리와의 결합
____5.1.2 정적 링크와 동적 링크
____5.1.3 동적 로드
____5.2 라이브러리를 좀 더 알아보자
____5.2.1 라이브러리의 더 많은 활용
____5.2.2 라이브러리 이용 시의 함정
____5.3 스코프와 이름 공간
____5.3.1 변수와 심볼의 유효범위
____5.3.2 파일 단위 관리

PART 2 활용편 - 다양한 라이브러리를 이용한 프로그래밍
__CHAPTER 6 옵션 해석
____6.1 명령줄 옵션
____6.1.1 프로그램에 전달하는 파라미터
____6.1.2 명령 인수 해석
____6.2 getopt와 getopot_long
____6.2.1 명령줄 옵션이란
____6.2.2 짧은 옵션 해석
____6.2.3 긴 옵션 해석
____6.2.4 더욱 진화한 옵션 해석

__CHAPTER 7 데이터 다루기
____7.1 프로그램의 기본 구성
____7.1.1 알고리즘과 데이터 구조
____7.1.2 다양한 데이터 구조
____7.2 GLib을 이용한 기본적인 데이터 구조
____7.2.1 양끝에서 접근 가능한 큐
____7.2.2 연결 리스트
____7.2.3 배열
____7.3 XML 데이터 읽기 쓰기
____7.3.1 XML로 나타내는 데이터 구조
____7.3.2 libxml2 활용

__CHAPTER 8 데이터베이스 애플리케이션
____8.1 데이터베이스의 개요
____8.1.1 데이터베이스와 DBMS
____8.1.2 관계형 데이터베이스
____8.1.3 데이터베이스 접근 예제
____8.2 SQLite 활용
____8.2.1 간편한 데이터베이스
____8.2.2 개발 패키지 설치와 예제 데이터 준비
____8.2.3 libsqlite3으로 데이터 읽기 쓰기

__CHAPTER 9 네트워크
____9.1 네트워크 프로그래밍의 기초
____9.1.1 서버와 클라이언트
____9.1.2 간단한 서버 프로그램
____9.1.3 실제 서버 프로그램
____9.2 네트워크 해석
____9.2.1 해석 도구
____9.2.2 패킷에 액세스하는 프로그래밍

__CHAPTER 10 과학기술계산
____10.1 과학기술계산의 역사와 응용
____10.1.1 컴퓨터의 등장과 물리연산
____10.1.2 다양한 문제들
____10.2 BLAS와 LAPACK
____10.2.1 방정식과 행렬계산
____10.2.2 BLAS의 도입과 예제 프로그램
____10.2.3 LAPACK 설치와 예제 프로그램
____10.3 GSL
____10.3.1 GSL이란
____10.3.2 GSL의 이용

__CHAPTER 11 이미지 데이터 처리
____11.1 이미지 처리 개론
____11.1.1 이미지 데이터 다루기
____11.1.2 각종 이미지 파일 형식
____11.1.3 프로그램에서 이미지 데이터 이용
____11.2 각종 라이브러리 이용
____11.2.1 libnetpbm
____11.2.2 ImageMagick
____11.2.3 gdk_pixbuf
____11.3 아스키 아트
____11.3.1 아스키 아트의 종류
____11.3.2 아스키 아트 생성 라이브러리

__CHAPTER 12 GUI 프로그래밍
____12.1 GUI와 위젯
____12.1.1 위젯이란
____12.1.2 다양한 위젯 라이브러리
____12.1.3 GUI 프로그래밍의 기초
____12.2 GTK+ 첫걸음
____12.2.1 대화상자 표시
____12.2.2 GTK+로 만드는 Hello, world!
____12.2.3 마우스 조작
____12.2.4 키보드 입력 처리
____12.3 GUI 빌더
____12.3.1 다양한 GUI 빌더
____12.3.2 libglade의 이용

__CHAPTER 13 컴퓨터 그래픽
____13.1 2D 그래픽
____13.1.1 그리기 라이브러리
____13.1.2 Cairo 입문
____13.1.3 아주 간단한 예제 프로그램
____13.1.4 대화형 그래픽 처리
____13.2 3D 그래픽
____13.2.1 OpenGL의 기초
____13.2.2 간단한 3D 애니메이션
____13.2.3 GLUT와 GTK+

__CHAPTER 14 장치 액세스
____14.1 이미지 캡처
____14.1.1 카메라 기기에서 이미지 가져오기
____14.1.2 리눅스에서 이용할 수 있는 카메라와 비디오 캡처 기기
____14.1.3 이미지 캡처 라이브러리
____14.1.4 카메라에서 이미지를 캡처하는 프로그램
____14.2 USB 장치
____14.2.1 USB 장치 제어
____14.2.2 HID 조작
____14.3 다양한 장치 액세스
____14.3.1 지문인식 장치
____14.3.2 아이폰, 아이팟 터치 액세스
____14.3.3 아이팟 액세스

__CHAPTER 15 인코딩, 디코딩, 문자열 해석
____15.1 바코드
____15.1.1 바코드 출력
____15.1.2 2차원 코드
____15.1.3 QR 코드
____15.2 문자열 해석
____15.2.1 URI
____15.2.2 MIME
____15.2.3 설정 파일

__CHAPTER 16 테스트 방법
____16.1 유닛 테스트
____16.1.1 테스트의 중요성
____16.1.2 CUnit의 이용
____16.2 메모리 관련 테스트
____16.2.1 C 프로그램의 메모리 관리 문제
____16.2.2 메모리 누수 검출

PART 3 실천편 - 프로그램 개발 사례
__CHAPTER 17 프로그래밍 사례: 도입에서 기본 조작까지
____17.1 볼록 껍질 문제
____17.1.1 볼록 집합과 볼록 껍질
____17.1.2 최소 블록 계산의 의의
____17.2 다시 하는 GTK+ 프로그래밍
____17.2.1 [스텝 1] 대화상자 표시
____17.2.2 [스텝 2] 대화상자 표시 수정
____17.3 프로그램 분할
____17.3.1 [스텝 3] 분할 컴파일 대응
____17.3.2 CMake 활용
____17.4 대화식 작동
____17.4.1 [스텝 4] 콜백 함수에 의한 그리기 처리 준비
____17.4.2 [스텝 5] 노드 추가
____17.4.3 [스텝 6] 마우스 커서 조작
____17.4.4 [스텝 7] 노드 조작

__CHAPTER 18 프로그래밍 사례: 조작방법 확장
____18.1 단일 노드에서 복수 노드로
____18.1.1 [스텝 8] 노드 집합(노드 리스트) 도입
____18.1.2 노드 집합을 관리하는 코드 구현
____18.2 다각형 생성
____18.2.1 [스텝 9] 다각형 데이터 도입
____18.2.2 [스텝 10] 올바른 다각형 생성
____18.2.3 정렬 코드
____18.3 GUI 확대와 알고리즘 구현 준비
____18.3.1 [스텝 11] 알고리즘 작성용 데이터 도입
____18.3.2 필드 수정
____18.3.3 그 밖의 수정

__CHAPTER 19 프로그래밍 사례: 알고리즘의 구현
____19.1 최소 볼록 계산 알고리즘 구현
____19.1.1 포장법
____19.1.2 축차구성법
____19.1.3 축차구성법의 구체적인 계산처리
____19.2 포장법에 의한 볼록 껍질 계산 구현
____19.2.1 [스텝 12] 볼록 껍질 클래스의 도입
____19.2.2 그 밖의 파일 수정
____19.2.3 많은 노드를 계산하는 예
____19.3 축차구성법에 의한 볼록 껍질 계산의 구현
____19.3.1 [스텝 13] 프로그램 수정

__끝맺으면서
__찾아보기

__칼럼 모아보기
____칼럼 1 : Super Cow Powers
____칼럼 2 : 기계어를 읽다
____칼럼 3 : 디렉터리 구조의 가시화
____칼럼 4 : make의 다양한 활용법
____칼럼 5 : G_BEGIN_DECLS란?
____칼럼 6 : 시스템에서 정의되는 매크로
____칼럼 7 : Makefile 이외의 프로젝트 파일
____칼럼 8 : 들여 쓰기와 스코프
____칼럼 9 : main() 함수의 세 번째 인수
____칼럼 10 : fall-through
____칼럼 11 : 프로세스의 종료 상태
____칼럼 12 : NULL과 0
____칼럼 13 : foo, bar, baz?
____칼럼 14 : pkg-config
____칼럼 15 : GLib이 제공하는 형
____칼럼 16 : 복잡한 캐스트와 포인터형 선언의 표현방법
____칼럼 17 : GLib의 그 밖의 기능
____칼럼 18 : SQLite Database Browser에서의 한글 데이터 다루기
____칼럼 19 : 역따옴표와 for 문의 조합
____칼럼 20 : 아파치 로그를 정규표현으로 매칭
____칼럼 21 : 슈퍼 데몬
____칼럼 22 : telnet 활용법
____칼럼 23 : 패킷의 내용을 조사하자
____칼럼 24 : 지구 시뮬레이터
____칼럼 25 : 암호 같은 함수명
____칼럼 26 : 인라인 함수
____칼럼 27 : 가역압축과 비가역압축
____칼럼 28 : 이미지 처리 프로그램 디버그
____칼럼 29 : 메모리상에 전개한 이미지 데이터 직접 다루기
____칼럼 30 : C 프로그램에 이미지 삽입
____칼럼 31 : 아스키 아트의 응용
____칼럼 32 : C나 유닉스의 기초에 관한 권장 도서
____칼럼 33 : GUI의 장점과 CUI의 장점
____칼럼 34 : GNU hello
____칼럼 35 : 정합성 검사가 딸린 형 변환
____칼럼 36 : GDK가 정의하는 키 값
____칼럼 37 : SVG 파일
____칼럼 38 : 동적 메모리 관리 연구
____칼럼 39 : 붙박이 모델
____칼럼 40 : EffecTV
____칼럼 41 : FourCC와 다양한 이미지 데이터 형식
____칼럼 42 : ls…
____칼럼 43 : 벤더 정보, 제품 정보
____칼럼 44 : usbmuxd의 자동 실행
____칼럼 45 : 종이 크기 정보 관리
____칼럼 46 : 오류 정정 레벨
____칼럼 47 : URI, URL, URN
____칼럼 48 : 캡슐화와 추상 클래스
____칼럼 49 : 유닛 테스트 도구
____칼럼 50 : Boehm의 가비지 컬렉션
____칼럼 51 : C 언어 프로그래밍에 의한 메서드 호출
____칼럼 52 : 각양각색의 마우스 커서
____칼럼 53 : 다시 그리기 처리의 최적화
____칼럼 54 : 중심이 볼록 껍질에 반드시 포함되는 것에 대한 대수적 증명
____칼럼 55 : 내적과 외적을 이용한 두 개의 벡터가 이루는 각도 계산
____칼럼 56 : 이벤트 보내기
____칼럼 57 : 자식 클래스의 인스턴스를 부모 클래스의 타입으로 다루기
____칼럼 58 : 코드를 뒤에서부터 읽어가는 이유
____칼럼 59 : 메모리 관리와 데이터 구조

저자소개

이이오 준 (지은이)    정보 더보기
http://isbn.sbcr.jp/61209 주식회사 미쯔비시 종합연구소 정보기술연구센터 주석연구원. 공학 박사, 정보공학부분 기술사 1970년 출생. 소년시절을 나가노에서 산에 둘러싸여 자랐다. 나가노현 나가노 고등학교를 졸업했다. 1994년 동경대학 대학원 공학계 연구과 계수공학 전공 수료. 같은 해 주식회사 미쯔비시 종합연구소에 입사했다. 2009년부터 현재까지 동경농공대학 객원 준교수를 겸임하고 있다. 전문 분야는 화상처리, 유저 인터페이스, 정보시스템 최적화, 행동정보분석 등이다. 문학과 술을 더할 나위 없이 사랑하는 사십대 기술자이며, HCD-Net 인증 인간중심설계 전문가다. 저서로는 『Linux에 의한 화상처리 프로그래밍』(オ-ム사), 『연습과 사례로 배우는 프로젝트 매니지먼트 입문』(편저, 소프트뱅크 크리에이티브) 등이 있다.
펼치기
김성훈 (옮긴이)    정보 더보기
주로 IT 관련 서적을 번역하는 번역가다. 주요 번역서로는 『따라 하며 배우는 언리얼 엔진 5 입문』(한빛미디어, 2024), 『그림으로 배우는 5G 네트워크』(영진닷컴, 2022), 『그림으로 이해하는 IT 지식과 트렌드』(길벗, 2021), 『파이썬으로 배우는 머신러닝 입문』(성안당, 2021), 『Scratch가 보이는 그림책』(성안당, 2020), 『C가 보이는 그림책』(성안당, 2018), 『실무에서 바로 통하는 자바』(한빛미디어, 2017), 『안드로이드 개발 레벨업 교과서』(위키북스, 2017), 『프로그래밍이 보이는 그림책』(성안당, 2017), 『24가지 예제로 배우는 게임 수학&물리 입문』(길벗, 2014), 『세가의 신입 사원 교육 과정에서 배우는 게임 프로그래밍의 정석』(한빛미디어, 2012), 『웹 개발자를 위한 웹을 지탱하는 기술』(멘토르, 2011) 등이 있다.
펼치기

추천도서

이 포스팅은 쿠팡 파트너스 활동의 일환으로,
이에 따른 일정액의 수수료를 제공받습니다.
도서 DB 제공 : 알라딘 서점(www.aladin.co.kr)
최근 본 책