nyanpyou Note

主な目的は調べたり作ったりしたプログラミング備忘録(予定)

certbotで取得した証明書を失効させたい話

超久しぶりの更新。 ご無沙汰しております。 以前作ったwebアプリ用に取得したドメインだが、いつまでも持っていてもランニングコストが地味にかかるのでそろそろ返却しようかと思っているところから今回の話のスタート。 それに先立ち今certbotで自動更新が…

視線入力で将棋やチェスやカードゲームを遊べるようにしてみたい その3

前回サンプルコードを動かし、アイトラッカーから得られた注視座標を実際の画面上の座標に直す必要があることが判明したところから。 nyanpyou.hatenablog.com github.com System.Windows.SystemParameters.PrimaryScreenHeightを使うと、メイン画面に設定し…

視線入力で将棋やチェスやカードゲームを遊べるようにしてみたい その2

いわゆる進捗報告。 1週間かかったが、無事tobii社からTobii Stream Engine APIの使用許可が頂けた。 申請は以下のような内容で送信した。 企業ではなく個人での申請だし、実名ではなくイニシャルで名前を書いているし、申請内容の英語も間違っている(個人開…

視線入力で将棋やチェスやカードゲームを遊べるようにしてみたい

お久しぶりです。 久しぶりにブログを更新したと思ったらけったいなことを言い出したなという感じだが、きっかけは体が動かなくなる病気の患者の方についての記事を読んだことと、それに関連してロボット発明家の吉藤オリィさんの記事を読んだこと。 note.co…

エンジニア・プログラマにしか使えないSNSのクライアントを作る

qiita.com Qiitaで話題になってたやつのクライアントをPythonで作った。 github.com GETとPOSTが出来れば閲覧も投稿もできるそうなので、標準ライブラリのurllibだけで何とかなった。 記事内の仕様によると GET /text/all?$orderby=_created_at desc&$limit=…

【ネタバレ無し】機動戦士ガンダム 閃光のハサウェイを鑑賞してきた話

人の犯した過ちは、マフティーが粛清する! パンフレットは迷うことなく豪華版 6月11日公開の機動戦士ガンダム 閃光のハサウェイを朝一で鑑賞してきました。 プログラミングとは全く関係無いですが、感想を書きます。 直接のネタバレは含まないようにしてい…

衝動的にLightsailとDjangoでWebサイトを作る その5

前回からの続き。 nyanpyou.hatenablog.com 構成(再掲) レンタルサーバー:AWS Lightsail OS:Ubuntu 20.04.2 データベース:MySQL 8.0.25 サーバーソフト:Apache 2.4.41 言語:Python 3.8.5 フレームワーク:Django 3.2.2 ドメイン取得:AWS Route 53 構成…

衝動的にLightsailとDjangoでWebサイトを作る その4

前回からの続き。 nyanpyou.hatenablog.com 構成(再掲) レンタルサーバー:AWS Lightsail OS:Ubuntu 20.04.2 データベース:MySQL 8.0.25 サーバーソフト:Apache 2.4.41 言語:Python 3.8.5 フレームワーク:Django 3.2.2 ドメイン取得:AWS Route 53 構成…

衝動的にLightsailとDjangoでWebサイトを作る その3

前回からの続き。 nyanpyou.hatenablog.com 構成(再掲) レンタルサーバー:AWS Lightsail OS:Ubuntu 20.04.2 データベース:MySQL 8.0.25 サーバーソフト:Apache 2.4.41 言語:Python 3.8.5 フレームワーク:Django 3.2.2 ドメイン取得:AWS Route 53 構成…

衝動的にLightsailとDjangoでWebサイトを作る その2

前回からの続き。 nyanpyou.hatenablog.com 構成(再掲) レンタルサーバー:AWS Lightsail OS:Ubuntu 20.04.2 データベース:MySQL 8.0.25 サーバーソフト:Apache 2.4.41 言語:Python 3.8.5 フレームワーク:Django 3.2.2 ドメイン取得:AWS Route 53 構成…

衝動的にLightsailとDjangoでWebサイトを作る その1

導入的なあれ ウマ娘。 それはリセマラによるダウンロード数水増しがないにも関わらず、サービス開始からわずか3か月足らずで700万DLを達成している化け物級スマホゲーム。 (※ゲームウマ娘はプレイヤー自身がユーザーデータを削除できるため、いちいちアプリ…

そうだ温度計を作ろう その3

ブログ執筆に着手してから思った以上に時間(1か月近く)がかかってしまいましたが、温度計最終回その3外観編。 さっくり行こうと思います。 nyanpyou.hatenablog.com nyanpyou.hatenablog.com 外観 改善点 実は室温がズレる 動作させ続けると液晶に白い靄が…

そうだ温度計を作ろう その2

そんなわけでその2ソフトウェア編です。 nyanpyou.hatenablog.com 構成の検討 初期案 改善案 具体的な話 温度取得 室温 外気温 ローカルサーバー 非同期通信 画面表示 最終回へ続く 構成の検討 初期案 温度計を作るにあたって、最初に考えた仕組みはこんな…

そうだ温度計を作ろう その1

約4か月ぶりです。ご無沙汰しております。 なぜに温度計か そうだ温度計を作ろう(唐突) と思い立ったのは去年の10月の終わり頃。なんで急にこんなことを思い立ったのかと言いますと、実はこの辺りにPCを新調しました。今までノートPCしか持ってなかったんで…

Pythonで送信したメールの添付ファイルが正しく見えない件について

以前書いたPythonを用いたメール送信方法を一斉送信を行う際に利用していたが、問題が発覚したのでその内容と解決方法についてメモ。 症状 原因 修正 教訓 余談 症状 Pythonで添付ファイル付きのメールを送り、そのメールをWindows10メールで受け取ると添付…

大量のPDFに対して一斉にパスワード付与と解除をしたい話

実に2か月ぶりの更新。 やりたいこと Google大先生に聞いてみる QPDF やりたいこと 大量のPDFファイル全てにパスワードを付与したい。また、それの解除もしたい。そしてこの機能を組み込みたいプログラムがPythonで作成中の物なので、できればPythonから動か…

音声認識を利用したい話

なんでいきなり音声認識か 唐突だが巷で流行りのVtuberというものが最近お気に入りで、自分は特に宝鐘マリンの配信をよく見ている。公式的には17歳なのだが、明らかに17歳ではない(アラサー的な)話題を連発するマシンガントークが面白い。 www.youtube.com …

下書きのまま忘れられていたメモ書き

メモ代わりに書きつけたまま公開せずに放置されていたことに気づいたので放り投げます← 最近作りたいものを思いつき、そのためにまた新しいことを学ぼうとしているところなので、それについてまとめるかもしれない。 以下供養のメモ書き format()関数を使っ…

Pythonで論文の情報をスクレイピングする

きっかけ 論文投稿雑誌の一部にはVideo Abstractなるものを一緒に乗せることが可能らしい。 初めて聞いたものなので、一体どんなものなのか他の人達の投稿を確認しようと思ったが、どうやら目次を見てもその論文にVideo Abstractが載っているのかの記載は無…

Windowsのコマンドプロンプトで遊ぶ

コマンドプロンプトで船長を動かすやつ。 以下の記事をたまたま見たことがきっかけで自分でもやってみようと思って作った。 そういう衝動性って大事。 dev.classmethod.jp #python3.8.1 import subprocess import cv2 import numpy as np def preview_by_con…

Pythonでメール(.eml)を読み込む

前置き 前回はPythonでメールの送信をする方法についてまとめたが、今回は電子メールを読み込む方法についての話。 ただし、こちらについても前回同様、公式ドキュメントを読んでも理解しきれないところが多々あった。わかる範囲でのメモ書きとする。 前置き…

Pythonでメールを送信する

例のウイルスにより諸々の対応に追われてしばらく何も書けていなかったが、その間に学んだことを忘れないように書いておく。 今回はPythonを使ったメール送信について。 テキストのみの送信(一番シンプルな例) 添付ファイル付きの送信 参考元 テキストのみの…

OpenCVとNumpyで比較明合成をしたい話2

以前OpenCVとNumpyで比較明合成を行うという話を書いた。 nyanpyou.hatenablog.com この時は配列の要素に二重のfor文でアクセスする形になっていたため処理が遅く、その部分が課題だった。今回処理速度が改善できたので改めて書き残す。 今回は以下の単純な…

学びのメモ2

eval()関数を使うと、文字列をPythonコードとして評価できる。これを使うと実行したいメソッドを文字列の結合から作ることが出来る。オブジェクトは同じだけど、メソッド部分だけどんどん入れ替えたい場合などに使える。 #例 class Test: def printOK(self):…

Raspberry Piに共有フォルダを作成する

Raspberry Piをリモートで使用していると、ファイルを即座にクライアント側とやり取りしたい場面が稀によくある。VNCViewerでも転送はできるのだが、いちいちダイアログを呼び出してファイルを選んで~という手順を踏むのは煩雑なため、共有フォルダを作るこ…

OpenCVで静止画を連続撮影した時に起こる「コマ落ち」について

例えば以下のように、Raspberry PiとRaspberry Pi Camera Moduleを用いて、0.2秒の露出時間で5秒に1回カメラの取り込みを更新する(つまり途切れずに光を取り込み続ける)ように設定し、連続で画像の保存をしたいとする。 from imutils.video import VideoStre…

モニター接続なしのRaspberry PiにVNC接続してデスクトップ環境を使う方法

以前Raspberry PiにVNC接続してリモートで操作できるようにセッティングしたが、Raspberry Piにモニターを接続せずに起動すると、VNC接続した時に真っ黒な画面で「Cannot currently show the desktop」と表示されることが発覚した。 これを回避する方法を書…

学びのメモ:リストのソートとlambda式

リストの要素をソートしたい時は、組み込み関数のsort()もしくはsorted()を使うと良い。sort()は元のリストをそのまま並び替え、sorted()は元のリストのコピーを並び替える。 これらの関数にはKeyパラメータが存在し、比較を行う前にリストの各要素に対して…

Raspberry Pi Camera Moduleの扱い方

以前Raspberry Pi Camera Moduleを使いたいがいまいち方法がわからず困ったという内容の投稿をしたが、その後進展があったため以下に記す。 Raspberry Pi Camera Moduleを動かすために、PiCameraというライブラリが用意されている。PiCameraライブラリのアク…

学びのメモ

今まで調べたり断片的に学んできた知識を整理することも兼ねて、OpenCVやPythonの参考書を改めて1から読んでいる。 その中で覚えた事、よく忘れることなどをメモ書きとして無秩序に書き連ねる。 #osの区切り文字を取得する import os a = os.path.sep import…