반디앤루니스 인터넷서점

네비게이션 실시간 인기 책

    모두를 위한 리눅스 프로그래밍 리눅스 구조와 C 언어로 배우는 리눅스 첫걸음

    원제 : ふつうのLinuxプログラミング

    • 아오키 미네로 저
    • 이동규 역
    • 제이펍
    • 2018년 11월 21일
    • 정가
      30,000원
    • 판매가
      30,000 [0% 할인]
    • 결제 혜택
      무이자
    • 적립금
      900원 적립 [3%P]

      NAVER Pay 결제 시 네이버페이 포인트 5% 적립 ?

    • 배송구분
      업체배송(반디북)
    • 배송료
      무료배송
    • 출고예정일

      출고예정일 안내

      ※ 출고예정일은 도서 재고상황에 따라 변동될 수 있습니다.

      close

      2024년 07월 19일(금)

      ※ 출고예정일은 도서 재고상황에 따라 변동될 수 있습니다.

    수량
    회원리뷰
    - [0]
    ISBN: 9791188621408 416쪽 188 x 245 (㎜)

    지금 이책은

    • 판매지수 : 377

    이 분야의 베스트셀러

    이 책과 함께 구매한 책

    이 책이 속한 분야

    이 책은

    리눅스의 구조와 함께 배우는 gcc 프로그래밍의 왕도


    리눅스에서 많이 사용하는 명령어들을 C 언어로 만들어보는 예제를 통해 리눅스와 C 언어를 동시에 익히며 쉽고 빠르게 진도를 낼 수 있다. 또한 리눅스라는 거대한 시스템을 파일 시스템, 프로세스, 스트림이라는 세 개의 키워드로 일관되게 설명하고 있어서 이제 막 리눅스에 입문하는 초보자에게는 이만한 책이 또 없을 것이다. 책을 읽고 난 후에는 리눅스와 C 언어에 대해서는 어느 정도 자신감을 가지고 네트워크 관련 프로그램까지도 만들 수 있게 될 것이다.


    출판사 리뷰

    리눅스의 구조와 함께 배우는 gcc 프로그래밍의 왕도



    리눅스에서 많이 사용하는 명령어들을 C 언어로 만들어보는 예제를 통해 리눅스와 C 언어를 동시에 익히며 쉽고 빠르게 진도를 낼 수 있다. 또한 리눅스라는 거대한 시스템을 파일 시스템, 프로세스, 스트림이라는 세 개의 키워드로 일관되게 설명하고 있어서 이제 막 리눅스에 입문하는 초보자에게는 이만한 책이 또 없을 것이다. 책을 읽고 난 후에는 리눅스와 C 언어에 대해서는 어느 정도 자신감을 가지고 네트워크 관련 프로그램까지도 만들 수 있게 될 것이다.




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



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



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




    이 책의 대상 독자

    - 프로그래밍을 통해 리눅스 구조를 파악하고 싶은 분

    - C 언어 입문을 마치고 리눅스 프로그래밍을 익히고 싶은 분

    - 리눅스나 유닉스 프로그래밍 관련 다른 책들이 읽기 어려웠던 분

    - 윈도우에서 C나 C++을 다뤄봤으나 리눅스에서의 프로그래밍은 처음인 분

    저자 소개

    아오키 미네로

    지은이 : 아오키 미네로 (靑木峯郞)
    운동을 좋아하는 프로그래머로 일본 최대의 요리법 공유 사이트인 ‘쿡패드’에서 전사 데이터 분석과 관련된 업무를 담당하고 있다. 저서로는 《10년간 활용할 수 있는 데이터 분석 입문》, 《Ruby 소스 코드 완전 해설》 등 10여 종이 있다.  

    옮긴이 : 이동규
    도쿄에 살면서 라인재팬의 데이터 엔지니어로 일하고 있다. 번역하며 공부하는 것이 즐거워 꾸준히 번역 활동을 하고 있다. 번역한 책으로는 《자바스크립트와 Node.js를 이용한 웹 크롤링 테크닉》과 《처음 만나는 파이썬》이 있다.  

    역자 소개

    이동규

    도쿄에 살면서 라인재팬의 데이터 엔지니어로 일하고 있다. 번역하며 공부하는 것이 즐거워 꾸준히 번역 활동을 하고 있다. 번역한 책으로는 《자바스크립트와 Node.js를 이용한 웹 크롤링 테크닉》과 《처음 만나는 파이썬》, 《칼퇴를 부르는 엑셀 테크닉 122》가 있다.

    책 속에서



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

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

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

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

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

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

    목차

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

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

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

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

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

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

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

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

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

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

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

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

    제13장 시그널 관련 API ........ 246
    13.1 시그널 247
    13.2 시그널 포착하기 249
    13.3 시그널 전송 256
    13.4 Ctrl + C 257
    13.5 연습문제 259

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

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

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

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

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

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

    배송 시 유의사항

    - 반디앤루니스에서 구매하신 도서는 물류 대행 위탁업체 웅진 북센을 통해 배송됩니다.
     (배송 포장에 "웅진 북센"으로 표기될 수 있습니다.)

    - 구매한 상품의 품질과 배송 관련 문의는 반디앤루니스로 문의 바랍니다.

    - 천재지변 및 택배사의 사정에 따라 배송이 지연될 수 있습니다.

    - 결제(입금) 완료 후 출판사 및 유통사의 사정으로 품절 또는 절판 되어 상품 구입이 어려울 수 있습니다. (별도 안내 예정)

    - 도서산간지역의 경우 추가 배송비가 발생될 수 있습니다.

    반품/교환

    상품 설명에 반품/ 교환 관련한 안내가 있는 경우 그 내용을 우선으로 합니다. (업체 사정에 따라 달라질 수 있습니다)

    반품/교환

    반품/교환
    반품/교환 방법 홈 > 고객센터 > 자주찾는질문 “반품/교환/환불” 안내 참고 또는 1:1상담게시판
    반품/교환 가능 기간 반품,교환은 배송완료 후 7일 이내, 상품의 결함 및 계약내용과 다를 경우 문제발견 후 30일 이내에 신청가능
    반품/교환 비용 변심 혹은 구매착오의 경우에만 반송료 고객 부담(별도 지정 택배사 없음)
    반품/교환 불가 사유
    • 소비자의 책임 사유로 상품 등이 손실 또는 훼손된 경우
    • 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
    • 복제가 가능한 상품 등의 포장을 훼손한 경우 : 예)만화책, 잡지, 화보집 등
    • 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
    • 전자상거래등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
    • 해외주문 상품(해외 원서)의 경우(파본/훼손/오발송 상품을 제외)
    소비자 피해보상
    환불지연에 따른 배상
    • 상품의 불량에 의한 반품, 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은
      소비자 분쟁해결 기준(공정거래위원회고시)에 준하여 처리됨
    • 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의
      소비자 보호에 관한 법률에 따라 처리함
    반품/교환 주소 경기도 파주시 문발로 77, 웅진북센(반디앤루니스)
    • 회사명 : (주)서울문고
    • 대표이사 : 김홍구
    • 개인정보 보호책임자 : 김홍구
    • E-mail : bandi_cs@bnl.co.kr
    • 소재지 : (06168) 서울 강남구 삼성로 96길 6
    • 사업자 등록번호 : 120-81-02543
    • 통신판매업 신고번호 : 제2023-서울강남-03728호
    • 물류센터 : (10881) 경기도 파주시 문발로 77 반디앤루니스
    copyright (c) 2016 BANDI&LUNI'S All Rights Reserved