Microsoft Edge Developers Tool for Visual Studio (PREVIEW)

Visual Studio2022の拡張としてMicrosoft Edge Developer Toolというのがプレビューでリリースされている。

ASP.NETASP.NET CoreのプロジェクトのEdgeでの表示を確認するためのツールでVisual Studioのウィンドウ内でEdgeでの表示がされる。

似たような目的のものといえばホットリロードが上げられるがブラウザを使うことなくVisual Studioのみで表示の確認ができるところが新しい。

今のところ、Blazorのプロジェクトには対応していないというところが残念であるところだけども今後に期待したい。

f:id:tomo_k:20220310180543p:plain

 

marketplace.visualstudio.com

テレワーク買ってよかったもの

デスク&椅子

 

 

 

机と椅子は一体ということで同率一位ということにしました。

やはり、基本的に広い机ときちんとした椅子は作業環境に大きな寄与をします。

また、この机はモニターアームの取り付けにも考慮されているところが得点高いです。

 

モニター

 

 

FHDのモニターとしては高価な部類に入るEIZOブランドのモニター。

しかしながら、ほぼ一日中使用するモニターだからよいものを選択したいもの。

これをテレワークの作業用モニターに代えてから目の疲れ方がかなり軽減されたように思います。やはり、モニターはEIZO

 

モニターアーム

 

安価な部類のモニターアーム

しかし、モニターを空中に自由に移動できるのと移動できないのでは大違い。モニターアームではスタンドを置かなくてすむ省スペース性が注目されがちであるがやはり真の価値は利用シーンによって自由にモニターを移動できることであるだろう。

モニターのサイズは変わらなくてもモニターを手前に引き出すことで大画面風の迫力ある没入感を得られる。これはPCで動画を楽しむときや、ゲームするときなど役に立つ。

また、一つの作業に没頭するときなど必ずしも多くのモニターが必要ないときなどは特定のモニターだけ前に引き出して使うなどすると集中して作業できてよい。

 

オーディオインターフェース

 

テレワークではZoom、Teams、GoogleMeatといったオンライン会議がさかんである。

そういった会議に一つ上の音声品質を提供するのがオーディオインターフェースである。

とりわけ、YAMAHA AG03はオンライン会議やウェビナーに最適化されたオーディオインターフェースといえる。

ダイナミックマイクをつないでも十分なゲインを得られるし自分の声をモニターできるということで音に関する不安がかなり払拭できるそんなアイテムのように感じる。

 

マイク

 

マイクとしては定番のSM58

手元のスイッチ付きのものを推したい。

ウェビナーやWeb会議などでは必要十分な性能があり安心して使えます。

また、コンデンサーマイクと違い多少の荒っぽい使い方でも故障知らずで使えます。

コンデンサーマイクを推す向きも多いのですが扱いが繊細なところがあるのでハードな使用環境にも耐えるSM58を推薦します。

 

ヘッドフォン

 

スタンダードなモニターヘッドフォンっていうことで使っています。

正直、ヘッドフォンに関してはここまでのものは必要ないとは思いますが、AG03でモニターしている自分の音に関しておかしなところがないか変にノイズが乗ってないかというのをきちんとモニターできる性能を持っているのは確かと思います。

こと、音に関しては自分が送出している音は相手のためであるので自分の環境を整えるということは相手への思いやりにつながることと信じてます。

 

Webカメラ

 

 

ど定番のWebカメラです。

Amazonなどで売られている他のWebカメラと比較すると割高のように感じられますがその品質を考えると他の中国製メーカなどであたりを引くまで買うことを考えればあり何ではないかと思います。

AF速度、色バランスなどの写りはWebカメラとしては高バランスと思います。

もちろん、一眼カメラやGoProなどをWebカメラとして利用した場合に比べればそれなりになります。

 

キーボード

 

Majestouch MINLILA Air英語配列茶軸キーボード。

これに、2色成形キーキャップをセットしている

www.diatec.co.jp

f:id:tomo_k:20210511185405j:plain

デフォルト状態から、オプションのキーキャップをセットすることによりキーが2ミリほど高くなり打鍵感が変化する。

