みーのぺーじ

みーが趣味でやっているPCやソフトウェアについて.Python, Javascript, Processing, Unityなど.

tfsec google-iam-no-project-level-service-account-impersonation

Terraform でインフラストラクチャを管理している場合, tfsec を使用することで,セキュリティとして好ましくない設定を簡単に検知できます. https://aquasecurity.github.io/tfsec/v1.28.1/ tfsec is a static analysis security scanner for your Terraf…

UA, GA4, FA, Hatena のアクセス解析を比較する

以下の4個のアクセス解析サービスをはてなブログに導入して,測定結果を比較してみました. Universal Analytics Google Analytics 4 Fathom Analytics Hatenaブログ アクセス解析 方法 2023年に,4個のサービスのトラッキングコードを同じブログに1ヶ月間導…

Testcafe Visual Selector Debugger

TestCafe v2.4.0 から,Debug mode の時に Selector を入力して該当する要素が存在するかどうかを表示してくれる機能が追加されたようです*1. Pick ボタンを押すと,Selector が自動生成されます. 入力ボックスに Selector を入力すると,該当する要素が存…

TVアニメ「86-エイティシックス-」のウェブサイトのマウスカーソルについて

CSS

anime-86.com TVアニメ「86-エイティシックス-」のウェブサイトのマウスカーソルが凝っていたので,どうやって実装しているか見てみました. トップページでマウスを移動させると,赤いような青いような円形のカーソルが追従します.よく見ると背景によっ…

2623561561を素因数分解する

www.youtube.com 2623561561 を素因数分解する動画がありました.手計算で頑張っていました.もちろん人間が素因数分解するには大変な計算量だということは分かりましたが,パソコンならばどれぐらいで実行できるのか気になったので試してみました. 最小の…

Service Worker のキャッシュに悩まされた

Service Worker を有効にした状態でウェブサイトを開発していたところ,以下のエラーが発生して,CSS が読み込まれない現象に遭遇しました. Refused to apply style from "..../xx.css" because its MIME type ('text/html') is not a supported stylesheet…

Google Analytics の廃止

今までは Google Analytics を使用してアクセス解析をしてきましたが,2023/04/05 に同サービスの使用を終了いたしました.合わせてプライバシーポリシーを改定いたしました. みーのぺーじはこれまで通り運営いたします.今後ともなにとぞよろしくお願い申…

Dev Container でゾンビプロセスに対応する

Dev Container を使用していると,ゾンビプロセスが大量発生することに気づきましたので,init を有効にすることで解決しました. 現象 htop コマンドで確認すると,10個以上のゾンビプロセスが発生しています. 解決方法 Docker container で init を最初に…

gRPC の通信を Wireshark で観察する

gRPC の通信の中身が気になったので,Wireshark でパケットキャプチャして観察しました. Wireshark のインストール Wireshark · Go Deep M1 MacOS 用の Wireshark が公開されているのでダウンロードしてインストールします.権限が不足している場合は "Inst…

Python で非同期処理の gRPC を使用する

gRPCが流行っているようなので,アプリケーションの開発に取り入れるために,Pythonで非同期処理に対応したgRPCを使用する方法について,検討してみます. 教科書を読む gRPCは様々な言語に対応しており,多くのライブラリが開発されているため,汎用性が高…

M1 MacOS の Docker CLI で compose を使う

M1 MacOS で,Docker CLI と docker compose を使用する方法をまとめます.Docker Desktop は使わずに準備します. Docker CLIをインストール 以下のウェブサイトからダウンロードします. https://download.docker.com/ ダウンロードしたファイルを展開して…

一見動作しているウェブサイトがGoogle Search Consoleで取得できない

動作しているように見えるウェブサイトを公開して,Google Search Console で確認したところ,コンテンツの読み込みが途中で止まってしまい,正常に取得できない問題が発生していました. どうやらページを読み込む最初の部分で,javascriptからxhrで読み込…

多数のページのウェブサイトはSSGで作りにくい

ページが1万個を超えるウェブサイトを静的サイトジェネレーター(SSG)である VitePress を用いて作成しようとして,根本的な問題が生じることが分かりました. VitePress で生成されたproduction用の全てのhtmlファイルには,hashmapが挿入される*1ため,以下…

クラウドプロバイダのシェア

Synergy Research Group が公開している情報によると,2022 Q4 は全世界で610億ドル ($61 billion) を超える料金がクラウドインフラストラクチャサービスに支払われているそうです.シェアの推移は以下のグラフようになっています. *1 Amazon が 3割,Micro…

Pythonで現在時刻を取得する関数の比較

Pythonで実際に測定してみました. import datetime from benchmarker import Benchmarker def validate(): native_now = datetime.datetime.now() assert native_now.tzinfo is None # native_utcnow = datetime.datetime.utcnow() assert native_utcnow.tz…

macOS のインストールイメージの配信サーバーが速い

