2023-01-01から1年間の記事一覧

2023年ふりかえり

2023年も、英語と個人開発まったく進捗なかった。 Google Playストアが個人開発者締め出しともとれる施策始めて、厳しい時代到来。スマホアプリ作ろうと思っていたが、もうWebアプリしかないのか。Webアプリで自分が使いたいネタ無いんだよな。 2023年の後半…

C# で Azure SQL Databaseの長期バックアップ保有期間を変更する

Azure.ResourceManager.Sql を使って、SQL Database の長期バックアップも設定できる。 www.nuget.org 毎月 1 回目のフルバックアップを 2 ヶ月保有するように変更するサンプルは次の通り。 using Azure.Identity; using Azure.ResourceManager; using Azure…

C# で Azure SQL Databaseの自動バックアップ保有期間を変更する

Azure.ResourceManager.Sql を使って、SQL Database の PITR を設定できる。 www.nuget.org PITR の保有期間を 14 日間に変更するサンプルは次の通り。 using Azure.Identity; using Azure.ResourceManager; using Azure.ResourceManager.Sql; using Azure.R…

C# で Azure Entra ID に登録されているアプリにロールを割り当てる

Azure.ResourceManager.Authorization を使えばできた。 www.nuget.org リソースの共同作成者を割り当ててみたサンプル。 using Azure; using Azure.Core; using Azure.Identity; using Azure.ResourceManager; using Azure.ResourceManager.Authorization; …

ほったて小屋 ラーメンスタジアム店

福岡市西区野方にある「ほったて小屋」が、キャナルシティのラーメンスタジアムに出店していた。車を持っていない身としては、櫛田神社前駅そばなので行きやすい。本店行くより早く着けそう。さっそく行ってみた。 濃厚鶏塩白湯ラーメンの食券を購入。麺はス…

C# で Microsoft Azure の DNS ゾーンに A レコードを登録する

Azure.ResourceManager.Dns パッケージを使って DNS ゾーンを操作できる。 www.nuget.org A レコードを追加するサンプルコードは次の通り。既存のパブリックIPアドレスリソースのエイリアスにしている。 using Azure; using Azure.Identity; using Azure.Res…

渡くんの××が崩壊寸前(16)

15巻最後の石原さんからの爆弾は、直人の鉄の石で回避した。さすがにここで流されたらおしまいよ。直人が成長していて安堵。 多摩代さんは、てっきり作家か何かと思っていた。まさか弁護士だったとは。3人が暮らしていた家は、多摩代さんが買った家ではなく…

C# で Microsoft Azure のパブリックIPアドレスを作成する

Azure.ResourceManager.Network パッケージを使う。 www.nuget.org パブリック IP アドレスが無ければ作成するサンプル。 using Azure; using Azure.Core; using Azure.Identity; using Azure.ResourceManager; using Azure.ResourceManager.Network; using …

渡くんの××が崩壊寸前(15)

ついに直人と紗月が交際開始。東京と横浜なので、遠距離っちゃ遠距離だから、夏休み限定半同棲生活するなんて大胆だ。直人は両親の件もあるから、卒業まではプラトニックでいるみたいだけど。 将来もちゃんと考えているようで、紗月が大学進学は意外。直人は…

A10 - Resort Hotel

