tech.guitarrapc.cóm

Technical updates

.NET 7 で WPF を Linux ビルドする

.NET 7 のリリースノートを見ているとふとWPFがあったので覗いてみると気になるリリースが含まれています。 devblogs.microsoft.com 引用: https://devblogs.microsoft.com/dotnet/wpf-on-dotnet-7/ Improve Linux build とは。.NET 7 で WPF がビルドできる…

新しいバージョンの .NET SDK と Visual Studio の更新

2022/11/8、.NET 7 がリリースされて、Visual Studio 2022 にも対応する更新 17.4.0 が降ってきました。ヤッター。 devblogs.microsoft.com これに伴い、Visual Studio の更新でインストールされている .NET SDK が意図せず変わるのに出会うのが3度を超えた…

Visual Studio 2022 で使っている拡張機能

VS2022 がリリースされて時間がたち、来月には .NET 7 もリリースされるのでVS2022 で利用している拡張機能を一度まとめておきます。 VS2022 から x64対応されたことで、VS2019 で利用できた拡張機能は非互換になりましたが、幸いにもVS2022 でも多くの拡張…

GitHub Actions でモノレポ上の特定パスをチェックアウトスキップしたい

モノレポでリポジトリサイズが大きくチェックアウトが長くて困ることがあります。 今回はこういったときにどうすることができるのかを考えてみましょう。 tl;dr; GitHub Actions でスパースチェックアウトをする CI におけるチェックアウトの基本 git clone …

Terraform に startswith と endswith が来る

Terraform はその言語である HCLがシンプルで分かりやすいのでとっつきやすい、と言われることがあります。 一方で、組み込み関数であれこれある割に、これがないの!? というのもあります。 そのなくてたびたび困るのが、startswith と endswith 関数です…

Visual Studio 2022 でインラインで型名やパラメーター名を表示する設定

C#

Visual Studio は便利ですが、Rider や Resharper を考えるとまだまだよくなる余地を感じます。 そんな中で Visual Studio 2022 になって有効にしている便利な設定をメモしておきます。 tl;dr; きっかけ Visual Studio でインラインでヒントを表示する Displ…

Azure SDK for .NET の認証を DefaultAzureCredential にそろえる

Azure SDK for .NET はなぜか AzureCredentials と DefaultAzureCredential という2つの認証方法があります。 今回は AzureCredentials しか受け付けない Azure SDK のクライアントに、DefaultAzureCredential で得た認証を使いたいというメモです。 tl;dr; …

Pulumi リソースのプロパティが変わってしまい create-replacement が発生する場合の対処方法

Pulumi のパッケージ更新をしたら、プロパティ名が変わっており craete-replacement が生じてしまう。 Pulumi SDK 側でプロパティ名が変更されると発生するのですが、普段出会うことはまずありません。 しかし稀に、プレビューパッケージを使ったり、プレビ…

Windows 11 で Microsoft Teams がログオン時に勝手に起動するのを止めたい

Windows 11 をインストールしたときに戸惑ったのが Microsoft Teams がログオン時に勝手に起動することでした。 使ってないこともあって、無意識に無効にしたのですが先日困っている人がいたので記事にしておきます。 勝手にログイン時に起動するくせにMicro…

Ubuntu 22.04 と WSL

Ubuntu 20.04 on WSL は非常に安定しており、また便利で好んで利用しています。 さて、Ubuntu 22.04 がリリースされ、WSL にも来ました。 そこで今回、今の Ubuntu 20.04 on WSL な環境を Ubuntu 22.04 にするにあたり対応したことをメモしておきます。 tl;d…

Pulumi で今のスタックを異なるプロジェクトのスタックに移動させる

Pulumi はステートを スタック (Stack) に保持しています。 スタックはリネームや別の Organization への移動はサポートされていますが、自分のOrganization の別プロジェクトへの移動はサポートされていません。 しかしスタックを後から整理したいときには…

RegoとConftest ことはじめ

Kubernetes の面倒なことといえばYAML、というのはよく聞くし私もそう思います。 YAMLが面倒なことはいくつもありますが、その一つに「YAMLの定義がポリシーとして正しいかの検証」があります。 コードを書いているときのように、YAML もポリシーにあってい…

Infrastructure as Code に最低限求めること

Infrastructure as Code (以降 IaC) で組むときに IaC ツールを選ぶ基準はいろいろあります。 IaCの言語がチームとって扱いやすいか、クラウドやサービスへのIaCの対応状況は早い/十分か、コミュニティの大きさは十分でググれば情報を入手できるか、実装がオ…

静音マウスと M650 SIGNATUREワイヤレスマウス

MxAnywhere3 は素敵なマウスですが、最近出た M650 SIGNATURE マウス (以降 m650) もいい静音マウスです。 2年前に静音マウスを試したときは「クリック感が鈍く、静音という割に音がする」と思ってやめていましたが、m650 はMxAnywhere3 に比べて違和感がす…

GitHub Actions で README にリポジトリのコードを埋め込みたい

README に、リポジトリにおいているコードを埋め込みたい時があります。 そんな時に便利なのが、embedme です。 github.com 今回は、GitHub Actions を使って README にリポジトリのコードを埋め込むことをしたので紹介します。 tl;dr; embedme の基本的な利…

