이미지 검색을 사용해 보세요
검색창 이전화면 이전화면
최근 검색어
인기 검색어

소득공제
모두를 위한 리눅스 프로그래밍
리눅스 구조와 C 언어로 배우는 리눅스 첫걸음
베스트
OS/데이터베이스 top100 20주
가격
30,000
10 27,000
YES포인트?
1,500원 (5%)
5만원 이상 구매 시 2천원 추가 적립
결제혜택
카드/간편결제 혜택을 확인하세요
배송안내
서울특별시 영등포구 은행로 11(여의도동, 일신빌딩) 변경
배송비?
무료

이미 소장하고 있다면 판매해 보세요.

  •  해외배송 가능?
  •  문화비소득공제 가능

이 분야의 이벤트

상세 이미지

책소개

목차

제I부 리눅스의 구조
제1장 리눅스 프로그래밍 시작하기
1.1 책의 개요
1.2 프로그래밍 환경 준비
1.3 gcc를 사용한 빌드(1)
1.4 gcc를 사용한 빌드(2)
1.5 커맨드라인 인자
1.6 개발 환경 이야기
1.7 정보를 얻는 방법

제2장 리눅스 커널의 세계
2.1 운영체제
2.2 라이브러리

제3장 리눅스의 세 가지 중요 개념
3.1 파일 시스템
3.2 프로세스
3.3 스트림
3.4 리눅스의 세 가지 중요 개념 정리

제4장 리눅스와 사용자
4.1 사용자와 그룹
4.2 셸과 단말

제II부 리눅스 프로그래밍의 근간
제5장 스트림 관련 시스템 콜
5.1 이번 장에서 다루는 내용
5.2 파일 디스크립터
5.3 표준 입력, 표준 출력, 표준 에러 출력
5.4 스트림 읽기 및 쓰기
5.5 파일 열기
5.6 cat 명령어 만들기
5.7 기타 시스템 콜
5.8 연습문제

제6장 스트림 관련 라이브러리 함수
6.1 stdio
6.2 바이트 단위 입출력
6.3 stdio로 cat 명령어 만들기
6.4 문자열 입출력
6.5 고정 길이 입출력
6.6 파일 오프셋 작업
6.7 파일 디스크립터와 FILE 타입
6.8 버퍼링 작업
6.9 EOF와 에러
6.10 stdio의 동작 확인하기
6.11 연습문제

제7장 head 명령어 만들기
7.1 head 명령어 만들기
7.2 옵션 파싱
7.3 gdb를 사용한 디버깅
7.4 연습문제

제8장 grep 명령어 만들기
8.1 grep 명령어 만들기
8.2 한글 문자열 처리와 국제화
8.3 연습문제

제9장 리눅스의 디렉터리 구조
9.1 기본적인 구조
9.2 /usr 디렉터리
9.3 /var 디렉터리
9.4 루트 밑의 주요 디렉터리
9.5 디렉터리를 구분하는 기준

제10장 파일 시스템 관련 API
10.1 디렉터리 내용 읽어 들이기
10.2 디렉터리 만들기
10.3 디렉터리 삭제하기
10.4 하드 링크
10.5 심볼릭 링크
10.6 파일 삭제
10.7 파일 이동
10.8 메타 정보 획득하기
10.9 메타 정보 변경하기
10.10 파일 시스템과 스트림
10.11 연습문제

제11장 프로세스와 하드웨어
11.1 프로세스란 무엇인가?
11.2 메모리 관리 관련 API
11.3 프로그램이 완성될 때까지
11.4 연습문제

제12장 프로세스 관련 API
12.1 기본적인 프로세스 API
12.2 프로세스의 생애
12.3 파이프
12.4 프로세스 관계
12.5 연습문제

제13장 시그널 관련 API
13.1 시그널
13.2 시그널 포착하기
13.3 시그널 전송
13.4 Ctrl + C
13.5 연습문제

제14장 프로세스 환경
14.1 현재 디렉터리
14.2 환경 변수
14.3 자격 증명
14.4 사용자와 그룹
14.5 프로세스가 사용하는 리소스
14.6 날짜와 시간
14.7 로그인
14.8 연습문제

