ツレヅレナルママニ

主にプログラミングやアカペラについて

Slackのワークフロービルダーを触ってみた

Slackに「ワークフロービルダー」という新しいツールが追加されたので、軽く触ってみました。
この記事では、ワークフロービルダーの概要と実際に触ってみた感想を書いていきたいと思います。


ワークフロービルダーとは

ワークフローは簡単に言うと「一連の作業工程」のことです。今回の文脈では「システムによって自動化できる作業」が対象となります。
ワークフロービルダーは「複数の作業をつなぎ合わせて自動化するためのツール」です。

なお、ワークフロービルダーは無料プランでは利用できないようです。


ワークフローの作成

現状、ワークフローの作成はデスクトップアプリまたはWebブラウザからのみ可能です。

ワークフロー作成画面へは、ワークスペース名をクリックすると表示されるメニュー内の「ワークスペースビルダー」からアクセスできます。

f:id:tkhs0604:20191017004322p:plain:w200


最初は以下のような画面が表示されます。

f:id:tkhs0604:20191017005314p:plain:w400


ワークフロービルダーの使い方の詳細は公式サイトを見るのが確実だと思うので、ここでは割愛しますが、ざっくり以下のことができます。

  • ワークフローの新規作成
  • ワークフローの編集
  • ワークフローのインポート


ワークフローの構成要素

ここからは、ワークフローの作成を始める前に理解しておくとよさそうなワークフローの構成要素について説明します。

ワークフローは「トリガー」と一連の「ステップ」という2つの要素で構成されています。

f:id:tkhs0604:20191017012846p:plain:w400


トリガー

トリガーは「ワークフローが開始されるきっかけとなるイベント」のことです。
現状では以下の3種類がトリガーとして選択可能です。画面上の日本語が若干分かりづらいですが…

  1. アクションメニュー
    • 誰かがチャンネルのアクションメニューから特定のワークフローを選択したとき
    • アクションメニューとは、アクションメニューをトリガーに持つワークフローが追加されたチャンネルの上部に追加される「⚡」のようなマークをクリックすると表示されるメニューのことです
      f:id:tkhs0604:20191017025040p:plain:w300
  2. チャンネルの新しいメンバー
    • 誰かが特定のチャンネルに参加したとき
  3. 絵文字リアクション
    • 誰かが特定のリアクションを使用したとき
f:id:tkhs0604:20191017010536p:plain:w400


ステップ

ステップは「実際に行われる各作業」のことです。
現状では以下の2種類がステップとして選択可能です。

  1. メッセージを送信
  2. フォームを作成する
f:id:tkhs0604:20191017012145p:plain:w400


ワークフローのテンプレート

ワークフローにはいくつかのテンプレートも用意されています。
特に、

あたりは人類が求めていた機能だと思います。

テンプレートは最初からワークフロー作成画面で選択できるわけではなく、上記のリンク先からダウンロード&インポートすることで利用できるようになります。


所感

お試し程度に触ってみた感想は以下の通りです。

  • Pros
    • 今まで外部ツールで作成していたワークフローをSlack内で作成可能になること自体は素晴らしい
    • 新メンバー向けのオンボーディングやヘルプデスクへの問い合わせはテンプレートを活用して割とすぐ移行できそう
  • Cons
    • 使いやすいトリガーやステップの選択肢が少ない
      • 特にリアクションは使いどころが難しそうw
    • ステップの条件分岐などができない
    • 他アプリや外部サービスとの連携ができない
      • フォームを利用したワークフローはスプレッドシートなどに履歴をストックしておきたい
      • Zapier」などを使えば現状でも可能ではあるが…


ツールのコンセプトそのものには大きな可能性を感じますが、年内リリース予定だったものがこのタイミングでリリースされたということは、ある意味でβ版的な位置づけとして見ておくのがいいのかな?とも感じたので、今後の機能拡充に期待したいと思います。

非アレンジャーがアカペラ譜作成のために協力できる5つのこと

ふと書きたくなったので書き殴ります。

アカペラにおけるアレンジの重要性については語るまでもないと思います。
ただ、アレンジって大変ですよね。単純に楽譜を作るだけならまだしも、提供するグループに合った楽譜やオリジナリティのある楽譜を作成するには知識も時間も必要です。
一方で、メンバー全員が楽譜を作成できるグループも稀だと思います。多くのグループはアレンジャーが1-2人いて、その方々にお願いする形を取っているのではないでしょうか。