atcoder.jp 左からと右からの累積MAX(?)を計算しておく。 var N = int.Parse(Console.ReadLine()!); var A = Console.ReadLine()!.Split(' ').Select(x => int.Parse(x)).ToList(); var D = int.Parse(Console.ReadLine()!); var Q = new List<(int Left, i…

C# で Key Vault にシークレットを登録する

Azure.Security.KeyVault.Secrets を使えば、Microsoft Azure Key Vault にシークレットを登録できた。 www.nuget.org 以下サンプルコード。シークレットの取得もやってる。 using Azure.Identity; using Azure.Security.KeyVault.Secrets; var client = new…

オクトパストラベラーⅡ

はじめに オクトパストラベラーⅡをクリアした。8人のストーリ、最終章、サブシナリオ、裏ボスも倒して完全クリア。 バトルシステム シールドとブレイク、ブーストは今作も健在。そして新たに底力が加わった。底力MAXで使える、キャラクター固有の能力のおか…

C# で Microsoft Entra ID にアプリを登録する方法

Microsoft Graph SDK を使う。Azure SDK ではなかった。 www.nuget.org アプリが既に存在するか検索し、なければ登録するコードは次の通り。 using Azure.Identity; using Microsoft.Graph; using Microsoft.Graph.Applications.Item.AddPassword; using Mic…

うどん日和

文化の日は福岡市美術館が無料なので、美術館を口実に六本松に行き、ランチで「うどん日和」に寄った。ここは最近ハマってる、「バナナマンのせっかくグルメ」で紹介された店。 妻は日村が食べたアボカドと海老天ぶっかけ、子どもはわかめうどん。自分はギリ…

Terraform で AKS と Windows ノードプールを作成

Windows ノードプールは自動スケールアウトを有効にしてみた。 resource "azurerm_resource_group" "example" { name = "rg-example-dev" location = "japaneast" } resource "azurerm_kubernetes_cluster" "example" { name = "aks-example-dev" resource_g…

B09 - Papers

atcoder.jp ABとCDが座標というのを理解していなくて、1まわり大きい面積を計算してしまっていた。実際に手計算して気付けたけど、結構嵌まってしまったな。 var N = int.Parse(Console.ReadLine()!); var A = new int[N]; var B = new int[N]; var C = new …

A09 - Winter in ALGO Kingdom

atcoder.jp 配列のインデックスが配列に格納されているような形なんで、ミスしてもなかなか気付かずハマった。配列の中身を出力するコードを一時的に足して、間違っていた箇所にようやく気付けた。 var HWN = Console.ReadLine()!.Split(' ').Select(x => in…

B08 - Counting Points

atcoder.jp 点の座標を二次元配列にプロットしてから、二次元累積和を計算。 x座標用のループ変数はx、y座標用のループ変数はyと名前付けしたら、混乱が緩和された気がする。 const int H = 1500 + 1; const int W = 1500 + 1; var N = int.Parse(Console.Re…

A08 - Two Dimensional Sum

atcoder.jp 回答する際の、配列のインデックス指定で混乱した。変数名にもうちょい工夫が必要だったな。 var input = Console.ReadLine()! .Split(' ') .Select(x => int.Parse(x)) .ToList(); var H = input[0]; var W = input[1]; var X = new int[H, W]; …

B07 - Convenience Store 2

atcoder.jp 前の時間帯と比べて何人増減したかを計算して、次にその累積和を計算。 var T = int.Parse(Console.ReadLine()!); var N = int.Parse(Console.ReadLine()!); // 例えば0時から10時までの営業で、 // 5時から10時まで働く従業員がいた場合、 // B[…

A07 - Event Attendance

atcoder.jp 前日比を計算してから、前日比の累積和を計算。 var D = int.Parse(Console.ReadLine()!); var N = int.Parse(Console.ReadLine()!); // 前日比を計算 var B = new int[D + 2]; // 0 日目と D + 1 日目も含める for (var i = 0; i < N; i++) { va…

洋食や 三代目 たいめいけん ららぽーと福岡店

キッザニア福岡に行ったついでに、ららぽーと福岡のフードコートに出店している「洋食や 三代目 たいめいけん」で早めの夕食を食べて帰った。オープン当初はフードコートはほぼ満席で、たいめいけんの前に行列が出来ていたな。平日はさすがに超余裕。 オムラ…

キッザニア福岡

子どもの小学校が秋休みだったので、家族でららぽーと福岡のキッザニアに行ってきた。秋休みとはいえカレンダー上は平日なので、ライバルが少ないのでは、という読み。 入場開始時間ギリギリに到着。思っていた以上の行列だったけど、初なので多いのかどうか…

B06 - Lottery

atcoder.jp アタリとハズレの累積和をそれぞれ計算しておく。0 番目の累積和として 0 を追加しておくテクニックを使ってみた。 var N = int.Parse(Console.ReadLine()!); var A = Console.ReadLine()!.Split(' ').Select(x => int.Parse(x)).ToList(); var Q…

A06 - How Many Guests?

atcoder.jp (R日目までの累積来場者数) - (L - 1 日目までの累積来場者数)を愚直に実装してみた。 var NQ = Console.ReadLine()! .Split(' ') .Select(x => int.Parse(x)) .ToList(); var N = NQ[0]; var Q = NQ[1]; var A = Console.ReadLine()! .Split(' '…

KiKi 花椒チリー

台湾発のインスタント麺 KiKi がすごく美味いらしい、というネット情報が気になって、福岡市内のスーパーを探し回ったけど見つからず。カルディや北野エースにも無かった。諦めきれなかったのでネットで購入。4個パックというのはちょっとした賭け。過去に辛…

B04 - Binary Representation 2

atcoder.jp 2進数を10進数に変換。 var N = Console.ReadLine()!; var answer = 0; for (var i = 0; i < N.Length; i++) { var m = Math.Pow(2, N.Length - 1 - i); if (N[i] == '1') { answer += (int)m; } } Console.WriteLine(answer);

A05 - Three Cards

atcoder.jp 3重ループだと時間切れになるので、2重ループで。 var input = Console.ReadLine()!.Split(' '); var N = int.Parse(input[0]); var K = int.Parse(input[1]); var answer = 0; for (var r = 1; r <= N; r++) { for (var b = 1; b <= N; b++) { v…

A04 - Binary Representation 1

atcoder.jp 10桁目から計算開始し、桁を下げていく。 var N = int.Parse(Console.ReadLine()!); var answer = ""; for (int i = 9; i >= 0; i--) { var m = Math.Pow(2, i); answer += (int)(N / m); N = (int)(N % m); } Console.WriteLine(answer);

B03 - Supermarket 1

atcoder.jp ただの 3 重ループだと商品が重複するので WA になる。商品が重複しない工夫が必要。 var N = int.Parse(Console.ReadLine()!); var A = Console.ReadLine()!.Split(' ').Select(int.Parse).ToList(); var answer = false; // 組み合わせなので、…