C#
Visual Studio 2022 17.4 以降に含まれている NuGet 6.4 では、複数プロジェクトでのバージョン管理を一元化出来る Central Package Management が実運用可能なレベルとして提供されています。NuGet などのパッケージマネージャを利用する際の共通の悩みが、…
以下のエントリで書いたように、UWP アプリを Windows App SDK 1.1 に移行したので Microsoft Store で公開したのですが、公開直後からクラッシュレポートが大量に発生してしまいました。今は一通り対応が完了していて、大きな問題は発生していない状態なの…
何故か Windows App SDK を使っても、Windows 10 や 11 で追加された Desktop Acrylic や Mica といったウィンドウ効果は適用できませんでしたが、先日リリースされた 1.1 Preview 3 でようやく対応したようです。Windows App SDK 1.1 Preview 3 is now avai…
GW なので趣味アプリの開発を行っていると、音楽ファイルに保存された曲情報を取得する必要が出てきたので、Windows Property System を使って実現したという話です。曲情報というのは以下のようにファイルのプロパティから確認出来るメタデータのことです。…
これまで P/Invoke 定義はドキュメントやヘッダーファイルから手書きすることが多かったのですが、最近は必要な Win32 API や COM インターフェースが多くなってきたので CsWin32 を使って自動生成しています。CsWin32 自体は win32metadata というプロジェ…
去年リリースされた Cosmos DB SDK v3.18.0 から Point Read のような API で複数項目を 1 回のメソッド呼び出しで行える ReadMany API が追加されています。Point Read のような API デザインなので Id と対応した PartitionKey 両方の指定が必要です。API …
CodePlex に置いてあった .NET Framework 3.0 時代に書かれたアプリケーションを、GitHub に移行しつつ .NET 5 で動くように 2 週間ぐらい頑張った話を書きます。正直なところ 12 年前に書かれたコードを何とかするのはめっちゃ大変でした。今回コードの改善…
恐らく Azure AD B2C を使っている人全員が待ち望んでいたカスタムドメイン対応ですが、Front Door と組み合わせる形にはなりますが Preview として公開されました。単純に Front Door をリバースプロキシとして使うだけなのですが、割と現実的な落としどこ…
基本的に NuGet に関しては CI でのパッケージのキャッシュがあまり効果的ではないのですが、推奨設定での使い方をちゃんと試しておこうと思ったので残します。GitHub Actions や Azure Pipelines には NuGet 向けのサンプル定義が用意されています。中身は…
App Service のドキュメントには Managed Identity を使って SQL Database を利用するサンプルが載っていますが、ここのサンプルコードは結構いい加減で特に .NET Core 向けでは使う気がしないものでした。サンプルコードがダメなだけで SQL Database の設定…
GitHub で公開してるコードに Pull Request が来た時、思ってた以上にコーディングスタイルがバラバラで困ってたので EditorConfig を追加して CI でチェックするようにしました。C# はみんなが Visual Studio を使っていて、大体は良い感じのコーディングス…
Azure Functions なプロジェクトのビルドで Azure Pipelines を使っていたところ、手元ではビルド出来ていたコードが Azure Pipelines だとビルドエラーになってしまったので、最適な解決策を調べていました。具体的には C# 7.1 以降のコードが Azure Pipeli…
Go や Node.js 向けは見つけられたのですが、C# / .NET Core 向けは探しても見つからなかったので作りました。.NET Standard 2.0 なので .NET Core / .NET Framework の両方で動くはずです。CoreFx の Console ベースで書いていて、Windows / Linux / macOS …
Azure App Service や Azure Functions でアプリケーションを書いている時に、別でホストされている API を叩きたい時にはデプロイされた環境単位で向き先を変える必要がありますが、大抵のケースでは App Settings に入れることになるので設定が面倒になっ…
AppVeyor から Azure Pipelines への移行を見越しつつも、ちゃんと NuGet パッケージの発行周りを検証していなかったので Build と Release のパイプラインを組みました。AppVeyor での自動化については前回書いたエントリを参照してください。やっているこ…
非常に今更感がある内容なのと、Azure Pipelines の方が便利なんじゃないか疑惑もありますが、AppVeyor を使っているプロジェクトが多いので、やっと真面目に対応しました。GitHub 上で新しく Release を作成すると、そのタグ名をバージョンにして NuGet パ…
Swagger / OpenAPI の定義からクライアントを作成するツールがいくつかあって、それぞれ特徴がありそうだったので実際に生成して試してみました。試したのは以下の 3 つです。 Swagger Codegen OpenAPI Generator AutoRest 使った Swagger 定義は公式の Pets…
昔のように高い信頼性を持つオンプレのハードウェア上で動いていたアプリケーションとは異なり、昨今のクラウド上で動いているアプリケーションは障害が発生する前提でコードを書く必要があります。クラウドのハードウェアは毎日どこかで壊れるので、それを…
通常は Visual Studio Installer から .NET Framework の SDK はインストール出来るはずですが、何故か 4.7.2 はまだ落ちてこないので手動でインストールしようとしましたが、何故か入りませんでした。地味にはまったのでメモとして残しておきます。ここから…
ちょっと前に .NET Core のバージョンがよくわからないという話題が Twitter で上がりました。何のVersionを表示しているのか?有識者に聞かないと良くわからん。 pic.twitter.com/1gqVqpASxP— Takekazu Omi (@takekazuomi) 2017年3月8日@shibayan 全然わか…
CI の SaaS はビルドの度にコンテナが生成されて、完了したら破棄されるといったように揮発する性質があるので、キャッシュが効かずに時間がかかりがちです。.NET Core の場合は NuGet パッケージのインストール処理で影響が出やすいです。特に dotnet コマ…
Connect(); // 2015 では ASP.NET 5 (DNX) や .NET Core の RC 1 が出たので、自分なりに整理するために色々と調べて OS X 上で実際に試してみました。RC 1 ではちゃんとインストーラーやドキュメントが用意されているので簡単です。 DNX / ASP.NET 5 http:/…
WinQuickLook で COM インターフェース定義を大量に手書きした時、自分の COM Interop の知識がイマイチなことに気が付いたので、とても分かりやすい IShellLink を使ってまとめます。ちなみに IShellLink はショートカットを作成するためのインターフェース…
最近真面目に作っている WinQuickLook は Win32 API と COM の塊なので、P/Invoke で割とはまりました。特に文字コード周りが致命的だったので、簡単に内容をまとめておきます。 DllImport のデフォルト文字コードは ANSI DllImport をデフォルトのまま使う…
ESEC2015 でひっそりと予約していた GR-PEACH がやっと届きました、価格は 13k 程です。ESEC2015 で予約したときには 7 月中納品と言われた気がしますが、この際気にしないことにします。日本っぽいデザインのパッケージになっています。大きさはたばこの箱…
Twitter で新しい MeCab 用の辞書が公開されたことを知ったので、例によって NMeCab で試してみました。[O] MeCab 用の新語辞書 mecab-ipadic-neologd を公開しましたMeCab に付いている IPA 辞書はかなり更新されていないので新語に弱いですが、今回公開さ…
自分でも最近の .NET Core 5 周りで混乱してきたので、整理するために簡単にまとめました。略称も色々なので、そのあたりと役割も一緒に分かってる範囲で書きます。 .NET Core Runtime (CoreCLR) GitHub でオープンソースになると話題になった部分で、RyuJIT…
以前、Raspberry Pi 2 で .NET Core Runtime (CoreCLR) をビルドしようとして挫折しましたが、x64 な Ubuntu を使えば問題なくビルドと実行が出来たので、内容をメモ程度に残しておきます。基本的な手順は CoreCLR の GitHub Wiki にまとまっています。この…
前回 NMeCab を試した時には標準の IPA 辞書を使いましたが、今回は辞書として UniDic を使ってみました。UniDic プロジェクト日本語トップページ - SourceForge.JP最終更新日が 2013 年だったので、MeCab に付いている IPA 辞書よりは新しい気がします。と…
NMeCab で形態素解析が簡単に行えるようになったので、何となくマルコフ連鎖での文章生成を選びました。少し時間かけて C# で実装したので、作成したコードを GitHub に置いておきました。shibayan/MarkovDemoデフォルトでは MarkovKey クラス内で N = 2 と…