새로운 시대의 패러다임... 사물인터넷과 리눅스 프로그래밍

 

전문가와 모든 매체가 앞으로의 미래는 사물인터넷의 시대가 될 거라고 합니다. 그럼 사물인터넷이란 대체 무엇일까요? 그리고 왜 리눅스 프로그래밍을 배워야만 할까요? 이제 그 이유에 대해서 이야기 해보려고 합니다.
 

 

 

스마트 디바이스의 발전과 사물인터넷의 등장

2007년 애플의 스티브 잡스가 발표한 아이폰에 의해서 세상은 스마트 디바이스의 시대로 접어들었습니다. 2007년의 스마트폰과 2010년의 스마트 패드, 2010년의 스마트 TV, 2011년의 스마트 워치와 같은 웨어러블 장치의 시작으로 다양한 스마트 디바이스들이 사람들의 생활 속으로 깊이 다가왔습니다.
 

<그림 1> 스마트 디바이스와 사물인터넷의 발달

 

이러한 스마트 디바이스의 발전으로 열린 새로운 시대가 바로 사물인터넷입니다. 사물인터넷(Internet of things)은 인터넷에 연결된 기기로 정의할 수 있는데, 이러한 기기들이 인터넷을 통해 능동적으로 통신하고 상호 작용할 수 있는 시스템을 의미합니다.
 

 

사물인터넷과 오픈 소스 하드웨어

이러한 사물인터넷 발전의 중심에는 오픈 소스와 오픈 컨텐츠, 그리고 오픈 소스 하드웨어가 있습니다. 오픈 소스로는 리눅스와 KDE, GNOME과 같은 프로젝트들이 있으며, 오픈 컨텐츠로는 위키디피아나 TED가 있습니다. 오픈 소스 하드웨어는 여러 가지가 있는데, 대표적인 것으로는 아두이노와 라즈베리 파이가 꼽힙니다.

 

아두이노는 이탈리아에서 예술적인 분야와 IT를 융합하기 위해서 개발되었는데, 스케치라는 개발 환경을 이용하면 IT를 잘 모르더라도 쉽게 접근할 수 있습니다. 한편 가격이 싸고 개발이 편리하다는 장점을 제공하지만, 다른 오픈 소스 하드웨어에 비해서 CPU의 성능이 낮고 메모리가 작습니다. 이러한 이유로 리눅스와 같은 운영체제를 사용할 수 없기 때문에 보다 복잡한 작업에는 적합하지 않습니다.

 

<그림 2> 아두이노와 라즈베리 파이

 

아두이노를 대신하여 복잡한 작업에 최적화된 오픈 소스 하드웨어가 바로 라즈베리 파이입니다. 라즈베리 파이는 영국의 라즈베리 파이 제단에서 임베디드 리눅스 교육을 위해서 만든 보드로 20$ ~ 35$의 저렴한 가격으로 구매가 가능하며, 최근에 발표된 라즈베리 파이 2의 경우에는 900MHz 쿼드 코어와 1GB의 메모리 탑재로 별도의 PC 없이 라즈베리 파이만 가지고도 애플리케이션 개발이 가능합니다. 특히, 다른 많은 오픈 소스 하드웨어에서는 제공하고 있지 않는 HDMI 단자를 기본으로 제공하므로 모니터나 TV를 연결하여 디스플레이로 사용할 수 있습니다.

 

라즈베리 파이는 기본적으로 리눅스를 운영체제로 사용하고 있으며, 마이크로소프트에서도 윈도우10을 무료로 지원하고 있습니다. 최근에는 타이젠에서도 라즈베리 파이를 이용해서 IoT 장비를 개발할 수 있도록 지원하고 있습니다.
 

 

라즈베리 파이와 리눅스 프로그래밍

라즈베리 파이를 사용하기 위해서는 파이썬(Python)과 같은 스크립트 언어나 C 언어와 같은 고급 언어, 스크래치나 Perl 등의 일반적인 PC에서 사용하는 대부분의 프로그래밍 언어를 사용할 수 있습니다.

 

라즈베리 파이에서 자주 사용되는 파이썬과 같은 스크립트 언어는 배우기 쉽고 개발이 편리합니다. 하지만 코드를 보호하기가 힘들고 중간에 번역하는 과정이 필요하기 때문에 속도면에서 제한이 있습니다. 그래서 멀티미디어나 게임과 같은 높은 성능이 요구되는 분야나 임베디드 장비와 같이 속도가 느린 디바이스에서는 사용하기 힘듭니다. 이러한 분야에서는 어셈블러와 같은 저급 언어나 C와 같은 고급 언어가 좋습니다.

 

