BEACHSIDE BLOG

Azure と GitHub と C# が好きなエンジニアの個人メモ ( ・ㅂ・)و ̑̑

.NET

.NET8 での Azure Functions の開発を始めるための準備 ( C# )

Azure Functions 開発入門として、.NET のバージョンが更新する度に Visula Studio 2022 での恒例の作業のなった Azure Functions のツールセットの更新の方法の話です。 Azure Functions に新しい .NET のバージョンが選べない?! 更新前の状態で Visual Stu…

OpenAI: 文章のトークン数を数える (C#, Python, Node)

OpenAI / Azure OpenAI でとりあえずトークン数を数えることってちょいちょいありますよね。今回は C#, TypeScript のついでに Python もメモしておこうかなという話です。 はじめに: トークンとは Python: tiktoken C# Tokenizer Semantic Kernel: GPT3Tok…

GitHub Actions で ASP.NET MVC ( .NET Framework 4.8 ) を Azure App Service (Web App) へデプロイ

ASP.NET MVC ( .NET Framework 4.8 ) のアプリを GitHub Actions での CI/CD して Azure の App Service (Web Apps) へのデプロイするまでの方法を書いていきます。 ここら辺のドキュメントとか情報は少ないのが書こうと思ったモチベーションでした...と思っ…

GitHub Actions で Azure API Management の CI/CD (ASP.NET Core 6)

Azure API Management の裏に Web API があると、Web API の CI/CD と一緒に API Management の APIs も更新したいですよね。 公式ドキュメント ではめんどくさそうな実現方法が書かれていますが、APIs だけ更新したいなら Azure CLI で実現するのがシンプル…

enum に任意の文字列を割り当てる (C#)

過去に何度もやってると思うけど調べる機会があったので自分でメモしておこうと思います。 ここではパフォーマンスを気にしないケース (ざっくりなイメージですが 1000 回実行で 3~7 ミリ秒くらいが許容されるくらい) を想定しています。一般的なエンタープ…

複数プロジェクトあるソリューションの C# の Language Version (言語バージョン)をいい感じに統一する

C# でひとつのソリューションの中に複数のプロジェクトがあるのはよくあると思います。そしてTarget framework のデフォルトの言語のバージョンを上位バージョンにあげることってよくありますよね。 今回は「Directory.Build.props で指定することでソリュー…

C# で System.Text.Json 使って Json を操作するときに気になったポイント( .NET Core 3 ~)

C# では .NET Core 3系にて Json のシリアライザーとして System.Text.Json が生まれました。 長らくお世話になった Json.NET - Newtonsoft とのお別れです。 多少お作法が異なるので、個人的に気になった点を整理してみました。 TL;DR 基本的な使い方 準備 …

UWP - NavigationView Controll の使い方

UWP に全く興味ないのですが、 NavigationView というコントロールがかわいいという理由で使ってみた際のメモです。 (今更ですがね...)

Azure Functions の バインディング - Binder 編

Azure Functions では、関数の出力するデータをBlob や Queue に投げる処理を簡単にプログラムで書くことができます。 実装方法として、 宣言型のバインディング( declarative binding ) 命令型のバインディング( imperative binding ) があります。 今…

AWS Lambda から CloudWatch Events を呼ぶ

AWS Lambda から CloudWatch を呼ぶ際の実装メモです。 (2017/10月時点 =.NET Core 1.0しかサポートしてない時点の話です) Overview 1 開発環境の準備 (その1) 2 .NET Core 1.0 対応の .NET Standard 1.6 のクラスライブラリの作成(その1) 3 簡易なク…

C# HttpClient の小ネタ(Content-Type、Basic / OAuth2 認証とか)

C# ビギナー向けネタとして、以下のHttpClient のTipsを整理です。Content-Type で application/json どこに設定すんねーんとかですね。 Content-Typeの設定 認証関連 Basic認証 OAuth2認証 便利拡張メソッド おわりに 2017年はかなり昔なので一応追記してお…

C# HttpClient の Mock でFake のレスポンスを返す in 単体テスト

単体テストでHttpClient のMock的なので Fakeなレスポンスを返す時の方法のメモ(..というか聞かれたので答えた内容書いたってお話です。) 今回の単体テストする対象クラスは以下の想定です。 とあるビジネスロジックがあるクラスの中に HttpClient がいて、…

AWS Lambda を .Net Core と ( .NET Standard と) C# で実装する(その2)

前回から引き続き、 AWS Lambda を C# で、.NET Core 1.0、.NET Standard 1.6 を使って実装する際のメモです。 Autofac 使ってDIをする話がメインです。 (2017/9月時点での話=.NET Core 1.0しかサポートしてない時点です) Overview 1 開発環境の準備 (そ…

Bot Framework で State を CosmosDB ( DocumenDB ) に保存する - C#

Bot Framework の State を CosmosDB に保存する方法のメモです。 前回、State を 安価な Table Storage に保存しましたが、多少使いにくかったり遅かったりします。その対極(?)、高価で使いやすくて速い CosmosDB のターンです。 (個人的感覚です) 今…

Bot Framework での 状態管理(state service の概要を整理)

Bot Framework での ステート管理 について、以下のドキュメントのざっくりな個人的まとめメモです。 docs.microsoft.com Overview ステート管理について ステート管理の概要 ステート管理の活用例 注意事項 プログラミング寄りなメモ State Service 内のメ…

チャットボットの会話のログを Table Storage に出力( Bot Framework )

今回は Azure の Table Storage に、チャットボットの会話のやり取りをロギングする方法を整理します。 前回は、ログ出力の重要な要素、IActivityLogger インターフェースについて概要を整理しました。それを応用して…と言いたいところですが、Nuget で用意…

Bot Framework のメッセージ を ログ するための IActivityLogger ( C# ) の概要

ボットとユーザーの会話のロギングに便利な IActivityLogger インターフェースのメモです。 まず最初にまとめですが、IActivityLogger インターフェースを実装したログの出力クラスを定義しておけば、ボットがメッセージを受け取ったときや送信したときに、…

グローバルメッセージハンドラー (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. デモ用ボッ…

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

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

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

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

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 をまと…

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

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

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 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 を初めて使う方に、最初に知ってほしい ショートカットキー など

Qiita Visual Studio / Visual Studio Code Advent Calendar 2015 の9日目です。Visual Studio / Visual Studio Code Advent Calendar 2015 - QiitaVS CodeがこないだErich Gammaのポチッでオープンソース化されたので、そっちを書きたいなーと思いつつ...全…

Azure DocumentDB のSQLクエリ基礎

Microsoft Azure Advent Calendar 2015 6日目です。 DocumentDB の SQLクエリ について入門的なことを書きます。Azure Cosmos DB Query Playgroundで試すこともできますし、Azure の新しい方のポータルで、アカウントを作って試すことができます。 (ポータ…