みーのぺーじ

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

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

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

電子工作の流れ

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

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 は必…

Workload Identity で Github Actions を快適に認証する

Google Cloud の Workload Identity を使用して,Github Actions から認証できるように設定します. Workload Identity とは Workload Identity を設定する サービスアカウントとして認証する .github/workflows/oidc.yml 監査ログを使用する 許可する範囲を…

GA4 と UA のユーザー数が異なる問題

みーが運営しているブログに Google Analytics 4 (GA4) と Universal Analytics (UA) の両方を導入してアクセス解析をしています.2022年10月頃までは両者のユーザー数はほぼ同じ (誤差1%程度) で推移していたのですが,11月頃から, GA4 のユーザー数のみが…

快適なインターネット回線

通信速度が最大 1 Gbps のインターネット回線を使用して,windows 11 のISOファイルをダウンロードしたところ,400 Mbps 程度の速度でダウンロードできました.約 5 GB の巨大なファイルでしたが,2分もかからなかったです*1.画面を眺めているだけで完了し…

ルーターのLED省電力設定による消費電力

Elecomの無線LANギガビットルーター WRC-2533GHBK2-Tに,LED省電力設定という機能があったので,有効/無効を切り替えて,実際の消費電力を測定してみました. www.elecom.co.jp 消費電力: 約12.0W 有線LANを1個接続し,無線LANを2.4GHz/5GHzで有効にした状態…

機械学習のライブラリの検討 2022年

機械学習のライブラリは,以下が有名です. TensorFlow Keras PyTorch なお,KerasはTensorFlow 2に同包されているので,実質TensorFlow と PyTorch の対決です. Google Trends TensorFlowのほうが先に公開されており,2020年までは人気でしたが,2021年頃…

iPhone SE のバッテリーを修理した

みーのiPhone SE (第1世代) のバッテリーが膨らんできて,バッテリーの最大容量が78%にまで低下しました. バッテリーさえ交換すればまだ使えそうな印象だったので,自分で修理することにしました.ひとまず,iFixitの修理方法に従い,膨らんだバッテリーを…

StripeのWebhookとWrite Skew

SQL

Stripe Webhookを使用する時の注意点をまとめます. Webhookの仕様 https://stripe.com/docs/webhooks/best-practices イベントは1回以上配信される. 2xx HTTPステータスコードで応答しなければリトライされる. イベントの順番は保証されない. 顧客の作成…

ライズのディスプレイオーディオでmoviLinkのナビを使う

この記事の情報は,ディーラーのスタッフにたくさんの質問をして得られたお答えと,下記の参考資料をもとに,独自にまとめたものです.この記事の内容には誤りが含まれる可能性がありますし,うまく動作しないかもしれませんが,一切の責任は負いませんので…

Cloudflareでリダイレクト

Cloudflareにはリダイレクトをする機能がいくつか存在しますが,Page Rulesを使えば,CloudflareでDNSを管理しているドメインについて簡単にリダイレクトを設定できます. ここでは,laflabo.netというドメインを用いて説明します.以下の設定画面に掲載され…

全てのGitレポジトリのバンドルファイルを作成する

とあるディレクトリに保存されている全てのGitレポジトリのバンドルファイルを作成するシェルスクリプトを作成しました. #! /bin/zsh mkdir -p bundles for dir in * do if [ -e $dir/.git ]; then cd $dir git bundle create ../bundles/$dir.bundle HEAD …

MacOSのshはzshではなくbash

macOSのシェルスクリプトの挙動を見ていて気づいたのですが,macOSのshはzshではなくbashです. 環境 macOS Monterey % sw_vers ProductName: macOS ProductVersion: 12.5.1 BuildVersion: 21G83 検証結果 macOSのターミナルにて,以下の通り実行されました…

Djangoでsync_to_asyncの性能を測定する

Djangoで非同期処理を実装するときに,非同期ではない関数を使用するためのアダプター関数 asgiref.sync.sync_to_async() が用意されています*1. sync_to_async()関数は,SyncToAsyncクラスを使って,スレッドプールで実行可能な非同期関数を作成する仕組み…

Django async viewを使用してCloud Runで並行処理をする

一般的にWebサーバーの開発は非同期処理と相性がよいです.Webサーバーは不特定多数の人から任意の時刻にリクエストを受信して処理し,レスポンスを返します.Webサーバーの処理の多くは,データベースなど外部のリソースにアクセスすることなので,I/O boun…

OSI参照モデルの覚え方

OSI参照モデルとは,通信プロトコルを7つの階層に分けて定義したものです.国際標準化機構(ISO)によって策定されました. Layer Number Layer Name Description 7 Application アプリケーション層 Home of the protocols and services that comprise an appl…

Cloud Runでアクセス元のIPアドレスを取得する

結論 Cloud Run で,アクセス元のIPアドレスを取得するには,x-forwarded-forヘッダーを使用します. 検証 リクエストヘッダーを返すWebサーバーを作成して,Cloud Runにデプロイし,動作を確認しました. main.ts import express from 'express'; const app…

監視カメラの弱点

監視カメラは,事件が発生したときの映像を残すために設置するものですが,犯人が監視カメラそのものを破壊したり取り外したりする可能性もあります. もし,監視カメラの映像が本体に記録されていると,映像データも一緒に破壊されたり盗られたりするかもし…

terraform importで簡単にtfファイルを作成する

Terraformには,importコマンドが用意されており,既存のインフラストラクチャをTerraformに読み込めます. Command: import | Terraform by HashiCorp Terraformのドキュメントを眺めながら.tfファイルを手入力で作成するのもよいのですが,サービス提供元…

ログベースの指標は作成後に集計される

Google Cloud Platformでユーザー定義のログベースの指標を作成し,ダッシュボードにグラフで表示しようと思ったのですが,作成直後にデータが表示されずに困りました. 原因 ログベースの指標は作成後に集計されるため,しばらく時間を置かないとデータが表…

機械学習に必要なデータ数の検討

前回の記事でRNNのモデルを用いて加算と減算を学習しましたが,最低限必要なデータ数はどれぐらいなのか検討してみました. 教師データは24896個ありましたので,全部使用(1),1/2を使用(2),1/5を使用(5),1/10を使用(10),1/20を使用(20),1/50を使用(50)…