라즈베리 파이는 운영체제로 리눅스를 사용하고 있는데, 일반적으로 리눅스 시스템 프로그래밍이나 네트워크 프로그래밍에서는 C 언어를 기본으로 사용하고 있습니다. 그리고 리눅스 커널은 대부분의 코드가 C 언어로 되어 있습니다.

 

리눅스는 네트워크 서버와 임베디드 기기, 모바일 기기까지 대부분의 장비에서 사용되는 운영체제입니다. 리눅스는 유닉스 계열의 운영체제로서 현재 안드로이드나 타이젠(Tizen), 미고(MeeGo) 등 대부분의 스마트 디바이스에서 사용 중입니다. iOS도 마하(Mach) 계열의 BSD 유닉스를 커널로 사용하고 있는데, 이 또한 유닉스 계열이므로 리눅스와 프로그래밍하는 방법이 동일합니다.
 

 

새로운 시대에 맞는 패러다임리눅스 프로그래밍

사물인터넷은 인터넷을 통한 기기들의 통신이기 때문에 여러 가지 기술을 필요로 합니다. 리눅스에서는 커널과 통신을 위해서 유닉스 시스템 프로그래밍을 지원하고 있으며, 네트워크 프로그래밍을 위해서는 BSD 소켓 기반의 유닉스 네트워크 프로그래밍을 지원하고 있습니다. 리눅스 커널은 사운드나 비디오 입출력을 위한 멀티미디어 프로그래밍 환경을 지원하며, 또한 Qt, GTK+, EFL 등의 X 윈도우 툴킷을 통한 GUI 프로그래밍을 지원하고 있습니다.

 

기본적으로 개발 언어로 C를 사용하기 때문에 포인터가 없는 다른 프로그래밍 언어보다 배우기 힘들고 숙련된 개발자가 되기 위해서는 그만큼 오랜 시간이 필요합니다. 안드로이드나 주요 플랫폼에서 사용되기 때문에 리눅스 프로그래머는 산업 발전 측면에서도 중요한 위치를 차지합니다. 이런 이유로 현재 미국을 비롯한 많은 나라에서 능력있는 리눅스 개발자를 육성하기 위해 적극적으로 나서고 있습니다.

 

국내에서도 삼성전자나 LG 전자와 같은 대기업들에서도 스마트폰이나 스마트 TV와 같은 하드웨어 제조사도 리눅스를 이용해서 전자제품에서 동작하는 시스템 프로그램을 만들고 사용하고 있습니다. 또한, 안드로이드에서 사용하는 ART Dalvik과 같은 가상 머신도 바로 C 언어로 되어 있습니다. 리눅스 프로그래밍을 배운다면 새로이 도래한 사물인터넷 시대에 보다 각광받는 개발자가 될 수 있을 것입니다.

0개의 상품이 있습니다.



0개의 상품이 있습니다.

댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기
 
 
 

 

"그림으로 공부하는" 시리즈의 세 번째 책은?

일본에서만 50만 부 이상을 판매한 "그림으로 공부하는" 시리즈의 첫 번째 번역서인 《그림으로 공부하는 시스템 성능 구조, 그리고 두 번째 번역서인 그림으로 공부하는 IT 인프라 구조에 이어 세 번째 책의 주제는 바로 "오라클"입니다. 


"그림으로 공부하는" 시리즈는 쉽게 설명한 텍스트, 그리고 그 텍스트를 다시 그림으로 이해하기 쉽게 표현하는 일본 책 특유의 장점을 정말 잘 녹여낸 책들인데요. 그래서인지 국내 독자들로부터도 호평을 받고 있습니다. 시리즈의 세 번째 책인 《그림으로 공부하는 오라클 구조》 또한 오라클을 처음 접하는 분들이나 오라클에 대해 이제 막 눈뜨기 시작한 초급자들에게 알토란 같은 지식을 제공해주고 있습니다. 



일본 최고의 데이터베이스 잡지인 《DB Magazine》의 인기 연재물 ‘그림으로 공부하는 오라클 입문’을 재구성한 이 책에서는 오라클을 '창고 회사'에 비유하여 오라클의 아키텍처를 쉽게 이해할 수 있도록 표현하고 있습니다. (다만, 기본적인 SQL문은 알고 있어야 학습이 가능함을 알려드립니다.) 또한, 암기에 의존하는 학습 방식 대신 오라클 아키텍처의 모습을 머릿속에 자연스럽게 그릴 수 있도록 해주고 있는 이 책은 다음과 같은 세 가지 특징을 지니고 있습니다.


• 머릿속에 그림을 그릴 수 있을 때까지 계속해서 아

 

키텍처와 동작에 관한 내용만을 설명한다

