投稿

raspberry pi の ROM化は USB接続のストレージも含まれる

raspberry pi の microSDカードが定期的にブッ壊れるのでROM化を行った GUI無しのサーバ構成 microSD(起動やアプリ) USB-SSD(データ) USB-HDD(SSD定期バックアップ) USBストレージは /etc/fstab で自動マウント ROM化は簡単 raspi-config から $ sudo raspi-config Performance Options -> Overlay File System しかし、このROM化は、 ルート / 配下を全てリードオンリーとするため、/mnt/以下も対象 オイオイ、上記ROM化で Gemini も、後からマウントしたUSBストレージは対象外だから問題ないよ! とか言ってたのに、症状を伝えたらルート配下も対象とか言い出す始末 ひとまず、ROM化解除して、更新ファイル(数個だった)を書き足して復旧 バックアップ用のHDDも同様にマウントしてたから、バックアップごと揮発してました(爆 【解決編】 rasp-config でのROM化後 cmdline.txt の overlayroot=tmpfs へ :recurse=0 を追記 必要な場合バックアップを取る ROM化解除 → 再起動 # rasp-config で Performance Options -> Overlay File System からROM化 再起動せずに rasp-config を終了(重要) /boot/firmware/cmdline.txt を開いて overlayroot=tmpfs に続けて :recurse=0 を追記 overlayroot=tmpfs:recurse=0 ※上記 cmdline.txt が書き込み禁止の場合 # mount -o remount,rw /boot/firmware を行ってから編集 再起動

Delphi TreeView の MultiSelect でコードからノードを選択

Delphi TreeView で MultiSelect := True; にすると、Ctrl+Clickで複数選択可能 ノートの選択状態を取得 Node.Selected TreeView.Selections, TreeView.SelectionCount コードから選択状態を設定(NG) 対象のノートで Node.Selected := True TreeView.Select(node1, [ssCtrl]) これらを用いると、選択されたりされなかったり、 TreeView.Selected が残った状態になったりする コードから選択状態を設定(OK) TreeView の Select メソッドへ array of TTreeNode 型の配列をまとめて渡せばよいらしい // ex.1 TreeView.Select([node1, node2]) // ex.2 var Nodes: array of TTreeNode; SetLength(Nodes, 2); Nodes[0] := node1; Nodes[1] := node2; TreeView.Select(Nodes); // ex.3 uses System.Generics.Collections; var NodeList: TList<TTreeNode> NodeList := TList<TTreeNode>.Create; NodeList.Add(node1); NodeList.Add(node2); TreeView.Select(NodeList.ToArray); NodeList.Free;

さくらのメールでブラックリストに文字コード範囲を正規表現で指定

イメージ
さくらインターネットのメール ブラックリストの正規表現で文字コード範囲を指定する方法 (さくらのフィルタは maildrop(.mailfilter)) From欄の文字列に「異字体セレクタ」や「ゼロ幅スペース」を挟んで、フィルタをかいくぐろうとしているメールを、迷惑メールフィルタにかけるまでもなく落としたいということで ブラックリストに正規表現が使用できるが、文字コードで範囲指定を行いたい 異字体セレクタを例にした場合 [\x{E0100}-\x{E01EF}] という正規表現で記述する 【注意】[\uE0100-\uE01EF] のように指定した場合、エラーとなりメールが受信不能になる 【参考】 ゼロ幅スペース (最も使われていると思われるフィルタ回避) https://www.asahi-net.or.jp/~ax2s-kmtn/ref/unicode/u2000.html#spa1 [\x{2000}-\x{200F}] [\x{2060}-\x{206F}] や [\x{2000}-\x{200F}\x{2060}-\x{206F}] 異字体セレクタ https://www.asahi-net.or.jp/~ax2s-kmtn/ref/unicode/ue0100.html [\x{E0100}-\x{E01EF}] ※異字体を使用している場合は注意 ダイアクリティカルマーク (合成文字) https://www.asahi-net.or.jp/~ax2s-kmtn/ref/unicode/u0300.html [\x{0300}-\x{036F}] ※日本語の濁点半濁点は3099~に存在するため上記とは別 ロシア語文字 (偽英字として利用される) https://www.asahi-net.or.jp/~ax2s-kmtn/ref/unicode/u0400.html#bra [\x{0410}-\x{044F}] ギリシャ文字 (偽英字として利用される) https://www.asahi-net.or.jp/~ax2s-kmtn/ref/unicode/u0370.html#let2 [\x{0391}-\x{03C9}] ※Ω等を含むため利用注意

esドメインは何の略

 esドメインはスペイン 現地語 スペイン王国 = Reino de España Reino = 王国 España = エスパーニャ(スペイン) の先頭文字 es らしい

Joplin Windows で保存されたウィンドウ位置が反映されず x=0, y=0で起動してしまう

Joplin Windows で保存されたウィンドウ位置が反映されず x=0, y=0で起動してしまう 位置情報のファイルには保存されているものの、起動時に反映されていない様子 以前からフォーラムにちょくちょく記載されては、時間切れとなっている 私の環境でもずっと改善されないので、とりあえず対策 window-state-prod.json から displayBounds を削除して読み取り専用にする ※毎回、同じ位置で起動するようになります ※ディスプレイ解像度を変更する環境(RDP含む)は未確認です Joplin を起動して、位置を決める Joplin のプロファイルディレクトリを開いておく(ヘルプ-プロファイルディレクトリを開く) Joplinを完全終了(Ctrl+Q)させる  → window-state-prod.json へ位置情報が保存される テキストエディタで window-state-prod.json から displayBounds エントリーを削除して上書き保存 ※区切りのカンマに注意 {"width":1536,"height":826,"x":383,"y":220, "displayBounds":{"x":0,"y":0,"width":1920,"height":1080}, "isMaximized":false,"isFullScreen":false} ↓ {"width":1536,"height":826,"x":383,"y":220,"isMaximized":false,"isFullScreen":false} window-state-prod.json のプロパティから属性を「読み取り専用」へ変更

Amazon Developer の本人確認 → 身分証明書の外側に黒い背景が必要

イメージ
 Amazon Developer から本人確認しろとのお知らせ 提出可能な身分証明書は、日本の場合 パスポート、運転免許証、居住許可、ビザ だそうです 「居住許可」ってのは、在留許可証の事らしい マイナンバーカードは今のところ含まれていないようです で、以前スキャンしていた運転免許証をメールの「本人確認はこちら」から送信するも、弾かれてしまう(数十秒~数分待たされてNG) ※NGは3回までとの記載をどっかで見た FAQ から確認すると、黒っぽい背景に置いた状態でないとNGらしい 黒っぽい板状のもの(マウスパッドの裏)を背景にスキャナで裏表それぞれ読んで、送信したらすぐに通過しました ※運転免許証は表裏順番に送信 しばらくして Amazon Developer のサイトをリロードすると下記の表示が現れる

qrcode.js(qrcode.min.js)で生成したQRコードをセンタリングするCSS

javascript  qrcode.js (qrcode.min.js)で生成したQRコードをセンタリングするCSS HTML QRコードを入れるdiv(id="QR")     < div id = "QR" ></ div > javascript QRコード生成 (CSSと関係ないです)     var qrcode = new QRCode ( 'QR' , {         text:  'QR test',         width: window.innerWidth,         height: window.innerWidth,         correctLevel : QRCode.CorrectLevel. M     }); css 中央寄せ     #QR {         display : flex ;         justify-content : center ;     }     #QR img {         width : 80% !important ;         height : auto !important ;     }