iReal の URL Scheme についてハマってる(悪い意味で)

たったこれだけの制御が意外とむずい。canLaunchUrl と launchUrl の処理周りのお話。

たぶんこれから地獄のようにポチポチするので手順をメモっとく。

手順

準備:ブラウザの履歴とかクッキーとか全部消す

  1. iReal を持ってない状態で Flutter Web を開く
  2. iReal のリンクを踏む
  3. iReal 購入しろやボケェのダイアログが出る
  4. iReal をインストールする
  5. Flutter Web から再度 iReal のリンクを踏むとちゃんと表示される
  6. iReal をアンインストールする
  7. Flutter Web から再度 iReal のリンクを踏むと iReal 購入しろやボケェのダイアログが出る

これを3回くらい繰り返しても不具合出ないようにしたいンゴ...

怒りのクリーンビルドシェル

.firebase を削除することで解決した問題や flutter clean で解決した問題があったので、怒りのクリーンビルドシェル書きました。

.firebase の削除はここで学びました。マジ卍。

iroiro.greenspace.info

趣味で自分しか使わないので、これだけ。

# deploy.sh
rm -rf .firebase
flutter clean
flutter pub get
flutter build web --release
firebase deploy

CKAの内容が改定されるので、ChatGPTに聞いてみた。

モデル

4o mini

プロンプト

以下から改定前、後のドメインを取得しコピペ

training.linuxfoundation.org

training.linuxfoundation.org

CKAの試験内容が改定されます。以下に改定前と改定後のドメインについて記載するので、新たにどのようなスキルが必要になったのかを教えてください。

<改定前>
ストレージ10%
ストレージクラス、永続ボリュームを理解する
ボリューム モード、アクセス モード、およびボリュームの再利用ポリシーを理解する
永続ボリューム要求プリミティブを理解する
永続ストレージを使用したアプリケーションの構成方法を知る

トラブルシューティング30%
クラスタとノードのロギングを評価する
アプリケーションの監視方法を理解する
コンテナの標準出力と標準エラー ログを管理する
アプリケーションの障害のトラブルシューティングを行う
クラスタ コンポーネントの障害のトラブルシューティング
ネットワークのトラブルシューティングを行う

ワークロードとスケジューリング15%
デプロイメント、およびローリング アップデートとロールバックの実行方法を理解する
ConfigMapとSecretを使用してアプリケーションを構成する
アプリケーションのスケーリング方法を知る
堅牢な自己修復アプリケーション デプロイメントの作成に使われるプリミティブを理解する
リソース リミットがPodスケジューリングにどのように影響するかを理解する
マニフェスト管理と一般的なテンプレートツールの認識

クラスタのアーキテクチャ、インストール、構成25%
ロール ベース アクセス コントロール(RBAC)を管理する
Kubeadmを使用して基本的なクラスタをインストールする
高可用性Kubernetesクラスターを管理する
Kubernetesクラスタをデプロイするためのインフラをプロビジョニングする
Kubeadmを使用してKubernetesクラスタでバージョン アップグレードを実行する
etcdのバックアップと復元を実装する

サービスとネットワーキング20%
クラスタ ノードのホスト ネットワーク構成を理解する
Pod間の接続を理解する
ClusterIP、NodePort、LoadBalancerサービス タイプとエンドポイントを理解する
IngressコントローラーとIngressリソースの使用方法を理解する
CoreDNSの構成方法と使用方法を理解する
適切なコンテナ ネットワーク インターフェイス プラグインを選択する

<改定後>
ストレージ – 10%

ストレージ クラスと動的ボリューム プロビジョニングを実装する
ボリューム タイプ、アクセス モード、再利用ポリシーを構成する
永続ボリュームと永続ボリューム要求を管理する
トラブルシューティング – 30%

クラスタとノードのトラブルシューティングを行う
クラスタ コンポーネントのトラブルシューティングを行う
クラスタとアプリケーションのリソース使用状況を監視する
コンテナ出力ストリームの管理と評価を行う
サービスとネットワークのトラブルシューティングを行う
ワークロードとスケジューリング – 15% 