• 가능한 한 오라클 이외의 용어(IT 기본 용어)를 사용해서 설명한다

• 명령어는 거의 설명하지 않는다


오라클 입문자나 초보자들을 위해 자그만한 도움을 주고자《나만 알고 싶은 오라클 실무 테크닉》을 번역하셨던 이민재 님이 이번 책의 번역도 공들여 해주셨는데요. 오라클의 기본을 다시 다지려거나 기본적인 SQL문을 알고 있고 오라클을 배워보려는 분들은 꼭 읽어보기를 강추합니다. 


■ 샘플 PDF(차례, 옮긴이 머리말, 머리말, 지은이 소개, 베타리더 후기, 1장 I/O와 디스크의 관계)

그림으로공부하는오라클구조_sample.pdf


■ 도서구매 사이트(가나다순)

 


0개의 상품이 있습니다.



0개의 상품이 있습니다.

댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기
 
 
 

 

라즈베리 파이로 배우는 사물인터넷과 리눅스 프로그래밍!

기본적인 하드웨어 개발에서 리눅스 애플리케이션 개발까지!


출판사 제이펍

지은이 서영진

출판일 2015년 8월 31일

페이지 712쪽

시리즈 (없음)

판  형 46배판변형(188*245*28)

제  본 무선(soft cover)

정  가 33,000원

ISBN 979-11-85890-28-9 (93000)

키워드 리눅스 / 리눅스 프로그래밍 / 라즈베리 파이 2 / 임베디드 리눅스 / 사물인터넷 / IoT / Qt / 

분  야 운영체제 / 리눅스


관련 사이트

관련 포스트

관련 시리즈
■ (없음)

관련 도서

관련 파일 다운로드
■ (없음)

예제 소스 코드
http://sourceforge.net/ (서브버전을 통해 다운로드)

교재 검토용 증정 안내
■ 학교 및 학원에서 교재 선정을 위해 책을 파일로 검토해보고자 하시는 분들은 다음의 페이지에서 신청 양식을 작성해주시기 바랍니다. 확인 후 연락을 드리도록 하겠습니다. http://goo.gl/vBtPo3

강의 자료
(교재로 채택하신 분들은 출판사로 메일을 보내주세요) => jeipubmarketer@gmail.com
■ 본문의 그림과 표
■ 예제 소스 코드
■ 강의 교안(ppt)은 제작 예정

샘플 PDF
■ 차례,머리말, 감사의 글, 이 책에 대하여, 베타리더 후기, 1장 사물인터넷과 라즈베리 파이, 찾아보기
정오표 페이지
■ (등록되는 대로 링크를 걸어 드리겠습니다)
 
도서구매 사이트(가나다순)


출판사 서평

라즈베리 파이로 배우는 사물인터넷과 리눅스 프로그래밍!

기본적인 하드웨어 개발에서 리눅스 애플리케이션 개발까지!


이 책은 라즈베리 파이 같은 오픈 소스 하드웨어와 소프트웨어를 융합한 IoT 제품을 개발할 수 있도록 GPIO를 이용한 기본적인 하드웨어 개발에서부터 리눅스 프로그래밍까지의 모든 내용을 담고 있다. 또한, 여러 단계에 걸쳐 리눅스 프로그래밍에 대해 학습하고, 이를 사물인터넷 실무에 곧바로 적용할 수 있도록 구성하였다.


현재 세계 각국에서는 사물인터넷을 차세대 핵심 기술로 정하고 다양한 연구와 개발을 진행하고 있으며, 이에 따라 리눅스를 사용하는 플랫폼도 점점 증가하는 추세다. 라즈베리 파이로 손쉽게 사물인터넷을 학습할 수 있는 이 책이 미래를 준비하는 여러분에게 듬직한 가이드가 되기를 바란다.


이 책이 다루는 내용

⚫ 라즈베리 파이와 GPIO를 이용한 하드웨어 제어

⚫ 리눅스 시스템 프로그래밍

⚫ 다중 처리

⚫ 리눅스 네트워크 프로그래밍

⚫ 리눅스 멀티미디어 프로그래밍

⚫ 리눅스 GUI 프로그래밍

⚫ 리눅스 커널 & 디바이스 드라이버 프로그래밍

⚫ OpenCV와 GStreamer를 이용한 멀티미디어 스트리밍


저자 소개

서영진 

십여 년 동안 IT 분야에서 프로그래밍을 하고 있으며, IT 전문 강사와 컨설턴트, 관광TC로도 일하고 있다. 저서로는 《타이젠으로 웨어러블 앱 개발하기》(eBook), 《사물인터넷: 우리가 꿈꾸는 스마트한 세상》, 《Tizen 애플리케이션 프로그래밍》, 《Qt 프로그래밍》 등이 있다.


