Top

Node.js로 봇 만들기 [다양한 예제와 플랫폼을 활용한 봇 개발]

  • 원서명Building Bots with Node.js: Automate workflow and internal communication processes and provide customer service without apps using messaging and interactive bots (ISBN 9781786465450)
  • 지은이에두아르도 프레이타스(Eduardo Freitas), 마단 빈타드(Madan Bhintade)
  • 옮긴이양정열
  • ISBN : 9791161751245
  • 30,000원
  • 2018년 03월 05일 펴냄
  • 페이퍼백 | 320쪽 | 188*235mm
  • 시리즈 : acorn+PACKT

책 소개

요약

Node.js를 사용해 슬랙과 스카이프, 트위터, 페이스북 등 다양한 메신저 플랫폼에서 동작하는 봇 제작 과정을 자세히 다룬다. 적용 가능한 아이디어로 기능을 확장하고 개선하는 과정도 다룬다. 마이크로소프트 애저, 아마존 S3, DocumentDB, 그 밖에 여러 API와 도구를 사용하고 설명한다. 다양한 예제를 통해 플랫폼과 도구들을 경험하고 이해할 수 있으며, 더 나아가 봇을 통해 아이디어를 구체화하는 방법을 찾을 수 있다.

이 책에서 다루는 내용

█ Node.js용 트윌리오 API 활용해 기초적인 자연어 처리와 SMS 인터랙션
█ 스카이프 웹 SDK와 Node.j를 활용해 SQL서버와 스카이프에서 동작하는 봇 제작
█ 트위터와 에어 프랑스 KLM API를 활용해 자동화된 항공편 정보를 제공하는 봇 제작
█ 페이스북 메신저API를 활용해 팀 회의를 예약하는 봇 제작
█ Amazon S3, MongoDB, BotKit과 인터랙션하는 Node.js 문서 관리 봇 제작
█ Force.com API와 킥(Kik)을 통합해 세일즈포스 CRM 봇 제작

이 책의 대상 독자

Node.js를 어느 정도 알고, 현존하는 다양한 대화 플랫폼을 사용해 봇을 만드는 방법을 알고 싶은 사람 누구나 독자가 될 수 있다. 초급부터 고급까지 모든 수준의 개발자가 이해하기 쉽게 쓴 책이다. Node.js에 대한 실질적인 지식과 경험은 어느 정도 필요하다.

이 책의 구성

1장, ‘봇의 부상’에서는 최근 증가하는 봇의 중요성을 소개하고, 트윌리오(Twilio) 메시지 플랫폼을 활용해 SMS봇 앱을 만드는 방법을 살펴본다.
2장, ‘스카이프 봇’에서는 마이크로소프트 봇 프레임워크를 사용해 스카이프 봇을 만드는 방법을 설명한다.
3장, ‘트위터 항공편 운항정보 봇’에서는 에어프랑스 KLM API와 인터랙션하는 트위터 봇을 통해 항공편 정보를 조회하는 방법을 살펴본다.
4장, ‘슬랙 명언 봇’에서는 사용자에게 영감을 주는 명언을 제공하는 슬랙 봇 제작 방법에 대해 설명한다.
5장, ‘텔레그램 봇’에서는 텔레그램의 API를 사용해 감성적인 메시지를 제공하는 봇 개발 방법을 확인한다.
6장, ‘슬랙 문서 관리 봇과 봇킷’에서는 슬랙으로 협업하는 팀 구성원에게 문서를 제공하는 봇킷과 슬랙 API 활용 방법을 습득한다.
7장, ‘페이스북 메신저 봇’에서는 마이크로소프트 애저 플랫폼과 서비스를 통해 팀 회의 일정을 잡거나 휴가 중인 사람을 확인하는 데 사용할 수 있는 페이스북 메신저 봇을 설정하는 방법을 살펴본다.
8장, ‘IRC 버그 트래킹 봇’에서는 IRC 플랫폼과 도큐먼트DB를 사용해 버그를 추적하는 봇을 만드는 방법을 확인한다.
9장, ‘킥 봇과 세일즈포스 CRM’에서는 세일즈포스 CRM 봇을 만들기 위해 Force.com API와 킥을 사용하는 방법을 살펴본다.

저자/역자 소개

지은이의 말

어느 곳에나 있는 봇! 대화와 채팅이 가능한 봇은 차세대 플랫폼과 앱 개발 방식의 주류가 될 수 있는 유리한 입장에 있다. 머신 러닝의 발전으로 자연스러운 대화를 가능하게 해주는 API가 시작됐고, 다양한 첨단 기술과 거대 소프트웨어 회사에서는 대화가 가능한 봇을 받아들여 개발자가 사용할 수 있는 API를 제공해 사용자 경험을 향상해주는 대화 플랫폼과 애플리케이션을 자연스럽게 통합할 수 있게 됐다. 이 책에서는 이러한 플랫폼 가운데 몇 가지를 살펴보고, 단순하면서 직관적인 방법을 통해 개발자가 목표에 빠르게 도달할 수 있게 해준다.