これにより全く別のキーボードのように生まれ変わる。

2色成形になっておりいわゆる金太郎飴のような形になっているので表面がすり減っても印字がすり減ることがないというところがとても好印象。

実際、すでに使用開始から半年経過していますが印字がすり減っている様子はなく今でもキートップの印字は健在です。

やはり、一番長く触っているのはキーボードだけに安物を使っていると腱鞘炎など自身の健康にも関わってくるのでよいものを選びたいですね。

また、コーディングが多いエンジニアにとっては日本語キーボードよりも英語キーボードの方が使いやすい場面が多いように感じます。

また、このキーボードを選択した最大の理由は矢印キーの位置。

カーソールを動かす頻度がとても多いのでホームポジションからできるだけ移動距離が短い位置に矢印キーがあるキーボードが必要です。そういう意味で、Majestouch MINILA Airは仕事用のキーボードとして最適でした。

 

お名前.COMのDNSをAzure DNSに移行した

お名前.COMでDDNSサービスを止めるよっていうことなので対策として以下のようにした。

 

今まで、musewiki.netで運用してきたものをwww.musewiki.netで見るようにする。

IIS側ではとりあえず、musewiki.netで来たものはwww.musewiki.netへ転送をかける。

とともに、周知をする。

とはいえ、DDNSで運用していたとはいえそうそうIPアドレスの変動はない。

 

www.musewiki.netはもう一つ持っているアドレスであるtomokusaba.aa0.netvolante.jpをCNAMEレコードに当てることで解決する。

netvolante.jpはYAMAHAルータを買うと使用できるDDNSサービスだ。

 

で、これらをAzureのDNSサービスに移行することとした。

DNSサービスまでは止めるよとはいっていないもののなんとなく。。。

 

というわけで、ざっくりとした以降手順。

まず、AzureでDNSゾーンを作成。

DNSゾーンでこれまで使っていたAレコードやらCNAMEなどの必要なレコードを入れておきます。

f:id:tomo_k:20211206063014p:plain

お名前.com側ではネームサーバーの設定で、Azureのネームサーバ情報を入力します。

f:id:tomo_k:20211204114858p:plain

これで、いわゆるNSレコードが書き換わるようです。

 

で、最後にこれまで使っていたお名前.COM側のDNS設定をすべて削除します。

これをしないとうまくいかなかったのでちょっと危険な感じがしたけども削除したことで最終的にAzureのDNSの方に切り替わってくれました。

f:id:tomo_k:20211206062718p:plain

 

.NETラボ 2021年11月登壇振り返り

タイトル

www.slideshare.net

.NET ラボ2021年11月に「.NET 6の期待の新機能とアップデート」というタイトルで登壇してきました。

dotnetlab.connpass.com

Linqのメソッド追加

 

これまで数々のセッションで.NET6についての紹介があったかと思いますが、他であまり触れられて来なかったアップデートとしてはLinqのメソッド追加です。

  • DistinctBy
  • UnionBy
  • IntersectBy
  • ExceptBy
  • MaxBy
  • MinBy

といったメソッドが追加になっています。

devblogs.microsoft.com

github.com

特に、MaxBy、MinByといったあたりは使用するケースが多くこれまでソートして先頭の要素を取り出していたのですが.NET6からは1発でできるようになり非常に便利になりました。

 

var people = new (string Name, int Age)[] { ("Francis", 20), ("Lindsey", 30), ("Ashley", 40) };
people.MaxBy(person => person.Age); // ("Ashley", 40)

文字列補完の高速化

文字列補完は特にログ出力などに多く使われているかと思いますが、String.Format()と比べ表記が見やすく可読性に優れているといえます。

従来の実装ですと、文字列補完はString.Formatと同等処理となります。今回、.NET6では新たにDefaultInterplatedStringHandler構造体を実装しコンパイラがこれに当てはまると判断したものについてはこの構造体で展開されていくこととなります。

これにより高速化が実現されています。

手元の実計測によりますと、ほぼStringBuilderと同等レベルの速度が出ています。

文字列補完の高速化計測結果

文字列補完の高速化計測結果

このことから、より積極的に文字列補完を使用していくべきと考えられます。