未分類

こんにちは、しきゆらです。
数か月前にちらほら書いていた問題について、暫定的な解決方法があったのでメモしておきます。
いかに、書いていた記事を貼っておきます。

【macOS/Chrome】meetでLogicool Rallyカメラが使えないので問題を切り分けしてみた
【macOS/Chrome】Webcamが黒画面になる問題 続報

前回の記事から、macOSがVenturaに更新されたりとちょっと変わったりしていますが、相変わらずカメラが真っ暗のままです。

iPad,買ったもの

こんにちは、しきゆらです。
今回は、iPadを購入して1年ほどたったので、使った感想を書いておきます。 かなり高価な製品ですが、購入を検討している方は多いかと思うので、参考になれば幸いです。

Windows,環境構築

ここ数年はWindowsの環境をクリーンインストールするたびにWSL2の環境を作り直し、その度にgenieを使ってsystemdをPID 1 にするための方法をメモしてきました。

しかし、気が付いたらWSL自体がsystemdをサポートしたようなので、WSLだけでsystemdをPID 1にしてみたのでメモしておきます。

詳しいことは公式ブログを参照ください。

設定方法等は続きからどうぞ。

未分類

こんにちは、しきゆらです。

今回は、昨日投稿した「【macOS/Chrome】meetでLogicool Rallyカメラが使えないので問題を切り分けしてみた」の続報、ということで追加で確認したことや、調べて出てきた情報をメモしておきます。

追加で確認したこと

まずは、追加で確認したことについてメモしておきます。
追加で確認したところは以下の項目。

・Chromeのベータ版などの現行バージョンより先のバージョンで変化があるか

・macOSの別バージョンではどう動くか

それぞれ記載していきます。

未分類

こんにちは、しきゆらです。

今回は、タイトルの通りmacOS上でmeetのカメラを起動すると、Logicool Rallyのカメラのみ映像が映らず黒画面になってしまう問題に当たったので問題切り分けのためにあれこれ試したので、その記録を置いておきます。

自分に近いところだけで起きている問題かもしれないですが、メモとして置いておきます。

macOS Monterey + Google Chrome(以下Chrome) + Logicool Rally(以下、Rally)の環境を使っていて、meetでカメラを使うと黒画面のままで映像を映してくれない問題が起こりました。

Rallyの問題か、Chromeの問題か、OS側の問題かわからないのと、まだ解消できていないので「こんな症状があったらしい」程度の情報として読んでいただければと思います。

環境

確かめた端末の情報を記載しておきます。

端末は以下のものです。

・OS: macOS Monterey 12.6 (執筆時点での最新)

・CPU: M1 Pro(8コアCPU)

・メモリ: 16GB

なお、Rallyのファームウェアについては確認を忘れたのですが、ちょっと前に更新したようなので、おそらく最新かと思います。

症状

macOS Monterey 12環境で動いているChromeにてmeetを利用しているときにカメラをRallyを指定しても黒画面のままで映像を映してくれない問題が起こりました。

面白いのは、Zoom等別アプリでカメラを使うとmeetのカメラも映像を映してくれるようになる、というところ。

なお、カメラはこんなやつ。

現時点での結論

以下で問題切り分け等を記載していきますが、結果だけ知りたい方もいるかと思うので先に書いておきます。

執筆時点での結論としてはRallyカメラの問題+Chromeの問題ではないかと思っています。

詳しい理由等は以下を参照いただければと思いますが、Rallyカメラと別のWebカメラで挙動が異なったことと、Chromeでのみ問題が起こっているため、これを結論としています。

これで、ChromeのバージョンアップやRallyのファームウェアアップデート、はたまたmacOSの更新等で解消すればよいのですが・・・。

買ったもの

こんにちは、しきゆらです。
今回は、Anker 737 Charge GaNPrime120Wを購入したので簡単にレビューしてみます。

最近充電ケーブルや充電器を選ぶときは、とりあえずAnker選んでおけばええやろ、の精神で買ってしまうので良く無いなぁと思いつつ、丁度ほしいものがあったので購入してしまいました。

それが、737 Charge GaNPrime120Wです。

Rust,プログラミング

こんにちは、しきゆらです。
最近またRustをちょっと勉強しているので、そのメモをちらほら放出しておこうかと思います。