지은이 소개

에두아르도 프레이타스(Eduardo Freitas)

고객 성공(customer success) 관련 소프트웨어 개발 컨설턴트로, 금융 프로세스 자동화와 지불 계정 처리, 청구 데이터 추출, SAP 통합과 관련된 일을 주로 하고 있다.
아그파(Agfa), 코카콜라(Coca Cola), 도메스틱&제너럴(Domestic & General), EY, 에넬(Enel), 망고(Mango)같은 다양한 글로벌 기업과 그 밖에 사회보장연금기관의 다양한 프로젝트를 컨설팅하고 제작, 조언, 지원 등의 업무를 진행했다. 셸(Shell)과 캡제미니(Capgemini), 코그니전트(Cognizant), 유럽 우주국(European Space Agency)같은 다양한 기업으로부터 초청을 받았다. 최근에는 아마존 레드시프트(Redshift)를 사용해 16억 행의 데이터를 분석해 유의미한 고객 패턴 정보를 수집하기 위한 업무를 진행했다. 컴퓨터공학 석사학위를 갖고 있다.

마단 빈타드(Madan Bhintade)

독립 솔루션 설계자이자 클라우드 기반 솔루션을 주력으로 하는 개발자다. AWS와 마이크로소프트 애저, 오피스 365, 셰어포인트 서버(SharePoint Server), 앵귤러(Angular), Node.js에서 개발하는 것을 즐긴다. 보험, 금융, 은행, HR 산업 솔루션 분야에서 16년간 개발 경험을 쌓아왔다.
블로그를 통해 알고 있는 것을 나누는 데 열정적이다. 기술 분야를 탐구하고 발표하기를 즐기며, 기술의 변화를 받아들일 수 있도록 돕는다. 일반적인 관심 분야로는 UX와 디지털 기술 플랫폼, 인공지능이 있다.

옮긴이의 말

세계적인 IT 자문기관 가트너는 ‘2018년 이후 주목해야 할 10대 전망’에서 봇과 챗봇에 더 많은 투자를 하게 될 것이라고 발표했다. 2021년에는 기업의 50% 이상이 전통적인 모바일 앱보다 봇과 챗봇 개발에 더 많이 투자할 것으로 예상했다.
기업들은 고객과 소통하기 위해 상담센터, 전용 앱 등을 사용하고 있으며, 유지와 제작에 들어가는 비용이 적지 않다. 앱의 경우, 잘 만들어서 사용자의 폰에 설치까지 성공했다고 해도 사용자가 기대처럼 사용하지 않는 경우가 많다. 스마트폰을 여러 번 사용한 경험이 있는 사용자는 자신이 필요한 앱 외에는 설치하지 않는 것이 보통이다. 혹 설치했다고 해도 거의 사용하지 않을 가능성이 높다. 전용 앱을 자주 사용하는 사용자라고 해도 앱의 알림이나 푸시 기능을 꺼두는 경우에는 그 효용이 떨어진다.
반면 사용자가 자주 사용하는 앱, 그중에서도 특히 메신저 앱은 사용자가 수시로 확인하고 응답도 아주 빠르다. 이러한 메신저 플랫폼에 통합된 챗봇은 활용 가치가 높고 전용 앱의 단점을 보완하는 것 이상의 대안이 될 수 있다.
모바일 인프라와 모바일 사용자 경험의 성숙, 자연어 처리와 머신 러닝, 인공지능 등 관련 기술의 발전, 다양한 메신저 플랫폼에서 제공되는 자동화된 기능과 API를 통해 봇의 생태계가 만들어지고 확장되고 있다. 사용자와 공급자는 자연스러운 대화를 통해 적시에 쉽고 빠르게 적절한 정보를 획득하고 공급할 수 있게 됐다. 봇의 제작은 쉬워졌고, 기업과 소규모 단체, 개인 등 커뮤니케이션이 있는 곳이라면 어디나 그 쓰임새를 찾아볼 수 있다.
이 책에서는 다양한 예제를 통해 봇을 만들고 여러 가지 플랫폼과 통합하고 기능을 확장하는 내용을 다루고 있다. 국내외 다른 메시지 플랫폼에서도 유사한 방식으로 적용하고 확장해보면서 더 나은 아이디어를 얻을 수 있기를 바란다.

옮긴이 소개

양정열

국내 Telco SI/SM Software개발자로 시작해 현재는 프로젝트 매니저로 일하고 있다. 독립 IT기술자 저술 강연 상호부조 네트워크 GoDev(www.godev.kr)의 멤버다.

목차