제III부 리눅스 네트워크 프로그래밍
제15장 네트워크 프로그래밍의 기초
15.1 인터넷의 구조
15.2 호스트 이름과 리졸버
15.3 소켓 API
15.4 이름 해결
15.5 daytime 클라이언트 작성
15.6 연습문제

제16장 HTTP 서버 만들기
16.1 WWW와 HTTP
16.2 HTTP
16.3 HTTP 서버 개략
16.4 서비스 개시까지
16.5 struct HTTPRequest
16.6 요청 읽어 들이기
16.7 struct FileInfo
16.8 응답 출력하기
16.9 동작 테스트

제17장 본격적인 HTTP 서버 구현
17.1 이번 장에서 수행할 내용
17.2 스스로 네트워크에 접속하기
17.3 복수 접속을 병렬 처리
17.4 데몬 만들기
17.5 로그 기록
17.6 chroot()로 안정성 높이기
17.7 완성!

제18장 이 책을 다 읽은 후
18.1 리눅스/유닉스 전반
18.2 커널이 어떻게 구현되었는지 알기 위한 책
18.3 이식성
18.4 GUI 프로그래밍
18.5 단말 조작
18.6 make
18.7 셸 스크립트
18.8 버전 관리 시스템
18.9 도큐먼트
18.10 패키지와 배포

APPENDIX 부록
A.1 gcc의 주요 커맨드라인 옵션
A.2 참고 문헌

저자 소개 2

아오키 미네로

관심작가 알림신청
 
