みーのぺーじ

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

DeepL翻訳で動物の種類を増やす

DeepL翻訳を使って,動物の種類を増やす実験をしてみます.これはみーの友達からいただいたアイディアを検証した記事です. DeepLに日本語を入力して,英語に翻訳します. うさぎとうなぎが400匹 うさぎが1匹。 One rabbit. うさぎにうなぎを追加します. う…

DjangoのcollectstaticでAmazon S3に直接アップロードするとParamValidationError

タイトルの通りですが,Djangoに django-storagesとboto3をインストールして,collectstaticを実行してAmazon S3に直接アップロードを試みましたが,ParamValidationErrorが発生しました. settings.py STATICFILES_STORAGE = 'storages.backends.s3boto3.S3…

DockerのCMDは文字列でよいのか

WebサーバーをDockerで作成するために,DockerfileのCMDに以下のように書くことを考えます. CMD gunicorn --bind 0.0.0.0:8000 web.wsgi これにより,DockerでWebサーバーを起動すると,問題なくGunicorn - Python WSGI HTTP Server for UNIXが実行されます…

RustのPyO3がstableで動くようになっていた

pyo3 0.12.3 - Docs.rs 今まではRustのnightlyでなければ動きませんでしたが,2020年6月のリリースでstableでも動くようになったようです. Release PyO3 0.11.0 · PyO3/pyo3 · GitHub PythonとRustがより使いやすくなって嬉しいです. しかしながら,少しだ…

DaVinci Resolve でプロジェクトの設定のデフォルトを変更する.

DaVinci Resolve 16 で動画を作成する時は,最初にプロジェクトを新規作成します. 動画の解像度やフレームレートを決めます.プロジェクトの設定を開きます. この作業を毎回行うのは面倒なので,デフォルトを変更して自動的に好みの設定となるようにします…

MPEG DASHで動画を配信する時のCloudFrontのCORS設定

MPEG DASHを使ってアダプティブストリーミングで動画を配信しようと挑戦したところ,CORSで躓いたのでまとめます. 目標 shaka-playerを使ってDASHでアダプティブストリーミングする. 動画を配信するためにAmazon S3を使い,CloudFrontでキャッシュする. …

Pythonパッケージの更新をRSSで追跡する

世の中Twitterなど様々なサービスがありますが,みーはRSSを使っています. Webサービスを運営する上で,使用しているパッケージの更新がないかを定期的に調べるのが面倒なので,よい方法はないかと試行錯誤した結果,PyPIのRSSを使うことにしました. 積極…

TestCafeのAssersionが面白い

TestCafeはブラウザーでE2Eテストを実行するためのライブラリーです. webdriverが不要,任意のブラウザーで実行可能な素晴らしいライブラリですが,非同期処理を駆使してJavaScriptでテストコードを実装する必要があるので少し扱いにくいという欠点もありま…

abs()の解説記事の違和感

Python入門|絶対値を求めるabs関数の使い方 という記事に,Pythonで絶対値を得る方法が解説されていました. 一般的な絶対値の求め方は対象となる数値を二乗した後に平方根を求めることで±記号を取り除きます。 そんな面倒なことをしなくても,負の数ならば…

wsl2を使ってみた

OSはwindows 10 home 64bitで,バージョン2004以上にアップデートする*1.以下の2つの機能を有効にして再起動し,wslを有効にする. デフォルトのバージョンを2にする. wsl --set-default-version 2 もし, エラー: 0x1bc となれば, Updating the WSL 2 Li…

Heroku のデータベースのプランを変更する

Heroku postgresのデータベースのプランを変更する方法は以下のドキュメントにとても詳しく記載されているのですが,少し困ったことがあったので整理してみます. Upgrading the Version of a Heroku Postgres Database | Heroku Dev Center 上記の記事を補…

Internet Explorerのサポートを考える

Webサイトを作成するにあたりInternet Explorer 11をサポートするかどうかは悩ましいです.ES6で流れるように作ったWebサイトを,Internet Explorerで開くと,うまく動かなくてがっかりします. Internet Explorerを打ち捨てようとしても,日本のデスクトッ…

開発環境のTestCafeでSSLを利用する

TestCafeは,JavaScriptでe2e testを作成すれば,たくさんの種類のブラウザーで実行できる便利なライブラリです. Apple Payなど通信がhttpsでなければ実行できない機能があるため,開発環境のTestCafeでもhttpsを使うことにしました.そのためにTestCafeの-…

Google Cloud Runは魅力的だがまだ実用的でない

DockerベースのWebアプリケーションの運営に,Google Cloud Runがよさそうだと思ったので,使ってみました.Google Cloud Runは2019年12月に正式リリースされたばかりで,まだ半年しか経過していません*1.とはいうものの,Dockerイメージを指定して,CPUと…

Pythonで一括代入する時の注意

Pythonでは複数の変数に一括して値を代入することができます. a = b = 1 print(f"{a}, {b}. id={id(a)}, id={id(b)}") b = 2 print(f"{a}, {b}. id={id(a)}, id={id(b)}") これをPython3.8で実行すると, 1, 1. id=4347452064, id=4347452064 1, 2. id=4347…

