at backyard

Color my life with the chaos of trouble.

Entries from 2021-12-01 to 1 month

2021年を振り返る

2021年も早いものでもう終わりなので、いくつかのトピックに絞って振り返っておこうと思う。 目次 目次 自身の仕事について 子育て YouTubeチャンネルについて 音楽について Google AdSenseの収益が伸びた年 まとめ 自身の仕事について 諸事情により去年から…

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…

Mac環境でpyinstallerを使ってOSError: Python library not found: libpython3.9m.dylib, Python, Python3, libpython3.9.dylib,というエラーが出た場合の対処方法

Mac環境で作成しているPythonプログラムを実行ファイルにまとめようとした際に発生したエラーの備忘録です。 実行ファイルにはpyinstallerを用いています。 github.com なお環境としてはM1チップのMacBook Airを使用しており、Pythonはpyenvを通じてインスト…

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

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

NIRUさんのボタン配置を参考にApex Legendsでモンハン持ちにチャレンジしている話

NIRUさんのApex Legendsのボタン配置について 最近Apex Legendsで、もう少しキャラコン周りを強化したいと思うようになった。 私は完全にエンジョイ思考、というか、楽しめればいいやという形でゲームをプレイしていて、勝つために練習をするとかそういうこ…

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

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

セブンイレブンの冷やしみたらし団子が個人的に微妙だったその理由を書く

今日久しぶりに買って失敗したなとはっきり思える商品に出会えたので、それについて書いていこうと思う。 目次 目次 【まえがき】商品自体が微妙、というよりは自分の思い描いていたイメージから大きくそれていたのが原因 セブンイレブンの冷やしみたらし団…

ワットソンの限定スキンがもらえる、ディープカレントバンドルを買ってみた(Apex Legendsのレーダーズコレクション)

ディープカレントバンドルを購入してみた Apex Legendsの新しいイベント、『レーダーズコレクション』(侵略者イベント) が始まりました。 今回ワットソンの限定スキンである、ディープカレントが欲しかったので、思い切ってディープカレントバンドルを購入し…

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…

DenoのThird Party Modulesに自作のモジュールを登録する方法

以外と調べてもやり方が出てこなかったので、備忘録がてら残しておく。 (といっても残しておくまでもないほど簡単だったのですが、情報はあったほうが良いだろうと思い) 目次 目次 DenoのThird Party Modulesに自作のモジュールを登録する方法 DenoのThird P…

Apple製品のバッテリーの寿命をもたせる方法

M1 MacBook Airのバッテリーの寿命について 今日なんとなくM1のMacBook Airのバッテリーの状態をチェックしてみたら、最大容量が97%になっていた。 最大容量が97%になっていた 今までは100%だったと記憶していたが、ついに最大を下回ってしまった。 バッテリ…