라즈베리파이 3 네트워크 프로그래밍 (2판)
현대의 우리들에게 정보와 통신, 특히 인터넷은 일상생활에 필수적인 수단이 되었다. 정보를 생성하고 전달하기 위한 도구가 바로 프로그래밍 언어이고, 특히 C언어는 유닉스 운영체제가 개발된 이후부터 지금까지 매우 중요한 위치를 차지하여 왔다.
이 책은 정보통신의 구체적인 동작과정을 이해하기 위해 라즈베리파이 환경에서 C언어와 파이썬을 이용한 통신 프로그램과 피지컬 컴퓨팅을 다룬다. 이들을 다루는 이유는 단순히 소프트웨어의 사용법이 아니라 기초 원리를 이해하는 것이 중요하기 때문이다.
이 책에서는 먼저 1장에서 인터넷과 OSI 7계층을 통해 정보 통신 시스템을 개괄적으로 소개한 후 2장에서 라즈베리파이 환경에서의 리눅스 사용법을 다룬다. 아울러, 응용문제로 사용자가 정보통신을 하기 위해 가장 먼저 하는 작업인 프로세스 생성에 대해 설명한다.
3장의 네트워크 프로그래밍 기초에서는 클라이언트와 반복형 서버를 다루고, 4장에서는 프로세스, 스레드 그리고 입출력 다중화를 사용하는 병행 서버 문제를 다룬다. 이어서 5장에서 브로드캐스트와 멀티캐스트 프로그램을 살펴본 후, 6장에서 실제 패킷을 캡처하는 저수준 프로그램을 통해 TCP/IP의 헤더 구조를 살펴본다.
7장에서는 C언어를 이용한 피지컬 컴퓨팅을 소개하기 위해 라즈베리파이와 아두이노를 함께 설명한다. 마지막으로 8장에서는 최근 각광을 받고 있는 파이썬 언어를 간단히 소개한 후 네트워크 프로그래밍과 피지컬 컴퓨팅에 대해 다룬다.
<라즈베리파이 3 네트워크 프로그래밍> 저자
1장_ 인터넷과 TCP/IP
2장_ 라즈베리파이 환경
3장_ 네트워크 프로그래밍 기초
4장_ TCP를 이용한 병행 서버
5장_ 브로드캐스트 통신과 멀티캐스트 통신
6장_ 저수준 프로그래밍
7장_ 피지컬 컴퓨팅과 통신
8장_ 파이썬 네트워크 프로그래밍