すみぬり小屋

hakobuneworksという屋号でいろんなことをしている墨崎達哉のブログ

SlackのSlash Commandsをとりあえず実装してみる

すみさきです。

最近気が緩みすぎてるのかSAN値が減りすぎてやる気が起きないのか、いろんなことが進んでないです。

というわけで息抜き回。
SlackのSlash Commandsを簡単に使ってみます。

api.slack.com

前提

今回はAWSを使用しています。

あと、Serverless Frameworkも使います。

serverless.com

もちろんSlackのアカウントも必要です。

処理部分

まずはSlackからのリクエストを受け付ける部分を作りましょう。

新しいサービスを作成します

sls create -t aws-python3 -p SlackAppService

中にserverless.ymlというファイルがあるので以下のように編集しましょう

service: SlackAppService

provider:
  name: aws
  runtime: python3.6
  stage: dev
  region: ap-northeast-1


functions:
  hello:
    handler: handler.hello
    events:
      - http:
          path: helloworld
          method: POST

(例では配置先を東京リージョンにしてますよ)

次はhandler.pyを以下のように書き換えます

import json
from urllib.parse import parse_qsl

def hello(event, context):

    # Slackからのリクエストをパースする
    params = dict(parse_qsl(event['body']))

    # レスポンスを作成
    res_body = {'text': 'hello <@{0}>'.format(params['user_id'])}
    response = {"statusCode": 200, "body": json.dumps(res_body)}

    return response

Slackから送られてくるPOSTリクエストの中身は、x-www-urlencodedなので、parse_qslでパースします。
parse_qsで直接dictにしても良いのですが、valueが配列になってしまうので・・・

今回は使っていませんが、使用したコマンドやパラメータを取りたい場合は、commandやtextの中に入っています。
詳しくはドキュメントを見るべし。

ソースが書けたらデプロイしましょう

sls deploy

Slash Commandsの作成

https://api.slack.com/appsにアクセスして、「Create New App」をクリック。
画面の指示に従ってアプリ名と開発ワークスペースを登録する。

f:id:T_Sumisaki:20171214224324p:plain

アプリが作成できたら、FeaturesのSlash Commandsを選択し、「Create New Command」をクリック

f:id:T_Sumisaki:20171214224800p:plain

コマンド名、リクエスト先、Slack上で表示されるツールヒントなどを入力して登録しましょう。

f:id:T_Sumisaki:20171214224805p:plain

全部作成できたら、SettingsのInstall Appから、自分のワークスペースにインストールすればOK

結果

こんな感じになるはず (コマンドをechoするわけではないのでちょっとわかりづらいっすけどねー) f:id:T_Sumisaki:20171214225433p:plain

AWS Lambdaや他のバックエンドに命令を送ることが出来るようになりますよ。
やったね。

MacでもVSCodeでUnrealC++が書きたい

すみさきです。

ちょっと気になってMacでもVSCodeでUnrealC++とデバッグができるのか調べてみました。

※なお、片っ端からいろんなことを試してたので、確実な環境構築手順がわからないです…

とりあえず導入

まずVisualStudioCodeを入れましょうね
Macで色々開発している人はもちろん入ってるっすよねぇ?)

Visual Studio Code - Visual Studio

VSCodeが入ったら、以下のExtensionsを入れましょう。

f:id:T_Sumisaki:20171211230547p:plain

f:id:T_Sumisaki:20171211230559p:plain

f:id:T_Sumisaki:20171211230603p:plain

LLDB Debuggerはデバッグに使うので入れておきましょう

XCodeが入っていたら大抵LLDBも入っていますが、入ってない場合はXCode CommandLine Toolsを入れると入ります

which lldb

lldb --version

で導入されているかどうか確かめましょう

ついでに

mono --version

で、Monoが入ってるか確かめておきましょう (UE4が入ってたら入ってるんじゃないかな?)

.NET Core SDKも入れておくと良いかも?(ここ未確認。とりあえず入れた) www.microsoft.com

UE4Editorの設定

EditorPreferenceからSourceCodeEditorを「VisualStudioCode」にしておきましょうねー f:id:T_Sumisaki:20171211232025p:plain

デバッグしてみる

左のデバッグツール(虫のマーク)を選択し、「プロジェクト名」または「プロジェクト名+Editor」でデバッグ開始
DebugとかDevelopmentとかはDocumentを見てー
大抵Developmentで良いと思います

f:id:T_Sumisaki:20171211232612p:plain

今のところの課題

  • 「プロジェクト名」でのデバッグが上手く動かない

なんかエラー出て止まるんですよね…

なんか「でぷろいいんぐ なーう」って言って放っておくとエディタも起動しないしデバッグも開始されないんですよねぇ…

f:id:T_Sumisaki:20171211234558p:plain

統合ターミナル上でEnterキーとか押して無理やり進めるとようやくエディタが起動するんですよ

ビルドタスク用のバッチファイルが悪さしてるんじゃないかなぁ、と思っていますが手を入れてみるべきかどうか…

参考文献

↓詳しい使い方はこちらへ unrealengine.hatenablog.com

LLDB Debugger (GitHub) github.com

