によると
$str =~ s/(\W)/'%' . unpack('H2', $1)/eg;
と
$str =~ s/%([0-9A-Fa-f][0-9A-Fa-f])/pack('H2', $1)/eg;
がはやいそうです。
同じく
によれば、
$str =~ s/([^\w ])/'%' . unpack('H2', $1)/eg; $str =~ tr/ /+/; $str =~ tr/+/ /; $str =~ s/%([0-9A-Fa-f][0-9A-Fa-f])/pack('H2', $1)/eg;
がはやいそうです。
妻がパスワード管理に困り始めていたのでパスワード管理ツールを勧めたところ、使いたいとのこと。今日使い方を説明しながら環境を整えてみた。選択したのは自分も長年使っている KeePass ファミリで、 MacBook Pro では KeePassXC を、スマートフォンでは Keepass2Android を使ってもらうことにした。
使い勝手を考えると 1Password や Bitwarden などが良いのかもしれないけれど、クラウド型のものは自分に何かあったあとに使い続けるのが難しくなる可能性がある(アカウント管理や支払いついて理解して対応するコストがかかるとか、サービス終了のリスクがあるとか)ので避けた。
パスワードデータベースファイルの同期は Google ドライブで。念の為自分の Google アカウントにも共有しておいてもらい、自分の MacBook Pro (の Time Machine) にもバックアップが取られるようにした。
自分1人だけで管理している家族にかかわるアカウントを共有したいと常々思っていた。今回妻が KeePass を使えるようになったので、家族関連パスワードデータベースファイルを作って今後共有していこうと考えている。
そうすると扱うパスワードデータベースファイルが複数になるので個別にアンロックが必要になり手間が増える。なにか便利な機能がないかなと思って調べたところ KeePassXC と Keepass2Android どちらも子データベースを自動的に開く機能が用意されていた。本家 KeePass 用プラグイン KeeAutoExec 互換機能っぽい。
メインのパスワードデータベースファイルの中に AutoOpen グループを作成しその中に「URL に子データベースのパス」「パスワードに子データベースのパスワード」をそれぞれ入力したエントリを作っておくと、そのデータベースファイルを開いた際に自動的に子データベースファイルもアンロックして開いてくれるのだ。これは便利!
今まで自分は Dropbox にパスワードデータベースファイルを置いていたけれど、これを機に Google ドライブに変更。同じストレージサービスにしておいた方がパスワードデータベースファイル間の相対パスがシンプルになるからというのがその理由。
Google ドライブなら「選択したアイテムを別のフォルダに追加 (Shift+Z)」を使って1つのフォルダにパスワードデータベースファイルを集めることができるので、全部ファイル名指定だけで済ませられて良いのだ。
今まで Google フォトでは「URL を知っていれば誰でも写真を表示できる共有リンク」を作ることなくアルバムを共有できなかった。
が、ついについに「リンクの共有」をオフにして指定した Google アカウントと共有できるようになった。やったー。
共有されたアルバムを Google Nest Hub のフォトフレームで指定できることも確認。
1点だけ気になるのはオーナーが共有するユーザーを完全には限定できない点。 Google ドライブのようにコントロールできない。仕組みでは防げないので他の人を追加されたくない場合はきちんと話し合っておく必要がある。
アルバムにアクセスできるユーザーは誰でも、共有アルバムに他のユーザーを追加できます。 - https://support.google.com/photos/answer/9789702
そもそも共有されたアルバムの写真を個別に保存できるものだし、信頼できる相手とだけプライベートなアルバムを共有するだろうということを考えると問題になることは少ないかな。
テキストファイルと Google ドキュメント間で内容を同期したい件について引き続き検討。
Markdown ファイルをローカルで更新したら Google ドキュメントに自動できれいに反映されればベストだけれど、そういうのは無さそう。共有したいノートの作成・更新頻度を考えると手動にするか。
iA Writer の Web プレビューを全選択しコピーするとリッチテキストとしてクリップボードに入る。これを Google ドキュメントに貼り付けたところいい感じに書式付けされた。
Markdown ファイルの最初の見出しの次に Google ドキュメントの URL を HTML コメントで書いておけば、更新時にさっと開ける。 Google ドキュメントへの反映も思ったほどは億劫で無かった。
うん、これでいいかなと。
今日から運用開始する。
画像を データ URL 化して埋め込めば、その画像も Google ドキュメントに貼り付けられた。
[ ノート・日記はテキストファイルに ]
YouTube Music に2つあった「おすすめのミックス」のうち1つが「スーパーミックス」に名前が変わった。「毎週水曜日更新」の方は「おすすめのミックス」のまま。
「おすすめのミックス」は URL のパスが /playlist で 50曲プレイリスト、「スーパーミックス」はパスが /watch で「次の曲」に25曲リストアップされて以降足されていく感じ。
iA Writer の Web プレビューを Google ドキュメントに貼り付けて共有する方法で一緒に貼り付けられる画像はインターネット公開されているものだけなのがちょっと不便だった。iA Writer の Web プレビューのクリップボードコピーには画像データが直接含まれないため。
でいろいろ試したところ iA Writer 側で データ URL として画像を貼り付ければ、コピー & ペーストで Google ドキュメントに貼り付けられることが分かった。
画像データを base64 コマンドなどで base64 で符号化し、 Markdown ファイル上で

