お知らせ

現在サイトのリニューアル作業中のため、全体的にページの表示が乱れています。
投稿日:
OS::WindowsOS::Linux::Ubuntuソフトウェア::WSL

基本はこのコマンドを流せば行けるはず

sudo apt update
sudo apt upgrade
sudo apt full-upgrade
sudo do-release-upgrade

トラブルシュート

「There is no development version of an LTS available.」というエラーが出る

sudo do-release-upgradeの実行時に-dオプションを外す

サービスをstop出来ないみたいなエラーが出る

自動起動していない場合、PowerShellなどからWSLを殺せば解決する

wsl --shutdown

サードパーティのリポジトリ周りでこける

コケてるリポジトリを消せばよい。以下は一例

ls -la /etc/apt/sources.list.d
sudo rm -Rf /etc/apt/sources.list.d/grafana.list*

「Some third party entries in your sources.list were disabled. You can re-enable them after the upgrade with the 'software-properties' tool or your package manager.」というエラーが出る

無視してよい

ブラウザのタブがバックグラウンド状態になっているとJSの実行が止まることがあり、そうするとsetInterval()が死ぬので、これを回避する技。

結論としてはWeb Worker APIのWorkerインターフェースを使うことで解決できる。

確認環境

Env ver
Microsoft Edge 126.0.2592.87

サンプルコード

/**
 * @param {() => void} cb 実行するコールバック
 * @param {number} interval 実行間隔
 * @returns 停止用の関数
 * */
const createWorkerInterval = (cb, interval) => {
  const src = "self.addEventListener('message', (msg) => { setInterval(() => self.postMessage(null), msg.data) })";
  const wk = new Worker(`data:text/javascript;base64,${btoa(src)}`);

  wk.onmessage = () => cb();
  wk.postMessage(interval);

  return wk.terminate;
}
投稿日:
ソフトウェア::Excel

ピボットグラフで軸ラベルが長すぎると下図のようにグラフからはみ出ることがあるが、これを何とかする話。

paste-image-2024-1-28_0-0-35-616.png

確認環境

Env Ver
Excel 2019

やり方

グラフ領域にプロット領域を手動で合わせると収まる。手動操作になるのが何とも言えないが、これが一番マシな方法だと思う。

paste-image-2024-5-28_0-4-52-158.png

因みにグラフエリアを拡大するとプロットエリアも追従して拡大するため、あんまり意味がない。

イマイチだったやつ

ラベルの角度を逆向きに45度にすることでも実現できたが、文字の向きが気に入らなかった。

paste-image-2024-6-28_0-5-35-604.png

ラベルを縦書きにすることでも実現できたが、カーニングや字の揃えがガタガタで納得いかなかった。

paste-image-2024-7-28_0-6-7-852.png

prettier-vscodeをPrettier v3に対応させる試みは既にあるのだが、PRがRejectされている。レビューを見た感じtypoが原因っぽいのでtypoを直してみたのだがテストが落ちる

まずテストが通らない原因だが、これはアサーション結果とテストコード、落ちた時の結果を三点比較したときに落ちた時の結果がプラグインを反映せずprettier -wされたものであることに気が付いた。次にこの解決法だが、原因が複数あるため、その切り分けが必要だと考えている。これはテスト走行時に指定されたプラグインが正しく読み込まれていればテストを通すことができるはずだが、package.jsonの指定通りインストールされているのかや、prettier側が正常に読み込めているのかなどが解らないと、真の原因が突き止められないためだ。

見た感じ割と面倒な仕組みなテストを実行してそうだったので一旦私は諦めることにした。これはprettier v3を個別にインストールすることで基本的に解決できるためだ。とはいえ、インストールできない条件だとその回避に苦労するのでネイティブに対応してほしい思いはあるが、検証するにも本家リポジトリにPRを向けないとテスト走行すらままならず、ローカルでの検証が極めて厳しいので、正直やる気が起きない。ぶっちゃけDockerで個別テストケースごとにビルドしてやるのが一番仕組みが単純で安全に思うが、敷くほど遅くなりそうだし、イメージのメンテも大変そうだし、アホほどイメージができるはずなので、容量も食いそうでなかなか微妙そうである。

そもそも論としてmainブランチを引っ張ってきてビルドすると、この時点で型エラーを吐くので、ここからどうにかしていく必要があり、割としんどい作業になりそうだ。