読み進めているのは「手を動かして考えればよくわかる 高効率言語 Rust 書きかた・作りかた」になります。

PythonとRustのコードを比較しながら、Rustの文法や特色についてを解説してくれる本になっています。
いきなり細かい文法をつらつら書かれてもわからないよ!という方やひとまず手を動かしてちょっとずつ書けるようになりたいよ、という方にオススメの本です。
ちなみに、自分は前者であり後者だったので割ととっつきやすく読めています。

ということで、読みながら手を動かした記録を残していきます。
今回はHashMapについて。

なお、この本を読んでメモする記事には「手を動かして考えればよく分かる Rustの書き方」のタグをつけておきます。
私と同じようにRustの勉強を始めた方、気になる方は参考にどうぞ。

JavaScript

こんにちは、しきゆらです。
今回は、Webpackでビルドしたものが出力されるフォルダにできる不要ファイルを削除する方法を知ったのでメモしておきます。

WebpackでJSのコードをビルドしていると、結構な頻度で不要なファイルができたりします。
例えば、デバッグ用に生成したソースマップファイルがそのまま残っていたり、過去に設定を変えてあるところから出力しなくなったファイルが残っていたり等、ビルド先のdistフォルダの中はごちゃごちゃしがちです。
これを何とかしたいなぁ、と思って調べたら簡単に解決できました。

Webpackでこういうことできないかなぁと調べると大抵プラグインが出てきて追加しないといけないことが多く、今回もそのパターンでよくわからないものを追加しないといけないのかなぁ・・・と思っていたのですが、どうも標準機能として用意されているようでした。
ということで結論。

結論: outputの中にclean: trueを追加すればよい

ドキュメントを読むことは大事ですね。
しっかり記載がありました。

こちらによると、ビルドしたものを置くdistフォルダの中身をビルドのたびにきれいにしたい場合はoutput.cleanオプションを使え、とあります。
ただし、この方法が使えるのはWebpack5以降のみなので注意してください。

// webpack.config.jsの一部分
~~~~~~
output: {
   filename: "output.js",
   path: path.resolve(__dirname, "dist"),
   clean: true // この1行を追加すればよい
}

はい、たったこれだけ。
1行追加するだけで、ビルドのたびにdistフォルダの中身をきれいにしてくれるので、過去にビルドした残骸が残ることはなくなりました。

JavaScript,Ruby

こんにちは、しきゆらです。
今回は、flatMapの処理の中で不要な要素が出てきた場合にそれを排除する方法を知ったのでメモしておきます。

結論: 空配列([])を返すと削除できる

こちらのページにある通り、
処理の中で空配列([])を返すと、その要素の処理を削除することができるようです。

let array = [1,2,3,4,5,6,7,8];
array.flatMap( (item) => {
    if (item % 2 === 0) {
        return item * 2;
    } else {
        return [];
    }
})
// => [4, 8, 12, 16]

JavaScript,Linux,環境構築

こんにちは、しきゆらです。
今回は、以前紹介したasdfを使ってNode.jsをインストールし、個人的によく使っているYarnも使えるように環境を作っていきます。

なお、Node.jsのインストールはすぐ終わったのですがYarnのインストールとか諸々に至るまでに紆余曲折ありました。
まずは、インストールして環境構築までの流れをまとめます。
その後に、紆余曲折部分をメモしておきます。
必要なコマンドだけよこせ!という方は、以下の「環境構築の流れ」を参考にしてみてください。

環境構築の手順

コマンド自体の使い方等はそれぞれのツールのサイト等で確認してください。
なお、インストール先はタイトルにある通りWSL2上に動いているUbuntu20.04です。

# node用のプラグインを追加
asdf plugin add nodejs

# nodeをインストール
asdf install nodejs latest

# システム全体で使うバージョンを指定
asdf global nodejs latest

# yarnを使う準備
corepack enable

# asdfの再構築
asdf reshim nodejs

これにて、環境構築は終了です。

yarnの手順が以前とだいぶ変わりましたが、npmで個別にインストールせずにパッケージマネージャを管理する仕組みが入ったようです。
そのおかげで手順がさっぱりしました。

では、前述の通り環境構築の紆余曲折や各ドキュメントを見ながらの細かい話は以下にまとめていきます。