住信SBIネット銀行でキャッシュカードのエラー

住信SBIネット銀行の自分の口座に入金しようと,ATMでキャッシュカードを用いた手続きを試みましたが,エラーになりました. このカードではお取り扱いできません.お取引銀行にお問い合わせください. Invalid card キャッシュカードの設定を確認したところ…

キャッシュは大事だけど難しい

ソフトウェア開発では,いろいろな関数を何回も実行してバグの修正や機能の改善を行っていきます.1回あたりのコストが高い処理がある場合,その結果をキャッシュすことで,開発がスムーズになります.そうして現実的な実行速度の中でソフトウェアの形が収ま…

楽天モバイルの本人確認書類はスキャンしてはいけない

楽天モバイルが,Rakuten UN-LIMITに新規入会するとRakuten Miniという端末が1円で購入できるキャンペーンをしていたので,早速入会してみました. 昔は,携帯電話回線を契約するためにドコモショップなどに出向いて,2時間程度の事務手続きをする必要があり…

Pythonのジェネレーター内包表記にハマった

バグの原因が分かるまでに2時間もかかったので,自分への戒めの記事です. 話を簡単にするために,4つのフルーツの名前を扱うプログラムを例に用います. fruits = set(["apple", "banana", "mango", "orange"]) print(sorted(fruits)) これをPython3.8で実…

PythonのEnumが遅い

みーが今作成しているPythonのソフトウェアが徐々にもっさりしてきたので,cProfileで原因を調べてみると,どうやらEnumがボトルネックになっていることが分かったので,Enumの速度についていろいろと検証してみました. 環境 Python 3.8.1 iMac Late 2015, …

トヨタのライズを1ヶ月使用した

今までは電車通勤をしていましたが,そろそろ満員電車が辛くなってきたので,車を購入しました. 車種の検討と購入 苦労話 ライズで運転 ヘッドライトを消せない アダプティブ・クルーズ・コントロールは便利 パンク修理キットで容積増 コーティングできれい…

接点復活剤に救われた

YouTubeで「熊五郎お兄さんのDIY」を見ると,接点復活剤というものが度々登場しています. www.youtube.com 最近スマートフォンを充電していても,途中で停止して充電できなくなることが増えて困っていました.USB端子の接触不良ならば接点復活剤で直るかも…

AndroidのOTGでUSBデバイスを扱う

AndroidではUSB host mode (OTG) がサポートされており,Android 3.1以上で動作すると記載があります.従って,理論的にはデバイスをUSBで接続すれば,Androidスマートフォンで使用できるはずです. USB host overview | Android Developers 実際に動作する…

Unicodeのマイナス記号を集めた

とある文字列を処理していて,検索してもヒットしないマイナス記号があったのでUnicodeを調べたところ,Unicodeにはたくさんのマイナス記号が存在することが分かりました*1. m = [ 0x05BE, 0x1806, 0x2010, 0x2011, 0x2012, 0x2013, 0x2014, 0x2015, 0x2212…

Google Homeで館内放送

みーの家では,Google Home miniを主な部屋に設置しています. store.google.com 別の部屋にいる家族に伝えたいことがあっても,プライバシーも考慮しなければなりません.そこで,Google Homeのブロードキャスト機能を使ってみました. support.google.com …

SPA開発でhot reloadしたら自動でconsoleを削除する

hot reloadを使いながらシングルページアプリケーション(SPA)を開発していると,ブラウザーを再読み込みせずに開発が進められるのでとても便利なのですが,その代わりにconsoleにエラーが溜まっていきます. このような状況では,以前のバージョンのエラーが…

docker-composeのportsとexpose

docker-composeでportsとexposeの使い分けを整理します. exposeはホストからアクセスできないポートですが,portsはホストからアクセスできるポートです.*1 例えば,port 5432にpostgres データベースを起動し,djangoを使ってサーバーを作り,ブラウザー…

docker-composeのオプションとコマンドと引数

docker-composeを使う時に,オプションとコマンドと引数の違いにハマったので整理します. docker-composeは,[options] [COMMAND] [ARGS...]の順番で指定していきます. Usage: docker-compose [-f <arg>...] [options] [COMMAND] [ARGS...] docker-compose -h|-</arg>…

トランセンドにメールしたら日立用語で返事があった.

製品について質問があり,トランセンドジャパンに問い合わせしました.返事があり, 毎々、お世話になっております。 トランセンドジャパン(株)テクニカルサポートでございます。 「毎々お世話になっております」の毎々は独特な表現です*1. 弊社にて製品…

公的個人認証サービスの認証が鬼門だった

この記事の結論は, TPMが有効なパソコンでは証明書の読み込みに失敗する場合があるので,公的個人認証サービス専用の古いパソコンを1台用意するべきである. です.検証したことを説明します. はじめに 公的個人認証サービスは,マイナンバーカードなど登…