at backyard

Color my life with the chaos of trouble.

備忘録

音声合成エンジンのVOICEVOXをMac上のDocker Desktopで試す

音声合成エンジンのVOICEVOXをMac上のDocker Desktopで試す 商用・非商用問わず無料で利用できる(※)という、音声合成エンジンのVOICEVOXをMac上で試すために、OSS版を手元で動かしてみることにした。 (※詳しくは各キャラクターの利用規約を参照とのこと。ま…

Seleniumで現在利用しているChromeのUser Agentを取得する方法

Seleniumで現在動かしているChromeのUser Agentを取得する方法について調べたので、備忘録がてら書き残しておく。 といっても仕組みは単純で、例えばChromeの場合、下記のようにConsoleを開いてnavigator.userAgentと打つことでUser Agentは取得することがで…

Seleniumとwebdriver-managerを使っていてDeprecationWarning: executable_path has been deprecated, please pass in a Service objectが出たとき

Selenium + webdriver-managerを使っていて、下記のようなwarningが出た。 DeprecationWarning: executable_path has been deprecated, please pass in a Service object コードとしては下記のように書いていたが、 from selenium import webdriver from web…

Pythonのsubprocess.Popenでファイルを開こうとすると【[WinError 2] 指定されたファイルが見つかりません】

Windows環境でsubprocess.Popenでファイルを開こうとすると【[WinError 2] 指定されたファイルが見つかりません】というエラーがでる MacとWindowsどちらにも対応したアプリを書いていて、とある処理でPythonのsubprocess.Popenを使って指定したファイルを開…

Pythonのsqlite3を用いてDBからの取得結果をdictで返すサンプルコード

タイトルのようなことをしたかったのだが、検索してみると理解が間違えている(?)日本語の記事が普通に検索結果上位に出てきたので、自分の方でも改めて記載しておくことにした。 fetchoneを使って指定したデータをdict形式で取得する方法 サンプルコードを下…

Python3で最大の整数を取得する関数 - sys.maxsizeについて

Python3 では表示できる整数の上限というのはないらしい。 (逆に言うとPython2ではあったようで、そちらの値は sys.maxint という関数で値は取得できた。だが、Python3ではこちらの関数自体がなくなっている) 整数の上限はないようだが、最大値を示す整数を…

Denoのsubprocessを用いたtestでTest case is leaking resources.というエラーが出るときの対応方法

Denoのテストで下記のようにsubprocessを使って、コマンド実行結果をテストしようとした。 Deno.test({ name: "test name", fn: async () => { const p = Deno.run({ cmd: [ /*コマンド*/], stdout: "piped", }); const { code } = await p.status(); // 返…

JavaScriptで動的に関数の引数を与える場合はスプレッド構文を使えばよかった

最近、こういう使い方もできるのかと学んだので備忘録がてら残しておこうと思ったのだが、書き始めてからMDNを参照したら、自分がこれから書こうと思ったそのままの例が載っていて、自分の知識の無さに幻滅した次第。 developer.mozilla.org せっかく書き出…

colors.jsの今回の問題で我々が対応すべきことについての個人的なメモ(実務的な部分のみ)

colors というnpmパッケージの最新versionについて意図的に悪意のあるコードが実行されるようになっている。 こちらの問題のあるversionなどの具体的な内容についてはazuさんが分かりやすくまとめてくれているので、こちらを参照してみるのが良い。 zenn.dev…

tkinterでLabelのテキストを変更する方法

tkinterのLabelのテキストを変更する方法に関する備忘録。 Labelのテキストを変更する方法は簡単で、tk.Label で生成したLabelインスタンスの text 属性を変更することで、テキストを変更することができる。 具体的には label["text"] = "変更後のテキスト" …

pyinstallerをmacで利用したときに"OSError: Python library not found: libpython3.10m.dylib, libpython3.10.dylib, Python3, .Python, Python" というエラーが出た場合の対応手順メモ

pyinstallerを利用したときのエラー対応に関する備忘録です。 目次 目次 環境 事象 対応方法 余談: pyinstallerのライセンスはGPLなので商用利用などには注意 pyinstallerがGPLで使えないなら、cx_Freezeという選択肢? 追記: ちょっと触ってみたが自身の環…

tkinterとsqlite3を使ってGUIアプリを作ってみる

tkinterとsqlite3(SQLite)を使ってみた際の備忘録です。 sqlite3でdatetimeを(擬似的に)扱う方法については下記を参考にしている。 qiita.com 色々と実装例を見ていると、フロントエンドとバックエンドで構成するほうが良さそうだが、今回はサンプルというこ…

tkinterのgirdを使ったウィジェットの配置について

あけましておめでとうございます。2022年もよろしくおねがいします。 昨晩は妻からプレゼントしてもらったニューマットレスを敷いて寝たのですが、マットレスが変わるとこうも寝心地が変わるものかと驚いています。 まるでホテルの良質なベッドで寝たかのよ…

node-fetchでError [ERR_REQUIRE_ESM]: Must use import to load ES Module:というエラーが出たときの対応について

node-fetchでError [ERR_REQUIRE_ESM]: Must use import to load ES Module:というエラーが出た これについての明確な答えが下記のstack overflowにあった。 stackoverflow.com node-fetchはv3からESM専用モジュールとなったよう。そのため require でインポ…

PWAアプリにmaskableアイコンを追加する方法

Lighthouseで計測したところ下記のような要修正項目が現れた。 該当する下記のページを読んでみると、maskableアイコンとはどうやらすべてのAndroidデバイスで美しく表示されるアイコンフォーマットらしい。 ちなみにマスキング可能なアイコンフォーマットに…

tkinterでPython GUIプログラミング入門

PySimpleGUIは触っているが、その下のレイヤーで動くtkinter自体は触ったことがなかったので、このタイミングで入門してみようと思う。 一通りtkinterを使ってGUIアプリを作れるようになるところまでをこの記事内に書いていく。 長くなると思うので目次を要…

PySimpleGUIとtkinter、それぞれでHTMLのURLリンク(ハイパーリンク)をテキストフィールドに作る方法

目次 目次 PySimpleGUIでHTMLのURLリンク(ハイパーリンク)をテキストフィールドに作る方法 Pythonでブラウザを起動する方法 PySimpleGUIの画面上にハイパーリンクを実装したサンプル テキストに対してイベントを付与する tkinterでHTMLのURLリンク(ハイパー…

インストールされているChromeのversionに応じたchromedriverを勝手にインストールしてくれるwebdriver-managerが便利

SeleniumからChromeを扱う時、現在PCにインストールされているChromeのversionに応じたchromedriverを自身でインストールしておく必要がある。 ただ、Chromeのversionは定期的に新しくなるため、Chromeのversionが更新された際には対応するChromeのdriverを…

GitHubでコミットログを打ち間違えてリモートにpushしてしまった際の対応案

このポストは git commit --amend でコミットログを修正してからリモートブランチにforce pushする、というような内容ではない。 (当然ながら上のような行為を共有リポジトリで行うのは大変危険なことである。) ここで書く内容は非常に牧歌的な内容だ。 GitH…

Macのコマンドライン上からChromeをシークレットモードで開く方法

ごくたまに(年に2,3回)、ターミナル上からChromeのシークレットモードでHTMLファイルを開きたい時がある。 最初に結論から書くと、下記の一行で行ける。 open -n -a "Google Chrome" --args -incognito <開きたいファイル(htmlなど)> ちなみにこの開きたいフ…

Denoのtestでネストしたテストを書く方法

目次 目次 Denoのtestでネストしたテストを書く方法 --unstableをつけないで実行した場合(Deno v1.17) t.stepにはawaitをつける必要がある 1.17よりネストしたテストに関する情報がより充実した模様 Deno 1.18よりネストしたテストを行う際の --unstable フ…

PySimpleGUIで簡単な計算機を作ってみた

PySimpleGUIを試すがてら、簡単な計算機を作ってみました。 PySimpleGUIで作った計算機 2つのフォームに計算したい数値を入れてラジオボタンで足し算、引き算、掛け算、割り算を選択し、Submit を押せば、その下の窓に計算結果が表示されます。 目次 目次 P…

PySimpleGUIでポップアップの結果に応じて処理を変えたい時

PySimpleGUIを触っていると、popup関数を使うことは多いと思います。 この popup関数、様々なバリエーションが用意されており、例えばpopup_yes_noを使って下記のようなコードを書いてみることが可能です。 import PySimpleGUI as sg pressed_text = sg.popu…

Wikipediaの文章素材を二次利用する際のライセンス周り

調査してみた際の備忘録。 基本的な内容は下記に記載がある。 Wikipedia:ウィキペディアを二次利用する - Wikipedia メモ ウィキペディアの文章素材はCC-BY-SA 3.0の条件のもとで利用できる。 また特記がない場合はGNUフリー文書利用許諾契約の条件のもとで…

Denoでfetchを用いてEUC-JPのサイトをスクレイピングするときのサンプル

Denoを使ってスクレイピングする処理を書いていた際に、データ取得元のサイトがEUC-JPだったため文字化けを起こしていました。 Denoを使っている場合、こういうケースはどうすれば良いのか調べたので備忘録として残しておくことにします。 (というか、Deno特…

PS5とPS4で使用できる『Apexコイン』がAmazonで販売開始されたらしいので使ってみた

最近AmazonでPS5とPS4のApex Legendsで利用できるApexコインが発売開始されたようです。 ちょうどApexでは新しいイベント『レーダーズコレクション』が開始されて、ワットソンのディープカレントというスキンがすごく良さそうだったので、こちらのスキンをゲ…

Denoでredisを触ってみた備忘録

Denoでredisを触ってみたのでその備忘録です。 deno-redis を利用しています。 github.com redisをDocker上で動かす ここではredisをMacで動くDocker上で起動しています。 セットアップ手順については過去にこちらのブログに書き残しているコマンドを使って…

パスファインダーのグリーンマシンが欲しかったので頑張ってゲットした

パスファインダーのグリーンマシン パスファインダーのスキン、グリーンマシン パスファインダーのグリーンマシンというスキンがあります。 少し前のイベント『ブラックフライデー2021』でコードレッドが出ていたことをこちらのブログにも書きましたが、実は…

日付の比較計算で The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type.というエラーが出たときの対処方法

The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type.というエラーが出たときの対処方法 趣味で作っていた下記のプログラムで実際に遭遇したエラー。 github.com 下記のような日付をソートするための…

Terminal上で動作するspinnerライブラリ、go-spinをDenoに移植した

Terminal上で動作するGo製のspinnerライブラリであるgo-spinを、Denoに移植したdeno_spinというものを公開しました。 https://deno.land/x/deno_spin 目次 目次 ターミナルで動作するDenoのためspinnerライブラリ、deno_spin TypeScript備忘録 - contructor…