tech.guitarrapc.cóm

Technical updates

UniFi Dream Router で MAP-E方式の IPv6 に対応する

UniFi Dream Machine (UDM) をMAP-E方式のIPv6で利用できることを以前紹介しましたが、先日発売されたUniFi Dream Router (UDR) でも同じことはできるのでしょうか? tech.guitarrapc.com 早速、UDMからUDRに乗せ換えて構成してみましょう。 internet.watch.i…

.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関数です。 tl;dr…

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

C#

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

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

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

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

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

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

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

Ubuntu 22.04 と WSL

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

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

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

RegoとConftest ことはじめ

Kubernetesの面倒なことといえばYAML、というのはよく聞くし私も同意です。 YAMLが面倒なことはいくつもありますが、その1つに「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は複数の言語で書くことができるのですが、そのうちの1つに .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年にやったことをさらに深めていく年でした。 20…

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のみで認証が組めるようになったので見てみましょう。 github.com tl;dr; 動作例 …

Git GUIクライアントと Fork

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

LinqPad の設定

C#

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

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

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

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に対しては他のクラウドよりも優先的に機能が入るのでちょっと面白いです。 とはいえ、…