【Visual Studio】もっと早く知りたかった作業速度を上げる小技集(随時更新)
はじめに Linux開発環境からWindows開発環境へ移り約1年、最初はVisual Studioの操作に慣れるのに苦労した。とにかく、”多機能すぎて、どこに何があるか分からない”。毎度ネット検索を挟むと、作業時間ロスがじわじわ効いてくる。 時間をおいて振り返ると、以下の点を早く知っていたら、「もっと作業時間を短縮できたのでは?」と思って記事にしてみた。 Visual...
View Article【C# Linq】Aggregateの動き方・使い方
Aggregate? Aggregateメソッドとはなんぞや Microsoft曰く まずはMSの公式ドキュメントを見てみます。 シーケンスにアキュムレータ関数を適用します。 (中略) 一般的な集計操作を簡略化するために、標準クエリ演算子には、汎用カウントメソッド、 Count 、および4つの数値集計メソッド (、、、および) も含まれて Min Max Sum Average います。...
View Article[MS Docs クイックスタート] Azure Cosmos DBをC#(.NET)で操作してみた
はじめに 以下のMicrosoftドキュメントを参考に作成してみました。ドキュメント通りに動かなかった箇所があり、いくつか修正をして動くようにしたので記事にしてみました。 クイックスタート: Azure Cosmos DB SQL API アカウント リソースを管理するための .NET V4 SDK (プレビュー) を使用したコンソール アプリを構築する 前提・環境 Windows 10 home...
View Article【C# / ASP.NET WebForm】HttpRequestBase を継承しMock クラスを作成し、HttpRequest をテストする
※ 個人blogに投稿した記事(投稿日:2019/10/21)をQiitaに移行しました 前置き 現場の案件で、外部APIやDB接続が絡んだ少々複雑な判定でCookie を作成するという処理を実装することになり、 対象の処理でユニットテストを作成しておきたくなりました。 Cookie...
View Article【Azure Cognitive Services】Speech Serviceのニューラル音声を使って、日本語テキスト読み上げをしてみた
ニューラル音声とは ディープニューラルネットワークを使用して、話し言葉のアクセントとイントネーションに関する従来の音声合成の限界を克服します。韻律予測と音声合成が同時に行われるため、より滑らかで自然な音声出力が得られます。ニューラル音声を使用すると、チャットボットや音声アシスタントとの対話をより自然で魅力的なものにすることができます。 [ 引用 ]...
View Article【MSTest】Assert.ThrowsExceptionを使用した例外のテスト
※ 個人blogに投稿した記事(投稿日:2020/3/29)をQiitaに移行しました 前置き 「ドメイン駆動設計入門 ボトムアップでわかる! ドメイン駆動設計の基本」のサンプルコード内で、 以下のようなテストコードを見かけました。 [TestMethod] public void TestInvalidUserNameLengthMin() { var userFactory = new...
View ArticleC# 同じフォルダ・ソースを複数のプロジェクトで共有する
やりたいこと 複数バージョンを開発・サポートする場合に、以下のような状況に遭遇します。 どのバージョンにも実施したいユニットテスト群がある どのバージョンでもソース群が同じか、ほとんど同じプロジェクトがある どのバージョンも同時に編集したい(せざるを得ない) ところが、ソースファイルはほとんど同じでありながら、ターゲット環境・ランタイム(.NET Framework / Standard /...
View ArticleBlazor のコードビハインド、プロパティ・インジェクション、C# の null 許容参照型、を組み合わせたときの警告 CS8618 を黙らせる方法
はじめに C# の null 許容参照型 C# 8.0以降、C# のプログラミングでは「null 許容参照型」という機能が使えるようになりました。 これにより、C# でより堅牢なアプリケーションを構築することができます。 この機能を有効にする方法のひとつとして、C# のプロジェクトファイル(.csproj)に <Nullable>enable</Nullabl>...
View ArticleC#のDebug/Releaseコンパイルはどう違うの?
はじめに こんにちは、九島茶にゃです。 今回の記事は開発者向けになります。 ILかアセンブリ言語についての知識があるといいでしょう。 Debug/Releaseの違い 簡単に言えば、以下のコードがあったとします。 Sample.cs class Sample { static void Main() { int a = 10 * 5; System.Console.WriteLine(a);...
View Article【Azure Cognitive Services】C#で作る「オウム返しナナミ」
はじめに しゃべった言葉をオウム返ししてくるぬいぐるみのことは知っていますか?遊んだことありますか? 「僕の名前は太郎!」としゃべったら、ぬいぐるみも「僕の名前は太郎!」と同じ言葉を言い返してきます。ぬいぐるみの電池が切れるまで、ずっとオウム返ししてくるわけです。 以前、このような仕組みをAzure Cognitive...
View Article[C#] GEO座標変換ライブラリを作ってみた [.NET 5.0]
何作ったか .NET Core(.NET 5.0)で動作する座標変換ライブラリです。 GEO座標(緯度経度) ECEF座標 (地球中心座標) ENU座標 ローカル座標 を相互変換します。 作った動機 屋外をGNSSで自律運転するロボットの開発をしていて、開発の支援ツールを作ろうとしたけども.NET Coreでライセンス的にいい感じの座標変換ライブラリがなかった。...
View ArticleASP.NET Core MVC に Identity で認証機能を追加する
やること ASP.NET Core MVC の MVC アーキテクチャに Identity を組み込んで認証機能を追加します。 Visual Studio で提供される MVC + Identity のテンプレートでは MVC に Razor Pages を追加する形になっていて気持ち悪い...全部 MVC に組み込みたい!ということでこのようなことをやります。 開発環境は Visual...
View ArticleMonobit Unity Networking 2.0(MUN)を使ってみた話
はじめに 仕事でMonobit Unity Networkingについて調べる機会があったので,備忘録がてら記事にしました。 チュートリアルの内容のまとめと,ちょっと使うときに便利かなと思った実装法を中心に書きます。 サーバとかの設定は公式が結構ちゃんとドキュメント出してくれてるので(参考),この記事では基本的にコードとかの実装方面をまとめていきます。...
View ArticleBASE64URL Encodingのすすめ
あのURLで見たBASE64の名前を僕達はまだ知らない。 あれは BASE64URL Encoding と言うらしい。 (どれだよ) Base64#変形版 - Wikipedia URLアプリケーションのための変形 Base64 ('base64url' encoding) 概要 BASE64 でエンコードした文字列には、 URL 上で意味を持つ + 、 / 、 = が含まれている。そのため URL...
View Articleファイルの時間属性を変更したい![C#]
概要 今回はRaspberry PIではなくWindowsでファイルの属性である「作成日時、更新日時、アクセス日時」を指定した日時に変更するコマンドを作成したいと思います。 事前作業 ①デスクトップにVisual Studio communityバージョンをインストールします。 ダウンロードサイト(★コミュニティ★)...
View ArticleC# 同じフォルダ・ソースを複数のプロジェクトで共有する
やりたいこと 複数バージョンを開発・サポートする場合に、以下のような状況に遭遇します。 どのバージョンにも実施したいユニットテスト群がある どのバージョンでもソース群が同じか、ほとんど同じプロジェクトがある どのバージョンも同時に編集したい(せざるを得ない) ところが、ソースファイルはほとんど同じでありながら、ターゲット環境・ランタイム(.NET Framework / Standard /...
View ArticleホストネームからIPアドレス(ipv4)を取得する方法
はじめに アプリ開発をしている際に、サーバーとのネットワークを接続状態をチェックする必要がありましたが、サーバー名(ホストネーム)からIPアドレスを取得しなければいけませんでした。 マイクロソフトのドキュメントにDns.GetHostEntry メソッドがありそれを参考に作成しました。 そこにこんなサンプルがありました。 // ホストネームからアドレスを取得する public static void...
View ArticleSelenium inputかbuttonか分からないボタンをクリック
画面のマニュアルしか持っていなくてHTMLソースをまだ見れないうちに、ボタンクリック動作を書く方法です。ボタンがinputかbuttonか分からないので「|」でOR条件にしています。idやnameがあるかどうかも分からないのでボタン名での記述です。 「|」の前後の半角スペースはあってもなくても動きます。 HTML.html <input type="submit" value="登録"...
View ArticleSelenium idやnameの分からない入力欄に入力
1.ログイン 前回に引き続き、HTMLソースをまだ見れないうちに自動操作を記述するケースです。 ページ中の1番目の入力欄(input type="text")は、XPathで"//input[@type='text'][1]"で手に入ります。2番目なら[2]です。 HTML.html <form action="XXXXXXXX"> ユーザーID <input...
View ArticleMessagePipe入門:破
前回のMessagePipe入門では、初投稿にも関わらず反響をいただけたので、味をしめた私は、続編を書くことを決定しました。 MessagePipeは布教したいですし、こうなったら主要な機能は一通り解説しておきたいですね。 今回は、前回残したEventFactoryと、RequestHandler機能を主にご紹介したいと思います。 EventFactory...
View Article