Pulumi を C# で書くときに気を付けていること

Pulumi は複数の言語で書くことができるのですが、そのうちの一つに .NET (C#) もあります。 Languages より https://www.pulumi.com/docs/intro/languages/ 以前 Pulumi を C# で書く時の事始めシリーズを書いていましたが、あれから時間がたって書き方も変…

Pulumi で Stack解析中の例外でリソースが全て消えてしまうのを防ぐ

Pulumi は Stack の解析を行って、現在のステートとの差分でどのような処理をするか preview / up で表示します。 このため、Stack の解析中 (=コードをビルドして実行してStack生成中) に例外が生じたときにどのようにハンドルされるかは重要です。 今回は …

2021年を振り返って

毎年やっている昨年の振り返りをしてみます。2020年忘れてました。 2019年はこれ。 tech.guitarrapc.com 目次 目次 総合 経営 プログラミング CSharp IaC Kubernetes 記事 ライフスタイル 2022年は? 総合 2021年は、2020年にやったことをさらに深めていく年…

dotnet format を CI で行って継続的にコードフォーマットしていく

C#

この記事は Qiita C# Advent Calendar 2021 7日目の記事です。 Visual Studio や Rider での コードフォーマットは個人で使うにとても良く、開発上は必須といえます。 しかしチーム開発でコードフォーマットをいい感じに標準化させたい、労力かけずにフォー…

OSSライセンスを正しく理解するための本 を読んだ

OSSライセンス はむずかしい、のと同時にどんどん変わっていっているので学び続けないといけないというのがあります。 自分自身がOSSライブラリを公開しているので、ライセンスは何をつかうか、なぜというのをアップデートしていく必要があります。 一方で、…

東プレ REALFORCE R3HC12 にメインキーボードを変更した

Realforce R3 が発売されました。 これまで Realfoce が抱えていた不満がほぼすべて解消されたモデルに見えるので、メインキーボードに据えてみました。 前回の R2TLS-JP4 から約4年での新モデル、実際どうなのか見てみます。 tech.guitarrapc.com tl;dr; 簡…

Cascadia Mono の検討

プログラミング用のフォントは、前回は DevaVu Sans Mono Bront が今一番好みとしました。 しばらく、パッと思うのがなかったのですが、Windows Terminal に入った Cascadia Mono (合字ありは Cascadia Code) がいいという噂を聞いて、実際採用するか検討し…

GitHub Actions で configure-aws-credentials を使った OIDCではまったこと

GitHub Actions の OpenID Connector と AWS の OIDC Provider を使うことで、IAM Role を Assume できるというのは前回書きました。 tech.guitarrapc.com 構築中によく出るエラーに関しても書いたのですが、いざ実際に使おうとしたら別のエラーではまったの…

GitHub Actions が OpenId Connect に対応したので AWS OIDC Provider と連携する

前々から言われていた GitHub Actions で OpenID Connect 経由で、各種Cloud Provider の認証を得るのが GA しました。 めでたい。 github.blog これにより、aws-actions/configure-aws-credentials のみで認証が組めるようになったので見てみましょう。 git…

Git GUIクライアントと GitKraken と Fork

Git の GUI クライアント、いろんなツールがあってそれぞれ使いやすさがあります。 ここしばらくはForkをメインで使っていた中で、私がForkに感じた良さと苦手なことをメモしておこうと思います。 普段私は、GitKraken をメインにしていますが、サイズの大き…

LinqPad の設定

C#

LinqPad 7 へのアップグレードが可能になっています。 今現状は LinqPad 7 ではなく 6になりますが、すでに LinqPad 6ライセンス持っている人は今なら早期アップグレードでディスカウントが大幅に利くのでお得です。具体的には、Premium 使ってても Pro の新…

GitHub Actions のローカル Composite Action で歯がゆいこと

GitHub Actions の Composite Action (複合ステップアクション) は便利なのですが、制約や歯がゆいことが多く悩ましいものがあります。 では何が難しいと感じているのか、その対処をどうしているのかメモしておきます。 tl;dr; Composite Actions とは Compo…

Azure Bicep の設計 Resource編

前回は、Bicep の性質から、どういう基本設計でIaC を指向するか書きました。 tech.guitarrapc.com 今回は、実際に Bicep Resource を使って書くときに、どういう工夫が必要なのかメモしておきます。 tl;dr; Bicep Resource Preview リソースと ARM Template…

Azure Bicep の設計

Azure の構成を IaC したいとなると、おおむね選択肢は次の3つになりそうです。 ARM Template Terraform Pulumi Terraform と Pulumi はおおむね同じ性質ですが、Pulumi は Azure に対しては他のクラウドよりも優先的に機能が入るのでちょっと面白いです。 …

ロジクールMX Anywhere3 に変えた

普段からどうしてもほしいものはない、のですがマウスだけはずっと満足いかずたびたび探しています。 ずっと使っているのが、ロジクールMX Master / MX Anywhere シリーズで、職場と自宅などでシリーズ初めから使っています。 MX Master は大きいので、MX An…