목차
  • 1장. 봇의 부상
    • 왜 봇이 화두이고 관심을 가져야 하는가
    • 왜 SMS는 여전히 화두인가
    • 트윌리오 SMS 플랫폼
      • Node.js용 트윌리오 설치하기
      • 트윌리오 계정 설정하기
      • 베어본 트윌리오 Node.js 템플릿
    • 에저에서 코어 봇의 기능
    • SMS 수신 봇의 로직
    • 요약

  • 2장. 스카이프 봇
    • 스카이프 봇의 동작 방식
      • 스카이프 봇 설정하기
      • 스카이프 봇 앱 등록하기
    • 인사팀 스카이프 봇 대리자
    • 애저 테이블 저장소
      • 인사팀 봇 가이드라인
      • 애저 테이블 사용하기
      • 인사팀 봇의 로직
    • 요약

  • 3장. 트위터 항공편 운항정보 봇
    • 트위터 봇의 동작 방식
    • 트위터 앱 만들기
    • 트위터에 게시하기
    • 트윗 수신하기
    • 트윗에 답글 달기
    • 항공편 API
      • 항공편 상태 API
      • 경로 조회 API
      • REST 클라이언트 라이브러리 추가하기
    • 더 스마트한 봇 만들기
    • 요약

  • 4장. 슬랙 명언 봇
    • 시작하기
    • 슬랙에 봇 등록하기
    • Node.js 앱 설정하기
    • 슬랙 봇 라이브러리
    • They Said So API
    • 요약

  • 5장. 텔레그램 봇
    • 텔레그램 봇의 동작 방식
      • 텔레그램 계정 설정하기
      • 텔레그램 봇 @BotFather로 봇 계정 설정하기
      • 감성 분석이란?
      • 텔레그램 봇 만들기
      • 기본 텔레그램 봇과 대화
      • 감성 분석 봇 만들기
    • 요약

  • 6장. 슬랙 문서 관리 봇과 봇킷
    • 팀을 위한 슬랙 설정하기
      • 슬랙 봇 설정하기
      • 봇킷과 슬랙
      • 봇킷과 Node.js를 활용해 슬랫 봇 만들기
      • DocMan 봇의 기능 개선하기
        • 몽고DB란?
        • DocMan 봇을 위한 몽고DB 데이터베이스
        • MongoJS란?
        • DocMan 봇과 몽고DB 연동
        • 아마존 S3 저장소
        • 퍼블릭 문서 생성
        • 몽고DB 데이터 갱신
        • 모두를 하나로 합치기
        • 코드 이해하기
    • 요약

  • 7장. 페이스북 메신저 봇
    • 페이스북 메신저 봇 설정하기
      • 봇을 위한 페이스북 페이지
      • 페이스북 앱 만들기
      • 봇 서버 설정하기
        • 애저에 봇 서버용 로컬 깃 저장소 설정하기
        • 페이스북 검수용 봇 프로그램 수정하기
        • 페이스북 검수와 웹후크 설정하기
        • 에코 메시지 봇 배포하기
        • 애저에서 동작하는 봇의 문제 해결하기
      • Who’s Off 봇 개선하기
        • Who’s Off 봇에서 대화형 경험 제공하기
        • 도큐먼트DB란?
        • Who's Off 봇을 위한 도큐먼트DB 설정하기
        • 도큐먼트DB와 Moment.js, Node.js 연동하기
      • Who's Off 봇 실행하기
    • 요약

  • 8장. IRC 버그 트래킹 봇
    • IRC 클라이언트와 서버
      • IRC 웹 기반 클라이언트
    • IRC 봇
      • IRC와 Node.js를 활용한 IRC 봇 만들기
      • 봇의 코드 이해하기
      • BugTrackerIRCBot 기능 개선하기
        • 도큐먼트DB란?
        • BugTrackerIRCBot을 위한 도큐먼트DB 설정하기
        • 도큐먼트DB와 Node.js 연동하기
        • 모두를 하나로 합치기
        • 코드 이해하기
      • 개선된 BugTrackerIRCBot 실행하기
    • 요약

  • 9장. 킥 봇과 세일즈포스 CRM
    • 세일즈포스는 무엇인가?
    • Force.com은 무엇인가?
    • 킥 모바일 앱
    • 킥 봇
    • 킥 봇 예제
      • 킥 봇 만들기
        • Kik dev 플랫폼 사용하기
        • 폰에서 킥 앱 사용하기
        • 봇 서버 설정하기
        • 킥 봇 설정
        • 봇 서버와 킥 플랫폼 연동하기
      • 킥 봇 코드 이해하기
      • 킥 봇 실행하기
      • 킥 봇 개선하기
        • 세일즈포스와 봇
        • 모두를 하나로 합치기
        • 코드 이해하기
      • 개선된 킥 세일즈포스 봇 실행하기
    • 캠페인 관리 sforcebot 봇

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안