운동을 좋아하는 프로그래머로 일본 최대의 요리법 공유 사이트인 ‘쿡패드’에서 전사 데이터 분석과 관련된 업무를 담당하고 있다. 저서로는 『10년간 활용할 수 있는 데이터 분석 입문』, 『Ruby 소스 코드 완전 해설』 등 10여 종이 있다.
도쿄에 살면서 라인 재팬의 데이터 엔지니어로 일하고 있다. 컴퓨터학을 석사까지 공부하고 개발자와 데이터 엔지니어로 일한 지 어느덧 10년이 넘었다. 번역하며 공부하는 것이 즐거워 꾸준히 번역 활동을 하고 있다. 지은 책으로는 『함수형 언어 산책』이 있으며, 옮긴 책으로는 『15단계로 배우는 도커와 쿠버네티스』(제이펍, 2020), 『모두를 위한 리눅스 프로그래밍』(제이펍, 2018), 『처음 만나는 파이썬』(제이펍, 2017), 『자바스크립트와 Node.js를 이용한 웹 크롤링 테크닉』(제이펍, 2016), 『모두의 리눅스』(길벗, 2021), 『그림으로 이해하는 알고리즘』(길벗
도쿄에 살면서 라인 재팬의 데이터 엔지니어로 일하고 있다. 컴퓨터학을 석사까지 공부하고 개발자와 데이터 엔지니어로 일한 지 어느덧 10년이 넘었다. 번역하며 공부하는 것이 즐거워 꾸준히 번역 활동을 하고 있다. 지은 책으로는 『함수형 언어 산책』이 있으며, 옮긴 책으로는 『15단계로 배우는 도커와 쿠버네티스』(제이펍, 2020), 『모두를 위한 리눅스 프로그래밍』(제이펍, 2018), 『처음 만나는 파이썬』(제이펍, 2017), 『자바스크립트와 Node.js를 이용한 웹 크롤링 테크닉』(제이펍, 2016), 『모두의 리눅스』(길벗, 2021), 『그림으로 이해하는 알고리즘』(길벗, 2024) 등이 있다.

이동규의 다른 상품

관련 분류

품목정보

발행일
2018년 11월 21일
쪽수, 무게, 크기
416쪽 | 824g | 190*245*20mm
ISBN13
9791188621408

책 속으로

다음으로, C 언어 컴파일러가 필요하다. 리눅스에서는 gcc(GNU Compiler Collection)를 많이 사용한다. 다른 컴파일러를 사용해야 할 강력한 이유가 없다면 gcc를 사용하기 바란다. gcc가 설치되었는지 여부는 다음 명령어를 통해 확인할 수 있다. --- p. 8

API(Application Programming Interface)란, 프로그래밍을 통해 무언가를 사용할 때의 인터페이스를 말한다. 커널의 API는 물론 시스템 콜이다. 그러나 경우에 따라서는 설정 파일이나 명령어조차도 API가 될 수 있다. 의외로 API라는 말은 프로그래밍할 때 사용하는 많은 것을 포괄하는 폭넓은 개념인 것이다. --- p. 31

먼저 스트림이 단말에 연결된 경우에는 버퍼가 가득 찰 때까지 기다리지 않고 개행(‘\n’)을 만나는 시점에서 write()를 실행한다. 이유는, 반대편에 모니터와 같은 단말이 있다면 사람이 출력을 보고 있을 가능성이 높기 때문이다. 버퍼가 가득 차기까지는 오랜 시간이 걸릴 수도 있기 때문에 적절한 순간에 바로 출력해 주는 것이 프로그램의 응답이 빨라지고 사용자의 사용성도 좋아진다. --- p. 90

리눅스를 사용하면 정규 표현식을 사용할 기회가 많다. 예를 들어 vi나 emacs와 같은 편집기에서도 정규 표현식을 사용하여 텍스트를 검색할 수 있으며, less 등의 뷰어에서도 마찬가지다. awk와 sed, 펄(perl), 루비(ruby) 등의 도구에서도 정규 표현식이 중요한 역할을 한다. --- p. 142

보통 C 언어 책에서는 정수 타입에 대해 char, short, int 또는 long까지만 다루는데, C99부터는 이에 더해 long long이라고 하는 타입이 존재한다. long long 타입은 최소 64비트가 보장되는 정수 타입이다. 물론, unsigned long long 타입도 있다. printf()에서 signed long long 타입의 값을 표시할 때는 %lld를 사용하고, unsigned long long 타입의 경우에는 %llu을 사용한다. --- p. 195

환경 변수(environment variable)는 프로세스의 부모/자식 관계를 통하여 전파되는 전역 변수와 같은 것이다. 보통 셸을 사용할 때 PATH나 EDITOR와 같은 환경 변수를 설정한 경험이 있을 것이다. 환경 변수는 항상 설정해 두고 싶은 값을 프로그램에 전달하기 위해 사용한다. 예를 들어 환경 변수 LESS에 "-i"를 설정해 두면 less는 항상 -i 옵션과 함께 실행된다. 이와 비슷한 환경 변수로 MORE와 GZIP 등이 있다. 명령어가 참조하는 환경 변수는 각 명령어의 man 페이지에 기재되어 있으니 확인해 보기 바란다.

--- p. 264

출판사 리뷰

개발자 관점에서 배우는 알기 쉬운 리눅스 입문서!

이 책은 리눅스 구조를 쉽게 배울 수 있는, 그리고 리눅스 gcc 프로그래밍의 입문 서적으로 호평받은 1판에서 최신 상황을 반영하고 전체적으로 내용을 업데이트하였다. 개발자 관점에서 리눅스 구조를 해설하고, 리눅스를 구성하는 개념과 리눅스 프로그래밍의 표준 기법을 설명하며, Hello World!에서 HTTP 서버 구축까지 다룬다.

리눅스 입문서인 이 책은 리눅스에서 사용할 수 있는 간단한 프로그램 개발을 통해 OS의 기본적인 역할과 구조를 이해할 수 있으며, 리눅스용 프로그램 개발에 무엇이 필요한지 독자 스스로 판단할 수 있도록 도와준다.

이 책의 대상 독자
- 프로그래밍을 통해 리눅스 구조를 파악하고 싶은 분
- C 언어 입문을 마치고 리눅스 프로그래밍을 익히고 싶은 분
- 리눅스나 유닉스 프로그래밍 관련 다른 책들이 읽기 어려웠던 분
- 윈도우에서 C나 C++을 다뤄봤으나 리눅스에서의 프로그래밍은 처음인 분

리뷰/한줄평2

리뷰

첫번째 리뷰어가 되어주세요.

한줄평

10.0 한줄평 총점

클린봇이 부적절한 글을 감지 중입니다.

설정
27,000
1 27,000