カテゴリー: OS

ストアアプリ版Paint.Netに複数画像を"送る"

俺氏が日頃使用している画像編集ソフトは『Paint.NET』である。

ある時、ストアアプリ版が出ているのに気づき、「寄付はあれだけど、まあ還元もしないとね(・∀・)」と購入した。

今回、20H2のクリーンインストールに際し、従来のexeタイプはインストールせず、購入したストアアプリ(UWPアプリ)のみをインストールした。

で、いざ使ってみようとして困惑した…

ストアアプリをSendToでどうやって使うんや…(´・ω・`)


結論から言うと、以下の内容のバッチファイルを作り、それ自身またはショートカットをSendToフォルダに入れておけば良いようだ。

ストアアプリはその作りによって必ずしも引数に対応していないらしいのだが、Paint.NETは1ファイルだけは取ってくれるようなので、再帰的にURIスキームに引数を渡して呼び出す形にした。

一応これでエクスプローラー上で複数ファイルを選択して"送る"ことが出来た∩( ・ω・)∩

@echo off

for %%a in (%*) do (
  start paintdotnet:%%a
)

※SyntaxHighlighterでbatファイルを装飾表示させるには追加のファイルやら設定が必要らしいので、javaで表示(ノ∀`)

上述の通り、ストアアプリの作りによって変わってくるけれども、まあこのやり方でストアアプリに対してSendToを使えるようだ。

本当はファイル拡張子等をチェックして、画像ファイルじゃなかったら弾くようにするべきだが、面倒くさいので、そこは運用でカバー(・∀・)

よくよく考えてみると、SendToに入れるのバッチファイルじゃなくてVBSとかでもいけるんかな?
※VBSでURIスキームを叩く方法がわからんかった(ノ∀`) デキナイノカナ?


[参考]

ストアアプリのURIスキーム等については以下のページを読んだ。
ZipPla の外部アプリに UWP版 NeeView を登録する方法
Windows 10のMicrosoft Storeアプリをコマンドラインやバッチから起動する

for文に関しては、幾つかのページを彷徨う内になんとなくわかった。
for
バッチファイルでコマンドライン引数を扱う
知識ゼロからのwindowsバッチファイル超入門

ほとんどのページでデフォルトのデリミタは空白とタブとあったが、なんかカンマも指定しなくても機能していたような気がする。
一体これはなんなんだろうか?

プライバシーポリシーのなんちゃらこうちゃらで…

「アプリの公開を停止しちゃるでー(・∀・)」とごっぐるからメールが来た。

"Google Play配布契約 4.8 への違反対応"とか言うやつ(´・ω・`)?
よくわからんからぐぐった。

結論から言うとadmobやfirebaseを使ってるとそれらがやっている情報収集がGDPRとかその辺のなんらかに抵触するからプライバシーポリシーの表示をするようにしないと駄目よんというようなお話らしい(・∀・) ←ヨクワカッテナイ

プライバシーポリシーの項目はGoogle Play Consoleのアプリのページ内にあったが、しばらくは用意しなくても大丈夫そうだったので放置していたのがいけなかったのだ(ノ∀`)

参考:
AdMob, Firebase付きAndroidアプリのプライバシーポリシー、こうしてみました(要経過観察)
【広告ID】Google Play配布契約 4.8 への違反対応


参考にしたページの方やら、他の人達はadmobとfirebaseの2つを使っているので、その2つに対するプライバシーポリシー宣言文(?)を用意していたが、俺氏のアプリは今の所admobだけなのでfirebaseの方は端折った。admobの方の文をまるごとパクり参考にプライバシーポリシー宣言用のHTMLを作った。

参考ページその他を読んでいると、アプリ側でも初回起動時に強制的に表示するか、広告IDの収集をやめさせないといけないよう(UnityでそれをやるためにはAndroidManifest.xmlをいじらなくちゃいけないような雰囲気)だったので

取り敢えず、この件は放置することにした(ノ∀`)

更新をかけるにはまだ中学生漢字のデータが出来ていないし、もし更新するなら、その他のバグというかデータの誤りも直して出したいし。どうせ公開していてもユーザーは全然増えてないしw


などと思ってGoogle Play ConsoleのプライバシーポリシーのURLを追加して、「アップデートを送信」とかいうボタンをクリックした。

それでまぁ、そのことは忘れて他のことをやっていた。
しばらくしてAndroid端末を見たら、アプリの更新要求が表示されていた。従った。

それからまたしばらくしてAndroid端末を見たら更新が終わっていた。
何故かその中にMole's Match-upのアイコンがΣ(゚∀゚;)

俺氏が寝ている間に小人さん達が勝手にバグ取りとかデータ内容の更新をしてリリースしてくれたんだな(・∀・)と呑気に考えてみたが、そんなはずもなく。

まあ普通に考えたらプライバシーポリシーURLの更新によるものだろう……
で、それもまあともかくとGoole Play Consoleを見に行く。

あれ(´・ω・`)? 公開停止が解除されてね?

どういうこと(´・ω・`)?
プライバシーポリシーURLをGoogle Play Consoleに追記すれば解決するだけの話だったのかな?


まあ、どうでもいいか(・∀・)