macOS Ventura のインストールイメージをダウンロードしたら,52.8 MB/sec の速度でした.つまり,422 Mbps です. インストールイメージをUSBスティックに書き込む速度は6.97 MB/sec で,55.8 Mbps でした.USBスティックの書き込み速度よりも速いのは驚き…

SHA256よりもSHA512が速いらしい

結論はタイトルの通りですが,pythonで実際に測定してみました.16 bytes, 256 bytes, 4096 bytes, 65536 bytes, 1048576 bytes の長さの文字列を用意して,MD5, SHA256, SHA512 の3種類のハッシュアルゴリズムを使用してハッシュ値を取得するまでの時間を計…

Terraform で GCS Bucket を削除するのに苦労した

Google Cloud Storage (GCS) の,とある Bucket を Terraform で管理していたのですが,不要になったので削除することにしました.何も考えずに google_storage_bucket を tf ファイルから削除して,terraform apply を実行しましたが,以下のようなエラーメ…

docker/setup-buildx-action で複数のイメージを扱う

GitHub Action で,docker/setup-buildx-actionを用いて複数のイメージを扱ってみます. 前提条件 簡単な例として,pip コマンドで依存関係を解決して,結果を表示する Docker イメージをビルドします. Dockerfile FROM python:3.11-slim-bullseye WORKDIR …

エクセルでウェブサイトの表を取り込む

エクセルでウェブサイトの表を取り込むには,コピー・アンド・ペーストではなく,エクセルの機能を使用する方が簡単です. 例えば以下のようなウェブサイトから検索結果をエクセルに取り込んでみます. 動物用医薬品等データベース エクセルの「データ」→「…

電子工作の流れ

電子工作をする時の流れをまとめました.自分用のメモです. 要件定義 作成する装置が満たすべき要求や必要な機能を列挙します. 設計 要件定義に見合う動作をする回路や仕組みを設計します.必要な部品を列挙し,手持ちがあればよいですが,なければ発注し…

Raspberry Pi Pico を購入した

Raspberry Pi Pico を購入しました.秋月電子通商通販で1個税込770円だったので,2個購入しました. セットアップ Get Started with MicroPython on Raspberry Pi Pico という本のPDFが,公式サイトから無料で配布されていたので,読みました.Raspberry Pi …

オゾン発生器を修理した

3年前に購入したオゾン発生器の調子が悪くなりました. 脱臭機 オゾン脱臭 ミニ空気清浄機 USB充電式 9-15畳対応 小型 車載 卓上 負イオン発生器 小型脱臭機 空気清浄 コンパクト 除菌脱臭 空間殺菌 静音 花粉症対策 タバコ トイレ クローゼット ペットエリ…

Terraform: Up and Running を読了した

Terraform: Up and Running (English Edition)作者:Brikman, YevgeniyO'Reilly MediaAmazon 読んで重要だと感じた内容を列挙します. サンプルなどソースコードは,以下のレポジトリに MIT license で公開されています. GitHub - brikis98/terraform-up-and…

Raspberry Pi に電源ボタンをつける

Raspberry Pi には,gpio-shutdown という機能があり,GPIO を用いて簡単に電源ボタンを追加できるようです. After shutdown, the system can be powered up again by driving GPIO3 low. *1 つまり,Pin 5, 6 を短絡させれば,電源ボタンになるようです.…

Raspberry Pi の GPIO をネットワークから操作する

pigpio というライブラリは,Raspberry Pi の GPIO に対応しています. pigpio library このライブラリは,デーモンとインターフェイスから構成されていて,ネットワークを通じてデーモンを操作することができます.つまり,開発用の高性能なパソコンにイン…

Cloud Pub/Sub の再試行

Cloud Pub/Sub の再試行の動作確認をしました.Terraform で以下のように topic と subscription を作成しました.なお,subscription は一瞬で status code 500 を返す web サーバーに push するよう設定しました. resource "google_pubsub_topic" "test" …

トナーは振ると少しだけ復活する

レーザープリンターのトナーカートリッジをCTスキャンして中身について解説する記事があります. Is this toner cartridge half empty or half full? We grabbed a low toner cartridge from our office printer and popped it into our Neptune scanner. We…

Cloud SQL への接続とポイントインタイム リカバリの検証

Cloud SQLは, 豊富な拡張機能コレクション、構成フラグ、デベロッパー エコシステムを備えた、MySQL、PostgreSQL、SQL Server 向けのフルマネージド リレーショナル データベース サービスです。(https://cloud.google.com/sql?hl=ja) Cloud SQL で Postgre…

SQL で NULL との比較が unknown になる

SQL では,NULLに比較述語を適用すると,常にunknownになります.これは分かりにくい印象がありますが,3値論理に準拠すれば明らかです. この性質により,例えば Django で以下のように apple_id に unique と null が共存できます.ここで,apple_id は必…