만든 프로그램으로는 리눅스용 다이얼패드, SKY 6400/6500 모바일 캠코더, 원자력 발전소 CPS 시스템, 신도리코 NEST UI, 삼성전자 VOIP 전화기 등이 있으며, 주로 멀티미디어, UI(Qt), 임베디드 리눅스, 모바일, 스마트 디바이스 분야에서 개발 경력을 쌓았다.


삼성전자, LG전자 등의 기업과 대구·인하·원광·전북·조선대학교 및 DIP, AKIPA, 3DFIA, KETI, KEA, RAPA, KOSTA 등의 협회에서 강의와 세미나를 진행하였다.


차례

PART 1 라즈베리 파이 사용하기

CHAPTER 1 사물인터넷과 라즈베리 파이 3

1.1 사물인터넷과 오픈 소스 하드웨어 플랫폼 4

1.2 라즈베리 파이 한 입 베어 물기 10

1.3 라즈베리 파이를 위한 주변 도구 13

1.4 라즈베리 파이를 위한 준비운동: 사용환경 설정 18

1.5 요약 40

접기

CHAPTER 2 리눅스의 기초: 라즈베리 파이와 친해지기 43

2.1 리눅스의 사용환경과 구조 44

2.2 리눅스의 기본 명령어 48

2.3 vi 에디터 63

2.4 리눅스의 프로그래밍 도구 72

2.5 요약 94


CHAPTER 3 라즈베리 파이와 GPIO: 하드웨어 제어 97

3.1 GPIO의 개요 98

3.2 LED 제어 프로그래밍 101

3.3 wiringPi를 이용한 GPIO 프로그래밍 112

3.4 스위치와 센서를 이용한 입출력 116

3.5 요약 138


PART 2 리눅스 기본 프로그래밍

CHAPTER 4 리눅스 프로그래밍의 기초 143

4.1 리눅스의 기본 구조와 파일 시스템 144

4.2 파일 처리와 표준 입출력 148

4.3 파일 정보와 권한 171

4.4 디렉터리와 시간 처리 185

4.5 리눅스 시스템 프로그래밍과 라즈베리 파이의 제어 199

4.6 요약 203


CHAPTER 5 프로세스와 스레드: 다중 처리 205

5.1 프로세스와 시그널 207

5.2 멀티 프로세스와 다중 처리 프로그래밍 229

5.3 프로세스 간 통신 249

5.4 POSIX 스레드와 동기화 272

5.5 다중 처리와 라즈베리 파이의 제어 282

5.6 요약 286


CHAPTER 6 리눅스 네트워크 프로그래밍: 사물인터넷의 연결을 위한 기초 289

6.1 네트워크의 개요와 BSD 소켓 290

6.2 UDP 네트워크 프로그래밍 306

6.3 TCP 서버와 클라이언트 프로그래밍 316

6.4 HTTP와 웹 서버 프로그래밍 331

6.5 웹 서버와 라즈베리 파이의 제어 355

6.6 요약 362


PART 3 리눅스 고급 프로그래밍

CHAPTER 7 리눅스 멀티미디어 프로그래밍: 현란함과 즐거움 367

7.1 멀티미디어와 라즈베리 파이 368

7.2 리눅스 사운드 프로그래밍 380

7.3 프레임 버퍼를 통한 이미지 출력 418

7.4 Video4Linux2와 Pi Camera 440

7.5 라즈베리 파이와 멀티미디어 458

7.6 요약 460


CHAPTER 8 Qt를 이용한 GUI 프로그래밍: 더 편리한 접근성 463

8.1 Qt와 라즈베리 파이: Qt on Pi 464

8.2 Qt 프로그래밍과 사용자 정의 위젯 484

8.3 Qt 위젯과 레이아웃 498

8.4 Qt Creator를 이용한 GUI 디자인 524

8.5 GUI와 라즈베리 파이 545

8.6 요약 552


CHAPTER 9 리눅스 커널과 디바이스 드라이버: 더 깊은 곳으로...  555

9.1 리눅스 커널과 디바이스 드라이버 556

9.2 리눅스 디바이스 드라이버 프로그래밍 563

9.3 시스템 레지스터와 LED 출력 580

9.4 LED 출력을 위한 GPIO 드라이버 프로그래밍 589

9.5 요약 616


CHAPTER 10 부록 619

10.1 임베디드 리눅스 공부하기 620

10.2 라즈베리 파이와 OpenCV 626

10.3 GStreamer를 이용한 멀티미디어 프로그래밍 637

10.4 소스 코드: 라즈베리 파이의 제어 664

 


