BEACHSIDE BLOG

MicrosoftとかC#を好むレンジャーの個人的メモ

C#

ASP.NET Core の SPA の Template が動かない(dist のフォルダーが作られない)

事象としては、 ASP.NET Core の SPA の Tempates から Angular のプロジェクトを作成し(ここでは正常に動く)、GitHubやVSTSにPushした後、クローンした人たちがデバッグでエラーが出て動かないというものです。 ちなみに.NET Core 1.1で作った際の事象です…

グローバルメッセージハンドラー (2/2) - Bot Frameworkの基本機能 (global message handlers using Scorables)

前回から引き続き、本題の Scorables の実装です。 Overview 0 Scorables とは (前回) 1 デモ用ボットの作成 (前回) 2. 簡易なScorableの実装(今回はココから!) 3. DIの実装 4. Scorableの実装からDialogへ 5. Scorableの実装の注意点

グローバルメッセージハンドラー (1/2) - Bot Frameworkの基本機能 (global message handlers using Scorables)

Bot Framework で開発するときに使うであろう基本機能、Scoralbles をC#で実装関連のメモです。 通称(?)global message handler でドキュメントやGitHubに載っていて、Scorables を使って実装するやーつです。 Overview 0. Scorables とは 1. デモ用ボッ…

Cognitive Services のSDK有無 @201707

ちょっとしたきっかけから Cognitive Services のSDKの有無について、2017年7月時点での情報を整理してみました。 注意 SDKがあって公開されているものは基本的にgithubのリンクをつけていますが、ドキュメントのリンクの場合もあります。 〇はSDKのソース、…

Typing indicator の送信 - Bot Framework の基本機能

Typing indicator は、文字の入力中に出てきそうなあれです。 Bot Framework では簡単に実装ができるので、実装しておくといい感じになるでしょう(最後に残念なオチがありますが…) 今回の実装はもちろんC#ですが、Nodeでももちろん同じことができます。

Face APIのDotnetCore版 Client SDK でFaceAttributeを全て取得できるようにする

Face API の Client SDK(.NET Core版)だと、現状ではCognitive Services のAPIで公開されているFaceAttributeの一部しか取得できないです。 FaceAttributeについて具体的には、前回の記事内の、Face APIの概要のfaceAttributesです。もちろんEmotionも取得…

Azure Functions に IPアドレス制限をかける

2017年4月の現時点では「従量課金プラン」ではできないです。 「AppServiceプラン」でやる必要があります。むむ。 今回はこの方法の手順メモです。 ガチなエンタープライズ系で予算潤沢なら、高機能で料金もお高い API Management でやればいいんでしょうね…

OpenAPI 2.0 (Swagger) を Azure Functions で定義する

OpenAPI 2.0 (Swagger) を Fucntion App で定義する際のメモを書きました。 Overview AzureポータルでFunctionAppを作って、 OpenAPI 2.0 (Swagger) を利用してAPIの定義を作り、動作確認する流れです。 1. FunctionApp の作成 2. API Definition の作成 3. …

.NET Core と xUnit でライブユニットテスト(的なやつ)

Visual Studio 2017のEnterprise限定のライブユニットテストの話ではなく、VS2017であればどのバージョンでも(たぶん)使えるライブなユニットテスト(的なやつ)です。 Microsoft.DotNet.Watcher.Toolsを使い、コマンドプロンプトでwatchしてtest結果を見…

React も Angular も ASP.NET Core で Get Started♪

2017年2月の .NET Core SDK が 1.0 RC4 に更新 されたことで、プロジェクトを作成するコマンド dotnet new がちょっと変わりました。 dotnet new コマンドで今まで作れたプロジェクトテンプレートに加えて、以下のSingle-Page Applications(SPA)のカスタム…

DocumentDB - リソーストークンを使ったアクセス - 2/2 ( Access to DocumentDB with resource tokens )

前回から引き続きで、以下のイメージを実装したものを動かしてみるところからです。(図はこちらから引用)。 結局のところ、今回書いた認証サーバーの役割をするAzure Functionsの実装と、最後に載せてるクライアント側を想定したコンソールアプリクラスが…

DocumentDB - リソーストークンを使ったアクセス 1/2 ( Access to DocumentDB with resource tokens )

