無限ループビルダーズ @ zohyo meetup #3

28
無限ループビルダーズ @ara_ta3

Upload: arata3

Post on 17-Jan-2017

1.198 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: 無限ループビルダーズ @ Zohyo Meetup #3

無限ループビルダーズ@ara_ta3

Page 2: 無限ループビルダーズ @ Zohyo Meetup #3

わたし• 新卒2年目が終わりそう・・・

• あどてく系のえんじにゃー

• Scala, JavaScript, PHP, その他色々

• Twitter : @ara_ta3

• Darkっていうだいたい新卒コミュニティやってます

• 最近ドラクエビルダーズ #DQB にはまってます。

• イケニエと雪のセツナ買いました。

Page 3: 無限ループビルダーズ @ Zohyo Meetup #3

わたし ドラクエビルダーズ #DQB

https://twitter.com/ara_ta3/status/698835396780666880

Page 4: 無限ループビルダーズ @ Zohyo Meetup #3

_人人人人人_ > hadoop < ‾Y^Y^Y^Y‾

Page 5: 無限ループビルダーズ @ Zohyo Meetup #3

伝説のビルダーはhadoopも作れる。 だから無限ループも作れる

Page 6: 無限ループビルダーズ @ Zohyo Meetup #3

わたし - Dark?

• だいたい新卒の闇(?)コミュニティ

• だいたいの定義はない

• botで色んな機能作って遊んでます

• ChatOps的なこと?

Page 7: 無限ループビルダーズ @ Zohyo Meetup #3

わたし - Dark?

• 色々あって、Slack上で無限ループできたので

• 今日はその方法と有用性について紹介します!!()

Page 8: 無限ループビルダーズ @ Zohyo Meetup #3

背景• Darkのbotについて

• 2体います

• dark - hubot製

• 私管理

• ray - ruboty製

• ある参加メンバー管理

Page 9: 無限ループビルダーズ @ Zohyo Meetup #3

背景• Darkのbotについて

• 2体います

• dark - hubot製

• 私管理

• ray - ruboty製 <- このbotの話

• ある参加メンバー管理

Page 10: 無限ループビルダーズ @ Zohyo Meetup #3

ray(ruboty)の紹介

• 彼すごいんです

• 雑談できる!(ruboty-talk)

• rubyコマンドが使える(ruboty-ruby)

Page 11: 無限ループビルダーズ @ Zohyo Meetup #3

ray(ruboty)の紹介

• ruboty-talk plugin

Page 12: 無限ループビルダーズ @ Zohyo Meetup #3

_人人人人人_ > なんかうざい <

‾Y^Y^Y^Y‾

※個人の感覚によります

Page 13: 無限ループビルダーズ @ Zohyo Meetup #3

• ruboty-ruby plugin

ray(ruboty)の紹介

Page 14: 無限ループビルダーズ @ Zohyo Meetup #3

• ruboty-ruby plugin

ray(ruboty)の紹介

_人人人人人人人人人人人人_ > 名前の割に闇感すごい < ‾Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y‾

Page 15: 無限ループビルダーズ @ Zohyo Meetup #3

ray(ruboty)の紹介

• 突然ですが、rubyでシェルを実行する場合

• `でくくるとシェルコマンドになるんですね。

Page 16: 無限ループビルダーズ @ Zohyo Meetup #3

• ruboty-ruby plugin

ray(ruboty)の紹介

Page 17: 無限ループビルダーズ @ Zohyo Meetup #3

( ゜д ゜)

Page 18: 無限ループビルダーズ @ Zohyo Meetup #3

rubotyの特性• hubotと違って、ユーザ扱い

• botメッセージによっても呼び出し可能

• 例

• hubot echo ray echo hoge

• ray echo ray echo hoge

Page 19: 無限ループビルダーズ @ Zohyo Meetup #3

rubotyの特性• hubotと違って、ユーザ扱い

• botメッセージによっても呼び出し可能

• 例

• hubot echo ray echo hoge

• ray echo ray echo hoge

_人人人人人人人人人人人人人人_ > 無限ループ出来そう!!! <

‾Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y‾

Page 20: 無限ループビルダーズ @ Zohyo Meetup #3

実践 - 無限ループ

• 再帰的に処理が出来そうです。

• ただ、再帰処理をするためには処理に名前をつける必要がありますよね

• そこで、ruboty alias というのがあるらしい。

Page 21: 無限ループビルダーズ @ Zohyo Meetup #3

実践 - 無限ループ

Page 22: 無限ループビルダーズ @ Zohyo Meetup #3

• つまらない!!!!!

• もっと壮大な何か愉快な感じに無限ループして欲しいんだ!

• aliasでは一つのことしか出来ない

• 単純なループ処理しか出来ない

Page 23: 無限ループビルダーズ @ Zohyo Meetup #3

そこでincoming webhookですよ

Page 24: 無限ループビルダーズ @ Zohyo Meetup #3

雑な図

Page 25: 無限ループビルダーズ @ Zohyo Meetup #3

script#!/bin/sh

sleep 1 test -f ./loop.sh || curl -o loop.sh -s https://gist.githubusercontent.com/ara-ta3/fa468a312d0098c01ada/raw/loop.sh curl -s https://gist.githubusercontent.com/ara-ta3/fa468a312d0098c01ada/raw/something.sh|sh > /dev/null curl -X POST --data-urlencode 'payload={"channel": "#bot_heaven", "text": "ray ruby `sh ./loop.sh`"}' ${SLACK_WEBHOOK} > /dev/null

https://gist.github.com/ara-ta3/fa468a312d0098c01ada

loop.sh

something.sh

#!/bin/sh

curl -X POST --data-urlencode 'payload={"channel": "#bot_heaven", "text": "ray echo dark poem"}' ${SLACK_WEBHOOK} > /dev/null

Page 26: 無限ループビルダーズ @ Zohyo Meetup #3

DEMO

• dark poemの無限ループ

• dark poem

• -> オサレなポエムを流してくれるbotの機能

Page 27: 無限ループビルダーズ @ Zohyo Meetup #3

まとめ• Slackでrubotyを使うと無限ループが出来る

• (正しくはruboty ruby plugin)

• 何の意味があった?

• 意味はありません。夢があります。

• aliasよりincoming webhookを利用したほうが汎用的にいろんなことが出来る!

• 無限猫画像・無限ポエム

• いかがわしい画像とか出た時のkskに使えそう

• 無課金だと過去のメッセージガンガン減っていくから注意

Page 28: 無限ループビルダーズ @ Zohyo Meetup #3

ご静聴ありがとうございました