銀の光と碧い空

クラウドなインフラとC#なアプリ開発の狭間にいるエンジニアの日々

C#

MS LearnのAOAIのDALL-E 3を使用して画像を生成するサンプルを動かす方法

Azure OpenAI Serviceを試しているのですが、以下のページのDALL-E 3を使うC#のサンプルコードが動かなかったので、2024年2月25日現在で動かした手順を載せておきます。フィードバック済みです。 learn.microsoft.com まず前提条件が足りていません。DALL-E …

C# Tokyoで「New Relicで.NETアプリケーションを計測する」を開催しました

こちらのイベントでお話しした資料を公開します。 【オンライン】New Relicで.NETアプリケーションを計測する - connpass 202109_Observability-for-csharp-engineer from Takayoshi Tanaka www.slideshare.net リンク クラウドネイティブセキュリティジャパ…

System.Text.JsonやJson.NET で一部だけキーが可変なJSONを処理する

とあるREST APIのエンドポイントが /values/xxx みたいなエンドポイントに対して次のような形式のJSONを返します(実際にはこの3倍くらい属性があり、listの中の配列も多数あります)。XXXで指定した名前の値のリストを取得するというイメージで、この名前のパ…

Visual Studio Live Shareを使ってオンラインハンズオンをやってみた

C#

本記事はMicrosoft MVPブログ企画の記事として投稿しています。その他の記事はこちらからご覧ください。 昨日、オンラインでTeamsとVisual Studio Live Shareを使ったオンラインハンズオンを開催しました。 csharp-tokyo.connpass.com Visual Studio Live Sh…

C# でUSB-IO2.0 (AKI)を操作する (1) LED点灯

さて準備ができたので、C#からLEDを点灯させたいと思います。 tech.tanaka733.net VBですがサンプルコードがあるのでそれを参考にできるのと、こちらに仕様があります。 km2net.com がHIDについてあまり詳しくない私のような場合はPythonでの操作について書…

C# でUSB-IO2.0 (AKI)を操作する (0) 準備

以前、Raspberry PiでLEDを光らせたことがあったのですが、意外と周辺機器をつなぐのにお金がかかるのと、デバイス側にプログラム仕込みたいというよりPC側で制御したいという気持ちが強かったので、USBデバイスとして制御できるものを探していました。する…

ASP.NET Core 3 Web APIで例外をスローして、指定したステータスのレスポンスを返す

ASP.NET Core Web APIでアプリケーションロジック内では例外を投げておいて、共通処理として例外をキャッチして例外に応じたステータスコードとメッセージのレスポンスを返したい場合があるかと思います。ASP.NET Framework やCore 2.2まであったHttpRespons…

DateTimeとTimeSpanの書式文字列が違うという話

知ってればそれだけなのですが、System.DateTimeとSystem.TimeSpanでは指定できる書式文字列が異なります。知らずによくわからないエラーを出して一瞬困りました。 たとえば、DateTimeオブジェクトで時間のところで HH:mm:ss という形式で出力したい場合は次…

ASP.NET Core 2.2のHealthchecks機能を試してみる

C# Advent CalendarとひとりAdvent Calendar 22日目です。 qiita.com adventar.org [追記]今日のエントリは昨日英語版C# Advent Calendarに投稿したエントリの日本語版です。 developers.redhat.com ぜひ英語版C#アドベントカレンダーでも興味のあるエントリ…

Visual Studio 2017 SDKでXAMLのモーダルダイアログを出す

Visual Studio 2017 SDKでメニューなどからモーダルダイアログを出す場合に、その画面をXAMLで作ることにします。

ASP.NET CoreでプロキシサーバーでSSL terminateさせるときにRequest.Schemeをhttpsにしたい

ASP.NET Coreを特にLinuxなどで動かす場合、Kestrelを使うことが多いのですが、Kestrel自体はシンプルなサーバーなのでフロントにHAProxyやnginxなどのプロキシーサーバーを配置することが多くなります。さらにHTTPSでアクセスするようにする場合、証明書はK…

ASP.NET Core 2.0 preview 2 では C# 7.1 の構文がRazor Viewの中で使えなかった話

このissueのやり取りがすべてなんですが、備忘録として残しておきます。 github.com

VisualStudio 2017 RC3 から .NET Core on RHEL にリモートデバッグする

VisualStudio 2017 RC3からリモートデバッグのプロトコルにSSHが選択できるようになり、Linux上の.NET Coreプロセスにアタッチすることができるようになりました*1。 blogs.msdn.microsoft.com これは、以前ブログに書いたdocker上の.NET Coreプロセスをリモ…

Linux でも C# 7 を使いたい

C# Advent Calendar 10日目の記事です。 qiita.com C# 7のリリースが近づいてきている(はず)のですが、専らC# 7の記事はVisual Studioで試しましたというのが多く、.NET Core on Linuxでは試せないのか?という疑問がありました。現時点では、.NET Core 1.0 …

Linux の dotnet restore は大文字HTTP_PROXYを認識しない、あるいは curlコマンドは大文字HTTP_PROXYを認識しない件

微妙にハマったので、書いておきます。.NET Core CLI のdotnet restoreコマンドをプロキシ環境下のLinux*1で使う場合、環境変数http_proxyは小文字で設定する必要があります。ちなみにこれはcurlコマンドでも同じです。ちなみにhttps_proxyもしくはHTTPS_PRO…

