PHP로 Slack Bot 만들기Changwan Jun보통 Node나 Python으로는 봇을 많이 만드는데 PHP로는 잘 만들지 않습니다. 하지만 PHP로도 쉽게 만들 수 있습니다. PHP로 아주 약간의 자연어로 대화가능한 봇 만드는 방법을 소개합니다.
12월 Modern PHP User Group에서 발표한 내용입니다.
[NEXT] Flask 로 Restful API 서버 만들기 YoungSu SonWritten By 정문철
Reviewed By 손영수
Mac에서 Flask로 Restful API 서버를 간단히 만드는 방법입니다
Android Basic 4일차 전에 진행되어야 하는 실습입니다.
파이썬 플라스크로 배우는 웹프로그래밍 #1 (ABCD Foundation)성일 한파이썬으로 코딩 기초를 배우고 플라스크로 웹서비스 개발을 배우는 과정을 다루고 있습니다.
- 입문용 자료입니다.
ABCD : http://www.abcds.kr/
Facebook Group : https://www.facebook.com/groups/562787713823026/
한성일 : https://www.facebook.com/jamie.han.16
iheart79@gmail.com
뭔지 모르지만 발표Kyoung Up Jung2013년 8월 31일에 올렸던 speakerdeck에 올렸던 자료 백업
https://speakerdeck.com/perhapsspy/mweonji-moreujiman-balpyo-aspeseo-djangoro-olmgyeogan-sayeon
---
한 개발자의 성장기(아니 삽질기)입니다.
ASP 개발을 하다가 Django를 쓰게 된 이야기를 간략하게 재미위주로 적어보았습니다.
Django로 배우는 쉽고 빠른 웹개발 study 자료Han Sung Kim9xD Django Study
파이썬 웹프로그래밍 - Django로 배우는 쉽고 빠른 웹개발 Charter 2
발표자 - 김한성
ppt 내용 : 실습 예제 및 내용 요약
개발툴 : pycharm
개발환경 : python 3.5 이용(일부 예제의 경우 동작안함 - 주석 참고)
소스코드 : 2 page github 링크이용
[PyConKR 2014] 30분만에 따라하는 동시성 스크래퍼Cheol Kang빅데이터, 데이터마이닝, 공공데이터, 오픈데이터 - 그 어느때보다 데이터 분석 및 활용이 중요해진 이 시기에 웹 상의 수많은 공개된 자료를 직접 수집할 수 있는 웹 스크래핑/크롤링 기술은 데이터 수집 및 활용 능력에 큰 도움이 됩니다.
이 강의에서는 크롤링 프레임웍을 사용하지 않고 HTTP, DOM, concurrency를 담당하는 기본적인 라이브러리만을 사용해 직접 웹 스크래퍼를 처음부터(from scratch) 작성해 봄으로써, 언제든 자유도 높은 동시성 크롤러를 직접 구현할 수 있도록 작동 원리를 이해할 수 있도록 합니다.
시연에서 작성된 전체 소스코드는 아래 링크에서 보실 수 있습니다.
https://gist.github.com/cornchz/0ec0c3f5ca69bac2b625
spring data jpa 간단한 튜토리얼라한사 아github : https://github.com/arahansa/learnspringdatajpa
스프링 데이터 Jpa 간단한 튜토리얼 입니다. 초보용^^;
스프링 부트, 메이븐..
내용은 간단한 매핑, CRUD, 페이징, 스프링 부트조금.
뭔지 모르지만 발표Kyoung Up Jung2013년 8월 31일에 올렸던 speakerdeck에 올렸던 자료 백업
https://speakerdeck.com/perhapsspy/mweonji-moreujiman-balpyo-aspeseo-djangoro-olmgyeogan-sayeon
---
한 개발자의 성장기(아니 삽질기)입니다.
ASP 개발을 하다가 Django를 쓰게 된 이야기를 간략하게 재미위주로 적어보았습니다.
Django로 배우는 쉽고 빠른 웹개발 study 자료Han Sung Kim9xD Django Study
파이썬 웹프로그래밍 - Django로 배우는 쉽고 빠른 웹개발 Charter 2
발표자 - 김한성
ppt 내용 : 실습 예제 및 내용 요약
개발툴 : pycharm
개발환경 : python 3.5 이용(일부 예제의 경우 동작안함 - 주석 참고)
소스코드 : 2 page github 링크이용
[PyConKR 2014] 30분만에 따라하는 동시성 스크래퍼Cheol Kang빅데이터, 데이터마이닝, 공공데이터, 오픈데이터 - 그 어느때보다 데이터 분석 및 활용이 중요해진 이 시기에 웹 상의 수많은 공개된 자료를 직접 수집할 수 있는 웹 스크래핑/크롤링 기술은 데이터 수집 및 활용 능력에 큰 도움이 됩니다.
이 강의에서는 크롤링 프레임웍을 사용하지 않고 HTTP, DOM, concurrency를 담당하는 기본적인 라이브러리만을 사용해 직접 웹 스크래퍼를 처음부터(from scratch) 작성해 봄으로써, 언제든 자유도 높은 동시성 크롤러를 직접 구현할 수 있도록 작동 원리를 이해할 수 있도록 합니다.
시연에서 작성된 전체 소스코드는 아래 링크에서 보실 수 있습니다.
https://gist.github.com/cornchz/0ec0c3f5ca69bac2b625
spring data jpa 간단한 튜토리얼라한사 아github : https://github.com/arahansa/learnspringdatajpa
스프링 데이터 Jpa 간단한 튜토리얼 입니다. 초보용^^;
스프링 부트, 메이븐..
내용은 간단한 매핑, CRUD, 페이징, 스프링 부트조금.
Make "PONG" : 아키텍팅과 동기화 테크닉iFunFactory Inc.2016 아이펀팩토리 Dev Day 발표 자료
강연 제목 : Make "PONG" : 아키텍팅과 동기화 테크닉
발표자 : 박근환 TD
<2016>
- 일시 : 2016년 9월 28 수요일 12:00~14:20
- 장소 : 넥슨 판교 사옥 지하 1층 교육실
SoftLayer 서비스 설명 3차 - 스토리지IBM KoreaIBM의 퍼블릭 IaaS 클라우드 서비스, SoftLayer 사용 팁 & 가이드
SoftLayer에 대해 더 알고 싶으세요? 아래 웹사이트를 방문해 주세요!
한글 - http://ibm.co/1w43NvN
영문 - http://www.softlayer.com/
한국 IBM SoftLayer의 페이스북 페이지를 통해서 SoftLayer의 뉴스들을 전달받으세요!
https://www.facebook.com/IBMSoftlayerkorea
SoftLayer에 대해 더 배우고 싶으세요? 아래 튜토리얼 링크를 방문해 주세요!
http://www.youtube.com/channel/UCdpXbWYiWtS6iGp1lGx1RAA
XECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 DockerXpressEngine요즘 규모에 상관 없이 서버를 운영하는 웹서비스 업체에서는 도커라는 주제가 화두입니다. 오히려 발빠른 개발자나 운영자들은 이미 도커를 이용하여 서비스를 운영하고 있지요. 본 세션은 도커의 기술적인 내용 보다는 사용자 입장에서 알아야 할 내용을 중심으로 구성됩니다.
Docker 로 Linux 없이 Linux 환경에서 개발하기iFunFactory Inc.2016 아이펀팩토리 Dev Day 발표 자료
강연 제목 : Docker 로 Linux 없이 Linux 환경에서 개발하기
발표자 : 김진욱 CTO
<2016>
- 일시 : 2016년 9월 28 수요일 12:00~14:20
- 장소 : 넥슨 판교 사옥 지하 1층 교육실
Chat bot making process using Python 3 & TensorFlowJeongkyu ShinRecently, chat bot has become the center of public attention as a new mobile user interface since 2015. Chat bots are widely used to reduce human-to-human interaction, from consultation to online shopping and negotiation, and still expanding the application coverage. Also, chat bot is the basic of conversational interface and non-physical input interface with combination of voice recognition.
Traditional chat bots were developed based on the natural language processing (NLP) and bayesian statistics for user intention recognition and template-based response. However, since 2012, accelerated advance in deep-learning technology and NLPs using deep-learning opened the possibilities to create chat bots with machine learning. Machine learning (ML)-based chat bot development has advantages, for instance, ML-based bots can generate (somewhat non-sense but acceptable) responses to random asks that has no connection with the context once the model is constructed with appropriate learning level.
In this talk, I will introduce the garage chat bot creation process step-by-step. I share the idea and implementations of multi-modal machine learning model with context engine and conversion engine. Also, how to implement Korean natural language processing, continuous conversion and tone manipulation is also discussed.
Chat bot (챗 봇)은 2015년부터 모바일을 중심으로 새로운 사용자 UI로 주목받고 있다. 챗 봇은 상담시 인간-인간 인터랙션을 줄이는 용도부터 온라인 쇼핑 구매에 이르기까지 다양한 분야에 활용되고 있으며 그 범위를 넓혀 나가고 있다. 챗 봇은 대화형 인터페이스의 기초이면서 동시에 (음성 인식과 결합을 통한) 무입력 방식 인터페이스의 기반 기술이기도 하다.
기존의 챗 봇들은 자연어 분석과 베이지안 통계에 기반한 사용자 의도 패턴 인식과 그에 따른 템플릿 응답을 기본 원리로 하여 개발되었다. 그러나 2012년 이후 급속도로 발전한 딥러닝 및 그에 기초한 자연어 인식 기술은 기계 학습을 이용해 챗 봇을 만들 수 있는 가능성을 열었다. 기계학습을 통해 챗 봇을 개발할 경우, 충분한 학습도의 모델을 구축한 후에는 학습 데이터에 따라 컨텍스트에서 벗어난 임의의 문장 입력에 대해서도 적당한 답을 생성할 수 있다는 장점이 있다.
이 발표에서는 Python 3 및 TensorFlow를 이용하여 딥러닝 기반의 챗 봇을 만들 경우에 경험하게 되는 문제점들 및 해결 방법을 다룬다. 봇의 컨텍스트 엔진과 대화 엔진간의 다형성 모델을 구현하고 연결하는 아이디어와 함께 자연어 처리 및 연속 대화 구현, 어법 처리 등을 어떻게 모델링할 수 있는 지에 대한 아이디어 및 구현과 팁을 공유하고자 한다.
2017 tensor flow dev summitTae Young Lee2017 tensor flow dev summit (Sequence Models and the RNN API)
작성된 자료로 2017년 2월 22일 오후 8시 부터 Maru180에서
GDG Seoul 에서 주최한 2017 Tensorflow Dev Summit Extended Seou에서
발표를 진행
Sequence Models and the RNN API 정리 내역 공유
(스프링프레임워크 강좌)스프링부트개요 및 HelloWorld 따라하기탑크리에듀(구로디지털단지역3번출구 2분거리)기본적인 프로젝트 스캐폴딩 도구로 빠른개발을 위한 스프링 프레임워크 서브 프로젝트 중에 하나인 Spring Boot를 사용하겠습니다. 스프링 부트는 Convention over Configuration개념을 적용하여 개발자가 처리해야 하는 반복적인 성격의 설정작업을 대신 수행하여 개발자의 수고를 덜어주는 기술입니다.
최근 개발 초기단계에서부터 코드작성을 하지는 않습니다. 처음부터 코드를 작성하면 나중에 소스 코드 덩치가 커지거나 협업을 해야 하거나 배포를 해야 할 때 관리상의 문제가 많이 생긴다는 것을 개발자들은 이미 경험으로 알고 있기 때문입니다. 그러한 이유로 코드를 작성하기 전에 먼저 코드, 리소스, 디펜던시, 연동환경 및 테스트를 거친 후 배포작업을 미리 염두에 두고 구조적으로 프로젝트를 구분하는 스캐폴딩 작업을 선행합니다.
프로젝트 관점에서 살펴보면 실제 코드를 작성하기 전에 해야 할 여러 설정 작업들이 도출 됩니다. 스프링부트는 여러 설정작업들 중 개발자를 대신해 관습을 적용하여 자동화 할 수 있는 부분들을 제공하는 기술로써, 개발자의 수고를 덜어 보다 빠른 개발이 진행될 수 있도록 해줍니다.
강분도 - 공개SW개발과 우분투 (2010Y10M05D)Ubuntu Korea CommunityOrigin Link : http://www.oss.kr/oss_information6/1435
세션2 : 공개SW개발과 우분투 환경의 개발툴
우분투 이야기
- 우분투 한국 이야기
- 우분투 장점
- 우분투 개발 환경
- 우분투에서의 협업 툴 활용
(강사) 강분도 (우분투한국사용자모임 대표)
[2015:1] phpdocumentor 설치와 사용법Amy Kim* 혼자 공부하려고 만든 자료이기 때문에 정확하지 않는 내용이나 오류가 있을 수 있습니다. 잘못된 점은 언제든지 고쳐주시면 배우겠습니다.
* phpDocumentor란?
phpDocumentor는 제작한 프로젝트에 대해서 문서화 해주는 도구를 말한다. 공식 홈페이지에서는 'PHP에 대한 세계 표준 자동 문서 도구(phpDocumentor is the world standard auto-documentation tool for PHP.)'라고 설명하고 있다.
우선은 phpDocumentor가 왜 수면위로 떠오르게 되었는지에 대해서 짚고 넘어가야 할 것 같다. PHP는 본래 컴파일 없이 라인 단위로 처리하는 스크립트 언어이다. 아무래도 스크립트 언어는 라인별 처리라는 개념 덕분인지 진입장벽이 낮아 독학하기에 좋은 언어였다. 그로 인해 사용률이 많아지고 인기가 많아지는 동시에 스크립트 언어에 대한 약점에 대해서 생각하게 되었던 것 같다. PHP 5로 넘어가면서 본격적으로 객체에 대한 개념이 강화되고, 이를 이용한 다양한 프레임워크가 개발되고 있다. 스크립트 언어에 대한 약점을 컴파일 언어에서 그 해답을 찾고자 했던 것 같다.
컴파일 언어의 대표적인 사례인 JAVA에서는 이미 javadoc이라는 문서화 도구가 존재하고 있었다. 아마도 phpDocumentor는 javadoc의 php 버전이었으리라. 사용 방법도 javadoc과 크게 다르지 않다. php도 객체지향 개념이 나오면서 어떤 정형화된 패턴이 나오는 것이 가정해졌기 때문에 그 공통적인 부분을 문서를 만들 수 있게 되었다.
* 주석
주석은 자신을 포함하여 프로젝트에 참여하는 사람들에게 쉽게 알아볼 수 있도록 하는 역할을 해준다. 주석을 최소화하는 것을 장려하는 사람들도 있긴 하지만, 프로젝트가 커질 수록 작은 코드가 어떤 역할을 할 수 있는지 모를 수도 있다. 그때 작업자는 그 코드에 대해서 설명글을 달아줄 수 있다. 주석은 사람이 알아볼 수 있게 쓰는 일종이 메모의 역할을 한다.
* 마무리
phpDocumentor로 대단한 것을 할 수 있는 것은 아니다. 어쩌면 이 도구로 할 수 있는 것은 자료보관일 뿐일 것이다.
사실 Phpdoc이 많은 곳에서 쓰이고 있지는 않다. 대부분의 개발자들은 코드를 보면 쉽게 알 수 있을 것이라고 말하거나 귀찮아 한다. 그만큼 손도 많이 가고 굳이 해야 하나 싶기도 하는 작업이 바로 이 작업이다. 프로젝트가 개발자에 종속되는 것은 매우 좋지 않은 현상이며, 많은 개발자들이 수긍할 수 있는 코드가 좋은 프로젝트라고 생각한다. 그들이 쉽게 프로젝트의 유지보수에 투입되려면 한눈에 정리되어있는 문서가 필요한데 문서의 유지보수는 생각보다 어렵다. 그래서 이 도구가 문서를 작성하는 데에 중요한 역할을 하는 것이다.
Docker introduction for the beginnersJuneyoung Oh1. Docker allows creating lightweight virtual environments called containers that package code and dependencies together. Containers are more portable than virtual machines.
2. Docker uses images to build containers. Images are immutable templates and containers are instances of images that can be run. The Dockerfile defines how to build images.
3. Common Docker commands include docker pull to download images, docker run to create and start containers, docker exec to run commands in running containers, and docker commit to save container changes as new images.
How to build a slack-hubot with jsJuneyoung OhThis document provides instructions for installing Hubot on OSX and writing custom scripts for it in JavaScript to create a bot for Slack. It outlines installing Hubot and its dependencies, deploying it to Heroku, configuring it for the Slack adapter, and publishing scripts to it. Tips are provided like checking Heroku logs for debugging and referring to CoffeeScript code since documentation for the JavaScript version is limited. The overall process allows one to make a fun bot for Slack without an extensive programming background.
Tizen installation guide for OSXJuneyoung OhI had bunch of troubles, when I install and run Tizen IDE on my macbook air 13'. So I sumed what happens up. Thanks
2. 목차
자료의 목적
OSX 에서 휴봇 설치하기
Slack 에 휴봇 초대하기
JS 로 휴봇 스크립팅
경험담
주의: 모든 컨텐츠는 OSX 에서 Slack, Heroku 을 사용했습니다.
3. 자료의 목적
보세요 :
- 슬랙에서 봇을 가지고 놀고 싶은 분
- javascript 에 대해 들어는 보신 분
- javascript 로 깊이없이 뭔가 하시고 싶은 분
보지 마세요 :
- 백단에서 돌아가는 모든 것을 알아야 직성이 풀리는
프로그래머
- javascript 를 한번도 들어본 적 없는 분
- 휴봇에 대해 coffee 로 스크립팅 하시고 싶은 분
4. OSX 에서 휴봇 설치하기
주의: 다루어 지지 않을 주제들.
- node.js 설치하기
- nvm 설치하기
휴봇 공식 인스톨 가이드 (영어) :
https://hubot.github.com/docs/
영어가 가능하다면 위 링크가 한 200 배 정도 정확합니다. b
5. OSX 에서 휴봇 설치하기
`yo` 명령어로 `hubot-generator` 설치하기
만약 시스템에 권한이 부족하면 아래와 같은 에러가 발생할 수 있습니다.
`sudo` 명령어로 에러 넘어가기 :
6. OSX 에서 휴봇 설치하기
봇을 위한 디렉토리 생성
프로젝트 디렉토리로 이동
봇 등록
위 명령어를 실행하면 아래와 같은 화면이 출력됩니다.
7. OSX 에서 휴봇 설치하기
더 진행하기 위해 몇개의 필드를 터미널에서 입력해야 합니다.
당황하지 말고 채워봅시다.
[ 필드 목록 ]
- Owner : 그냥 봇 주인 이름.
- Bot name : 불릴 봇의 이름. 예를 들면, 봇 이름이 ‘testbot’ 라면 `testbot
what is your name?`
- Description : 봇에 대한 설명(넘어가도 됨).
- Adapter : 봇이 사용할 어댑터. 디폴트는 ‘campfire’. 나중에 ‘Procfile’ 에서
변경할 수 있음
예를 들면, 우측과 같이 입력하시면
됩니다.
어차피 adapter 는 slack 으로 이후에
바꿀 겁니다.
8. OSX 에서 휴봇 설치하기
새로 생성된 폴더와 파일들에 대해 알아봅니다. `ls` 명령으로 현재 하위
아이템을 볼 수 있습니다 :D
[파일 목록]
- Procfile : ‘Adapter’ 를 변경할 수 있습니다.
- external-scripts.js : 휴봇에서 사용할 스크립트를 나열합니다. 디테일은
생략한다. https://www.npmjs.com/browse/keyword/hubot-scripts
- READ.md : git 에서 사용하는 파일. ‘github’ 같은 서비스를 사용한다면, 이
파일이 가장 먼저 노출됩니다.
- hubot-scripts.json : 사용자가 정의한 추가 스크립트 목록이 나열됩니다.
- scripts(d) : 사용자 정의 스크립트를 담는 디렉토리. 반드시 추가 후, hubot-
scripts.js 에도 명시해 줍시다.
- bin(d) : 휴봇 실행 파일이 들어 있는 디렉토리.
9. OSX 에서 휴봇 설치하기
아래 커맨드로 실행 할 수 있습니다 :D
지금은 터미널 프롬프트가 전부입니다. 그래도 간단히 테스트를 위해 help 를 호출해 봅
‘Botname’ 이 들어가야 합니다.
간단하게 echo 명령어로 테스트 합니다.
이제 Slack 과 연동해 봅시다!
10. Slack 에 휴봇 초대하기
들어가기 전에 …
- 슬랙 계정은 있다고 가정합니다.
- heroku tool-belt 는 깔려 있다고 가정합니다.
- 공식 가이드 주소 (영어) : https://github.com/slackhq/hubot-slack
1. ‘slack’ 으로 어댑터를 변경합니다.
`vi` 명령어의 결과는 아래와 같습니다.
파일을 수정해야 하기 때문에 ‘insert mode’ 로 전환합니다. ‘a’ 나 ‘I’ 키를 눌러
페이지 하단정보가 아래와 같이 되게 합니다.
11. Slack 에 휴봇 초대하기
2. 아래 라인처럼 변경합니다. 라인의 맨 앞에 ‘#’ 가 있는 라인은 주석이니,
생략 가능합니다.
‘esc’ 키를 눌러 관리모드로 들어가고 ‘:wq’ 를 쳐서 빠져나옵니다. ‘w’ 는 를
‘write’ 의미하고 ‘q’ 는 ‘quit’ 를 의미합니다.
팁. ‘:set nu’ 를 치면 vi 가 좌측에 라인 넘버를 표기 합니다. 긴 스크립트를
읽을 때 매우 유용합니다.
12. Slack 에 휴봇 초대하기
3. Heroku 에 배포하기.
Heroku 에 대한 정보는 생략한다. http://www.heroku.com
아래와 같은 결과를 볼 수 있습니다.
마지막 라인에서 Heroku git 주소를 확인할 수 있습니다.
앞으로 진행 상황은 저 git URL 의 내용과 동기화될 것입니다.
이 경우에는,
https://git.heroku.com/testbotapp.git 가 heroku git 주소가 됩니다.
13. Slack 에 휴봇 초대하기
4. 헤로쿠 redistogo addon 설치하기.
Hubot 이 redis DB 를 사용하기 때문에 애드온을 설치해야 합니다.(로컬에
설치할 필요는 없습니다.)
heroku addons:create (addon name) –app (your app name in Heroku)
녹색 : Heroku 명령어.
귤색 : 변수
보라색 : 생략 가능한 부분 (만약 헤로쿠 앱이 복수라면 –app 옵션으로 목적
애플리케이션을 명시해 주어야 합니다.)
* 헤로쿠 애드온 사용을 위해서는 애드온이 무료라고 할지라도 계좌 정보를
등록해야 합니다. 등록하지 않으면 애드온을 사용할 수 없습니다.
14. Slack 에 휴봇 초대하기
5-1. Heroku 설정 추가하기.
Slack 연동을 위해서 HEROKU URL 과 HEROKU_SLACK_TOKEN 을 설정해 주어야
합니다. 추가합시다.
아래 URL 로 접근하세요:
https://{방이름}.slack.com/services/new/hubot
봇 이름을 넣고 다음 페이지로 진행하면, 다음 페이지 TOKEN 이 있습니다.
(가장 상단에 있습니다)
15. Slack 에 휴봇 초대하기
5-2. Heroku 설정 추가하기.
터미널에서 설정을 추가합니다.
HEROKU_URL 은 heroku.com 페이지에서 찾을 수 있습니다.
[Setting] 탭으로 가시면 페이지 중간쯤 [info] 섹션에 있습니다.
16. Slack 에 휴봇 초대하기
6. 봇 실행 시키고 Slack 에서 확인하기.
그전에 현재 코드를 heroku 의 git으로 push 해야 합니다.
만약 이미 heroku app 이 있다면 추가 작업이 필요합니다.
프로젝트 최상단에서 push 전에 아래 명령어를 입력합니다.
아래 명령어로 heroku 앱을 실행합니다.
슬랙에 가면 [DIRECT MESSAGES] 코너에 아래와 같이 봇이 추가된 걸 볼 수
있습니다.
17. JS 로 휴봇 스크립팅
coffee script 아닙니다.
기초: 커스텀 스크립트를 ‘scripts’ 폴더 아래에 작성합니다.
18. JS 로 휴봇 스크립팅
스크립트 작성 후에, ‘hubot-scripts.json’ 파일을 수정합니다.
넣을 때는 확장자를 제외하고 넣으시면 됩니다.
예를 들면, 좌측은 새로 추가된 스크립트들이고, 우측은 그 스크립트들을
hubot-scripts.json에 반영한 모습입니다.
19. JS 로 휴봇 스크립팅
마지막으로 ‘add’, ‘commit’ , ‘push’ 명령을 실행합니다.
그리고 ‘heroku open’ 를 이용해 앱을 작동시키세요.
슬랙에서 아래와 같이 실행 결과를 확인할 수 있습니다 …
20. 경험담
Tips from my experiences.
1. heroku logs 확인하기.
js 스크립팅에 대한 공식 가이드를 찾을 수 없기 때문에 헤로쿠에서 로그를
출력하는 것이 매우 유용합니다. 이 방식으로 내장된 오브젝트에 대한
정보를 알 수 있습니다.
2.휴봇에서는 DOM 엘리먼트 사용불가.
Hubot 은 ‘document’ 오브젝트(window 도 마찬가지)를 사용할 수 없습니다.
(XMLHttpRequest 오브젝트도 없음).
21. 경험담
Tips from my experiences.
3. ajax 는 내부 API 를 이용해야 합니다.
예를 들면…
4. slack 에서 어떤 API들은 봇이 사용할 수 없습니다.
예를 들면, kick API 는 봇에 의해 불릴 호출될 수 없습니다. 보다 자세한
정보를 위해서는 공식 API 문서를 참고하세요.
URL : https://api.slack.com/methods
22. 경험담
Tips from my experiences.
5. js 로 작성하더라도 coffee script 코드를 참조하기.
javascript 스크립팅에 대한 공식 문서를 찾을 수 없었습니다. 그래서 내장
객체가 어떤 요소나 펑션을 가지고 있는지 모르기 때문에 github 의 coffee 를
참조하는 게 좋습니다. 특히 ‘src’ 디렉토리 안에 있는 coffee 파일들은 js 의
오브젝트와 거의 일치합니다.
URL : https://github.com/github/hubot/tree/master/src
예를 들면, message, brain, robot, user 같은 부분들은 heroku logs로 찍어보니
확인되더라구요.