Xamarinで作ったモバイルアプリなどのクライアントから直接 (みんな大好き) DocumentDB にアクセスしたいシナリオがあった場合、 (例えば、 How To Build Planet Scale Mobile App in Minutes with Xamarin and DocumentDB | Blog | Microsoft Azure なシ…

Cognitive Services でのAPIの 認証 処理 ( Microsoft Cognitive Services )

Cognitive Servicesの各種APIをコールする際、認証が必要となります。認証に必要なAPIのキーの取得からC#による認証処理のお話です。 認証方法はAPIによって異なります。 今回は、https://api.cognitive.microsoft.com/sts/v1.0/issueTokenから認証のための…

Bing Speech API ( Microsoft Cognitive Services ) で音声をテキストにする..を Bot Framework で試そう

Bing Speech APIを使って Bot Framworkで動作を試す簡易でとりあえず動くサンプルを書いてみました。 Bing Speech API は、Microsoft Cognitive Services のAPIの一つで、ざっくりいうと、音声データをテキストにしてくれるAPIです。 Azure Bot Serviceで実…

Azure DocumentDB のEmulatorを使って Quick Start

AzureのNoSQLサービス DocumentDB を、ローカル環境エミュレーターが2016-11月に発表されました。ブログは見てましたが全く試していなかったので、Quick Start用のサンプルコードを使って動かしてみます。 azure.microsoft.com 今回は、.NET Coreのサンプル…

ASP.NET Core と Angular2 と webpack で 開発 のことはじめ

2017年02月追記 >>>>> .NET CoreのSDKの更新により、Angularのほか、ReactやAureliaとかのプロジェクトの作成もサクッとできるようになりました♪ ということで、以下の記事を見た方がよいかもしれません♪ React も Angular も ASP.NET Core で Get Started♪ …

C# Dictionary の基礎

C# の Dictionary の入門編的なショートセッションを…職場でやることにしたので、やる内容をメモです。 Overview Dictionary の基礎を知ってもらうための座学として、 1. Dictionaryの基礎知識 2. 使用例の基礎 3. SortedDictionary、SortedList をまとめま…

Xamarin.Forms の MVVM 基礎 ( Petzold's book - chapter.18 FINAL)

Xamarin.Forms での MVVM の基礎について、通称 Petzold's book の18章「MVVM」をざっくり試しています。 前回の続きです。 Overview Petzold's bookの内容に沿ってにざっくり進めます。 1. MVVM interrelationships(chapter.18 その1) MVVMの概要説明 2. …

Xamarin.Forms の MVVM 基礎 ( Petzold's book - chapter.18 その5)

Xamarin.Forms での MVVM の基礎について、通称 Petzold's book の18章「MVVM」をざっくり試しています。 前回の続きです。 Overview Petzold's bookの内容に沿ってにざっくり進めます。 1. MVVM interrelationships(chapter.18 その1) MVVMの概要説明 2. …

Xamarin.Forms の MVVM 基礎 ( Petzold's book - chapter.18 その4)

Xamarin.Forms での MVVM の基礎について、通称 Petzold's book の18章「MVVM」をざっくり試しています。 前回の続きです。 Overview Petzold's bookの内容に沿ってにざっくり進めます。 1. MVVM interrelationships(chapter.18 その1) MVVMの概要説明 2. …

Xamarin.Forms の MVVM 基礎 ( Petzold's book - chapter.18 その3)

Xamarin.Forms での MVVM の基礎について、通称 Petzold's book の18章「MVVM」をざっくり試しています。 前回の続きです。 Overview Petzold's bookの内容に沿ってにざっくり進めます。 1. MVVM interrelationships(chapter.18 その1) MVVMの概要説明 2. …

Xamarin.Forms の MVVM 基礎 ( Petzold's book - chapter.18 その2)

Xamarin.Forms での MVVM の基礎について、通称 Petzold's book の18章「MVVM」をざっくり試しています。 前回の続きです。 Overview Petzold's bookの内容に沿ってにざっくり進めます。 1. MVVM interrelationships(chapter.18 その1) MVVMの概要説明 2. …

C# Json.NET 入門3 - 動的なRootNameのJsonをデシリアライズ

Root name がdynamicなjson ?ルートネームが動的なjson ?(なんと表現するのが正しいのでしょうか...) 以下のようなjsonをデシリアライズするときのお話です。 "araragi koyomi"と"oshino meme"の部分が動的に変わっていくケースを想定しています。 動的な…

BotFramework (V3) - Dialog 入門

レッツ 第4次産業革命♪ Bot Frameworkでの開発で基本となる「Dialog」についてレッツモリモリ行きましょう。 公式のドキュメントのDialogの部分 http://docs.botframework.com/en-us/csharp/builder/sdkreference/forms.htmlDialogs | Bot Builder SDK C# Re…

Bot Framework(V3) - FormFlow 入門 2/2

レッツ 第4次産業革命♪ Bot Frameworkでの開発、「FormFlow」について、前回の続きです。公式のドキュメントのFormFlowの「Adding Business Logic」からをざっくり試したメモです。 > Environment 検証した環境は以下です。 Visual Studio 2015 (Enterprise …

Bot Framework (V3) - FormFlow 入門 1/2

レッツ 第4次産業革命♪ Bot Frameworkでの開発、「FormFlow」についてです。 公式のドキュメントのFormFlowの部分 http://docs.botframework.com/en-us/csharp/builder/sdkreference/forms.html をざっくり試したメモです。 2016年7月11日時点の内容です。SD…

Bot Framework - C# で Bot を開発する準備

レッツ第4次産業革命♪ Bot Frameworkを使って開発する際に、準備しておきたいこと2つをメモしておきました。2016-7-11時点の情報ですが、先週書いた記事のバージョンがもうお亡くなりになったようなので....涙をぬぐいながらV3用に色々書いていこうと思う今…

Bot Framework(V1) - FormFlow 入門 その1

注意:このバージョン(Microsoft.Bot.Builder 1.2.5)は、これを書いた数日後にメジャーバージョンアップデートがあったため古いです。新しい投稿をご参照ください。レッツ 第4次産業革命♪

【C#】 コレクションの重複をチェックする

C# 重複チェック contains duplicate

【C#】 ToHashSet()

コレクションに対して、EnumerableクラスのToList() とか ToArray() はありますが、 ToHashSet() がない!で、ほしいときってあります。 そんな時は作りましょうっていう小ネタです。個人的にはHashSetよりマッシュポテトの方が俄然好きなのはさておき....(´…

C# Json.net 入門2:JsonSerializerSettings

WebApiだったりAzure DocumentDBだったり色々と使っているJson.NET、新人さん向け内容の整理メモの第2回目です。 前回に引き続きシリアライズ・デシリアライズ時をJsonConvertを利用して処理するについて、 JsonSerializerSettingsで使いそうなもの、使えそ…

C# Json.NET 入門1:JsonConvert

WebApiだったりAzure DocumentDBだったり色々と使っているJson.NET、新人さん向け内容の整理メモです。 > Environment サンプルを書いた環境は以下です。 Visual Studio 2015 (update2) NugetでNewtonsoft.Jsonをインストール Newtonsoft.Jsonは、2016/4時点…

JSONをコピペしてC#のクラス生成

Visual Studio の小ネタ機能になりますが、Jsonファイルのデータを、コピペしてクラスを生成することできます。 > Environment この環境で動かしています。 Visual Studio 2015 Enterprise Update2 ASP.NET and WebTools 2015 RC1 Update1 (...お..RC1 updat…

ASP.NET5 MVC6 でのModelStateの単体テスト

ASP.NET 5 MVC6 と xUnit で ModelState の単体テストを書こうのコーナーです。「ModelStateの単体テストコード、うまくできませぬ」と言われたのでコードを見せてもらったら、コントローラーをnewしてなんちゃらしていた事件があったので、書いておこうと思…

ASP.NET MVC5 とかでバックグラウンド処理( QueueBackgroundWorkItem 編)

AzureをプラットフォームにしてASP.NETで、戻りを待つ必要のないおもし蟹な重い処理をバックグラウンド処理として実装したいなーと思うと、 QueueBackgroundWorkItem でサクッと実装? WebJobsでささっと実装 Worker Roleで? Azure Batchでごりっごり... そ…

ASP.NET5 MVC6 でDI(Dependency Injection)の設定

ASP.NET5 MVC6 で Depenency Injection(依存性の注入)をする際のメモです。本家のドキュメントがあります。(あ....結構前に見たときから更新されてる......) Dependency Injection in ASP.NET Core | Microsoft DocsMSDNのBlogでは、2014年に出ているの…

C# で 時間 の 計算 (切り上げ・切り捨て)

時間(DateTime型)を丸める処理を書いてみました。果てーーーーーーーーーーしなく地味な内容です。。。 > Environment Visual Studio 2015 Update1 ( Enterprise ) System.DateTimeとSystem.TimeSpanしか使わないので、C#でこれ使えれば環境の依存はないで…

ASP.NET5 MVC6 Entity Framework 7 を使って Database First する

ASP.NET Advent Calendar 2015 20日目です。二日酔いで原因不明で体調が悪くて遅刻でした。すいませんm(_ _)m。....次のチャック先生もまだ未公開のようですね....ふふふ...個人的に Database First 派なので、EntityFramework 7で対応方法をここでお勉強♪。…

Visual Studio Team Servicesで CI Build する

C# Advent Calendar 2015 - Qiitaの16日目です。「DevOpsサイコー」とか「継続的インテグレーションなんて常識だよねー」な昨今なので、 Visual Studio Team Services(こないだまでの名称は Visual Studio Online)での継続的インテグレーションについて書…

Visual Studio 2015 を初めて使う方に、最初に知ってほしい ショートカットキー など

Visual Studio / Visual Studio Code Advent Calendar 2015の9日目です。VS CodeがこないだErich Gammaのポチッでオープンソース化されたので、そっちを書きたいなーと思いつつ...全然使ってないので、VSの入門ネタ行きます。まだまだこれからVisual Studio…

Azure DocumentDB の開発ことはじめ - Client クラスの開発(2/2)

さて、前回Azure DocumentDB の開発ことはじめ - Client クラスの開発(1/2) - BEACHSIDE BLOGの続きです。 > Environment Visual Studio 2015 Update1(RC)で、コンソールアプリ .NET Framework4.5.2 Nugetの Microsoft.Azure.DocumentDB (1.5.0) Nugetの M…

Azure DocumentDB の開発ことはじめ - Client クラスの開発(1/2)

Azure DocumentDb に接続する Client を開発するのに、 Microsoft.Azure.Documents.Client名前空間の DocumentClient クラスでは、以前のブログAzure DocumentDB を使うときに知っておきたいいくつかのこと - BEACHSIDE BLOG でちょっと触れた「 Request rat…

ASP.NET MVC でパスワードの有効期限対応をする

さてさてVisual Studio2015リリース直前な時期ですが、Visual Studio2013でのASP.NET MVCな常にログインが必要な業務系アプリ想定で、以下の実装例をメモしておきます。 新規ユーザー登録(&仮パスワード発行)後、ユーザーの初回ログイン時にパスワード変…

ASP.NET Web API2.2で、Swagger(Swashbuckle 5.1.5)を使う

WebAPIを作る用事があったのでSwaggerの設定方法をメモしておきます。ちなみにIIS Hostedです。ということで面白味はありません...。Swaggerとは、言語に依存せず様々なプラットフォームに実装することができるRESTful APIのドキュメント作成ツールといった…

Double SubmissionをActionFilterで制御する

仕事が派手にドッタンバッタンしたので更新が途切れましたなー。WebでSubmitボタンを連打された時の防止策についてメモしておきます。まず、この記載での開発環境は、ざっくり Visual Studio2013update4 .NET Framework4.5 ASP.NET MVC5 です。 制御は、Acti…

Entity Framework 6 での接続リトライの設定(Azure SQL Database向け)

最近の仕事で (個人的にやや敬遠がちだった)EFを使ってAzureのSQL Databeseに接続するのに 「接続のリトライは実装してね」とお願いしてたら、大掛かりな実装をされた事件があり「おいおーい」と感じたので、メモっておきます。前提として、現在の開発は V…

ASP.NET MVC5で最初にやったこと2014冬のメモ

メモに残しておこうと思ってたら年越して2015年2月ですね。社畜業務でシャチークシャチークしていると時が経つのは早いものです。開発する際に最初にやったことのメモで、この業界のメイド王と名高いしばやんさんの雑記の内容がほとんどです。 これを書いて…

【Visual Studio2013拡張】Productivity Power Tools 2013の機能まとめ(3/3)

今回は、Visual Studio Advent Calendar 2014 - Qiita11日目のエントリーです。 今回もはりきっていきましょーか。 >OverView 【Visual Studio2013拡張】Productivity Power Tools 2013の機能まとめ(1/3) 1. Peek Help 2. Solution Explorer Errors 3. Stru…

【Visual Studio2013拡張】Productivity Power Tools 2013の機能まとめ(2/3)

今回は、Visual Studio Advent Calendar 2014 - Qiita10日目のエントリーです。 前回に引き続き、進めていきます。 > Overview 【Visual Studio2013拡張】Productivity Power Tools 2013の機能まとめ(1/3) 1. Peek Help 2. Solution Explorer Errors 3. Str…

【Visual Studio2013拡張】Productivity Power Tools 2013の機能まとめ(1/3)

今回は、Visual Studio Advent Calendar 2014 - Qiita9日目のエントリーです。以前、Visual Studio 2013で開発する前に準備しておきたい17のこと(2/3) - BEACHSIDE BLOGでさらっと紹介したProductivity Power Tools 2013の機能紹介をします。 > Introduction…