Docker上にLaravel環境を構築したい(試行錯誤編)

墨崎です。

授業でPHPを教えているのですが、どうせなら流行りのフレームワークでも教えてみるかと思ってLaravelを検討中です。
いや自分だって触ったことないんですけども。

ついでにいうとPHPなんて専門外なんですけども。

とは言えそこで諦めてたら仕事にならないので、Docker環境上にLaravel開発環境を構築してみようかと。
なお授業でやるのはWindows(+XAMPP)なのでDocker関係ないよ…

試行錯誤の内容

見てたやつ。この辺

qiita.com

これ見ながらやってみたけど初っ端からエラー出たでやんす…

f:id:T_Sumisaki:20171202223721p:plain

原因わかってるんですけどね。npm系でエラーが出たので。
多分これはGulpとかLaravel-Elixirあたりが関係してくるのかな?

今のところそこまで必要じゃないよね?ってことでこのエラー出た部分は削ってしまおうかと。
大丈夫だよね?

他はこの辺とかも見てます

qiita.com

単純にMac上(Docker上)にLaravelの検証環境が欲しいだけだからこっちのほうがいいかもなぁ…

このあとやること

Docker composeのきちんとした使い方を考えないといけないっぽい。

というのも、イメージ名…というか複数のdocker-compose.yml間で同じ名前を使うのはよろしくないっぽいんだよねぇ…
imageやcontainerを作りっぱなしで消してないっていうのが一番の問題のような気もするけど

うまいやり方を調べてみようかな?

iPad版ClipStudioPaintが出たようです

久しぶりにお絵かきしてる墨崎です。

いやブログも久しぶりですけども。

iPad版ClipStudioPaintEXが配信されました

CLIP STUDIO PAINT EX 漫画・イラスト制作

CLIP STUDIO PAINT EX 漫画・イラスト制作

  • CELSYS,Inc.
  • エンターテインメント
  • 無料

月額制…なんですねぇ

中身はほぼmac版のClipStudioPaintって感じです。
キーボードショートカットもあるので、キーボードとの併用が前提なのかな?

PC版と同じ構成なので、ペンと消しゴムを切り替える機能がないです…
やはりキーボードが必要か…??

今持っているiPadProは1の方で、日本語配列に対応してないので買ってないんですよね…

でも、使い勝手は良好なので、次からこちらを使っていこうと思ってます

ちょっとだけ技術記事を書きました

すみさきです。

最近UE4に関わる機会がどんどん増えてきてて、ちょっと楽しいです。

(あんまり楽しくない案件もありますが、そこはなんとかしようかと)

技術記事を書きました

Qiitaで技術記事を2件書きました。

qiita.com

qiita.com

わりと自分用のメモだったりします。

英語の記事はあるけど、日本語の情報がないなと思って、自分が困ったものは記事にしようと。

…誰得ですけど

東北ずん子6周年ですってね

10月27日はずん誕でしたね

僕もTwitterで一枚書いてお祭りに参加してました。

f:id:T_Sumisaki:20171029214241p:plain

土曜日の資料を作っていたので本格的に参加することはできませんでしたが…

それでも、応援しています!

Mac買いました

ようやくMacを買った墨崎です。

f:id:T_Sumisaki:20171019222008j:plain

実はMacを個人所有するの初めてなんですよね。
仕事(前職)ではバリバリ使ってたわけなんですが…

しかし最新のMacbookProってキーボードすごいカチカチなりますね。
あとストロークかなり薄い。

全体的に薄いので荷物重量への影響も少なそうで良かった…

Mac使って何するの?

とりあえずiOSのビルドを試そうと思ってました…が、実機ビルドするのにDeveloperProgramに登録しないといけないみたいっすね。

XCodeのプロジェクトは何もなくビルドできたわけですが。

プロビジョニングする際にAppleIDが必要になっていることから、ビルド時に新しいプロビジョニングファイルを取ってきてるのでしょうかね?

とにかくうまく行きませんでした。

とりあえず、DeveloperProgramに登録すればなんとかなるのでそのうちしようと思います。99ドル…必要経費かな?

色々進捗

フリーランスになって初めて、UE4のお仕事ができそうです。
VRもやれる可能性があります。

とにかく実績を作って次のお仕事につなげていきたいですね。

次のことに手を出すにはお金も必要なので、引き続き稼いでいきたいです。

このあと

  • HPをちゃんとする
  • Pythonで色々作ってみる
  • ARKitを試したい

東京って…

東京生活を終えて神戸に帰ってきた墨崎です

今回はお仕事なのです

今日は以前からお仕事をもらっている東京の会社へ遊びに?行ってきました。

いやぁ…東京ってすごいですね。

全員がそうなのかわかんないですけど、エネルギーがあって、お仕事があって。

関西だとお仕事があっても、あんまりエネルギーを感じませんし…

東京という選択肢

東京に行く、という選択肢はもちろんあると思います。

とりあえず半年間は関西でフリーランスをやりますが、うまくいかないなら東京へでてどこかの会社を探すほうがいいのかも?

まあ関西にも色々あるのでどうしようかな~ってとこですが

むむむ…