MANA-DOT

PIXEL ART, PROGRAMING, ETC.

babelのasyncで遊んでみたメモ

babelのasyncで遊んでみたメモ

ES7から利用可能な async/await は非同期プログラミングの際に非常に魅力的な構文です。 babelを用いることによりES5の環境でもコードを実行可能です。

babelで非同期処理がどのように変換されるのか興味があったので、いろいろ遊んでみました。

続きを読む

direnvを使って複数のgitコミッタ名を切り替える

direnvを使って複数のgitコミッタ名を切り替える

例えば会社のPCでこっそり個人的なリポジトリで作業してgithubにpushする場合、 うっかり会社用のgitコミッタ名(本名@会社名.co.jp みたいなアドレスとか)で commit/pushしてしまい、紐付けるつもりのなかったネットの人格と本名/会社名が紐付いてしまう というのは皆が恐れるところであると思います。

そこで、direnv を利用するといい感じに切り替えられることができたので、共有いたします。

続きを読む

Hubot-slack で絵文字でアニメーションする8パズルゲームができるbotを作った

Hubot-slack で絵文字でアニメーションする8パズルゲームができるbotを作った

社内のSlackで後輩がSlackの絵文字にでかい絵を分割して登録し、パズルだとか言っていたので、なんとなく作りたくなってしまいHubot上で8パズルが出来るbotを作ってしまいました。

続きを読む

Hubot-slackでDMを送る

Hubot-slackでDMを送る

hubot-slack でDMを送るスクリプトを書きたかったが、 DMを送る方法が用意されてるにもかかわらず、単純に呼ぶだけでは利用できなかったので呼び方のメモ。

※ hubot-slackが利用するnode-slack-clientのバージョンが1.2時点での内容です。今後改善されると思います。

続きを読む

Hubotでbotの反応する部屋やユーザーに制限を設ける

Hubotでbotの反応する部屋やユーザーに制限を設ける

少し前に slackでbotアカウントが作れるようになり、それまで IRC Gateway で動作させていたSlack上のbothubot-slack を利用したbotアカウントによるbotに乗り換えました。

ところでslack上でhubotを動かす場合、IRCと比べ次の2点が不便です。

  1. 必ずgeneralチャンネルに入ってしまうため、generalでの関係ない発言に反応してしまうおそれがある
  2. notice発言がないため、botbotに反応させない手段としてnotice発言を利用できない

そこで、特定の条件でbotの発言を抑制するスクリプトを書きました。

続きを読む

PHPで利用できる配列操作系高階関数

PHP5.3からクロージャが利用可能であり、高階関数を積極的に利用して簡潔なコードを心がけたいのですが、一度調べておかないと意外な関数が利用可能であることに気づかなかったりするのでまとめ(個人的によく使う順)。

続きを読む