.NET
.NET CoreでAWSにおいて機微情報を扱うときに、AWS Secret ManagerやSystem ManagerのParameter Storeが候補に上がります。 ここでは、Secret Managerを使ったASP.NET Coreでの組み込みについて書いておきます。 TL;DR AWS Secret の選択 AWS SecretManager …
非ASP.NET Core、特にGeneric Hostで開発するなら必要になるVS拡張を公開していたのを忘れていました。*1 今回は、GenericHostなど非ASP.NET Coreなプロジェクトでも、ASP.NET CoreなプロジェクトにあるManage UserSecrets (ユーザーシークレットの管理) と…
開発中、リリースのいずれにおいても「今どのバージョンなのか」という情報は重要な情報です。 とはいえ、実際に埋め込みたいのはバージョンというより「ソースコード」とくに「コミット」と連動する情報、加えて「ビルド」と紐づく情報もほしいでしょう。 …
C# のアセンブリ情報はAssemblyInfo.csによって制御されています。 .NET Coreでいくぶん取り扱いが変わったものの基本は一緒です。 たびたび忘れるので、どのように取り扱いが変わったのか制御方法をメモしておきます。 TL;DR Microsoft.NET.GenerateAssembl…
.NET Core Global Toolsは.NET Core SDKがインストールされている環境でdotnet系cliツールをlist/install/upgrade/uninstallを行う仕組みです。 docs.microsoft.com この仕組みがでたことで、少なくともdotnet core製のCLIツールの配布はnugetを経由すること…
あるあるなQueueの監視ですが、自前でやらなきゃいけないならServerlessにぺちって任せるのは楽ちんですよ、というのはよくあるパターンです。 実際にQueue Storageのモニタリングをしてみましょう。 TL;DR Azure Storage QueueやService Busなどのキューサ…
AzureのApp ServiceにはSlotがあります。 Slotはただ利用してもそれなりにうれしいのですが、Terraformでの構成とAzure DevOpsのリリースパイプラインでの展開を行えるようにすることで、「CI/CDによるApp ServiceのSlotによる展開前のステージング環境での…
最近JWTを取り扱っているのですが、仕様上base64urlフォーマットを頻繁に利用します。 C# でbase64というと、Convert.FromBase64Stringあたりですが、base64urlにしてくれるような気の利いた仕組みはなく、入力がbase64url仕様に沿ってないとすぐに例外を吐…
.NET FrameworkでWindows Serviceを作るときは、Windows Serviceのために地道に実装するのは大変.... なので、TopShelfを使うことが定番でした。以前NancyをWindows Serviceでホストする記事を書いたこともあります。 tech.guitarrapc.com では、.NET Coreで…
AzureのC# 向けStorage SDKはnugetでサクッとアプリケーションに追加できます。 しかし、現時点ではWindowsAzure.StorageパッケージとMicrosoft.Azure.Storage.Xxxxパッケージに分かれており、お互いが干渉合うために混在するとAssembly Bindingsを含む解決…
Generic Hostを使った場合でも、これまで .NET Coreで書いてきた処理は問題なく組み込むことができます。 最近Azure WebJobsをGeneric Hostで使う機会があったので見てみましょう。 ※ 社内向けブログの転載なのでシリーズ化します。 TL;DR; 事前に読んでおき…
ASP.NET Core 2.1で追加されたGeneric Host (汎用ホスト) は、non-Web Appアプリの作成をASP.NET Coreと似た書き心地で提供します。 今後のスタンダードとなる見込みですが、どのようにしてGeneric Hostを利用するのか見てみましょう。 ※ 社内向けブログの転…
今のパスワード管理に小さな不満があるので長年次のパスワード管理をさがしていたのですが、Bitwardenが今ある全ての望みをかなえてくれました。 bitwarden.com 今回、TeamsIdからBitwardenに全面移行したのでその移行についてメモをしておきます。 今まで使…
前回の記事でhttps化の前段階として、はてなブログの全URLを取得しました。 tech.guitarrapc.com https化を有効にすると、mixed contentが出るようになるので有効にします。 あとは、https化したページにhttpコンテンツが混じっている時に起こる、mixed cont…
このブログ、実はhttpのままです。 はてなブログをやめるか考えているのですが、いったんhttps対応を進めましょう。 困るのがmixed contentなのですが、とっかかりとしてこのブログの全URLを取得します。 sitemap の取得 PowerShell CSharp Golang まとめ si…
この記事は、PowerShell Advent Calendar 2018 の 22日目です。 qiita.com 今年は、PowerShell Coreについて本を書いたのですが、その中で書ききれなかった.NET Core と .NET Framework の両方で動くPowerShellモジュールの実用的なサンプルです。 目的 Utf8…
C# を使っていて最も困るのがランタイムと感じます。 C#は書きやすい、Visual Studio も使いやすいは良く耳にします。実際享受しやすいメリットだと思いますが、C# を Windows 以外で実行したいはどうでしょうか? 今回はその実行方法についてコンテナを用い…
今回は、Unity 開発に欠かせない存在になってきた Unity Cloud Build のビルド通知をAWS Lambda (.NET Core) でいい感じに処理することを考えてみます。手始めに、他のチャット基盤 (Chatwork) への通知に取り組んでみましょう。 結果こんな通知がくるように…
パッケージの利用、ローカルテスト、ビルド、Visual Studioからのデプロイまで来たのでローカル開発は問題なくできそうですね。ただCIがないままではチーム開発がしにくいです。 tech.guitarrapc.com tech.guitarrapc.com tech.guitarrapc.com そこで今回は…
といいつつ、当初から Json.NET を利用しているのですが、そこはおいておきましょう。 今回は、AWS Lambda で nuget パッケージを利用してみます。とはいっても難しいことは何もなく、通常の.NET Core アプリと同様です。 Azure Fucntions とは少し違うので…
Serverless といっても大事なのはローカルで実行できるかです。どんなに便利でも高速なイテレーションが回せないものは継続せず触らなくなったり進化の波に乗れません。 さて、.NET Core on Lambda が出た当初にローカルデバッグで ILambdaContext がないた…
私の中で Serverless ななんとかネタで鉄板なのが、Github の PRやIssue などの通知連携です。日々使っているものなのでついつい。 もちろん過去にも Lambda + Node.js や Azure Functions で作っています。 tech.guitarrapc.com では .NET Core でもやって…
さて、前回、前々回と .NET Core on Lambda の下回りを見てきました。 tech.guitarrapc.com tech.guitarrapc.com 大事なパッケージ周りやデプロイについては別の機会にするとして、そろそろ簡単なコマンドをWebhook で投げて返してみましょう。ついでに Lamb…
さて、AWS Lambda の続きです。 tech.guitarrapc.com Lambda というか サーバーレスに限らず、ローカル実行ができるか、言語機能の対応状況、ログ確認方法は開発の基本となります。NuGetパッケージの対応状況や他を見る前にざっと確認しておきましょう。 テ…
今年は非常にうれしいことが Azure と AWS 両方でありました。Azure Functions と .NET Core on AWS Lambda です。 これまで多くの AWS Lambda関数 (Node.js) と Azure Functions (C#) を書いてきましたがこれでようやく AWS Lambda に完全に寄せることがで…