0개의 상품이 있습니다.



0개의 상품이 있습니다.

댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기
 
 
 

 

흥미로운 예제, 실용적인 코드로 배우는 Node.js!

아마존 Node.js 분야 No.1 베스트셀러!


출판사 제이펍

원출판사 Apress

원서명 Practical Node.js: Building Real-World Scalable Web Apps (ISBN: 9781430265955)

저자명 아자트 마르단

역자명 테크 트랜스 그룹 T4

출판일 2015년 8월 28일

페이지 348쪽

시리즈 (없음)

판  형 (188*245*17)

제  본 무선(soft cover)

정  가 24,000원

ISBN 979-11-85890-27-2 (93000)

키워드 Node.js / 자바스크립트 / MongoDB / Jade / Mocha / Express 4 / Expect / TravisCI / Redis / OAuth

분야 웹 프로그래밍 / 자바스크립트


관련 사이트

원출판사 도서소개 페이지

아마존 도서소개 페이지

Node.js 공식 홈페이지


관련 포스트

■ 2015/08/19 - [출간전 책소식] - 아마존에서 가장 많이 팔리는 바로 그 Node 책!


관련 시리즈

■ (없음)


관련 도서

자바스크립트 & 제이쿼리: 인터랙티브 프론트엔드 웹 개발 교과서

기초를 다지는 최신 웹 개발 공략서

엄선 111 자바스크립트 라이브러리 실전 활용

자바스크립트 마스터북: 기초부터 Ajax/jQuery까지

인터랙티브 웹 콘텐츠 제작 프로젝트

머리에 쏙쏙 들어오는 jQuery 입문


관련 파일 다운로드

■ (없음)


예제 소스 코드

https://github.com/Jpub/PracticalNodeJS


교재 검토용 증정 안내

■ 학교 및 학원에서 교재 선정을 위해 책을 파일로 검토해보고자 하시는 분들은 다음의 페이지에서 신청 양식을 작성해주시기 바랍니다. 확인 후 연락을 드리도록 하겠습니다. http://goo.gl/vBtPo3


강의 자료

(교재로 채택하신 분들은 출판사로 메일을 보내주세요) => jeipubmarketer@gmail.com

■ 본문의 그림과 표

■ 예제 소스 코드


샘플 PDF

■ 차례, 옮긴이 머리말, 시작하며, 지은이 소개, 감수자 소개, 감사의 글, 베타리더 후기, 1장 Node.js와 필수 요소 설치하기, 찾아보기

실무에바로적용하는Node.js_sample.pdf


정오표 페이지

■ (등록되는 대로 링크를 걸어 드리겠습니다)

 

도서구매 사이트(가나다순)


출판사 서평

흥미로운 예제, 실용적인 코드로 배우는 Node.js!

아마존 Node.js 분야 No.1 베스트셀러!


Node.js는 웹 서비스를 만들기 위한 혁신적이고 가장 효율적인 플랫폼이긴 하지만, 장점만 있는 건 아니다. 최신 웹 개발에서는 다양한 컴포넌트들도 함께 사용되고 있는데, 라우팅, 데이터베이스 드라이버, ORM, 세션 관리, OAuth, HTML 템플릿 엔진, CSS 컴파일러, 테스팅, 적용 등이 이에 해당한다. 따라서 Node.js에 대한 기본 지식이 있다면 다양한 에코시스템 패키지와 어떻게 균형 있게 사용할 것인지를 먼저 살펴야 한다.


이 책은 자바스크립트와 Node.js 기본 개요를 제공하고, 웹 애플리케이션 제작을 위한 모든 필수 모듈 설치법을 제공한다. 책의 구성은 블로그 프로젝트에서부터 다른 작은 예제를 다루는 식으로 전개된다. 데이터베이스 스크립트를 만들고 RESTful API, 테스트, 스크래치로부터 전체 스택 애플리케이션에 이르기까지를 다룬다. Git을 어떻게 사용하는지, Heroku에 어떻게 적용하는지, 그리고 아마존 웹 서비스에 적용하는 예제와 데몬화 애플리케이션에 대해서도 다루고 있으며, Nginx, Varnish Cache, Upstart, init.d, forever 모듈도 다룬다. 마지막으로, 사용자 자신만의 Node.js 모듈 개발 방법과 NPM에 퍼블리싱하는 방법도 제공한다.


이 책의 대상 독자

⚫ 제너럴리스트 또는 개발 운영(DevOps) 엔지니어와 품질 관리(QA) 엔지니어를 포함한 풀 스택 개발자

⚫ 브라우저 자바스크립트에 대한 확실한 배경 지식과 이해력을 갖춘 숙련된 프론트엔드 웹 개발자

