이 책의 초판이 발간된 지도 5년이 지났네요. 그때만 해도 이제 갓 약진하던 사물인터넷(IoT)이 5년 사이 각종 산업 분야에서 활발하게 상용화가 되리라고는 미처 생각지 못했습니다.
'언젠가는... 적용되겠지~?'하긴 했지만(그러기 위해 전 세계적으로 노력을 하고 있었으니까요), 이렇게 빨리 도입됨을 넘어 우리가 확연히 피부로 느낄 정도가 되다니... 그래서 저자분과 의기투합해 바로 이 시점이 많은 독자분께서 성원해주신 이 책의 개정판을 낼 때라고 생각했습니다!
오늘 소개해드릴 책은 사물인터넷과 제4차 산업혁명 시대를 맞이하여 핵심 운영체제로 떠오르고 있는 리눅스 프로그래밍 서적입니다. 리눅스를 소개하고 다루는 책은 지금도, 앞으로도 계속 나오겠지만, 사물인터넷의 개념을 오픈 하드웨어인 라즈베리 파이와 접목하여 리눅스(정확히는 임베디드 리눅스) 프로그래밍을 쉽고, 재미있게 배울 수 있다는 점에서 의미가 있습니다(책의 특성과 장점을 다 어필하기 위해서 제목도 롱롱~).
저자이신 서영진 님에게 리눅스는 자유를 위한 꿈이었고, 새로운 세계에 대한 동경과도 같았다 합니다. 개인적으로 이 책을 읽는 누군가에게도 리눅스가 새로운 세계로 향하는 꿈과 비전이 되기를 바라면서 이 책을 집필하셨습니다. 부디 많은 독자가 저자님의 25년간의 리눅스 내공이 담긴 이 책을 읽고 사물인터넷 시대를 착실히 준비할 수 있기를 바랍니다.
책 내용에 대해 간단하게나마 설명해드리자면, 임베디드 리눅스를 배우기 위해서는 수십만 원에서 수백만 원이나 하는 고가의 장비가 필요한데, 이 책은 한국 돈으로 단돈 몇만 원밖에 하지 않는 라즈베리 파이만 있으면 됩니다. 물론, 그 외 실습에 필요한 DC 모터라든가 스위치, 트랜지스터 등이 필요합니다만, 개인의 학습 환경이나 형편에 맞추어 추가 구입하면 됩니다. 책은 총 4부, 13개 장으로 구성되어 있으며, 각 부의 내용은 다음과 같습니다.
('이 책에 대하여'에서 발췌)
1부에는 라즈베리 파이를 이용해서 리눅스 프로그래밍을 할 수 있도록 라즈베리 파이의 설정과 리눅스의 사용법, 그리고 라즈베리 파이의 GPIO를 사용해서 하드웨어를 조작하는 내용을 담았다. 1부는 라즈베리 파이를 다루기 위한 기본적인 내용으로, 아래 설명처럼 해당 내용을 이미 알고 있는 독자는 각 장을 건너뛰고 2부로 넘어가도 괜찮다.
2부에서는 유닉스의 표준인 단일 유닉스 규격(Single UNIX Specification)을 기준으로 리눅스 시스템 프로그래밍과 네트워크 프로그래밍을 다룬다. 리눅스 시스템 프로그래밍에는 리눅스의 기본적인 입출력과 시간의 처리, 시그널과 프로세스, IPC와 스레드에 대한 내용을 담고 있으며, 리눅스 네트워크 프로그래밍에서는 TCP/IP의 개요와 BSD 소켓, UDP 프로그래밍과 TCP를 이용한 서버/클라이언트 프로그래밍 그리고 웹 서버를 만드는 내용을 담고 있다.
3부에서는 멀티미디어 프로그래밍으로 리눅스 멀티미디어 프로그래밍, OpenCV 프로그래밍, OpenGL ES 프로그래밍에 대한 내용을 담고 있다. 리눅스 멀티미디어 프로그래밍에서는 멀티미디어의 기본적인 이론과 리눅스 사운드 프로그래밍, 리눅스 프레임 버퍼 프로그래밍, 라즈베리 파이의 Pi Camera를 이용한 Video4Linux 프로그래밍에 대해서 설명하고 있다. 또한 OpenCV 프로그래밍에서는 OpenCV의 기본 API를 이용한 그래픽스와 영상 처리, 얼굴 인식 등에 대해서 설명하고 있으며, OpenGL ES 프로그래밍에서는 3D 그래픽을 위한 모델링과 OpenGL ES를 이용한 2D/3D 그래픽스, 그리고 셰이더 프로그래밍에 대해 설명한다.
마지막 4부에서는 리눅스 고급 프로그래밍으로, Qt를 이용한 GUI 프로그래밍과 Caffe를 이용한 인공지능 프로그래밍, 그리고 리눅스 커널 프로그래밍을 담고 있다. Qt를 이용한 GUI 프로그래밍에서는 Qt의 기본적인 내용과 사용자 정의 위젯 및 슬롯의 생성, 기본 위젯과 레이아웃, 다이얼로그 등에 대해서 설명한다. 인공지능 프로그래밍에서는 인공지능의 개요와 Caffe를 이용한 인공지능 프로그래밍 방법에 대해 설명하는데, 인공지능을 이용해서 손으로 그리는 숫자를 자동으로 인식하도록 프로그래밍한다. 그리고 마지막으로 리눅스 커널에서는 리눅스 커널을 이용한 라즈베리 파이의 GPIO 제어와 리눅스 커널과 모듈 프로그래밍에 대한 내용을 담고 있다.
그리고 모름지기 개정판이라 하면 더 보강된 내용이 빠질 수 없겠죠? 개정판을 보실 독자분들을 위해 현재 시점에 맞는 라즈베리 파이 4 보드와 라즈비안 업데이트 내용을 반영함과 동시에 초판에 넣지 못했던 단일 유닉스 규격과 새로운 네트워크 함수, 오디오 관련 내용을 추가했습니다. 아울러 AR/VR/MR 시대에 발맞춰 3D 프로그래밍에 관련된 내용도 포함되어 있습니다.
그리고 학습하면서 컬러로 보면 더 좋을 이미지를 초판은 별도 컬러 화보로 인쇄하여 넣었었는데요. 이번에는 그림 바로 옆에 해당 이미지의 컬러 버전을 QR 코드로 삽입하여 바로바로 확인해가며 책을 보실 수 있도록 하였습니다. 그리고 표지 뒷날개에는 라즈베리 파이 포트 번호도를 넣어 마찬가지로 책을 보는 중에 언제든지 '뿅' 하고 꺼내어 볼 수 있게 했습니다. 모쪼록 조금이나마 번거로움을 덜고 더 편하게 시각 자료를 활용해서 수월하게 학습할 수 있기를 바랍니다.
책의 대략적인 모습을 좀 더 자세히 살펴보시고자 하는 분들은 아래의 샘플 PDF 파일을 다운로드해서 보시기 바랍니다.
■ 샘플 PDF(차례, 머리말, 감사의 글, 이 책에 대하여, 베타리더 후기, 1장 '사물인터넷과 라즈베리 파이' 일부, 2장 '리눅스의 기초: 라즈베리 파이와 친해지기' 일부 6장 '리눅스 네트워크 프로그래밍: 사물인터넷의 연결을 위한 기초' 일부, 7장 '리눅스 멀티미디어 프로그래밍: 현란함과 즐거움' 일부, 9장 'OpenGL ES를 이용한 3D 프로그래밍: 3차원의 세계로' 일부)
[sample]사물인터넷을위한리눅스프로그래밍with라즈베리파이.pdf
■ 도서구매 사이트(가나다순)
■ 제이펍 소식 더 보기(제이펍의 소통 채널에서 더욱 다양한 소식을 확인하세요!)
'출간 전 책 소식' 카테고리의 다른 글
UIKit? NO, 이제는 SwiftUI입니다! (10) | 2020.03.04 |
---|---|
딥러닝을 검색 엔진에 적용한다면 어떤 일이 발생할까요? (2) | 2020.03.03 |
자연어 처리, 파이썬으로 시작해 보세요! (2) | 2020.02.20 |
'좋아요'와 '팔로우'를 부르는 매력적인 상품 사진이란? (0) | 2020.02.18 |
50만 부가 판매된 중국의 인공지능 서적! (16) | 2020.02.14 |