ProcessXを使ってシェルスクリプトを実行してみる
CySharpから出ているProcessXが良いらしいぞという噂を聞いたので試してみました。 ProcessXはcmdやPowerShellで実行するコマンドたちをC#から呼びやすくするライブラリのようです。github.comやってみる試しにdotnetコマンドを実行してバージョン情報を取得してみます。using System; using Zx; // dotnet...
View ArticleVSCodeのデバッグコンソールでdll読み込みメッセージを非表示にする
VSCodeでC#のコンソールアプリをデバッグ実行したとき、dllを読み込むメッセージがたくさん表示されます。 設定前のデバッグコンソールアプリから出力したメッセージが埋もれてしまって見にくいので、これを表示しないようにしてみます。 .vscode/launch.jsonの↓の部分にmoduleLoadというプロパティを追加し、値をfalseにします。{ "version": "0.2.0",...
View ArticleViGEm.NETを使って仮想ゲームコントローラを作る
ViGEm.NETというライブラリを使ってC#で簡単な仮想ゲームコントローラを作ってみます。 ViGEmはVirtual Gamepad Emulator Frameworkの略だそうです。読み方は謎です。C#用のライブラリが公開されているので使っていきます。github.com実行環境Windows 10Visual Studio 2022 17.0.1.NET Framework...
View ArticleGAKKOU並び替え問題をC#で解いてみる
小田急である広告の前でだけ学生数人がノート出してて何事かと思ったらこの広告が原因だった。解いたらスッキリする答えが出てきて、答え合わせできないけど確実に正解なのが分かった pic.twitter.com/bszZ0QQQJ5— 電電猫猫|高橋直希@CoeFont (@nya3_neko2) 2022年1月13日少し前にTwitterでバズってたこの問題をプログラムで解いてみます。...
View Article「あいうえお表」を作れ (制限時間 : 10 分)をやってみた
先日こちらのイベントで出題された問題を自分でもやってみました。togetter.com次のようなあいうえおの文字列を加工して、conststring aiueo = "あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもや ゆ よらりるれろわ をん"; 最終的に次のようなあいうえお表をコンソールに表示させろという問題です。んわらやまはなたさかあ り みひにちしきい...
View ArticleARMテンプレートでAppServiceを作成してみる
Azureのリソースを作るときはわりとAzure PortalからGUIをぽちぽちしながらやっています。が、AppService名を間違えるなどでリソースの作り直しが必要になることがわりとあって、その度にGUIからリソースの設定をポチポチするのが面倒なのでARMテンプレートを使おう!というのがモチベになります。...
View ArticleSWA CLIを試してみる
Azure Static Web App CLI (SWA CLI)が正式にリリースされたので試してみます。インストールnpmでグローバルインストールします。npm install -g @azure/static-web-apps-cli静的サイトの作成SWAに乗っける静的サイトを作成します。...
View ArticleTypeScriptでAzure Functionsを試す
TypeScriptでAzure Functionsを作ってみます。準備VSCodeで開発します。拡張機能でAzure Functionsをインストールしておきます。 プロジェクトの作成コマンドパレットからAzure FunctionsのCreate Projectを実行します。 対話形式でプロジェクトの設定を進めていきます。今回は以下のようなプロジェクトを作成しました。言語:...
View ArticleDocker環境でC#プログラム実行時にローカルのAWS認証情報を渡す
AWSSDKのAPIを使ってAWSのサービスを使う際、ユーザーのホームディレクトリにある.aws/credentialsを使って認証されますが、ローカルのDockerで実行時にはこれが無いためAPIの呼び出しに失敗します。 docker-compose.ymlで認証情報を共有できるようにします。実行環境Visual Studio 2022 Version 17.2.0.NET 6ASP.NET...
View ArticleMinecraftConnectionを試す
C#でマイクラがアツイという噂を聞いたので試してみます。準備サーバーマインクラフトのサーバーをあらかじめ用意しておきます。 Dockerで動かすのが一番ラクそうだったのでこちらのDockerイメージを使ってサーバーを動かしました。hub.docker.comdocker...
View ArticleC#11のrequiredメンバーを試す
.NET7のRC版がリリースされてC#11を試せるようになったみたいなので新しく使えるようになったrequiredメンバーを触ってみます。準備.NET 7をインストールしておきます。この記事を書いてる時点では7.0.100-rc.1というバージョンでした。dotnet.microsoft.comVS2022でコンソールアプリを作成し、ターゲットフレームワークを.NET 7にします。...
View Article税金の支払いを催促する詐欺サイトのソースコードを読んでみる
国税庁になりすまして税金の支払いをさせようとするSMSが届いたのでURLを開いてサイトのソースコードを読んでみました。www.ipa.go.jpとりあえずサイトにアクセスしてみるPCからGoogle Chromeのシークレットモードでサイトにアクセスしてみます。 PCでアクセスした場合は404 NotFoundとだけ表示されました。なので、Dev Toolsで疑似的にiPhone...
View ArticlexUnit.netのTheoryDataを試す
xUnit.netのTheoryDataを使ってテストコードを書いてみます。実行環境Visual Studio 2022 17.2.0.NET 6xUnit 2.4.1このような名前と年齢を結合した文字列を返すメソッドのテストコードを書いてみます。publicstring GetFullNameWithAge(string lastName, string firstName, int age)...
View ArticleASP.NET Core 7のIParsableを試す
ASP.NET Core 7から使えるようになったIParsableを使ってモデルバインドをしてみます。やることコントローラのアクションで、"2022/12/31,2023/01/01"のような文字列をDateRangeという日付の区間を表すクラスにバインドして受け取れるようにしてみます。// string => DateRangeにバインドする [HttpGet("DateRange")]...
View ArticleVisual Studio 2022のIntegrated Http Clientを試す
Visual Studio 2022のバージョン17.5から、VSCodeの拡張機能REST Clientと同じようなHTTPリクエストを実行できる機能が追加されたそうなので試してみました。 marketplace.visualstudio.com実行環境Visual Studio 2022 17.5WebAPIを準備するMinimalAPIで適当なエンドポイントを作成しました。var...
View ArticleEFCore 7.0の一括更新・一括削除を試す
久しぶりにEFCoreを触ってみたら 一括更新・一括削除( ExecuteUpdate / ExecuteDelete ) という良さげな機能が追加されていたので試してみました。 今までは一度SELECTした後にUPDATEなりDELETEしていたのがSELECTしなくても良くなりました。実行環境Visual Studio 2022 17.5.3.NET...
View ArticleC#でChatGPTとのお喋りを試してみる
ChatGPTが非常に流行っているので試してみることにしました。 ここではC#のコンソールアプリケーションでChatGPTと会話ができるように実装し、その過程と結果を紹介します。実行環境Visual Studio 2022 17.5.3.NET 7OpenAIのAPIはこちらのライブラリを使って呼び出しました。www.nuget.orgAzure OpenAI...
View ArticleAzure Communication Servicesのメール送信を試してみる
Azureでメールが送れるサービスが使えるようになったとのことで試してみました。Azureでリソースを作成するAzure Portalから以下3つのリソースを作成します。Communication ServicesEmail Communication ServicesドメインCommunication Servicesの作成Azure Portalからポチポチとリソース作成をしていきます。...
View Article