⚫ 자바, PHP, 루비와 같은 다른 언어를 사용해왔으나 자바스크립트 언어를 파악하기 위해 좀 더 많은 시간을 기꺼이 투자하려 하는 경험 많은 백엔드 소프트웨어 엔지니어


지은이 소개

아자트 마르단(Azat Mardan)

아자트는 웹, 모바일, 소프트웨어 엔지니어링 분야에서 다년간 경험을 쌓아왔으며, 학부 과정으로 정보학을, 그리고 석사 과정으로 정보 시스템 기술을 수료하면서 깊이 있는 학문적 지식뿐만 아니라 다양한 실무 경험을 갖추게 되었다. 그는 현재 도큐사인(DocuSign)에서 팀 리더이자 시니어 소프트웨어 엔지니어로 근무하고 있으며, 그의 팀은 Node.js, Express.js, Backbone.js, CoffeScript, Jade, Stylus, 그리고 Redis와 같은 최신 기술 스택들을 사용하여 오천만 명의 유저를 보유한 도큐사인 웹 애플리케이션을 재구축하는 작업을 진행 중이다.


이전에는 Storify.com(2013년), 국가생물공학센터, 연방 예금 보험공사, 록히드마틴 등에서 시니어 소프트웨어 엔지니어로 종사하였으며, 또한 Marakana(2013년), pariSOMA, General Assembly San Francisco, Hack Reactor에서 프로그래밍 수업을 가르쳐 호평을 받았다. 또한, 그는 자바스크립트와 Node.js에 관해 네 권의 책을 집필하였는데, 아마존의 클라이언트 서버 카테고리 중 최고의 베스트셀러인 《풀스택 자바스크립트 개발: 실습 중심의 모던 웹 애플리케이션 프로그래밍》(위키북스)도 포함되어 있다. 여가 시간에는 그의 블로그(webapplog.com)에 과학 기술과 관련된 글을 쓰고 있다.


오픈 소스 Node.js 프로젝트인 ExpressWorks, mongoui, HackHall과 NodeFramework.com의 창시자일 뿐만 아니라 Express, OAuth, jade-browser, 그리고 다른 Node Package Manager 모듈들에 기여하고 있는 공헌자이기도 하다.


감수자 소개

피터 엘스트(Peter Elst)

피터는 멀티미디어와 애플리케이션 개발자로, 웹 표준에 관심이 많다. 현재 구글의 크리에이티브 이노베이션(creative innovation)에서 웹 솔루션 엔지니어로 일하고 있다. 십여 년이 넘는 세월 동안 정기적으로 기술 감수를 시행하고 있으며, 《HTML5 솔루션: 실전 문제 해결을 위한 81가지 방법》(2012)을 포함한 다수의 책을 공동 집필하였다. 또한, 그는 업계의 수많은 행사에서 높이 평가되는 발표자이기도 하다. 그의 최근 관심사와 진행하고 있는 프로젝트에 대해 자세히 알고 싶다면 그의 개인 블로그(peterlst.com)를 방문해보자.


옮긴이 소개

테크 트랜스 그룹 T4

엔터프라이즈 환경에서 오픈 소스를 활용한 프레임워크를 구축하는 일에 관심이 많으며, 최근에는 모바일을 접목한 하이브리드 환경에서 사용자 인터페이스와 사용자 경험 UI/UX, HTML5, Spring, NoSQL, Node.js, AngularJS 등 아키텍처 전반에 걸친 웹 기술과 빅 데이터, 인지컴퓨팅 기술을 적용하는 일에 집중하고 있다. 아두이노와 라즈베리파이 등의 다양한 오픈 하드웨어 디바이스를 사용한 사물인터넷 관련 서비스도 제공하고 있다.

HTML5와 CSS3, 자바스크립트 프로그래밍, Node.js, AngularJS, MySQL, MongoDB와 관련된 다수의 서적을 번역하였으며, 웹과 데이터베이스 관련 기술 전파에 노력 중이다.


차례

CHAPTER 1 Node.js와 필수 요소 설치하기 1

Node.js와 NPM 설치하기 1

Node.js 스크립트 실행하기 9

Node.js 기초와 문법 10

Node.js 프로그램 디버깅하기 27

Node.js IDE와 코드 편집기 32

파일 변경 감시하기 34

정리 35

접기

CHAPTER 2 Express.js 4를 이용한 Node.js 웹 애플리케이션 생성 37

Express.js란? 38

Express.js 동작 방식 41

Express.js 설치 42

Express.js 스캐폴딩 47

블로그 프로젝트 개요 53

Express.js 4 Hello World 예제 56

