LINE BOT 開発に使えるLINE Messaging API の.Net Standard Libraryと、Visual Studio 2017用プロジェクトテンプレートを作りました

LINEでビンゴゲームができるBOTを作ったのですが、 このBOTで実装したMessaging API のコードをクラスライブラリに切り出してみました。 pierre3.hatenablog.com LINE Developers - Messaging API - Overview Line.Messaging V0.20-alpha NuGet Galleryで公…

LINE でビンゴゲームができるBOTを改良しました

BINGO BOT 以前に紹介した、LINE BOTを改良しました。 pierre3.hatenablog.com 改良したところ リッチメニューに対応しました ビンゴカードを画像で取得できるようになりました ゲーム参加者同士の簡易チャットが可能になりました リッチメニューに対応しま…

LINE BOT Webhooks の署名検証をC#で実装する

LINE BOT 開発では、ユーザーが送信したメッセージなどのイベントは、指定したURLにHTTPSのPOSTリクエストとして送信されますが、リクエストの送信元が間違いなくLINEからのものであることを確認する必要があります。 LINE API Referenceには以下の様に書か…

LINEでビンゴゲームができるBOTを作りました

BINGO Web API LINE BOT Function 開発環境、Frameworkとか BINGO WebAPI LINE BOT Function Azure Function Tools for Visual Studio 2017 Azure Table Strage 遊び方 LINE BOTを友達登録します BINGO BOT ゲームオーナーとプレーヤー ゲームオーナーの操作…

Azure App Service の継続的配信(プレビュー)を試してみました

Azure App Service の継続的配信(プレビュー) 最近あまり触れていなかったASP.NET系の技術にそろそろじっくり取り組んでみようかな、と思う今日この頃。 ASP.NET Core & Azure App Service で何か作ろうとAzureポータルを触っていると、App Serviceのメニュ…

CSVファイルの読み書き設定をC#スクリプトで記述するWPFアプリをDesktop App Converterで変換してストアに公開しました

デスクトップアプリをUWPに変換してWindowsストアに公開可能な状態にするDesktop App Converterを試してみたい! ということで、ブログのネタで作成していたWPFアプリ(CsvEditSharp)をDesktop App Converterに掛けてストアに公開するまでをチャレンジしてみ…

C#のソースコードからPlantUMLのクラス図を生成するアプリ(改)をリリースしました

サンプルコードの棚卸 以前、以下の記事で作成したC#ソースコードからPlantUMLを生成するサンプルプログラムですが、(長らく放置状態でしたが) 少し手直しをして、それなりに使えるようにしました。 pierre3.hatenablog.com pierre3.hatenablog.com PlantUml…

C#スクリプト エディタに入力補完機能を実装する

この記事は、以下の記事の続きとなります。 CSVのクラスマッピングの定義をC#スクリプトで記述する - pierre3のブログ CSVのクラスマッピングの定義をC#スクリプトで記述する (その2:Converter) - pierre3のブログ CSVのクラスマッピングの定義をC#スクリプ…

CSVのクラスマッピングの定義をC#スクリプトで記述する (その3: ValidationRule)

この記事は、以下の記事の続きです CSVのクラスマッピングの定義をC#スクリプトで記述する - pierre3のブログ CSVのクラスマッピングの定義をC#スクリプトで記述する (その2) - pierre3のブログ この記事のサンプルコードはこちら github.com 目次 目次 入…

CSVのクラスマッピングの定義をC#スクリプトで記述する (その2:Converter)

この記事は、以下の記事の続きです。 pierre3.hatenablog.com この記事のサンプルコードはこちら github.com 目次 目次 DataGridの表示フォーマットを何とかしたい CsvClassMap で指定した文字列のフォーマットや変換処理をDataGridの表示に流用する CsvClas…

CSVのクラスマッピングの定義をC#スクリプトで記述する

目次 目次 WPF DataGrid でCSVエディタを作る。 CsvHelperにCSVデータの読み込みとクラスにマップをお任せする 読み込むデータに応じて、クラスマッピングの定義を動的に行いたい C# スクリプトでCSVエディタの設定を記述する Roslyn Scripting アプリケーシ…

[Reactive Extensions]お題:5人揃ってゴレンジャイ!

最近 Reactive Extensions に入門した同僚に出したお題です。 ちょっとしたお遊びのつもりで出題したのですが、意外と楽しんでもらえたようです。 目次 目次 お題 私の回答 実行結果 解説 重複判定 失敗したら例外を流す 蛇足 ThrowIfFalse() 拡張メソッド …

Azure App Service + ASP.NET Web API で LINE BOTを作ってみる

LINE BOT APIのトライアルをAzure + ASP.NET WebAPIで試してみました。 LINE BOT API Trial Azure App Service と Visual Studio 2015 を使用してLINE BOTを作成する手順をまとめてみたいと思います。 今回はひとまず、ユーザーからのメッセージを受け取れる…

Atomプラグイン plantuml-viewer で大きなUMLを扱った場合の問題と対処法

以前に紹介したAtomプラグインのplantuml-viewerについて。使っていて少々気になる点がありました。 atom.io 概ね問題なく快適に使えているのですが、変換するUMLのサイズが大きくなってくると 極端にレスポンスが悪くなったり、最後の入力結果が反映されな…

Register-ArgumentCompleter で 入力補完機能を自作しよう!

これは、PowerShell Advent Calendar 2015 9日目の記事です。 atnd.org 目次 はじめに Register-ArgumentCompleter コマンドレット 入力候補の一覧を生成するスクリプトブロック Invoke-Item コマンドレットの入力候補に「最近使った項目」の一覧を出す 実装…

UWPのContentDialog や Pageの イベントを {x:Bind } でバインドするとXAML内部エラーになる

UWP