.NET Core on Linux の今年をふりかえってみる

.NET Core Advent Calendar 3日目です。 qiita.com 昨日のPowerShell on Linux に続いて、.NET Core on Linux (特に.NET Core on RHEL)の現状を、アプリをどうやって開発するのか?に焦点を置いて軽くふりかえってみたいと思います。 .NET Core のリリースと…

MVP Summit のハッカソンで.NET Core CLIの拡張を作りました

MVP Global Summit 2016に参加して来たのですが、今年は木曜に行われるハッカソンまで参加してきました。ツアーで行くと木曜の朝出発するスケジュールなのでずっと参加できなあったのですが、今年は自分で予約したので参加できました。10個くらいのテーマが…

Roslyn Analyzer を.NET Coreで参照する

C# 6でコンパイラープラットフォームとしてRoslynが導入され、コンパイラー拡張を作れるようになりました。今回は.NET Core on Linuxでこれが利用できるか試すことにしました。 Code RefactoringはVSIXであり、Visual Studioなしでは動きません。Diagnostic …

ASP.NET Core RC2 on Linux で空のWebプロジェクトにMVCの機能を追加する

.NET Core RC2がリリースされたので、早速さわってみることにしました。 RHEL上ではまだサポートされていませんが、とりあえずCentOS用のインストールと同じコマンドを実行するとインストールできることもわかりました。 今回やった範囲では、基本的に.NET C…

.NET Core RC2 がリリースされました

.NET Core RC1 (2015/11/18) より約半年、ようやくRC2がリリースされました。 .NET - Powerful Open Source Development さあ、さっそく .NET Core RC2 on RHEL を試そうといきたいところですが... .NET Core on RHEL は Red Hatから提供するためか、もうし…

Visual Studio Code の C# Debugging を .NET Core on RHEL でやってみる

できるようになったという記事を見たので試してみました。 stufftoddknows.com せっかくなので動作確認した手順をまとめておきました。

VSTS でAPIからビルドをキャンセルする

APIからビルドをQueueに積むのは専用のAPIがあります。 tech.tanaka733.net では、いったんQueueに積まれたビルドをAPIからキャンセルしたいときはどうしましょう?API一覧にキャンセルとかストップといった類のメソッドはありません...*1 *1:Deleteはあるの…

2015年を振り返って

去年は振り返り記事を書かなかったのですが、今年を振り返ってみたいと思います。 C# 仕事 MVP活動 登壇 執筆 ブログ 趣味 来年 C# なんといってもRoslynでしょう。ただ、Roslynの機能は比較的小さめにリリースされましたし、C# 6.0の新機能も前々からプレビ…

UWPのデバッグ実行になぜか失敗するので、slnフォルダをDドライブからCドライブに移動したら解決した件

久しぶりにUWPアプリでも開発しようかなあと思ったら、デバッグ実行できなくなる現象に遭遇してしまいました。デバッグ実行しようとすると、こんな風にUnhandled Exceptionが発生したといわれます。 イベントビューアーを見ると、Windowsrログ>アプリケーシ…

Assembly.LoadFrom するDLLの中でAssemblyBinding したくて困った話

C#

VSTS拡張の話はまだ続きますが、今日困ったことが解決したのでネタにしました。 Plugin的な機構を実現したくて、Assembly.LoadFromでDLLを読み込んでいる箇所があるのですが、読み込んだDLLの先で呼び出しているライブラリ(実際にはNewtonsoft.Json)のバージ…

VSTSのAPIを使ってビルドログを取得する

以前紹介したVSTSのService WebHookを受け取る処理の中で、ビルドの詳細を送信したいため、APIを使ってビルドログを取得することにしました。 tech.tanaka733.net コードはこんな感じです。 var build = new BuildHttpClient(new Uri("https://<yoruaccount>.VisualStudio</yoruaccount>…

VSTS の APIを使って指定したビルド定義をビルドキューに積む

VSTSにはAPIがあるので、指定したビルド定義をビルドQueueに積むことができます。 Visual Studio Team Services and Team Foundation Server REST API Reference ビルド周りについてはこちら。 Builds | REST API Reference for Visual Studio Team Services…

RPi2 で Windows IoT (5) Azure IoT Hub その2 メッセージを受け取る

前回の反対にIoT Hubからメッセージを受信する方法です。ドキュメントにもあるのですが、IoT Hubではメッセージを最低1回は受信するように保証(到達保証)する ことができますが、そのためにはデバイス側で受け取ったという通知をIoTHubに返してあげる必要が…

RPi2 で Windows IoT (4) Azure IoT Hub その1 メッセージを送る

今回は毛色を変えて Azure IoT Hubにつなげてみます。 azure.microsoft.com MSのエヴァんじぇリストの方が記事にしているのですが、まだPreviewでここからもさらに様子が変わっている感じです。 IoT HubにWindows 10 IoT Coreでつなぐ - デバイスとITの架け…

AWS Tools for Windows PowerShell と SDK for .NET を参照するCmdletを組み合わせたらMissingMethodExceptionが出た話

あまりこの現象に遭遇することはないと思いますが、遭遇してそれなりに原因究明に時間がかかったのでまとめておこうと思います。 AWSにはWindows環境でAPIを実行するツールとして、Tools for PowerShell と SDK for .NET があります。 AWS Tools for Windows…