アプリケーションのデプロイメント、およびローリング アップデートとロールバックの実行方法を理解する
ConfigMapとSecretを使用してアプリケーションを構成する
ワークロードの自動スケーリングを構成する
堅牢な自己修復アプリケーション デプロイメントの作成に使われるプリミティブを理解する
ポッドの許可とスケジューリング(リミット、ノード アフィニティなど)を設定する
クラスタのアーキテクチャ、インストール、構成 – 25%

ロール ベース アクセス コントロール(RBAC)を管理する
Kubernetesクラスタをインストールするための基盤インフラストラクチャを準備する
kubeadmを使用してKubernetesクラスタを作成および管理する
Kubernetesクラスタのライフサイクルを管理する
高可用性コントロール プレーンを実装および設定する
HelmとKustomizeを使用してクラスタ コンポーネントをインストールする
拡張インターフェース(CNI、CSI、CRIなど)を理解する
CRDを理解し、operatorをインストールおよび設定する
サービスとネットワーク – 20%

Pod間の接続を理解する
ネットワーク ポリシーを定義および適用する
ClusterIP、NodePort、LoadBalancerのサービス タイプとエンドポイントを使用する
Gateway APIを使用してIngressトラフィックを管理する
IngressコントローラーとIngressリソースの使用方法を理解する
CoreDNSを理解して使用する

ChatGPTの回答

改定前後のCKA試験内容の違いを見て、新たに必要となるスキルについて分析します。

1. ストレージ(10%)

  • 改定前: 永続ボリュームの構成や再利用ポリシー、ストレージクラスの理解が主な内容。
  • 改定後: 動的ボリュームプロビジョニングの実装が新たに加わりました。これにより、動的にストレージをプロビジョニングする能力が求められるようになります。

新たに必要なスキル:

  • 動的ボリュームプロビジョニングの実装
  • ボリュームタイプやアクセスモード、再利用ポリシーの構成方法

2. トラブルシューティング(30%)

  • 改定前: クラスタ、ノード、アプリケーション、ネットワークのトラブルシューティングが広範囲に渡って求められていました。
  • 改定後: トラブルシューティングの範囲がやや広がり、特にリソース使用状況の監視や、サービスとネットワークのトラブルシューティングが強調されるようになりました。

新たに必要なスキル:

  • クラスタおよびアプリケーションのリソース使用状況を監視し、適切に評価する能力
  • サービスやネットワークに関するトラブルシューティング

3. ワークロードとスケジューリング(15%)

  • 改定前: アプリケーションのスケーリングやリソースリミットの理解が求められ、自己修復アプリケーションのデプロイメントに関する知識も必要でした。
  • 改定後: ワークロードの自動スケーリングの構成が新たに追加されました。また、ポッドのスケジューリングに関しては、より細かい設定(リミットやノードアフィニティなど)を理解する必要があります。

新たに必要なスキル:

  • ワークロードの自動スケーリングの構成方法
  • ポッドのスケジューリングに関する詳細な設定(リソースリミット、ノードアフィニティなど)

4. クラスタのアーキテクチャ、インストール、構成(25%)

  • 改定前: Kubernetesクラスタのインストールや高可用性の設定、etcdのバックアップと復元が重要なポイントでした。
  • 改定後: HelmKustomizeを使用したクラスタコンポーネントのインストールや、拡張インターフェース(CNI、CSI、CRI)を理解する必要があります。また、CRD(Custom Resource Definitions)とオペレーターの理解も求められます。

新たに必要なスキル:

  • HelmおよびKustomizeを使用したコンポーネントのインストール
  • CNI、CSI、CRIの理解
  • CRDとオペレーターのインストール・設定

5. サービスとネットワーキング(20%)

  • 改定前: Pod間の接続、各種サービスタイプ、Ingressの理解が求められました。
  • 改定後: ネットワークポリシーの定義と適用、Gateway APIを使用したIngressトラフィック管理が新たに追加されました。

新たに必要なスキル:

  • ネットワークポリシーを定義し、適用する能力
  • Gateway APIを使用したIngressトラフィックの管理

まとめ