UWP のプログラミング中に、以下のエラーに遭遇したのでメモしておきます。 1>C:\Program Files (x86)\MSBuild\Microsoft\WindowsXaml\v14.0\8.2\Microsoft.Windows.UI.Xaml.Common.targets (263,5): Xaml 内部エラー error WMC9999: オブジェクト参照がオブ…

PowerShellでEtwStream

EtwStream.PowerShell Get-TraceEventStream Cmdlet Object pipeline DumpWithColor Switch WellKnownEventSource View in GridView-Window 実装 まとめ EtwStream.PowerShell neuecc/EtwStream をPowerShellから使えるようにしてみました。 github.com Get-…

ETW/EventSource によるロギングを試してみる

最近、以下の記事を拝見しました。 neue cc - EtwStream - ETW/EventSourceのRx化 + ビューアーとしてのLINQPad統合 正直、EtwやEventSourceというものに馴染みが無かったのですが、これからは必須の技術となりそうですね。 さて、EventSourceですが、いきな…

WPFでReactiveProperty入門 ~アプリケーションのステータスやエラー情報をIObservable で通知する

この記事は、WPFでReactiveProperty入門 ~Bing画像検索ビューアを作る - pierre3のブログ の続編です。 関連記事 WPFでReactiveProperty入門 ~Bing画像検索ビューアを作る - pierre3のブログ WPFでReactiveProperty入門 ~Bing画像検索ビューアを作る (1. …

[WPF] BitmapImage の生成・初期化を非同期で行う際のメモリの問題について

この記事は、前回のエントリ WPFで「UriSouceプロパティに画像のURLを入れてBitmapImageを初期化する処理」を非同期で実行するとしぬ - pierre3のブログ の続きになります。 目次 前回のおさらい MemoryStream はDisposeしても内部バッファを離さない Dispos…

WPFで「UriSouceプロパティに画像のURLを入れてBitmapImageを初期化する処理」を非同期で実行するとしぬ

この記事は、WPFでReactiveProperty入門 ~Bing画像検索ビューアを作る - pierre3のブログ の続きです。 関連記事 WPFでReactiveProperty入門 ~Bing画像検索ビューアを作る - pierre3のブログ WPFでReactiveProperty入門 ~Bing画像検索ビューアを作る (1. …

WPFでReactiveProperty入門 ~ Rxを使って検索結果のサムネイル画像を一括ダウンロードする

この記事は、WPFでReactiveProperty入門 ~Bing画像検索ビューアを作る - pierre3のブログ の続きです。 関連記事 WPFでReactiveProperty入門 ~Bing画像検索ビューアを作る - pierre3のブログ WPFでReactiveProperty入門 ~Bing画像検索ビューアを作る (1. …

(補足) Roslyn で C#のソースコードからPlantUMLのクラス図を生成する の設計メモ

前回の記事の補足資料です。 pierre3.hatenablog.com 目次 使い方 設計メモ 型定義 型キーワード 修飾子 型引数 例 メンバー定義 アクセス修飾子(共通) 修飾子 (共通) プロパティ 初期化子(フィールド、プロパティ) 未対応 ネストクラス 演算子のオーバーロ…

Roslyn で C#のソースコードからPlantUMLのクラス図を生成する

前回 に引き続き、PlantUMLの話になります。 ReactiveProperty の記事もまだ途中なのですが、もうちょっと寄り道します。 今回は、Roslynで C# のソースコードから PlantUMLのクラス図を生成するプログラムを作ってみよう!というお話です。 Roslyn を使って…

PlantUMLを自動変換してLiveプレビューしてくれるAtom拡張 PlantUML-Viewer がイイ!

PlantUML とは テキストベースでUMLのダイアグラムをサクサクかける ドメイン固有言語(DSL)です。 以下のような特徴があります。 テキストベースなので、バージョン管理ツールでの差分管理が可能 図のレイアウトを自動でやってくれるので、書きたい内容に集…

WPFでReactiveProperty入門 ~Bing画像検索ビューアを作る (検索バーの実装)

前回 WPF+ReactivePropertyでBing画像検索ビューアを作るの続きです。 今回は、検索バー(検索ワードの入力と、検索の実行を行う部分)の実装を通して、ReactiveProperty の基本的な使い方を確認してみたいと思います。 ここで期待される動作は以下の通りです…

WPFでReactiveProperty入門 ~Bing画像検索ビューアを作る

ReactiveProperty を使ってみたい と思いつつ、なかなか手を付けられなかった ReactiveProperty に入門すべく、WPF + ReactiveProperty で、サンプルアプリケーションを作ってみました。 ReactiveProperty runceel/ReactivePropertygithub.com ReactiveProp…

PowerShell の入力補完にGoogleサジェストの結果を表示する

↑ みたいな事って出来るのかな、となんとなく調べてみたところ、どうやら TabExpansion++ というモジュールを使うと簡単に出来そう! という事で、ちょっと試してみました。 TabExpansion++ github.com PowerShellのTab補完、インテリセンスをより賢く、便利…

SignalR HubProxyのTypeScript型定義を自動生成してくれるT4テンプレート 「Hubs.tt」

前回は、ASP.NET + SignalRのクライアントサイドにTypeScriptを導入してみました。 今回は、サーバー側のコードも見てみることにします。 サーバー側が呼び出すクライアント側のメソッドを静的型付けにする サーバー側で記述するクライアント側のメソッドは…

SignalRのクライアントサイドをTypeScript で強い型付けにする。

ASP.NET MVC5 + SignalR 2.0 + TypeScript 1.4 でリアルタイムWeb入門 最近、SignalRを使ったWebアプリケーションを作りたいと思い、お勉強を始めました。 クライアントサイドには(こちらも入門したばかりの)TypeScriptを使おうかと考えています。 という事…