정리 66


CHAPTER 3 Mocha를 이용한 Node.js용 TDD와 BDD 67

Mocha 설치 및 사용법 이해 68

assert를 사용한 TDD 71

expect.js를 사용한 BDD 74

프로젝트: 블로그용 BDD를 처음으로 작성하기 76

정리 81


CHAPTER 4 템플릿 엔진: Jade와 Handlebars 83

Jade 문법과 특징 84

독립적 Jade 사용법 93

Handlebars 문법 97

독립적인 Handlebars 사용법 104

Express.js 4에서 Jade와 Handlebars 사용법 106

프로젝트: 블로그에 Jade 템플릿 추가하기 109

정리 119


CHAPTER 5 MongoDB와 Mongoskin을 이용한 데이터 저장 121

쉽고 적절한 MongoDB 설치 122

Mongo 서버 실행 방법 124

Mongo 콘솔을 통한 데이터 조작 125

MongoDB 셸 127

Node.js 예제를 위한 최소화된 네이티브 MongoDB 드라이버 128

주요 Mongoskin 메소드 132

프로젝트: Mongoskin을 사용하여 MongoDB에 블로그 데이터 저장 134

정리 150


CHAPTER 6 Node.js 애플리케이션에서 Session과 OAuth를 이용한 사용자 인증 및 권한 부여 151

Express.js 미들웨어를 이용한 권한 부여 152

토큰 기반 인증 153

세션 기반 인증 154

프로젝트: 블로그에 이메일과 패스워드 기반 인증 구현 155

Node.js OAuth 162

프로젝트: Everyauth를 이용하여 블로그에 Twitter OAuth 1.0 로그인 구현 166

정리 173


CHAPTER 7 Mongoose ORM 라이브러리를 사용한 Node.js 데이터 처리 175

Mongoose 설치 176

독립형 Mongoose 스크립트 내 연결 수립 176

Mongoose 스키마 179

코드 구성 유지를 위한 후크 181

커스텀 정적/객체 메소드 182

Mongoose 모델 182

포퓰레이션을 이용한 관계와 조인 185

중첩된 도큐먼트 187

가상 필드 189

스키마 타입 동작 변경 190

Express.js + Mongoose = true MVC 192

정리 204


CHAPTER 8 Express.js와 Hapi를 이용한 Node.js REST API 서버 구축 205

RESTful API 기본 206

프로젝트 종속성 208

Mocha와 Superagent를 이용한 테스트 커버리지 209

Express와 Mongoskin을 이용한 REST API 서버 구현 215

리팩토링: Hapi.js REST API 서버 222

정리 229


CHAPTER 9 웹소켓, Socket.IO, DerbyJS를 이용한 실시간 애플리케이션 231

웹소켓의 정의 231

네이티브 웹소켓과 ws 모듈을 사용한 Node.js 예제 232

Socket.IO와 Express.js 예제 236

DerbyJS, Express.js, MongoDB를 사용한 공동 온라인 에디터 예제 241

정리 251


CHAPTER 10 Node.js 애플리케이션 운영 준비 사항 253

환경 변수 254

Express.js 운영 254

Socket.IO 운영 257

오류 처리 258

오류 처리를 위한 Node.js 도메인 260

cluster 기반 멀티스레딩 264

cluster2 기반 멀티스레딩 266

이벤트 로깅과 모니터링 267

Grunt를 이용한 태스크 빌드 272

Git을 이용한 버전 관리 및 배포 276

TravisCI 클라우드에서 테스트 수행 281

정리 283


CHAPTER 11 Node.js 애플리케이션 배포 285

Heroku에 배포 285

아마존 웹 서비스에 배포 292

forever, Upstart, init.d를 사용한 Node.js 애플리케이션 지속 구동 297

Nginx를 사용한 정적 리소스 제공 302

Varnish를 이용한 캐싱 305

정리 307


CHAPTER 12 Node.js 모듈 게재와 오픈 소스 활동 309

권장 폴더 구조 310

필수 패턴 311

package.json 314

NPM 게시 314

버전 잠금 315

정리 316

《실무에 바로 적용하는 Node.js》 결론 316

추가 읽을거리 317


찾아보기 319

접기


0개의 상품이 있습니다.



0개의 상품이 있습니다.

댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기
 
 
 

 

라즈베리 파이와 리눅스가 만났더니...

사물인터넷이란 놈이 떡하니 태어났네요.. 



