銀の光と碧い空

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

Visual Studio 2019 Launch Event in Tokyoで.NET Core向けコンテナおよびデバッグ関連のVisual Studio 2019の機能について話しました

Visual Studio 2019 Launch Event in Tokyoを開催しまして、登壇もしました。

connpass.com

発表資料はこちらです。

www.slideshare.net

今回、手持ちのノートPCがなく、miracast経由でのAndroid タブレットの接続か、AndroidスマホのUSB-C出力からのHDMI接続しかなく、事前の検証の結果より安定していたmiracast経由にしたのですが、あまり接続状態がよくなく見づらくなってしまいました。

また、今回 sli.do というオンラインのQ&Aサービスを使ってみたのですが、いつも口頭でいただく質問よりも数が多く気軽に質問してもらった気がします。これは次回以降も使ってみたいと思っています。

www.sli.do

以下、いただいた質問と回答です。

Q: Windowsとfor Macで同じようにDocker使えますか? それともちょっと違いますか??

A: ちょうどDocker DesktopをMacとWindowsの両方で使いだして間もないのですが、個人的には使い勝手はかなり同じ気がします。Macのほうが通常のサービスとして動く分、(WindowsはHyper-Vの仮想マシン経由のはず)使いやすいかなという気はします。

Q: ユーザシークレットに入れたものは、Git に保存されないのでOKかな?

A: はい、%APPDATA%以下に保存されるので、Gitによるソース管理外に保存されます。またGitに保存されないように使うための機能となっています。

Q: LibMan はビルド時にパッケージ取得してくれるのでしょうか? (dotnet build のときに自動取得してくれると CI/CD で楽でいいなと思っています)

A: デフォルトではされませんが、そのように設定できます。クライアント側ライブラリの管理を有効化するとlibman.jsというファイルが追加されますが、そのファイルの右クリックメニューでビルドの際にクライアント側ライブラリの復元を有効にするを選択することで設定できます。実際には、Microsoft.Web.LibraryManager.BuildというNuGetパッケージを追加することで、クライアント側ライブラリのパッケージ取得のビルドターゲットが追加されるようです。

Q: 普段の開発時にPC上のdotnetではなく、コンテナ上のdotnetでデバッグする利点はありますか?

A: ASP.NET Core/.NET Coreを使うのであればあまり利点がないように感じています。ASP.NET Core自体がコンテナ上と各種OS上で同じように動くように作られており、side by sideでのインストールも可能だからです。ASP.NET (Framework)であれば環境の隔離という利点があるように感じます。

Q: docker composeのいい感じに書けますか?

A: 今調べたところ、標準機能ではdocker composeのYAMLファイルの編集はファイル中の単語を入力候補に出す程度のサポートしかありませんでした。DockerfileはFROMRUNといったコマンドの引数まで認識して保管してくれます。

f:id:tanaka733:20190421225454p:plain
docker composeファイルの補完

f:id:tanaka733:20190421225532p:plain
Dockerファイルの補完

【Launch 記念】Visual Studio 2019 を試してみる会でGitクライアント機能について話しました

【Launch 記念】Visual Studio 2019 を試してみる会で登壇しました。

csugjp.connpass.com

資料だけだとなんのこっちゃな感じですが、公開しています。

www.slideshare.net

現地でチャットとか質問受けて調べたことをまとめておきます。

  • 個人的Visual Studio 2019のおすすめ機能は?

    .NET Coreのコンソールアプリで、コンソールが勝手に閉じなくなりましたConsole.ReadLine() する必要がなくなった)

  • Visual Studio 2019の新機能関連でEnterpriseとPro, Community の違いは?

    詳細なリストを見ると、新機能で違いがありそうなのはプレビュー機能のタイムトラベルデバッガーだと思われます。 visualstudio.microsoft.com

    いまのところタイムトラベルデバッガーはプレビューのASP.NET 4.8 必須なので、今後どうなるかまだわかりません。

タイムトラベルデバッガーとスナップショットデバッガーは(もう定員あふれてますが)「Visual Studio 2019 Launch Event in Tokyo.」の私のセッションでも紹介したいと思っています。

connpass.com

kubernetes on Azureで接続できる上限を超えた数のディスクをPVとして利用するPodをデプロイしたときの話

kubernetesをAzureで動かすとAzure DiskをPVとしてマウントできる機能があります。一方、Azure Diskは仮想マシンサイズごとに仮想マシンに接続できる上限が決まっています。というわけで、その上限を超えるようなディスクをPVとしてマウントしているPodをデプロイしようとすると、どうなるかという話です。 ちなみに、このような事象事態はAWSやGCPでもあるのですが、仮想マシンサイズごとに上限が違うというのはAzureだけの仕様のようで、ここがあとあと問題になってきます。

続きを読む