chevron_left

メインカテゴリーを選択しなおす

cancel
ツナ缶雑記 https://tsuna-can.hateblo.jp/

マイクロソフト系の技術を中心にして、主に詳細な使い方や手順を解説しています。

tsuna-can
フォロー
住所
未設定
出身
未設定
ブログ村参加

2020/04/12

arrow_drop_down
  • Ryzen CPU の Hyper-V ゲストマシンで Docker Desktop を実行する

    前回は Hyper-V で作成した仮想マシンの中に、さらに Hyper-V で仮想マシンを作る話を書きました。 tsuna-can.hateblo.jp 今回は Docker Desktop を Hyper-V の仮想マシンにインストールして使ってみようと思います。 私の使い方だと、この構成ができると大変うれしいです。 環境 ホストマシン Windows 11 Pro 21H2 Ryzen 9 5900X Hyper-V のゲストマシン Windows 11 Pro 21H2 Hyper-V の構成バージョン 10.0 ゲストマシン上の Docker Docket Desktop 4.6.1 …

  • Ryzen CPU で Hyper-V の入れ子を試す

    以前 Ryzen CPU を使って Hyper-V の入れ子ができるようになる話を書きました。 tsuna-can.hateblo.jp ようやく手元の環境が整ってきたので、今回は Hyper-V の入れ子を試してみようと思います。 環境 ホストマシン Windows 11 Pro 21H2 Ryzen 9 5900X 第 1 階層のゲストマシン(ホストマシン上のゲストマシン) Windows 11 Pro 21H2 Hyper-V の構成バージョン 10.0 第 2 階層のゲストマシン(第 1 階層のゲストマシン内のゲストマシン) Windows 11 Pro 21H2 第 1 階層のゲスト…

  • Rest Client の Cookie キャッシュを削除する

    前回は VS Code から Web API のテストを行うための拡張機能である Rest Client をご紹介しました。 tsuna-can.hateblo.jp marketplace.visualstudio.com Rest Client は、サーバーが発行した Cookie を自動的に次のリクエストに引き継いでくれる機能があります。 この機能は、ローカルマシン内に Cookie の情報を保存することで成立しています。 Cookie データの保存先 Rest Client が保存した Cookie の情報は以下に保存されています。 %USERPROFILE%\.rest-client…

  • VS Code で Web API をテストする(Rest Client)

    最近 Web API のテストをするとき、 VS Code の拡張機能である Rest Client を多用しています。 今回はその簡単なご紹介です。 Rest Client とは その名の通り、 Web API をたたくための VS Code の拡張機能です。 以下からダウンロードできます。 marketplace.visualstudio.com こいつのいいところはテキストファイルに投げたい HTTP リクエストを書いておける点にあります。 テキストファイルなので、 HTTP リクエストを簡単に保存しておくことができます。 また記法もそんなに難しくないので、慣れればサクサク Web AP…

  • 画面操作のキャプチャを Gif アニメにするツールのご紹介(GifCam)

    PC 画面内の一部を Gif アニメにできるツールを見つけたので紹介します。 GifCam https://blog.bahraniapps.com/gifcam/ 自分が PC 操作しているのを部分的に記録しておくとき、一般的な動画ファイルでは容量の無駄遣いになってしまいます。 サイズが大きいと誰かに共有するのも大変です。 そういう時 Gif アニメは古典的ながらも便利なフォーマットだと思います。 使い方は非常簡単で、アプリを起動して録画したい範囲をウィンドウ内に収め、 [Rec] ボタンを押すだけです。 録画が終わったら [Stop] ボタン > [Save] ボタンと押下して保存しましょ…

  • Logic AppでJSONを簡単に取り扱う

    Logic App で外部の API をたたいて、取得した JSON をもとに何かする、みたいなことをやろうとするときに個人的によくやる便利な使い方を書いてみます。 取得した JSON を解析する [データ操作] の中にある [JSON の解析] を利用しましょう。 使い方 今回は JSON の解析の前においてある HTTP の処理で、外部の Web API をたたいた、と仮定します。 この Web API の応答本文は JSON 形式の文字列です。 [コンテンツ] には JSON の文字列を突っ込みます。 この例では前段の処理で取得した応答本文を丸ごと突っ込んでいます。 そして下部にある […

  • 名前空間宣言の内側に using ディレクティブを置くと Using の削除と並び替えが動作しない

    暗黙的な using ディレクティブと global using C# 10 になって結構うれしい機能のひとつが暗黙的な using ディレクティブと global using の機能です。 docs.microsoft.com この機能があるおかげで、ほとんどすべてのクラスファイルに追加していた System 名前空間や、いちいち追加するのがめんどくさかった System.Linq 名前空間を、何も指定せずに使える状態にしてくれます。 また同じプロジェクト内の多くのクラスで追加しなければならない名前空間も、 1 か所で定義するだけで使えるようにしてくれます*1。 コードも若干ではありますが短…

  • Core 第12世代の PC 構成を考える(まとめ)

    Core 第 12 世代 CPU を用いた PC を作るシリーズは、今回で最終回です。 ここまでに選定してきたパーツと、流用するパーツを合わせて最終構成を書いてみようと思います。 また流用するパーツを組み合わせて、消費電力と電源ユニットの過不足を確認します。 パーツリスト 今回選定したパーツのリストをまずは載せてみます。 「*」マークを付けてあるのは手持ちパーツからの流用品です。 ※ 掲載している価格は 2022/02/13 現在、私が Web 検索によって確認できた最安値です。 その価格で購入できることを保証するものではありませんし、それが本当に最安値かどうかも保証できません。 あくまで参考…

  • Core 第12世代の PC 構成を考える(SSD の選択)

    Core 第 12 世代 CPU を用いた PC を作るシリーズの第 9 回は、SSD の選定について書いていこうと思います。 前回の記事はこちらからどうぞ。 tsuna-can.hateblo.jp マザーボードの仕様を確認する 今回利用することにした ASRock Z690 Pro RS は、 M.2 SSD を搭載できます。 内訳は PCIe 4.0 が 2 本、 PCIe 3.0 が 1 本です。 (function(b,c,f,g,a,d,e){b.MoshimoAffiliateObject=a;b[a]=b[a] function(){arguments.currentScri…

  • Core 第12世代の PC 構成を考える(メモリの選択)

    Core 第 12 世代 CPU を用いた PC を作るシリーズの第 8 回は、メモリの選定について書いていこうと思います。 前回の記事はこちらからどうぞ。 容量を決める メモリの選定にあたって、まず決めなければならないのは容量です。 Ryzen 9 5900X のマシンを作ったとき考察したように、昨今メモリの消費量は爆増しています。 tsuna-can.hateblo.jp 最近大きなディスプレイを使っていることもあるのですが、とにかくたくさんのアプリを起動しっぱなしで切り替えながら使うことが多いです。 また私はブラウザーに MS Edge を使っているのですが、垂直タブ機能を導入してからと…

  • Core 第12世代の PC 構成を考える(CPU クーラーの選択)

    Core 第 12 世代 CPU を用いた PC を作るシリーズの第 7 回は、CPU クーラーの選定について書いていこうと思います。 前回の記事はこちらからどうぞ。 tsuna-can.hateblo.jp 12700K を冷やせるクーラーは何か 私の PC の用途は主にアプリケーション開発です。 その過程で仮想マシンを数台起動しています。 こういった用途の場合、アプリケーションのコンパイルをしている時だけドーンと CPU を使います。 長時間 CPU を酷使することはありません。 長くても 1 分程度、フルパワーで回ってくれれば十分です。 12700K の消費電力を確認する まずは 127…

  • Core 第12世代の PC 構成を考える(マザーボードの選択)

    Core 第 12 世代 CPU を用いた PC を作るシリーズの第 6 回は、マザーボードの選定について書いていこうと思います。 前回の記事はこちらからどうぞ。 tsuna-can.hateblo.jp 追加の条件を考える マザーボード選定にあたって、追加で検討しておくべき条件を整理しておきます。 M.2 SSD スロット システムドライブ用に 1 つ、仮想マシンのイメージ置き場に 1 つ、将来的な拡張のために 1 つ、全部で 3 本のスロットが欲しいと思っています。 システムドライブ用と仮想マシンのイメージ置き場用は必須で、拡張用のスロットはあればうれしい、という位置づけです。 いずれも確…

  • Core 第12世代の PC 構成を考える(Z690 / H670 / B660 / H610 の選択)

    Core 第 12 世代 CPU を用いた PC を作るシリーズの第 5 回は、マザーボードの選定について書いていこうと思います。 前回の記事はこちらからどうぞ。 tsuna-can.hateblo.jp おさらい ここまでに決めてきた構成を再度おさらいしておきます。 パーツ 選定品 CPU Intel Core i7 12700K PC ケース MSI MPG SEKIRA 100P これらのパーツを生かすマザーボードを選択していきます。 Z690 / H670 / B660 / H610 の選択 マザーボードを決めるにあたって、まずはチップセットを選定しなければなりません。 Core 第1…

  • Core 第12世代の PC 構成を考える(PCケース編 その2)

    Core 第 12 世代 CPU を用いた PC を作るシリーズの第 4 回は、前回の続きで、 PC ケースの選定について書いていきます。 前回の記事はこちらからどうぞ。 tsuna-can.hateblo.jp PC ケースの使い勝手からさらに絞り込む 私のデスクは、 PC をデスク下の PC 置き場に配置しています。 実際に使っているものとはちょっと違うのですが、こういった箱型の置き場に PC を置いています。 DEWEL CPUワゴン パソコンワゴン 60x50x30cm PCワゴン キャスター付き デスクサイド収納 デスク下ワゴン 棚板高さ3段調節 排熱を妨げない 丸角加工 メラミン加…

  • Core 第12世代の PC 構成を考える(PCケース編 その1)

    Core 第 12 世代 CPU を用いた PC を作るシリーズの第 3 回は、マザーボード選定にあたって必要な PC ケースの選択について考えてみます。 前回の記事はこちらからどうぞ。 tsuna-can.hateblo.jp なぜ PC ケースを先に決めるのか PC ケースには様々な大きさのものがあります。 また USB のポートや電源サイズなど、パーツ選定の制約になってしまうような要素もいくつか存在します。 小さなケースほど制約が強く、選べるパーツの範囲が狭まります。 作業スペースも小さくなるため、組み立てがめんどくさくなります。 またPC ケースは PC の見た目を決定づける超重要なパ…

  • Core 第12世代の PC 構成を考える(DDR4 vs DDR5)

    Core 第 12 世代 CPU を用いた PC を作るシリーズの第 2 回は、マザーボード選定にあたって必要なメモリの規格について考えてみます。 前回の記事はこちらからどうぞ。 tsuna-can.hateblo.jp DDR4 vs DDR5 Core 第 12 世代となって、ついに DDR5 という高速なメモリ規格がサポートされるようになりました。 Core 第 12 世代 CPU は DDR4 と DDR5 、どちらにも対応していますが、これらは互換性がありません。 マザーボードは DDR4 と DDR5 、どちらか一方のみをサポートするので、マザーボード選定にあたってまずメモリの規格…

  • Core 第12世代の PC 構成を考える(CPU編)

    ついに待ちに待った Intel Core シリーズの第 12 世代 CPU が発売されました。 年明け後マークなしの SKU も発表され、各種ベンチマークも明らかになり、構成を選択しやすい状況になったように思います。 というわけで今回から数回に分けて、 Core 12 世代の CPU を使った PC の構成について考えてみようと思います。 対象ユーザー 私自身です。 PC の主な用途はアプリケーション開発用です。 Hyper-V や Docker Desktop を用いた仮想環境を手元で稼働させながら、アプリケーションの開発を行います。 仮想マシンは複数台立ち上げることもあります。 現状ゲーム…

  • Blazor WebAssembly アプリケーションを Azure App Service にデプロイして Azure AD で保護する

    新年 1 つ目のポストは、昨年末すごくはまった内容をまとめてみようと思います。 やりたいこと .NET ベースの Blazor WebAssembly アプリケーションを ASP.NET Core のアプリケーションでホストして、 Azure App Service に発行します。 こいつに対して Azure AD ( B2C ではない方) で認証をかけていきます。 Blazor WebAssembly のアプリケーションは、 Azure Static Web Apps を使うケースが多いかもしれません。 しかし、規模の大きなシステムだと「複雑な業務要件」という名の低性能機能が紛れ込んだりして…

  • 小ネタ:Visual Studio のテストの成功と失敗で一喜一憂する

    Visual Studio 2019 の 16.9 あたりの更新から、単体テストの実行完了時に音を鳴らすことができるようになりました。 あまり良いとは言えませんが、テストの実行に時間を要するようなケースでは、テストを流しながら別の作業をすることもあるのではないでしょうか。 テストの実行完了を音で判断できるので、並列作業が非常にはかどります。 環境 Windows 11 Visual Studio 2022 今回は上記の環境での設定例を示しますが、 Windows 10 や Visual Studio 2019 16.9 以降でも、ほとんど同じ方法で設定可能です。 設定方法 [ツール] メニュー…

  • XUnit で Null のフロー解析が警告を出す問題に対処する

    ※本稿は 2021/12/8 時点の情報に基づいています。 2021 年 11 月は .NET のリリース祭り Visual Studio 2022 とか C# 10 とか .NET 6 とか、 .NET 関連のリリースが 11 月に一気に押し寄せてきました。 手元のプロジェクトもいくつか .NET 6 への対応を始めているのですが、多くの新機能の中で最も役に立っている実感があるのが Null 許容参照型です。 何気なく書いていたコードの中に、 Null 参照になってしまう可能性があるコードって結構あるんだなーと。 お前がポンコツだからいけないんだろ、という話は置いといて。 XUnit と N…

  • Azure Pipelines で SQL Server LocalDB を用いたテストを実行する

    Azure Pipelines では、ビルドサーバーを大きく 2 つの種類から選択できます。 1 つ目は「MS-Hosted Agent」と呼ばれるもので、雑に言うとマイクロソフトさんが準備したビルドマシンをオンデマンドで借用する方式です。 2 つ目は「Self Hosted Agent」と呼ばれるもので、自分で用意したマシンをビルドマシンとして登録して利用する方式です。 MS-Hosted Agent は、特に自分で何か用意する必要はなく、非常にお手軽に利用できます。 マイクロソフトさんが提供しているエージェントの中から、利用したいものを選択する形式です。 そのため、万人が必要とするソフトウ…

  • Entity Framework Core でエンティティの変更記録を確認する方法

    前提となる環境 Visual Studio 2022 .NET 6 Entity Framework Core 6.0.0 SQL Server LocalDB Change Tracker とは何か Entity Framework Core は、 Change Tracker という仕組みを持っています。 Change Tracker は、 DbContext を経由して取得したデータに対して、更新や削除、追加などの操作を行った記録を保持する役割を持ちます。 DbContext.SaveChanges() メソッドを呼び出しただけで、 DbContext に対して行った変更がすべて反映でき…

  • AMD プロセッサでも Hyper-V を入れ子にできるようになる話

    以前こんな記事を書きました。 tsuna-can.hateblo.jp 今まで Hyper-V の仮想マシン内にさらに Hyper-V を立ち上げたり、 Docker を立ち上げたり、ということが AMD プロセッサではできませんでした。 しかし、ようやくと言うか、ついにと言うか、 AMD プロセッサでも Hyper-V の入れ子ができるようになるそうです。 念のため歴史を紐解く もともと AMD プロセッサでは Hyper-V の入れ子はできなかったのですが、以下のブログポストにもある通り、 Windows 10 の Insider 向けにこの制限が解除される動きがありました*1。 http…

  • Windows 11 Pro をディスクからインストールしてみた

    2021 年 10 月 5 日、 Windows 11 がリリースされました。 私はチキンなので、実利用環境へのインストールはいったんやめて、 Windows 10 Pro 上の Hyper-V に ISO イメージからインストールしてみようと思います。 今回は日本語ローカライズ済みの Windows 11 Pro をインストールします。 環境 ホストマシンは以下の通りです。 Windows 10 Pro 21H1 Hyper-V 有効化済み 仮想マシンを作る 普通に Hyper-V 上で仮想ハードディスク、仮想マシンを作成します。 設定は以下の通りです。 仮想ハードディスク 項目 設定値 デ…

  • Hyper-V で画面が表示されない場合の確認項目(Windows 11)

    以前 Windows 10 の場合の設定方法については記載しています。 今回は Windows 11 の設定箇所を備忘録かねて書いておきます。 tsuna-can.hateblo.jp 拡張セッションを使いたい場合は Windows Hello を無効にする 拡張セッションを使うと、ホスト OS のドライブにアクセスできるようになるので、非常に便利です。 拡張セッションを使いたいのであれば、ゲスト OS 側の設定で、 Windows Hello を無効にしましょう。 PIN を有効にすると Windows Hello が有効になります。 この状態だと拡張セッションが使えません。 Windows…

  • タブの色分け表示機能がよい(Visual Studio 2022 Preview 4)

    どんな機能か Visual Studio 2022 Preview 4 でタブの色分け機能が追加されています。 こんな感じで、プロジェクトごとにタブを色分けしてくれて、どのファイルがどのプロジェクトに所属するかわかりやすくなっています。 非常にわかりやすくてよいですね。 個人的にとても気に入りました。 なお従来型の水平タブでも同じような色分け表示はできます。 ですが見てもらってもわかる通り、垂直タブのための機能と言ってもよさそうです。 この機能をオフにするとどうなるか オフにすると、以前と全く同じ表示になります。 ちなみに以前まではどうだったかというとこんな感じです。 どのファイルがどのプロジ…

  • Logic Apps から Azure の REST API をマネージド ID を使って呼び出す

    マネージド ID使っていますか? 徐々に使えるリソースが増えてきて、最近では多くのケースで使うことが増えているように思います。 非常に便利で強力な機能ですよね。 今回は Logic Apps から Azure の REST API をマネージド ID を使って呼び出す手順を解説します。 例によって初心者向けに、できる限り手順を省かず説明していきます。 リソースグループ、 Logic Apps の作成 システム割り当てマネージド ID の有効化 呼び出す対象リソースへのロール割り当て Logic Apps の実装 HTTP 要求の受信時トリガーの設定 Azure REST API 呼び出しの設定…

  • VSCode の Remote - Containers で Jekyll の開発環境を作る

    GitHub Pages では、マークダウンから HTML への変換に Jekyll という Ruby ベースのツールを利用します。 jekyllrb-ja.github.io 単純に GitHub リポジトリと連携する場合、ローカル開発環境は特に気にしなくてもよいのですが、 Windows のローカル環境で Jekyll の動作確認しようとすると割とめんどくさいことになります。 Windows 環境だと公式サポートもなくて、実際に動かしてみても動作不安定な感じでした。 そんな時はコンテナー使えばいいじゃない、ということで、 Visual Studio Code の Remote - Cont…

  • Windows 11 は 10月5日リリースらしい

    Windows 11 リリース日決定 本日 Windows 11 の GA についてマイクロソフトからアナウンスがありました。 どうやら 2021年10月5日 リリース らしいです。 米国時間だと思うので、日本時間だと10月6日になるかもしれません。 マイクロソフトからの発表は以下にありますので、気になる方はチェックしてみてください。 blogs.windows.com Windows Server 2022 がリリースされたので、近いうちに GA されそうだなーと思っていましたが、年末商戦に間に合わせる格好で出してきましたね。 システム要件 マイクロソフトのサイトで直接見てください。 日本語…

  • Hyper-V 使うなら Ryzen はやっぱりだめだった話

    年末に Ryzen 9 5900X で自作 PC を組んで、いろいろ遊び倒してきました。 ゲームは全然やってないんですが、主にアプリケーション開発に活用しています。 やっぱり早いって素敵、という感想です。 お気に入りかどうかという意味ではすごく気に入っています。 (function(b,c,f,g,a,d,e){b.MoshimoAffiliateObject=a; b[a]=b[a] function(){arguments.currentScript=c.currentScript c.scripts[c.scripts.length-2];(b[a].q=b[a].q []).p…

  • Seagate FireCuda 530 あらわる

    2020 年末に構築した Ryzen 9 5900X 搭載の PC 、こちらには Seagate FireCuda 510 1TB の m.2 SSD を搭載しています。 詳細はこちらに書いている通りです。 tsuna-can.hateblo.jp この記事でも書いた通り、 FireCuda 510 は仮想マシンのイメージ置き場として活躍してもらっています。 現状 3 台の仮想マシンを置いていて、同時起動しても問題ないレベルで使えています。 PCIe 3.0 接続ですが、性能的には十分満足できるレベルです*1。 Seagate FireCuda 530 そんな中、なんと Seagate から …

  • Visual Studioで巨大なソリューションを扱うときに便利な機能

    ここのところかかわっているプロジェクトでは、 1 ソリューションのプロジェクト数が 500 を超えていて、 Visual Studio でソリューションを開くことがなかなか困難なレベルになっています。 そういう巨大なソリューションを取り扱う場合、 Visual Studio 2019 以降で使える便利な機能がありますので紹介します。 環境 Visual Studio 2019 以降 プロジェクトをアンロードした状態でソリューションを開く 巨大に育ってしまったソリューションの場合、そもそも貧弱なマシンでは Visual Studio で開くことができません。 ソリューションファイルをダブルクリッ…

  • Entity Framework Core でテーブルスキーマを更新する

    Entity Framework Core を利用して、テーブルのスキーマを更新する方法について解説していきます。 今回は、前回構築したアプリケーションを利用して、テーブルのスキーマを更新します。 tsuna-can.hateblo.jp 環境 Visual Studio 2022 Preview .NET 6 Preview Entity Framework Core 6.0.0-preview.5.21301.9 データモデルにカラムを追加する 今回は、 Product モデルクラスに Publisher プロパティを追加します。 public class Product { public…

  • Entity Framework Core を使ったアプリケーションの開発手順

    Entity Framework Core を使うと、ほとんど SQL を書かずとも、データベースの作成やデータの更新、取得ができるため、非常に便利だと思います。 今回は Entity Framework Core を業務利用するまでの自分なりの手順を書いていこうと思います。 なお必要な個所はコードを出して解説しますが、全部は解説しきれないため、大幅に省略します。 コード全量については GitHub に置くので適宜参照してください。 環境 dotnet ef が使えない人 dotnet ef のバージョンが古い人 プロジェクト(ソリューション)を作成する モデルの作成 NuGet パッケージの…

  • Markdown の linter を Azure Pipelines から実行する (GitHub Super-Linter を使う)

    前回、 Azure Pipelines を使って Mkdocs を用いた静的サイトの生成を行いました。 tsuna-can.hateblo.jp 今回は、この Azure Pipelines の YAML をさらに拡張して、 Markdown ファイルの Linter を実行できるようにしていきます。 Linter とは 簡単に言うと、ソースコードのフォーマットチェックを自動的に実行してくれるツールです。 特にチームで開発を行う場合、ソースコード開発時に、コードフォーマットのルールを定めることが良くあります。 そういったときに Linter を用いることで、ソースコードのフォーマットが開発者間…

  • ASUS BIOSでTPMを有効にする

    以前 MSI の BIOS で、 TPM を有効化する方法について解説しました。 tsuna-can.hateblo.jp 今回は ASUS の BIOS で TPM を有効化する方法について解説します。 TPM が有効になっているかどうかは、 [tpm.msc] を用いて確認できます。 手順は以前の記事で詳細に解説しているので、そちらを参照してください。 環境 ASUS TUF Z390-PLUS GAMING Intel Core i7 9700K さすがにこの世代の物はもうほとんど流通していないので、最新世代の同等品へ製品リンクを張っておきます。 (function(b,c,f,g,a,…

  • Hyper-V の仮想マシンで TPM を有効にする

    前回は物理マシンで TPM を有効にする方法について解説しました。 今回はその物理マシン上に立てた Hyper-V の仮想マシンで、 TPM を有効にする方法を解説します。 環境 今回の記事で使用した環境は以下の通りです。 物理マシン(ホストOS) MSI B550 TOMAHAWK Ryzen 9 5900X Windows 10 Pro 20H2 (function(b,c,f,g,a,d,e){b.MoshimoAffiliateObject=a; b[a]=b[a] function(){arguments.currentScript=c.currentScript c.scri…

  • MSI BIOSでTPMを有効にする

    Windows 11 が発表されましたね。 システム要件がいろいろ変わっていく中で、 TPM 2.0 が必須になったというのも時代の流れを感じます。 企業向けのモバイル PC とかだと、 TPM 2.0 があらかじめ有効になっているケースも多いと思いますが、個人用の PC だと無効になっているケースも多いのではないでしょうか。 今回は MSI の BIOS で、 TPM を有効にする方法を解説します。 なお本稿で解説するのは、ファームウェア TPM という機能を有効にする方法です。 ハードウェア TPM を用いる方法もありますが、個人利用の範囲であればファームウェア TPM で十分だと思います…

  • Azure Pipelines で Markdown から静的 Web サイトを生成してStorage Accountに公開する(mkdocs)

    前回は mkdocs を使って静的な Web サイトを Markdown を用いて生成しました。 tsuna-can.hateblo.jp 今回はこれを Azure DevOps を使って、 Azure Storage Account の静的 Web サイトに発行する手順を解説します。 環境 Azure DevOps Storage Account(静的 Web サイト) Storage Account の 静的 Web サイトとは Storage Account にアップロードしたファイルを、 Web に公開してくれる機能です。 サーバー側は、ただ静的ファイルを公開する機能しか持たないため、…

  • Markdown を使って静的 Web サイトを作る

    簡単な Web サイトを手間なく作ろうとしたとき、皆さんならどうやって作りますか? デザインにこだわる時間はないし、とにかく早く Web サイトを公開しなければならない、というユースケースにおいて、 MkDocs というツールは非常に強力です。 今回は MkDocs を使って、 Markdown から静的 Web サイトを作る方法について、 Windows 環境で解説します。 超初心者向けの最初の一歩となる内容ですので、すでに詳しい方はそっと閉じていただけると助かります。 環境 環境構築 Python のインストール pip の更新 mkdocs のインストール プロジェクトの作成 Markd…

  • インターフェースを実装しているクラスやメソッドを楽に探す方法(Visual Studio 2019)

    インターフェースや抽象クラスを用いたソースコードを書いているときの問題点として、コードを読んだときにどの具象クラスが実行されるのか、パッと見たときわからない、という問題があります。 DI を用いている場合は、特にインターフェースをゴリゴリ使うことになるので、コードレビューで人のコードを眺めるのも結構めんどくさいんですよね。 参照されている個所一覧を見て、力業で探し出すというやり方が個人的には一般化していました。 Visual Studio 2019 で、ついにこの問題に対する解決策が提示されました。 インターフェースやメソッドを実装しているクラス、メソッドを一覧表示してくれるようです。 まだプ…

  • メモリの速度は.NETアプリケーションのビルド時間に影響を与えるのか

    Ryzen シリーズの特徴として、メモリの速度が重要であると言われてきました。 様々なベンチマーク結果を見る限り、メモリの速度を上げることで、 CPU の処理性能を向上させることができているようです。 では実際の .NET アプリケーションのビルドというユースケースにおいて、メモリの速度がどの程度の影響を及ぼすのか調査してみた、というのが今回の趣旨となります。 環境 検証内容 eShopOnWeb Entity Framework Core 検証手順 eShopOnWeb Entity Framework Core 検証結果 eShopOnWeb のビルド時間 Entity Framework…

  • モバイルノートPCは.NET開発に使えるのか

    前回まで、 CPU の差異や、コア数の差異による .NET Core アプリケーションのビルド時間を計測、検証してきました。 これまでの検証結果から、 CPU を最新世代の強いものに変えること、 8 Core 以上の CPU を用意することで、ビルド時間の短縮に大きな効果が得られることがわかっています。 tsuna-can.hateblo.jp tsuna-can.hateblo.jp tsuna-can.hateblo.jp ここまでは、デスクトップ PC におけるビルド時間の検証を主に行ってきました。 しかし、最近はモバイルノート PC で開発を行う機会が増えてきていると思います。 一昔前…

  • .NET アプリケーションのビルドにはコア数は必要なのか

    前回まで、 CPU の差異による .NET Core アプリケーションのビルド時間を計測、検証してきました。 ここまでの結果から、「 CPU を新しくハイパワーなものに変更することで、ビルド時間を大きく短縮することができる」ことが明らかになりました。 しかし、前回検証した Core i7 9700K と Ryzen 9 5900X の検証結果から、実は CPU のシングルスレッド性能より、コア数の差がビルド時間に影響を与えるのではないか、という仮説が生まれました。 今回はこの仮説がどの程度正しいのか検証していこうと思います。 環境 検証内容 eShopOnWeb Entity Framewor…

  • Core i7 9700K と Ryzen 9 5900X におけるビルド速度の比較

    前回は約 6 年前の PC と、現役世代のマシンとで、.NET Core のアプリケーションのビルド速度を比較してきました。 その結果、 PC の最新化によってかなりビルド速度が高速化できることがわかりました。 tsuna-can.hateblo.jp 今回は、比較的新しめの Intel 系 CPU と AMD 系 CPU の比較をしてみようと思います。 例によって CPU 以外にも異なる点が多々ある環境で比較しますので、 CPU の性能差以外にも影響を与えている可能性は十分に考えられます。 できる限り比較する PC のスペックを記載しますので、数値を見る際は、環境の差異にも注意してお読みいた…

  • 当サイトについて

    当ブログをご覧いただき、誠にありがとうございます。 「ツナ缶雑記」(以下、本ブログ)は、ご訪問者が安心してご利用いただけるよう、個人情報の保護に最大限の注意を払います。 本ブログの個人情報保護方針は以下の通りです。 個人情報保護方針(プライバシーポリシー) ご利用者からご提供頂いた個人・法人のプライベートな情報は、ご利用者の同意がない限り第三者に開示することはありません。 ただし、法律に基づき公的機関から要請があった場合や、法令に特別の規定がある場合、お客様や公衆の生命、健康、資産等に重大な損害が発生する恐れがある場合には、適用外となります。 個人情報保護のため、必要に応じて本方針を改定する場…

  • Core i7 4790K と Ryzen 9 5900X におけるビルド速度の比較

    皆さんが自作 PC を作る目的は何でしょうか。 多くの方が PC ゲームを快適に行うことか、動画作成や画像編集など、クリエイティブな作業を快適に行うことなのではないかと思います。 CPU や GPU の新製品が出ると、ベンチマークソフトやゲーム、動画作成の時間など、様々な検証が行われます。 しかし、 IT エンジニアにとって有益な情報はほとんど出てきません。 IT エンジニアとして知りたいのは、プログラム開発をどの CPU なら快適に行えるのか、ということなんです。 しかし、そういった情報は全くと言っていいほど出てきません(需要がないんでしょうけど)。 今回は今まであまり語られることのなかった…

  • Visual Studio サブスクリプションに付属する Azure サブスクリプションが勝手に無効にされた(と思った)話

    本記事において、悪いのは私であってマイクロソフト社が悪いのではありません。 こんな使い方をしてしまった結果、マイクロソフト社まで問い合わせないと謎が解けなかったよ、という私のダメな記録として残しておきます。 何が起きたか とある月に、私は Visual Studio サブスクリプションに付属している Azure クレジットを使い切ってしまい、月の途中で無効扱いになってしまいました。 Visual Studio サブスクリプションを契約すると、エディションに応じて Azure のクレジットが付与され、その枠内なら無償で使い放題になります。 この枠を突破してしまうと、 Azure サブスクリプショ…

  • Azure Pipelines のビルド環境考察(MS Hosted Agent vs Self Hosted Agent)

    ついに MS Hosted の利用制限が強化される Azure DevOps のチームから以下の 2 件のブログポストがありました。 devblogs.microsoft.com devblogs.microsoft.com 要約すれば以下の 2 点が言われています。 パブリックなプロジェクトの場合、 Azure Pipelines の MS Hosted Agent 無償利用枠を使いたいならメールせよ プライベートなプロジェクトの場合、 Azure Pipelines の MS Hosted Agent 無償利用枠を原則自動付与するするが、自動付与されない場合はメールせよ メールの送付先とか…

  • Hyper-V で画面が表示されない場合の確認項目

    私自身がはまってしまったので備忘録もかねて書いておきます。 現象 Hyper-V を有効にして、 Windows 10 20H2 の仮想マシンを作成しました。 OS のインストールも完了して、ログインアカウントはホスト OS でも使っている MS アカウントに設定。 そして PIN の設定もして、仮想マシンの起動もできました。 Windows Update を実行し、パッチをあてて再起動したら。。。 こんな感じでパスワードの入力画面が出てきません。 現在時刻の表示すら出ていません。 右下の電源アイコンとその左隣のボタンだけ操作できる、そんな感じになってしまいました。 原因 聡明な方はすでにお気…

  • .NET Framework ベースのアプリケーションを .NET 5 ベースへと更新サポートするツール(upgrade-assistant)

    つい先日、 .NET Framework ベースのアプリケーションを .NET 5 に移行するための便利ツールが登場しました。 .NET Blog でも紹介されていました。 devblogs.microsoft.com 今回はこいつを軽く触ってみた感想とか、できること、できないことを軽く整理してみようと思います。 なお今回紹介しているのは、 2020/03/03 時点の最新版に基づく情報です。 本日時点ではプレビュー扱いであるため、今後大幅に変更される可能性もありますので、注意してください。 環境 .NET SDK のインストール try-convert ツールのインストール .NET Upg…

  • xUnitで単体テストの並列実行をオフにする

    xUnit を使って C# の単体テストを作り、全テストをまとめて実行すると、一部の単体テストが並列実行される様子がわかります。 もう少し正確に言うと、 1 つのテストクラス内のテストは直列実行されますが、異なるテストクラスに配置されているテストは並列実行されます。 このあたりの挙動についてまとめてみようと思います。 環境 Visual Studio 2019 .NET Core 3.1 xUnit 2.4.1 テストコレクション 冒頭に述べた挙動は、 xUnit の持つテストコレクションという概念で説明ができます。 テストコレクションは、動画サイトにおける再生リストのようなもので、同一のテス…

  • Windows 10 Enterprise LTSC のサポート期間が 5 年になる

    Windows 10 Enterprise LTSC のサポート期間が10年から5年に短縮されるという話が出ています。 Windows as a Service という概念が出て、Windows 10 から大幅にサポートライフサイクルの考え方が変わりました。 そんな中、 Windows 10 Entperprise LTSCは、唯一残っていたクラシックなサポートの方式でしたね。 それもついに終わりを迎えるということで、非常に感慨深いです。 blogs.windows.com 実態とは。。。 記事内には以下のような記載があります。 お客様をサポートする中で、LTSC バージョンをインストールして…

  • Ryzen CPU で Hyper-V を使う方法

    Windows 環境で手軽に仮想マシンを使うのであれば、 Hyper-V を使うのが便利だと思います。 Windows に標準で搭載されているのが最大の利点ではないでしょうか。 検証作業とかで、ホストマシンの設定を汚したくないケースに結構活用できます。 今回は Ryzen CPU で Hyper-V を使うための手順を解説します。 Intel CPU の場合と設定する BIOS の項目が異なりますので注意しましょう。 環境 Ryzen 9 5900X B550 TOMAHAWK Windows 10 Pro 20H2 Hyper-V を有効にするためには、 Windows 10 Pro が必要…

  • MSI マザーボードの BIOS を日本語化する

    MSI の BIOS は、日本語表記に対応しています。 メニューの項目は英語のままですが、各項目の説明文や、ちょっとしたところが日本語表記に書き換わります。 設定手順を示しておきます。 環境 Ryzen 9 5900X B550 TOMAHAWK BIOS に入る まずは BIOS 画面に入ります。 BIOS への入り方はマザーボードの種類によって異なります。 多くの場合は電源投入直後、 Windows の起動前に [Del] キー、 [F1] キー、 [F2] キーあたりを連打することで入れます。 B550 TOMAHAWK の場合(というか、たぶん MSI のマザーボードの場合)は [De…

  • Visual Studio と開発者コマンドプロンプトを統合する(Visual Studio Terminal)

    Visual Studio 2019 の 16.3 Preview 3 リリースで発表されていた Visual Studio Terminal がいつの間にか GA されていたので紹介します。 Visual Studio Terminal とは何か Visual Studio Code だと、 IDE の中にコマンドをたたくためのウィンドウが統合されていて、 IDE を 1 つ立ち上げれば、原則他の物を使う必要はない状態を作ることができていました。 しかし、こういった機能は Visual Studio には用意されておらず、別途コマンドプロンプトや PowerShell など、 Visual …

  • Entity Framework Core でデータベースから DbContext を生成する方法

    Entity Framework Core を使うと、既存のデータベースから DbContext やテーブルに対応するクラス群を自動生成することができます。 ただし Entity Framework 6 までのように、 GUI による操作方法は提供されておらず、すべてコマンドラインから実行する必要があります。 前提条件 .NET Core 3.1 SQL Server Local DB Entity Framework Core 5.0.3 事前準備 まずは適当にプロジェクトを作成して、以下 2 つの NuGet パッケージをインストールしましょう。 Microsoft.EntityFrame…

  • Entity Framework Core ツールをコマンドラインから更新する方法

    Entity Framework Core を使っていると以下のようなメッセージによく出くわします。 The Entity Framework tools version '5.0.2' is older than that of the runtime '5.0.3'. Update the tools for the latest features and bug fixes. こんなメッセージが出たら、 Entity Framework Core のツールをアップデートしましょう。 アップデートはコマンドラインから実行することができます。 グローバルにインストールしている場合、コマンドは…

  • PCをRyzen 9 5900Xで組んだ話(電源の選択編)

    今回で自作 PC のパーツ選定シリーズ最終回となります。 最後に電源ユニットの選択についてさらっと触れていきます。 前回の記事はこちらからどうぞ。 tsuna-can.hateblo.jp 消費電力を見積もる 電源を決めるうえで、最初に行わなければならないのは PC 全体の消費電力を見積もることだと思います。 ここまででパーツ構成が決まっているので、以下のようなツールを用いて、消費電力を見積もりましょう。 PC電源容量計算【2021年最新版】 BTOパソコンミニ館 電源容量計算(電源電卓)電源の選び方|ドスパラ通販【公式】 そうすると、自分の PC の消費電力の推定値を計算することができま…

  • PCをRyzen 9 5900Xで組んだ話(SSDの選択編)

    前回はメモリの選定について書きました。 今回は SSD について書いていこうと思います。 前回の記事はこちらからどうぞ。 tsuna-can.hateblo.jp SSD の種類 現在発売されている SSD には、その接続方式として NVMe 接続と、 SATA 接続の 2 種類があります。 マザーボードとの接続方法も、 M.2 スロットに接続する方法と、 SATA のポートに接続する方法の 2 種類があります。 M.2 スロットに接続する場合は、 NVMe 接続と SATA 接続どちらかで接続することになりますが、 SATA のポートに接続する場合は SATA 接続しか使えません。 また M…

  • PCをRyzen 9 5900Xで組んだ話(メモリの選択編)

    前回まででマザーボードと CPU クーラーが決まりました。 今回はそれらに引きずられて決まるメモリについて書こうと思います。 前回の記事はこちらからどうぞ。 tsuna-can.hateblo.jp 容量を決める メモリの選定にあたって、まず決めなければならないのは容量です。 昨今のブラウザーや各種チャットツールなど、普段使いするアプリケーションも、昔と比べてメモリをバカ食いする仕様のものが増えてきているように思います。 Windows も 64 bit が基本になっていますし、メモリバカ食いの時代はこれからも続くんだろうな、と思います。 なので、大した使い方をしていないのに、メモリが結構ひっ…

  • PCをRyzen 9 5900Xで組んだ話(CPUクーラーの選択編)

    前回までで CPU 、 PC ケース、マザーボードなど、 PC の主要な部品を選定した話を書きました。 今回は CPU クーラー選定について書こうと思います。 前回の記事はこちらからどうぞ。 tsuna-can.hateblo.jp CPU クーラーの種類 CPU クーラーにはいくつかの種類があります。 一般的な用途の PC で使われているものに限定すると、以下のような種類があります。 空冷 トップフロー型 サイドフロー型 水冷 簡易水冷 本格水冷(本記事では一切触れません) それぞれがどういったものなのか、という話はここではあまり触れません。 こういった種類の中から、自分に適したものを選定す…

  • PCをRyzen 9 5900Xで組んだ話(マザーボードの選択編)

    前回はチップセットにB550をなぜ選んだか、といったあたりまで書きました。 今回はB550チップセットを搭載する様々なマザーボードの中から、何をどのように選択したのか、書いていこうと思います。 前回の記事はこちらからどうぞ。 tsuna-can.hateblo.jp マザーボードの選択手順 マザーボードを選定しようとすると、その数の多さや仕様の分かりにくさ、差異がどこにあるのかわからない、などなど、いくつも壁が出てくると思います。 なので、まずは種類を大きく絞り込めるポイントから順に選んでいきましょう。 WiFi 接続の有無 まず考えておいたほうが良いのは、ネットワークへの接続方式を決めること…

  • PCをRyzen 9 5900Xで組んだ話(X570 or B550 or A520の選択編)

    前回まででCPUとPCケース、グラフィックボードを選ぶところまで書きました。 今回からはマザーボードをどのようにして選んだかを書いていこうと思います。 マザーボードは本当にいろいろなことを考えて決めたので、何回かに分けて書こうかなーと思います。 手始めに、チップセットの選択のあたりから書いていきます。 前回の記事はこちらからどうぞ。 tsuna-can.hateblo.jp チップセットを選ぶ マザーボードを選ぶにあたって、最初に決めなければならないのはチップセットです。 通常CPUを選ぶと、対応したチップセットというのが決まってくるので、その中からどれを選択するか、ということになります。 R…

  • PCをRyzen 9 5900Xで組んだ話(グラフィックボードの選択編)

    前回はCPUとPCケースを選ぶところまで書きました。 今回はグラフィックボードをどのようにして選んだか、といったあたりを書いていこうと思います。 前回の記事はこちらからどうぞ。 tsuna-can.hateblo.jp メーカーを選ぶ Ryzen 5900Xは、CPU自体にグラフィックボードが付属していません。 そのため、グラフィックボードを別途用意しなければなりません。 現在世の中に出ているグラフィックボードは、主にAMDの開発しているRadeon、NVIDIAの開発しているGeForceという大きく2つの種類があります。 これらのGPUを使って、各社が様々な冷却機構を実装したグラフィックボ…

  • PCをRyzen 9 5900Xで組んだ話(その1)

    はじめに 2020~2021の年末年始で、PCを新しく構築しました。 構築にあたってどんなことを考えたのか、自分の記録のためにも残しておこうと思います。 考えたことを全部残すつもりで書くので、記事は適当なところで分割します。 今回は旧PCの紹介、問題点とかを書いて、CPU、PCケースを選定するあたりまで書きます。 旧PC 私が以前使用していたPCは、約6年前に構築したマシン(自作)でした。 構築した当初のスペックはこんな感じでした。 項目 構成 CPU Intel Core i7 4790K メモリ DDR3 4GB × 2枚 記憶装置 80GB 2.5インチSSD × 1、512GB 2.5…

  • VM や k8s 環境へのデプロイ前に人手の承認処理を挟み込む

    Azure Pipelines で VM や k8s 環境にアプリケーションを配置するには Environments という機能を活用します。 これについては既に以下の記事で解説しました。 tsuna-can.hateblo.jp 今回は、エンプラ系のしっかりとした開発プロセスでも、こういった機能を活用できるようにするリリース前承認の機能を解説します。 やりたいこと 開発/テスト環境、本番環境に対して、自動デプロイを行います。 開発/テスト環境には、特に承認の作業なくアプリケーションをデプロイできるようにします。 本番環境へのデプロイは、開発/テスト環境での動作を確認できた後に、人の承認があっ…

  • プロジェクトのプロセステンプレートを変更する方法

    はじめに 最近 Auzre DevOps ってプロセスを最初に決めると変えられないの困るよね、みたいな話をよく聞きます。 いつのスプリントで実装されたのか記憶から消えてしまったのですが、実は変更できるようになっています。 操作方法 組織のページに入り左下の [Organization settings] を押下します。 左側のメニューから [Boards] → [Process] メニューを選択します。 [Process] メニューを選択 右側に現在組織内で利用できるプロセステンプレートの一覧が表示されます。 何もしていなければ、 [Basic] [Agile] [Scrum] [CMMI] …

  • Azure DevOps でチームやグループ宛のメンションをしてもメール配信されないときに確認すること

    Azure DevOps では、いろいろなところでメンションを行うことができます。 「@<ユーザー名>」や「@<チーム名>」のように入力することで、メンバーに対してメール送信を行うことができます。 非常に便利な機能なのですが、チーム宛てやグループ宛てにメンションをしようとしたとき、以下のようなメールがメンションした人に送られてくることがあります。 <チーム名 or グループ名> cannot be mentioned in <メンションした場所>. The identity is not configured to receive notifications. 今回はこのような状態になってしま…

  • Chromium 版 Edge 用の Test & Feedback 拡張機能を試す

    Chromium 版 Edge で使える Test & Feedback の拡張機能がリリースされていましたので紹介します。 Test & Feedback 拡張機能とは Web アプリケーションの手動テストを実施する際、不具合などの報告を Azure DevOps にログインすることなく、ブラウザーから直接行うことのできる拡張機能です。 わざわざ Azure DevOps にログインして Work Item を起票することなく、簡単に報告を上げることができるのが、この拡張機能のウリといえます。 またブラウザー上でのテスターの操作記録を自動的に取得してくれるため、不具合の再現性を高めることもで…

  • Azure Pipelines の PowerShell タスクから警告/エラーログを出す方法

    Azure Pipelines で PowerShell を組んでいると、パイプラインの実行エラーや警告をログ出力したくなるケースがよくあります。 ただログを出力したいだけであれば、 Write-Host コマンドレットを使って標準出力に文字列を出力しても問題ありません。 しかし、以下のようにパイプラインの実行結果のトップ画面である Summary ページに、エラーや警告の情報を出力できたらより良い状態になります。 Summary 画面の通知 今回はこのような出力 Azure Pipelines から行う方法について解説します。 環境 今回は PowerShell タスク(v2)を用います。 …

  • Surface Laptop 3 を冷却台で冷やしてみよう 後編

    前編では、ノート PC 冷却台の効果が本当にあるのかを検証しました。 中編では、実際に事務作業を行う中で、ノート PC 冷却台の効果がどの程度あるのかを検証しました。 後編となる今回は、 Surface Laptop 3 に最大の負荷をかけたとき、ノート PC 冷却台がどの程度効果を発揮するのか、検証してみようと思います。 検証の目的 前編、中編と、どちらかというと PC に対して低負荷の状態で、ノート PC 冷却台の効果を検証してきました。 主な PC の使い方だけ考えれば、こういった検証だけでも十分かもしれません。 しかし、私はこの PC を使ってソースコードのビルドや自動テストを日々実行…

  • Surface Laptop 3 を冷却台で冷やしてみよう 中編

    前編では CPU の負荷テストツールである CpuStres を使って、 Surface Laptop 3(Core i7、16GB RAM、256GB SSD)に負荷を与え、本当にノート PC 冷却台の効果があるのかどうかを検証しました。 その結果、 CPU の温度上昇を抑える効果がある程度認められることを確認しました。 tsuna-can.hateblo.jp 中編となる今回は、一般的な事務作業を行ってみたときの発熱状態を確認し、ノート PC 冷却台がどの程度効果を発揮するか確認してみようと思います。 なぜ前編の結果だけではダメなのか 前編で確認したのは、 CPU に一定の負荷をかけてノー…

  • Surface Laptop 3 を冷却台で冷やしてみよう 前編

    最近 Surface Laptop 3 の13.5インチモデル(Core i7、16GB RAM、256GB SSD)を手に入れました。 Visual Studio とか SSMS とか、重たいアプリケーションを入れて実行しても、かなり軽快に動作していまして、大満足しています。 しかし、動作が早いってことはそれなりに発熱もするわけです。 セキュリティ対策のアプリケーションや、 Teams 、 Outlook 、ブラウザーといったいつも起動しているアプリケーションを動かしているだけで、本体(特に裏側のディスプレイサイド)が低温やけどするんじゃないか、程度に熱を持っています。 世の中の Surfa…

  • Azure Reposのメインブランチ名がmasterからmainに変わる話

    Azure Reposの既定のブランチ名がmainに変更されます。Sprint 173が配信されると、自分で既定のブランtに名を設定することもできるようになります。

  • Azure Pipelines のビルド結果画面にコードカバレッジの結果を表示する(.NET Core)

    Report Generatorを使って、Azure Pipelines のビルド結果画面にコードカバレッジの情報を出力できるようにしてみました。

  • マネージド ID を使って App Service から SQL Database にアクセスする 後編

    マネージド ID を用いて App Service に配置した Web Application から SQL Database にアクセスする方法を解説するシリーズ後編です。後編では、Azure 上にアプリケーションを配置して、 App Service 上の Web アプリケーションから SQL Database にアクセスするまでの手順を解説します。

  • マネージド ID を使って App Service から SQL Database にアクセスする 中編

    マネージド ID を用いて App Service に配置した Web Application から SQL Database にアクセスする方法を解説するシリーズ中編です。中編では、ASP.NET の Web アプリケーションでマネージド ID を取り扱う方法について解説します。

  • マネージド ID を使って App Service から SQL Database にアクセスする 前編

    マネージド ID を用いて App Service に配置した Web アプリケーションから SQL Database にアクセスするまでの手順を3回に分けて解説していきます。 今回はその前編として、マネージドIDとは何かを概念レベルから解説します。

  • Azure DevOpsから送信されてくるメールをプロジェクト別にフォルダへ振り分ける方法

    Azure DevOps の組織やプロジェクトに複数所属していると、各プロジェクトから送られてくるメールが全く同じアドレスから、同じようなタイトルで送られてきてしまいます。 普通にメールの振り分けを行おうとしても、送信元メールアドレスやタイトルなどから振り分けるルールを作るのはなかなか困難です。 今回は、 Azure DevOps から送られてくるメールを組織別、プロジェクト別に振り分ける方法を解説しようと思います。 なおこの記事に記載している内容は、2020年6月10日時点の動作に基づくものであり、今後変更される可能性もあります。 また解説している内容について、公式に仕様が明記されていない内…

  • Azure Pipelines の Windows ビルドマシンで bash タスクを使う際の注意点

    Azure Pipelines で Windows OS のビルドマシンを自前で準備したとき、 bash タスクが失敗することがあります。この記事では最もお手軽な解消方法を解説します。

  • 個人的によく使うAzure Pipelinesの定義済み変数まとめ

    Azure Pipelines で YAML を書いていると、毎回のように定義済み変数の名前を検索することになります。 変数名が長すぎて覚えきれない。 今回は YAML を書くとき私が個人的にめちゃくちゃよく使う定義済み変数をまとめておきます。 よく使う定義済み変数 変数の名前 意味 値の例 Agent.BuildDirectory または Pipeline.Workspace ビルドエージェント内に作成されるこのビルドパイプライン用のルートディレクトリ。どちらを使っても同じ値。 c:\agent\_work\1 Build.SourcesDirectory ソースコードをダウンロードしてくる…

  • GitHub のリポジトリに Boost Software License 1.0 を適用する方法

    GitHub で公開リポジトリを作成する際、最初にライセンスを選択すると思います。 GitHub のヘルプを読むと、「Boost Software License 1.0」 が選択できるようなのですが、 UI 上このライセンスが選択できません。 ライセンスの選択 今回は「Boost Software License 1.0」を選択する方法を紹介します。 この手順は 2020/05/08 時点の手順であり、今後変更される可能性があります。 リポジトリの作成 まずはライセンスなし(None)でリポジトリを作成します。 ライセンスは一旦 None にする ライセンスの追加 リポジトリ作成後、以下の …

  • Azure Pipelines で Windows サービスの停止/開始を安全に行うテンプレートを作る

    Windows サービスをデプロイするリリースパイプラインを作ろうとすると、リリースパイプライン内で Windows サービスを停止したり開始したりする必要があります。 Windows サービスは常駐プロセスなので、一度停止しないとモジュールの交換ができません。 ということで、今回は Windows サービスの停止/開始を行う Azure Pipelines の YAML テンプレートのご紹介です。 環境 Windows 10 1909 .NET Framework 4.8 前提条件 今回紹介するビルド/リリースパイプラインは、インストール済みの Windows サービスを置き換えるためのパイ…

  • Visual Studioでファイルを簡単にネスト表示する方法

    Visual Studio を使っていると、一部のファイルがネスト表示されることに気づくと思います。 ネスト表示されるファイル 物理フォルダを見ると、これらのファイルはフラットに配置されていることがわかります。 ファイルはフラットに配置されている Visual Studio のソリューションエクスプローラー上の表示がネスト表示されているだけなんですよね。 このネスト表示、既存のファイルを読み込んだりすると、壊れてしまうことって結構あります。 壊れてしまうと、プロジェクトファイルを手修正する必要があって、すごくめんどくさいなーとか思ったことありませんか? あと ASP.NET Web アプリケー…

  • App.config に対して XML 変換を行う Azure Pipelines の YAML テンプレートを作る

    ASP.NET のプロジェクトを作成すると、 Web.config ファイルが生成されます。 それと同時に、Web.Debug.config と Web.Release.config が作成され、アプリケーションの発行を行う際の構成にあわせて、 Web.config の変換を行ってくれます。 今回はこの構成ファイルの書き換え機能を App.config に対して実行できるような Azure Pipelines のテンプレートを作ってみようと思います。 環境 Visual Studio 2019 .NET Framework 4.8 コンソールアプリケーション(App.config のあるプロジ…

  • Azure Pipelines の YAML テンプレートにある buildPlatform の設定に注意しろ

    地味にはまったので供養のためメモを残しておきます。 本稿は 2020/4/15 現在の情報を示すものであり、 Azure Pipelines および Visual Studio の更新によって、将来当てはまらなくなる可能性を含んでいることに注意してください。 結論から言うと。。。 Azure Pipelines の ASP.NET や デスクトップ .NET アプリケーションの YAML テンプレートを使うとき、テンプレートとして出力される YAML を必ず見直しましょう。 具体的には以下の 3 つのテンプレートのことを言っています。 ASP.NET ASP.NET Core (.NET Fr…

  • Azure Pipelines の YAML から Azure Key Valut のシークレットにアクセスする

    シークレットとは、秘匿しておきたいデータのことを言います。 例えば、本番データベースへの接続文字列などがこれに当たります。 Azure にはシークレットを管理するサービスとして、 Azure Key Vault があります。 今回はこれを Azure Pipelines の YAML から利用できるようにする手順を解説しようと思います。 Service Connection を追加する Azure Key Vault を作成する シークレットの登録 Azure Pipelines に YAML を追加する YAML から Azure Key Vault にアクセスする YAML 内で Azur…

  • はてなブログで自動的にPing送信する方法(Azure Logic Apps で RSS フィードをトリガーとして使用する)

    Azure Logic Apps で RSS フィードをトリガーにした処理を作ってみました。はてなブログに新たな記事を投稿したら、自動的ににほんブログ村にPingを送る仕組みを作っています。

  • Data Explorer を使って Cosmos DB にデータを登録/検索する方法

    Data Explorer を用いて Cosmos DB にアクセスする手順を初心者向けに解説しました。Data Explorer は Cosmos DB Emulator に付属するものを使用しています。

  • ローカルマシンで Cosmos DB を実行する

    Azure のサービスの 1 つに、 Cosmos DB というデータベースサービスがあります。 データベースと言っても、ドキュメント DB や Key-Value Store など、リレーショナルデータベースではないデータベースサービスです。 こいつの特徴を簡単に言うなら、地理冗長の構成を作るのがめちゃくちゃ簡単であり、高可用性を実現するのが容易、ということでしょうか。 ただ、お値段が非常に高額であるというデメリットもあります。 利用料は、 1 秒間にどれだけのデータを読み書きするかによって決まります。 2020 年になって、 1 つの Azure サブスクリプションに対して 1 つだけ、無…

  • 1つのソリューション内でC#とVBを使う

    最近 C# と VB を混在させる話をよく質問されたので回答しておきます。 C# と VB はソリューション内に混在できる 結論から言うと、これは可能です。 VB のプロジェクトと C# のプロジェクトを用意し、プロジェクト参照を行うことで、 1 つのソリューション内で複数の言語を取り扱うことができます。 C# と VB を混在させたソリューション このような形で別の言語で作成したプロジェクトを、参照に追加することができるようになっています。 そうすると、以下のように C# のプロジェクトから VB のプロジェクトを呼び出すことが可能になります。 Public Module Math Publ…

  • Visual Studio 2019 のタブ表示を切り替える

    Visual Studio 2019の小ネタポストです。 Visual Studio を用いてそこそこ大きなプロジェクトを開発していると、知らず知らずのうちに大量のファイルを用いて開発を進めていくことになります。 何も設定しないでVisual Studioを使っていると、以下のようにファイルはブラウザのタブ表示のような形状で表示されます。 ファイルのタブ表示 これは割と厄介で、大量にファイルを開いていると、最初の方に開いたファイルがドロップダウンの中に隠されてしまい、各ファイルへのアクセスが悪くなります。 ファイルがドロップダウン内に隠れる 同じような名前のファイルをたくさん開いていると、タブ…

  • Azure ReposリポジトリにGitHubリポジトリの最新の状態を反映する方法

    インポート元のGitHubリポジトリに対して行われた修正を、Azure Reposのリポジトリに反映する方法について解説します。なお今回はVisual Studioを使った方法を解説します。コマンドラインでも同等のコマンドを発行することで、同じことができます。

  • GitHubのリポジトリをAzure Reposにインポートする

    GitHubやAzure Reposにはフォークという機能があります。 フォークという機能はGitの機能ではなく、GitHubやAzure Repos単独の機能です。 なのでGitHubのリポジトリをフォークしてAzure Reposに持ってくることは仕組み上できません。 しかし、Azure Reposには別のリポジトリをインポートする機能があります。 この機能を用いると、GitHubのリポジトリをAzure Reposに持ってくることができます。 簡単にその手順を残しておきます。 GitHubのリポジトリのURLを取得する まずはAzure ReposにインポートしたいGitHubのリポジト…

  • HttpClientを使ってHTTPリクエストの送信前後に任意の処理を差し込む方法

    .NET Framework 4.5で追加されたHttpClient、非常に便利に使うことができていい感じですよね。 Web APIへのアクセスを簡単に実装できて素晴らしい。 docs.microsoft.com そんなHttpClientですが、HTTPリクエストを送信する前後に、自由に処理を差し込むことができるようになっています。 本稿ではHttpClientがどのような仕組みで動作するかを簡単に触れて、HTTPリクエストの送信前後に任意の処理を差し込む方法について書いてみようと思います。 前提とする環境 .NET Framework 4.8 HttpClientの仕組み HttpClie…

  • ASP.NET Web APIでPOSTリクエストを処理するときスレッドが変わる

    .NET Framework ベースの ASP.NET Web API を用いた開発を行っていて、ちょっとよくわからない挙動に出くわしたのでメモ代わりに残しておきます。 環境 何がやりたかったのか ログ出力するコード Guid の発行処理を追加する API コントローラーを追加する Restlet Client で呼び出してみる コンソールアプリケーションを作成して Web API を呼び出す Guid の保存場所を変える Global.asax Logger 環境 .NET Framework 4.8 ASP.NET Web API 5.2.7 何がやりたかったのか 今回のシステムではクライ…

  • Chromium版Edgeにブラウザを乗り換えてみた

    2020/1/15にChromium版の新Edgeブラウザーがリリースされました。 私は個人的にも社内でも、ずいぶん長い間Google Chromeを使っていたのですが、今回しばらくぶり(多分10年単位ぶり)に常用ブラウザーを新Edgeに乗り換えてみることにしました。 なぜChromium版Edgeに乗り換えるのか Chromeと同等だから ブラウザーのプロフィールがMSアカウント、Offece 365のアカウントで作成できるから プロファイル別にブラウザーを起動するショートカットが作成できる IEモード Chromeの拡張機能が使える まとめ なぜChromium版Edgeに乗り換えるのか …

  • Azure PipelinesでYAMLを使って仮想マシンにアプリケーションをデプロイする

    Azure Pipelinesには、アプリケーションをデプロイするためのリリースパイプラインを、GUIで作る機能がありました。 この機能は大変便利なのですが、既に「Classic」と表現されていて、徐々に消えていく運命にあります。 今からやるなら、ビルド/リリースパイプラインの定義をYAMLで作り、ソースリポジトリと一緒に管理していくのがよい、とされています。 Azure PipelinesにもYAMLを使ったビルドパイプラインを作る機能があるのですが、悲しいかな仮想マシンに対してアプリケーションをデプロイすることが、標準的な方法では準備されていませんでした。 しかし、2019年末のSprin…

  • Azure Pipelinesで複数のリポジトリを使ったビルドパイプラインを構築する

    Azure Pipelinesを使って、複数のリポジトリをチェックアウトするビルドパイプラインを構築する方法について解説します。

arrow_drop_down

ブログリーダー」を活用して、tsuna-canさんをフォローしませんか?

ハンドル名
tsuna-canさん
ブログタイトル
ツナ缶雑記
フォロー
ツナ缶雑記

にほんブログ村 カテゴリー一覧

商用