The mypy configuration file - mypy 1.5.1 documentation 上記のドキュメントに従って,mypy の設定ファイルで細かな調整をしようとしても,VS Code の mypy-type-checker にうまく認識されませんでしたが,以下のような設定を追加することで認識されるよう…
MacBook Air (M1, 2020) に USB3.1 Gen1 対応ギガビット LAN アダプタを接続してインターネットを使っていたのですが,時々ウェブサイトにアクセスできない問題が発生していました.ウェブサイトによって症状はまちまちで,例えば以下のようなエラーが出てい…
部屋の換気扇のスイッチを入れるとUSB接続のハードディスクが切断されるという現象に困っていました. 電源ケーブルとUSB3の干渉を考えて配線を遠ざけたり,換気扇の電源を別のコンセントに接続しなおしたり,工夫をしてみましたが効果がありませんでした. …
TensorFlow, PyTorch が有名ですが,最近は JAX をよく見かけるようになりました. 論文で使用されているフレームワークのシェアを確認すると,PyTorchが圧勝です.TensorFlowが使われる頻度はかなり減っているようです.JAXやMindSporeは徐々に増えているよ…
NPM License Checker というそのものずばりの名前のツールを使って,依存関係のライセンスを確認してみます. 例 package.json { "private": true, "dependencies": { "vue": "^3.3.4" }, "devDependencies": { "license-checker": "^25.0.1" } } license-ch…
ブラウザーで実行する JavaScript において,無限ループで処理が進まなくなってしまう不具合が発生した場合に,修正する方法を検討します. Python など実行を強制終了 (Control+C) できる言語ならば,終了時のスタックトレースを確認することで無限ループの…
Django で単体テストを作成しているときに,Python の unittest を継承している*1からと思って,クラスの初期化を setUpClass() 関数に記載してました. class DummyTest(TestCase): @classmethod def setUpClass(cls): ... setUpTestData()関数を使う ある…
Node.js はシングルスレッドで実行されるので,排他処理は原則不要ですが,非同期関数が含まれるとその限りではないと思ったので,排他処理ができるライブラリを探したのですが,自分で作った方が簡単だと思ったので,実験してみました. 以下のソースコード…
JavaScript で大きなサイズのデータを扱いたかったので, stream の使い方をまとめます. 以下のソースコードは全て TypeScript の Vitest 用単体テストです. ReadableStream まずは ReadableStream を扱ってみます. ReadableStream - Web API | MDN impor…
Cloudflare のビルドシステムに含まれるライブラリのバージョンは古い状態になっていました. Node.js 12.18.0 *1 これは3年前のバージョンです*2. しかし,V2 Build System が導入されたことにより,改善されました. Language support and tools · Cloudf…
CPUは高速に処理するためにどのようなしくみで動作しているのか? いまいちよく分からなかったので,本で勉強することにしました.専門的なCPUの本はおそらく理解できないだろうと思ったので,読みやすそうな本を探したところ,以下の本を見つけました. プ…
エクセルのN番目のセル番号を取得する関数は,少し変則的な表記であることを知りましたので,メモしておきます. エクセルのセル番号は以下のように増えていきます. 1,2,...,26 → A,B,...Z 27,28,29,...,701,702 → AA,AB,AC,..ZY,ZZ 703,704,705,...,18277,…
正規表現の Non-capturing group は (?:) と表記しますが*1,これを間違えて (:?) と書いてしまったため,コロンが0文字か1文字という意味になり,意図した動作にならないという経験をしました. ? は直前の文字が0文字か1文字存在することを示すので,( の…
www.healthplanet.jp タニタの体組成計が,ヘルスプラネットに対応しているため使用し始めましたが,データをサーバーに記録してくれるものの,データを活用しにくいことが分かりました.エクスポートする公式の方法もなさそうで*1,APIがあるものの一部のデ…
devcontainer でタイムゾーンをJSTに設定するには,以下の設定を追加します. devcontainer.json { "containerEnv": { "TZ": "Asia/Tokyo" } } この設定がない場合は, $ date Sat 15 Jul 2023 02:07:46 PM UTC となりましたが,上記設定をすれば, $ date S…
\d Matches a digit character. \D Matches a non-digit character. \s Matches any white space including spaces, tabs, form-feed characters, and so on. \S Matches any non-white space character. \w Matches any word character including underscor…
パッシブサブウーファーとステレオスピーカーを2.1チャンネルで駆動可能なアンプ Fosi Audio BT30D を購入しました. BT30D 2.1 Channel Power Amplifier Bluetooth 5.0 with Bass and Treble Control – Fosi Audio Fosi Audio BT30D Bluetooth5.0アンプ パ…
JavaScript で isFinite(null) が true と評価されることに気づいて軽く絶望しました.以下のようにユニットテストを作成して確認しました. package.json { "name": "isfinite", "version": "1.0.0", "scripts": { "test": "vitest" }, "devDependencies": …
code-viewer 文字列関係のオンラインツールです.
IEEE802.1Q を用いたタグ VLAN をネットワークで活用しようと思ったのですが,タグ非対応の機器が共存したり,思った通りの VLAN が構成できるか不安だったので,とりあえずタグ VLAN に対応しているスイッチを 2 台購入して動作を確認することにしました. …
Macbook Air M1 を使っています.ほとんどは電源コードを繋いだ状態なのですが,最近バッテリーの充電が保留されていることに気づきました. macOS Big Sur 以降では、「バッテリー充電の最適化」という機能がバッテリーの寿命を延ばし、Mac がフル充電され…
pub fn pop(&mut self) -> Option<T> Removes the last element from a vector and returns it, or None if it is empty. If you’d like to pop the first element, consider using VecDeque::pop_front instead. Vec in std::vec - Rust vectorから最後の要素</t>…
Ubuntu で以下のように ufw を設定しました. $ sudo ufw status verbose Status: active Logging: on (low) Default: deny (incoming), allow (outgoing), deny (routed) 一見完璧に見えますが,この設定のまま,docker はポートを開けることが可能です. $…
rusqlite を利用して Rust で作成したソフトウェアが,Ubuntu と macOS でコンパイルできるのに,Windows 11 だと以下のエラーでコンパイルできない問題に遭遇しました. note: LINK : fatal error LNK1181: cannot open input file 'sqlite3.lib' 公式ドキ…
Visual Studio Code で devcontainer を利用した開発環境はとても便利です.しかし,vscode にサイズが 30 GB のファイルをドラッグ・アンド・ドロップしてコピーしようとしたら,転送速度が 10 MB/s 程度しか出ませんでした.この速度では,完了するまでに …
smartctl コマンドを使用します. Ubuntu Manpage: smartctl - Control and Monitor Utility for SMART Disks $ sudo apt install smartmontools ディスクを検索する $ smartctl --scan /dev/nvme0 -d nvme # /dev/nvme0, NVMe device 環境によって結果は異…
環境 検証に使用した環境は,以下の通りです. Python 3.11.3 (main, Apr 11 2023, 16:14:10) [GCC 10.2.1 20210110] on linux rustc 1.68.2 (9eb3afe9e 2023-03-27) on linux 文字列を数える Python ならば len() 関数を使うだけです. >>> len("りんご") 3…
Rust の rayon の紹介です.驚くほど簡単かつ安全に並列処理を行えます. Cargo.toml [package] name = "thread-pool-sample" version = "0.1.0" edition = "2021" [dependencies] chrono = "0.4.24" rayon = "1.7.0" rustc 1.68.2 main.rs use chrono::prel…
英語ならば, concurrent と pararell ですぐに分かります. 日本語は「並行」と「並列」という単語が非常に似ていてややこしいです.ただでさえ「行」と「列」は間違いやすいのに,並ぶという字が前に付くと,別の類似する概念を表します. 行は横方向,列…
Ubuntu で電源ボタンの動作を変更するには, /etc/systemd/logind.conf を編集します. 電源ボタンを無効にする 電源ボタンを押しても何もしてほしくない場合は ignore を設定します. HandlePowerKey=ignore 電源ボタンで電源を切る HandlePowerKey=powerof…