とすれば OK(image/png はメディアタイプに合わせる)。 iA Writer で Web プレビューで表示される。
とても長い URL なので文章中に直接含めておくのは不便。実際には img.png.txt など別のファイルに書いておいて
iA Writer の content block 機能を使って
/img.png.txt
のような形で include して実用するのが良さそうだ。ロケーションの中にファイルを置くことで検索にひっかかって不便な場合は、別のフォルダに置いて
../img/img.png.txt
のように相対指定かな。
[ ノート・日記はテキストファイルに ]
永続的に残しておくほどではないちょっとしたノートを置いておくスペースとして nNote を2017年1月末に始めて3年弱になった。
ある程度自分なりに推敲してまとめる日記記事中心の nDiki とは別に、断片的・未整理・不完全なちょっとしたノートを頻繁/大幅に更新したり削除を前提に置けて重宝している。
一方別にすると nDiki と nNote の両方を通して「キーワードで記事を抽出して表示」したり「時系列で表示」したりできない点がちょっと不便だと分かった。パーソナルナレッジベースとしてはまとまっていた方が良いので、今後ちょっとしたノートも nDiki 上に置くことにする。
両者を区別はしたいので nNote in nDiki として
とすることにした。
nNote にある過去のノートも上記ルールに合わせて修正して nDiki に移動。横断的に見る時に邪魔になる「持ち物リスト」や、仕上げた旅行記記事と一緒に置く逆に分かりにくくなる「旅行計画」といったノートは nDiki に移さずに nNote に残しておいた方がいいな。 nNote は nNote で残しておくことにする。
Markdown ファイルを iA Writer で Web プレビューしたものを Google ドキュメントに貼り付けて共有する(記事1)時、画像データをデータ URL 化して Markdown ファイルに記述すれば一緒に貼り付けられることが分かった(記事2)。
でもやっぱり管理が面倒くさい。
そこまでするなら「別のアプリで self-contained HTML に変換」→「Web ブラウザで表示」→「コピー & ペーストで Google ドキュメントに貼り付け」を実行する方がいいのでは。いったん HTML に書き出すのが嫌だなと今まで思っていたけれど。
と思って調べたら、インストールしてある Marked 2 が self-contained HTML に変換できたし、Google Chrome で表示して全選択からのコピー & ペーストで画像付きで Google ドキュメントに貼り付けられた。
こちらの方法にしよう。
Naney (なにい)です。株式会社ミクシィで SNS 事業の部長をしています。
nDiki は1999年1月に始めたコンピュータ日誌を前身とする Naney の Web 日記(兼パーソナルナレッジベース)です。
#nNote タグがついている記事は他の記事に比べて、より断片的・未整理・不完全なちょっとしたノートです。まだ結論に至っていない考えなども含まれます。頻繁/大幅に更新したり削除したりすることがあります。 それとは別に nNote にもちょっとしたノートがあります。
※内容は個人的見解であり所属組織とは関係ありません。