読者です 読者をやめる 読者になる 読者になる

つばろぐ

福岡のエンジニアによる技術的な備忘録です。

Fukuoka.NET 第5回を開催&登壇しました

勉強会 C#

f:id:tech-tsubaki:20170129193224j:plain

1月27日の夜、Fukuoka.NETの第5回を開催しました。
※上の写真は弊社同僚Facebookポストから拝借。

fukuten.connpass.com

2017年最初のふくてんということもあり、平日夜ながらセッション3名、LT5名という気合を入れた構成にしてみました。
参加者も一時キャンセル待ちが出るなど盛況となりました。ありがたいことですね。

いまさら学ぶMVVMパターン

トップバッターを努めた私は「いまさら学ぶMVVMパターン」というタイトルで登壇しました。
昨年は .NET Coreを中心に、Webアプリケーションの話を多くしましたが、今年はWeb以外の話もしたいなぁと思い、このネタを取り上げました。

docs.com

福岡は地方ということもあるかもしれませんが、デスクトップアプリケーションの開発はいまだによく行われます。
そんなデスクトップアプリケーション開発の際に、知っておくと便利なMVVM(Model-View-ViewModel)という考え方や、.NETでの実現方法の導入について取り上げました。

なお元ネタはこちらですね。
Model-View-View Model を利用した汎用性のあるクラス ライブラリの使用

実は自分の得意領域ってこのあたりだったりします。(常駐が長かったので・・・)

WPFSilverlightで一旦落ち着いたと思ってたMVVMですが、Xamarinでも使う機会が増えてくると思い、個人的な復習も兼ねた内容にしました。

他のセッション

ASP.NET Core×Ansibleや、Xamarin×MobileAppsといったセッションがあり、非常に楽しめました。

speakerdeck.com

docs.com

謝辞

Fukuoka.NET 第5回に参加および登壇頂いた皆様、ありがとうございました!
次回は3月に開催したいと思ってますので、宜しくお願い致します。


C#実践開発手法 (マイクロソフト公式解説書)

C#実践開発手法 (マイクロソフト公式解説書)

Backlogの通知をSlackに連携する「backlack」を公開しました(Azure Functions版)

Azure Functions Slack Backlog

タイトルで全部説明してる感ありますが、Backlogで行ったコメント関連の通知をSlackに連携するコードを書きました。
backlack」という名前を付けました。

ソースコードGitHubにて公開していますので、自由にお使い下さい。

github.com

作った経緯

元々、社内で使うために年末年始にせっせと作って利用していました。
弊社ではタスク管理にBacklog、チャットツールにSlackを使用しています。
BacklogもSlackもシンプルなUIで本当に使いやすいツールです。

www.backlog.jp

BacklogやSlackには社内のメンバーだけでなく、別事務所で働くメンバーやパートナー様も入っており、記録として残しておきたい指示や報告をBacklogで行っています。

Backlogにはコメントを書いたときにどのメンバーへ通知を行うかを指定する機能があります。
指定された人にはBacklog上に通知が表示されます。

f:id:tech-tsubaki:20170121213748p:plain

f:id:tech-tsubaki:20170121213756p:plain

しかしBacklog上の通知は、通知力に乏しいと常々感じていました。
複数のプロジェクトやメンバーとやり取りを行うと、どうしても通知が増え、見落としてはいけない通知を見落としてしまう場面もよくありました。

↓こんな感じの状態を経験した方、いるんじゃないでしょうか?

f:id:tech-tsubaki:20170121220703p:plain

これまでは、通知した相手が見落とさないように、BacklogにコメントしたURLをSlackで改めて伝える、という二度手間なやり方をしていました。
しかしこのようなやり方は、はっきり言って無駄でありながら、回数が増えれば時間的損失も多いやり方でした。

そこでこのBacklogの通知をSlackで受け取るようにすれば、通知をスルーしてしまうことも減るんじゃないかと思い、このツールを作りました。

構成

図にするとこのような形になります。

f:id:tech-tsubaki:20170121214734p:plain

  1. BacklogのWebhookの送信先に、Azure FunctionsにデプロイしたbacklackのURLを指定する。
  2. backlackは、受信したWebhooデータから通知先のSlackチャネルやコメント内容を抽出する。
  3. backlackからSlackのIncoming WebhookのURLに対して、通知データをPOSTする。

動かしてみたサンプル

SlackのMessage Attachmentsという機能を使えば、Backlogから流れてくるコメントも折り畳まれて表示されるので、ぱっと見すっきりします。
「コメントを受取ったことを通知する」ことに重きを置いて作ってます。

Slackで受取った通知は下記のような感じになります。

f:id:tech-tsubaki:20170121214123p:plain

所感

この機能を作って以降、Backlogの通知を見落とすこともなくなり、結果的に Backlogの通知力を高める 形になったんじゃないかなーと思ってます。

私はAzure Functionsで動作するように作りましたが、少し構成を変えればAWS Lambdaでも動くはずです。

こんな機能も欲しいとか、Lambda版作ってみたぜ!とかあれば、Pull RequestやIssueをお待ちしています。

JXUG福岡支部発足記念勉強会でXamarinで.NET Coreを活用する話をしてきました

勉強会 Xamarin C#

JXUG(Japan Xamarin User Group、"じぇいざぐ"と読む)の福岡支部が発足することを記念した勉強会が行われました。参加報告です。

jxug.connpass.com

Xamarinとは、C#を用いてマルチプラットフォームなモバイルアプリケーションを作ることのできるフレームワークです。
JXUGはXamarinのユーザグループの略称です。
これまで福岡には支部がありませんでしたが、この度福岡支部が発足されることとなりました。

私が運営に携わっているFukuoka.NET(ふくてん)も、今回の勉強会に共催という形で参加させて頂きました。
参加者、スタッフを合わせて約50名となり、多くの方に参加してもらえて主催者の一人として嬉しく思います。

当日の様子はTwitterを見るのが一番分かりやすいかな。

勉強会のメインはXamarinハンズオンでしたが、ふくてんも登壇枠をもらいましたので発表してきました。

Xamarinでも有能な .NET Core

.NET CoreでXamarin向けのライブラリを作るときは、project.jsonに記載するTarget Framework Moniker(TFM)netstandard を指定するといいよ、という内容で発表しました。
デモも行いましたが、プロジェクターの映像が複製になってなかったり、映像の端が切れてたりで見苦しかったと思います。反省。

デモで使ったコードは公開しています。

github.com

Target Framework Moniker(TFM)について参考にしたリンクはこちらです。

ハンズオン

ハンズオンはこちらの資料が元となっています。私は参加者のサポートしながらだったので、日を改めて再挑戦したいと思います。

github.com

github.com

感想

これまで交流の無かった方々とも知り合うことができて、とても有意義なイベントでした。
登壇者やスタッフの皆様、本当にお疲れ様でした。

オマケ

ちょまどさんが会場のホワイトボードに書いてましたね。さすがお上手です。
いいねがハイペースでついて驚きました。