10년도 더 된 것 같습니다. 2000년 초반에 유비쿼터스(Ubiquitous)란 말이 유행병처럼 번진 적이 있었죠. '유비쿼터스'가 들어간 책도 우후죽순으로 쏟아졌었고요.언제, 어디서나 자유롭게 네트워크에 접속할 수 있는 시대를 뜻하는 말인데, 지금 생각해보면 그 개념이 좀 더 구체화된 게 사물인터넷(IoT) 혹은 만물인터넷(EoT)이 아닐까 하는 생각이 듭니다. 


오늘 소개해드릴 책은 사물인터넷 시대를 맞이하여 핵심 운영체제로 떠오르고 있는 리눅스 프로그래밍 서적입니다. 리눅스를 소개하고 다루는 책은 지금도 차고 넘칩니다만, 사물인터넷의 개념을 오픈 하드웨어인 라즈베리 파이와 접목하여 리눅스(정확히는 임베디드 리눅스) 프로그래밍을 쉽고, 재미있게 배울 수 있다는 점에서 출간의 의미를 찾고자 합니다. (그래서 이름도 좀 깁니다. 《사물인터넷을 위한 리눅스 프로그래밍 with 라즈베리 파이)



저자이신 서영진 님에게 리눅스는 자유를 위한 꿈이었고, 새로운 세계에 대한 동경이었다고 합니다. 개인적으로 리눅스를 사용한 지 20년이 된 해를 맞아 이 책을 읽은 누군가에게도 리눅스는 새로운 세계를 향하는 꿈과 비전이 되기를 바라면서 이 책을 집필하셨습니다. 부디 많은 사람이 리눅스 20년 내공이 담긴 이 책을 읽고 사물인터넷 시대를 착실히 준비할 수 있기를 바랍니다. 


책 내용에 대해 간단하게나마 설명해드리겠습니다. 임베디드 리눅스를 배우기 위해서는 수십만 원에서 수백만 원이나 하는 고가의 장비가 필요한데, 이 책은 35달러밖에 하지 않는 라즈베리 파이만 있으면 됩니다. 물론, 그 외 실습에 필요한 DC 모터라든가 스위치, 트랜지스터 등이 필요합니다. 책은 총 3부 9개 장으로 구성되어 있으며, 각 부의 내용은 다음과 같습니다. 


('이 책에 대하여'에서 발췌)

1부에는 라즈베리 파이를 이용해서 리눅스 프로그래밍을 할 수 있도록 라즈베리 파이의 설정과 리눅스의 사용법, 그리고 라즈베리 파이의 GPIO를 사용해서 하드웨어를 조작하는 내용을 담았다.


2부에서는 리눅스 시스템 프로그래밍과 네트워크 프로그래밍을 다룬다. 리눅스 시스템 프로그래밍에는 리눅스의 기본적인 입출력과 시간의 처리, 시그널과 프로세스, IPC와 스레드에 대한 내용을 담고 있으며, 리눅스 네트워크 프로그래밍에서는 TCP/IP의 개요와 BSD 소켓, UDP 프로그래밍과 TCP를 이용한 서버/클라이언트 프로그래밍 그리고 웹 서버를 만드는 내용을 담고 있다.


마지막 3부에서는 리눅스 고급 프로그래밍으로 리눅스 멀티미디어 프로그래밍, Qt를 이용한 리눅스 GUI 프로그래밍 그리고 리눅스 커널 프로그래밍을 담고 있다. 리눅스 멀티미디어 프로그래밍에서는 멀티미디어의 기본적인 이론과 리눅스 사운드 프로그래밍, 리눅스 프레임 버퍼 프로그래밍, 라즈베리 파이의 Pi Camera를 이용한 Video4Linux 프로그래밍에 대해서 설명하고 있으며, GUI 프로그래밍에서는 Qt의 기본적인 내용과 사용자 정의 위젯 및 슬롯의 생성, 기본 위젯과 레이아웃, 다이얼로그 등에 대해서 설명한다. 그리고 마지막으로 리눅스 커널에서는 리눅스 커널을 이용한 라즈베리 파이의 GPIO 제어와 리눅스 커널과 모듈 프로그래밍에 대한 내용을 담고 있다.


좀 더 자세히 살펴보시고자 하는 분들은 아래의 샘플 PDF 파일을 다운받아 보시기 바랍니다. 출간 후에 다시 포스팅하도록 하겠습니다. 


■ 샘플 PDF(차례,머리말, 감사의 글, 이 책에 대하여, 베타리더 후기, 1장 사물인터넷과 라즈베리 파이

사물인터넷을위한리눅스프로그래밍with라즈베리파이_sample.pdf


 도서구매 사이트(가나다순)

[강컴]   [교보문고]   [도서11번가]   [반디앤루니스]   [알라딘]   [예스이십사]   [인터파크]

 


0개의 상품이 있습니다.



0개의 상품이 있습니다.

댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기