取り敢えず、SSL化出来た模様(´・ω・`)

SSL化

だがしかし、具体的に何がどうなったらSSL化なのか、全く内容を理解していない(ノ∀`)

参考にしたエントリの「certbotのインストール」をやったらSSL化出来てしまったようなので「WordPressのSSL化」の方はやってないけど、やらないと駄目なのかしら(´・ω・`)?

一応、WordPressの「一般設定」の[WordPress アドレス (URL)]と[サイトアドレス (URL)]の値の頭を"https://"にしたけど、これも必要なのか必要じゃないか不明(ノ∀`)

「証明書の自動更新」もやったけど、きちんと動くかどうかは不明(ノ∀`)
数ヶ月後にSSLじゃなくなったら、またやり直す方向でw


なんかおかしい(´・ω・`)

うちのブログ、今では一日100もアクセスがない日がほとんどなのに一日2円くらいの課金が発生している(´・ω・`) 5日くらい前にこっちに移しただけなのに
「Network Internet Egress from Americas to Americas」で"1.7 gibibyte"になってる…

インストール後の色んな作業でネットワークトラフィックを浪費しちゃったのかしら(´・ω・`)?

それとも今まで適当にサイズを小さくせずに貼っていた画像達が問題なのか…
まあ一日2円くらいなら、良いは良いんだけども(´・ω・`)ソレクライナラハラエマス

取り敢えず、GCP側に移行出来た模様(´・ω・`)

さくらVPSからgTLDドメイン転出用のオースコードが届いたので、移行作業を続行。
【さくら→Google移行作戦 前半】ドメイン移管編

Google Domain 1400+112(税)=1512円だった。さくらVPSは税込み1852円なので340円差か。働いていたら誤差のレベルだな。というか働いていたらさくらVPSからGCPの無料運用に移行することもなかったか(ノ∀`)


移行前に最新データのバックアップを忘れる(ノ∀`)

深いことを考えずに作業した為に、元ブログ側の管理ページに入れなくなる(ノ∀`)
加えてどっちのページが表示されているのかわからなくなるw
致し方なく、データ移行処理後に追加した2エントリは手動で移し替えたw

ドメインとGCPのIPアドレスが結びついている状態で何故かhttps://mole-kingdom.com/idx.htmlのページがURL指定で表示されたのは謎(´・ω・`)?
さくらVPSのインスタンスを止めたら表示されなくなったので、あっち側のページなのは間違いないのだが。なんだろう? キャッシュ?
今はデータを移行したので表示されて当然なんだけども


language-pack-ja

従来の方法でubuntuの文字化けが直らなかったので、以下のエントリに従ってaptでインストールしたら文字化けが解消された。もしかしたらlanguage-pack-jaが入ってなかっただけなのかな?

参考:
Ubuntuのデフォルトロケールを変更する


wp-cli

何故か移行先でDuplicatorプラグインが削除出来なかった(´・ω・`)
正解に言えば停止しようとすると技術的問題がどうとかというエラーが出て、先に進めない。

プラグインフォルダから削除するだけでもいいが、dbの中にゴミが残るとかどうとかいう噂を読み、wp-cliを入れて処理した。いきなりuninstallは出来なかったので先にdeactivateしてからuninstallした。

その後、WordPressのプラグインページに行ったら、まだDuplicatorは何故か存在しつづけていたが、その状態で削除をクリックしたら、無事に一覧から消えた。色々と謎が残る(´・ω・`)

参考:
WP-CLIの使い方
wp-cli コマンド一覧


xlrd

Pythonでexcelファイルを触る為のライブラリ xlrdを使ってみた。なんというか、まあ、ふーん(・∀・)と言った感じである。

パスが上手く通らなくて困ったが、Windowsだと全部"/"でええんかΣ(゚∀゚;)

参考:
Excel読み込み (xlrd)
Windowsのパスがうまく指定\表示できない問題 in Python
パワポエンジニアの憂鬱を軽減する誤字/表記揺れ検出ツールを作った物語


Google DriveでのOCR

なんやかんやで出来るようになったが、何をどうして上手く行ったのかよくわかってない(ノ∀`)
参考にしたコードはWindows向けではなかったからか、ちょっとはまった。Spyder3のフォルダ内で作業していたのが悪かったのかもしれない。

取り敢えず、そもそもoauth2clientが入ってなかったので動かなかったみたい(ノ∀`)
pipでinstallした。

正しい対処法かわからないが、CLIENT_SECRET_FILEの値に絶対パスを追加したり、credential_pathのところを絶対パスに変えて、Anconda Promptでの実行にもパスを追加した。

全く詳しいことを覚えていないが、なんかクレデンシャルがない状態の時にOCR対象のファイル名を引数に指定せずに実行したら、クレデンシャルがとれたような……

その後で改めてファイル名も指定して実行したら、無事にOCRが動いたような……( ´・ω・)ジシンガナイ

固有表現抽出APIにはまだ投げていない(ノ∀`)
忘れなければそのうちやるw

参考:
GoogleのAIとNTTのAIを融合したら最強の業務カイゼンツールが爆誕した
ServiceAccountCredentialsのインポートエラー