改定後のCKA試験では、以下の新しいスキルが重要になりました:

  1. ストレージ: 動的ボリュームプロビジョニングの実装
  2. トラブルシューティング: リソース使用状況の監視、サービスとネットワークのトラブルシューティング
  3. ワークロードとスケジューリング: 自動スケーリングの構成、ポッドの詳細なスケジューリング設定
  4. クラスタのアーキテクチャ、インストール、構成: Helm、Kustomize、CNI/CSI/CRI、CRDとオペレーターの理解
  5. サービスとネットワーキング: ネットワークポリシーの適用、Gateway APIの使用

これらの新たなスキルセットを身につけることで、改定後の試験に対応できるようになります。

感想

確かに Dynamic Provisioning とか HPA とか3年前に受けたときはなかった気がするなぁ。。

なんとか 1/15 までに再認定受けます。

Synthesizer V 歌声パラメータについて

Synthesizer V を購入し、触って遊んでます。

ベタ打ちが終わったので魂を込めていきたいのですが、パラメータが多いので調べた結果をメモとして残しておきます。

前提

歌打ち込みは全くの初心者です。間違ってたら遠慮なくマサカリ投げてください。

曲構成パート毎・ハモリパート毎にトラックを分けて、各トラックのグローバルパラメータ(というか初期パラメータ?)として「歌声パラメータ」を編集する工程です。ノートのグルーピング機能は使ってません。

トラック毎に大まかなパラメータ調整をして、ノート毎の調整は後でやります。

打ち込み工程の考え方は人によって異なるのであくまで私のケースでの紹介になります。

また、歌声データベースは「Sheena」、バージョンは「100」、言語は「英語」です。

歌声パラメータの仕様

まずは、公式ドキュメントで 歌声パラメータの章 を読みます。

歌声パラメータでは、トラック全体もしくはグループに対して同一のパラメータを適用できるようです。

なので「あるパートに対して大まかな方向性を決める」という風な使い方ができると思います。

そのあと個々の調整をしていくのかな?と思いきや、以下の記述を発見。

ここで設定した値はパラメータパネルの制御点と合算されます。

各パラメータの詳細は、「パラメータパネル」をご覧ください。

合算って、具体的にどのように合算されるんだ?単純に線形に加算(減算)?

パラメータパネルの説明では以下のように記載。

トラック全体に値を設定したい場合は、歌声パネルを使用します。歌声パネルで設定した値はパラメータパネルの制御点と合算されます。

うーん、わからん。英語ドキュメントにすると以下。

Set values for the entire track using the Voice panel. The values set in the Voice panel are combined with the control points in the Parameter Panel.

単純にポイント加算(線形加算/減算)のように読めるが詳細不明。

現時点での解釈を図にすると、以下のイメージになります。

時間があるときに検証したいです。

歌声パラメータ詳細

実際の歌声パラメータ設定画面を見ると、各ノートのパラメータで編集できる設定値の範囲よりも小さい範囲で編集できるようです。

どの工程で利用すべきかという情報と合わせて以下にまとめました。

参考

svdocs.dreamtonics.com

synthesizer-v.fandom.com

表変換するのだるかったので画像で。

全冠したのでゼルダできます

結果一覧。全部一発でいけてよかった(落ちたら受験料会社から出ないので)。

バッジたち

ついでにちょっと勉強して Oracle Cloud の一番簡単なやつも取りました。会社から推奨されているので。特に興味はないのでこれ以上追及する気はない(表立って言うと怒られそう)。

日本語なくて英語のみだったが、問題文が短く英語も簡単だったのでなんとかなりました。

※バッジは30分待つ必要があるとのこと

これで晴れて封印していた「ゼルダの伝説 Tears of the Kingdom」ができます。

次は Azure 資格を舐めつつ、もっと基礎的な部分(LPICとか、Oracle DBとか)取っていきたい。

それとは別に統計検定も受けたい。

それとは別にKaggleやりたい。

あ、CKAが2025年2月くらいに切れるので更新しなきゃ、CKADやCKSも取りたい。

最後に、そろそろ音楽活動再開したい。。。

仕事+仕事のための自己研鑽+家族との時間って考えると時間のかかる趣味って本当にやる暇ないですね。

人生って短い。