そこでこの記事では、アレンジャーが楽譜を作成する際、一緒に作り上げるために非アレンジャーが協力できる5つのことについてまとめます。
5つにしたのはキリがよかったからです。本当はもっとたくさんあると思います。笑

続きを読む

「A cappella Spirits! EX 社会人全国大会」に出場します!

要約

  • 11/24(日)に「A cappella Spirits! EX 社会人全国大会」に出場します🎤
    • 会場は秋葉原にあるAKIBAカルチャー劇場です
    • オーディエンス投票制のライブなので、ぜひ会場まで応援にきてください💪
  • チケットは9/25(水) 19:00より先着制で販売開始です🎫
    • 窓の満月が出演するライブのチケットはこちらからご購入いただけます



11/24(日)にAKIBAカルチャー劇場で行われる「A cappella Spirits! EX 社会人全国大会」に「窓の満月」というグループで出場できることになりました!

f:id:tkhs0604:20190921224537p:plain:w300


窓の満月は、この大会に出場することを大きな目標の一つとして活動してきました。
想像よりも早く実現したというのが正直な感想ではありますが、ここまで来たら決勝大会へ勝ち進みたいので、みなさまぜひ会場まで応援にきていただけたら嬉しいです!

f:id:tkhs0604:20190921200940p:plain


A cappella Spirits!とは

この大会に懸けている想いはそれなりに伝わったかと思うのですが、そもそもA cappella Spirits!が何なのか分からない人もいると思うので、ざっと補足しておきます。

A cappella Spirits!は、2012年より開催されているアマチュアアカペラの全国大会です。簡単に言うとライブ形式で全国No.1のアマチュアアカペラグループを決める大会です。
今年は全国合わせて806グループの応募があったそうです。


大会の全体像は以下の図のような感じです(多分)。
各地方ブロックの予選が3回かけて行われ、最終的に1グループずつ決勝大会へと勝ち進みます。
また、各地方ブロックの大会と並行に審査が行われ、各部門の条件に該当するいくつかのグループが「A cappella Spirits! EX(以下、EX)」へと選抜されます。各EXからも1グループずつ決勝大会へと勝ち進みます。

f:id:tkhs0604:20190921193831p:plain


今回出場できることになったのは、EXの中の社会人部門(メンバー全員が社会人であることが条件の大会)です。
このライブはオーディエンス投票制で、ライブで最も多くの投票を獲得した1グループが決勝大会へと勝ち進みます。
つまりそういうことです。ぜひ応援にきていただきたいです✊


ライブ詳細

ライブの詳細は以下になります。


また、アクセスは以下の通りです🚃


チケット販売について

チケットはLivePocketというサービスから購入できます。
メンバーによるチケットの取り置きなども出来ないそうなので、応援にきていただける方は以下の内容をよくご確認いただいた上で何とかチケットをもぎ取ってください🙇‍♂️

t.livepocket.jp


重要なのは以下の2点です。

  • 先着制
  • 2019/9/25(水) 19:00より販売開始


どのライブのチケットも割とすぐ売り切れるようです!
先日行われた関東ブロック最終予選のチケットは3分で売り切れたようです。笑



最後になりますが、みなさまのご来場お待ちしています🙇‍♂️✨

KotlinでCustom Viewを作成するときのコンストラクタの書き方

KotlinでCustom Viewを作成するときのコンストラクタの書き方がよく分からなかったので、これを期にKotlinのコンストラクタとCustom Viewについて調べてみました。

Javaに慣れているエンジニアからすると、Kotlinのコンストラクタの書き方は若干とっつきにくい印象が個人的にはあります。
そのため、まずはJavaライクなKotlinのクラスをKotlinライクに書き換えることでKotlinのコンストラクタの書き方を理解し、その上でCustom Viewの書き方について整理したいと思います。

  • JavaライクなKotlinのクラス
  • Kotlinライクなクラスへの書き換え
    • 1. プライマリコンストラクタの利用
    • 2. constructorキーワードの省略
    • 3. プロパティの初期化処理のワンライン化
    • 4. initブロックとクラスのブレースの省略
  • プロパティのデフォルト値の設定
  • KotlinでCustom Viewを作成するときのコンストラクタの書き方
続きを読む

「Kotlin Fest 2019」で発表しました!

昨日開催された「Kotlin Fest 2019」のLT枠で発表してきました!

kotlin.connpass.com


昨年の「Kotlin Fest 2018」のときは「金沢アカペラタウン」というイベントに出演していて参加できなかったので、1年越しの悲願達成となりました。
まさか発表側として参加することになるとは微塵も思っていませんでしたが…!

続きを読む