nDiki : URL

URL - Uniform Resource Locator

URI escape (Perl)

によると

 $str =~ s/(\W)/'%' . unpack('H2', $1)/eg;

 $str =~ s/%([0-9A-Fa-f][0-9A-Fa-f])/pack('H2', $1)/eg;

がはやいそうです。

application/x-www-form-urlencoded でのエンコード (Perl)

同じく

によれば、

 $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;

がはやいそうです。

RFC

  • RFC1738 - Uniform Resource Locators (URL).
  • RFC1808 - Relative Uniform Resource Locators.
  • RFC2368 - The mailto URL scheme.
  • RFC2396 - Uniform Resource Identifiers (URI): Generic Syntax.

関連情報

2021年11月25日 (木)

Google デベロッパー プロフィールを作成した【日記】

Google デベロッパー プロフィール (Google Developer Profile)でカスタム ウェブアドレスが設定できると聞いて、デベロッパー プロフィールを作成し URL をゲットした。

Google デベロッパー プロフィールが何なのかよくわかっていない。

2022年3月1日から Google AdSense の「関連コンテンツ」に関連コンテンツが表示されなくなり広告表示だけになるとのこと。関連記事が表示されるのが面白いなと思って設定していたのでちょっと残念。忘れないうちにと 広告ユニットを外しておいた。

夜ご飯のあとに『あつまれ どうぶつの森』サンクスギビングデー。料理に使えるかなと以前に釣ったアジが家にあったりしたこともあり、最初の各料理食材集めまでをさくっとクリア。

[ 11月25日全て ]

2021年12月16日 (木)

今日のさえずり: くまの子ウーフのビジュアルについての記憶が喪失していたので画像検索した

[ 12月16日全て ]

2022年1月4日 (火)

LINE のグループの「ノート」でちょっとしたノートを共有する

みんなで出掛ける時のちょっとしたノートを共有するのに LINE の「ノート」を初めて使ってみた。今さらだけれどこれで十分だなあ。

自分が投稿したノートは自分のみ編集・削除できるというのが管理するのに都合良い。オリジナルのノートを手元で書いてコピーし、投稿したり更新したりといった運用ができる。

URL がちゃんとリンクになるので表現力も必要十分だ。

グループの「ノート」なら共有範囲は自動的に参加メンバーだけになる。

共有する相手側に別のアプリを使ってもらう必要もない。 やはり皆が使っているプラットフォームというのは強いな。

[ 1月4日全て ]

2022年1月10日 (月)

今日のさえずり: 今日1日で20枚弱のクレジットカードにハサミを入れた

[ 1月10日全て ]

2022年2月5日 (土)

シーズン末値下げのユニクロ フランネルシャツを確保【日記】

image:/nDiki/2022/02/05/2022-02-05-153603-nDiki-1200x800.jpg

今日は「おとどけいきゅう」で京急川崎駅フラップ式列車発車案内表示装置デザインのグッズ発売日。京急オンラインショップの方はすぐ完売、鮫洲店の方も大行列だった様子。時間があればふらっと鮫洲店行ってみようかなと思ったけれどやめておいた。

フランネルシャツを確保

ユニクロ フランネルシャツのシーズン末値下げチェックを怠ってしまっていたが、近隣店舗はかろうじてオリーブ(56 OLIVE)のみ L サイズが残っていたので買ってきた。1月頃の値下げ後に毎年買い替えるのがお得なのよね。

Gmail で他のアカウントの「メールを今すぐ確認する」 できない問題

Gmail で他のアカウントの「メールを今すぐ確認する」 (POP3) を Gmail アプリからできないの、確認コード・確認 URL を受け取る場合に不便。 なので直接 IMAP で見にいくためのアカウント設定を Gmail アプリに追加してみた。

今日のさえずり: このくすぐったい気持ちで毎話見続けられるのかしらん

  • 06:20 ガラスの中の街 #photography RICOH GR IIIx #GR #GRIIIx #GR3x https://t.co/W7ijO7sHWj
  • 11:14 周回遅れで『明日ちゃんのセーラー服』第三話視聴。 このくすぐったい気持ちで毎話見続けられるのかしらん。
  • 16:40 ユニクロ フランネルシャツのシーズン末値下げチェックを怠ってしまっていたが、近隣店舗はかろうじてオリーブのみ L サイズが残っていたので買ってきた。 https://t.co/D1A6gGlvhM
  • 16:52 1月頃の値下げ後に毎年買い替えるのがお得なのよね。
  • 18:32 Gmail で他のアカウントの「メールを今すぐ確認する」 (POP3) を Gmail アプリからできないの、確認コード・確認 URL を受け取る場合に不便。 なので直接 IMAP で見にいくためのアカウント設定を Gmail アプリに追加してみた。
  • 20:20 #FR2梅 #FR2 #photography RICOH GR IIIx #GR #GRIIIx #GR3x https://t.co/24DRBEuxFh
  • 25:00 2022年2月5日(土) やったこと - 『明日ちゃんのセーラー服』第三話 - ユニクロ フランネルシャツ 値下げ品 - 食材買い出し - Gmail と POP3・IMAP 併用動作確認
[ 2月5日全て ]

2022年2月9日 (水)

MkDocs でワーキングノートを GitHub Pages にデプロイし公開する

Markdown で書いているノートを「公開で作業する」というコンセプトで社内で公開するのに、 GitHub Enterprise Server (以下 GHE) の GitHub Pages を使ってみることにした。

静的サイトジェネレータ MkDocs には GitHub Pages にデプロイする機能が入っている。GHE 上のリポジトリに対しても問題なく動いた。

手順1: MkDocs をインストール

 $ pip3 install mkdocs mkdocs-material

手順2: GHE でリポジトリを作成

GHE 上で notes リポジトリを作成する。プライベートでも OK。

手順3: MkDocs プロジェクトを作成する

 $ git clone git@example.com:Naney/notes.git
 $ cd notes
 $ git config user.name 'WATANABE Yoshimasa'
 $ git config user.email naney@example.com

MkDocs 設定ファイルと Markdown ファイルは既存の Obsidian vault の中にそれぞれ置いておき、シンボリックリンクしておくことにする。

 $ ln -s /path/to/vault/Settings/mkdocs.yml

mkdocs.yml 内で以下を指定しておく。

 docs_dir: /path/to/vault/notes

手順4: MkDocs ビルトインサーバでどのようなサイトになるか確認する

 $ mkdocs serve

を実行し、 Web ブラウザで http://127.0.0.1:8000/ に接続しどのように表示するか確認する。

手順5: GitHub Pages にデプロイする

 $ mkdocs gh-deploy

を実行すると gh-pages ブランチ上に静的サイトが生成され、リモートリポジトリに push してくれる。 GHE のリポジトリ側も自動で gh-pages ブランチを GitHub Pages で公開するように設定してくれる。びっくり。 https://example.com/pages/Naney/notes/ が公開 URL になる。

あとは Markdown ファイルを追加・更新・削除したら必要に応じて mkdocs serve で確認しつつ、 mkdocs gh-deploy していけば良い。

やってみると思ったよりお手軽だった。

GitHub Pages は公開

プライベートリポジトリでも GitHub Enterprise Server の GitHub Pages サイトは公開となるので、組織内で限定公開するには境界型セキュリティに頼ることになる。ゼロトラストと考えるなら、漏洩してはならない情報を書かないよう注意して使うべきだ。

[ 組織内公開ワーキングノートサイト ] [ 公開で作業する ]

[ 2月9日全て ]

2022年2月13日 (日)

2022年02月13日(日)の #nNote

Google Chrome のアドレスバーから Obsidian を開いて検索する

Google Chrome検索エンジンの管理で、以下の URL検索エンジンとして追加する(X は Obsidian vault 名に)。

 javascript:location='obsidian://search?vault=X&query='+encodeURI('%s').replace(/\+/g, '%20')
[ 2月13日全て ]

2022年2月16日 (水)

MkDocs のページファイル名を YYYY-MM-DD-hhmmss.md にする

先週始めた MkDocs + GitHub Pages での組織内公開ワーキングノートサイト、ページファイル (Markdown ファイル)の名前を YYYY-MM-DD-タイトル.md のようにしていたのだけれど、やっぱり YYYY-MM-DD-hhmmss.md にすることにした。

日本語の入ったタイトルだと URL が長くなって、シェアする時に見辛いなと。 ナビゲーション上でページを新着順に並べる(mkdocs-awesome-pages-plugin での order:desc 指定を利用)のに、時刻まで入れておいた方が良いというのもある。

生成するページのタイトルは YAML front matter の title で指定しておけば OK。

[ ファイル名の先頭を日付にする ] [ 組織内公開ワーキングノート ]

[ 2月16日全て ]

2022年3月27日 (日)

今日のさえずり: ファイル名Unicode 正規化問題が解決した

[ 3月27日全て ]

2022年5月15日 (日)

次の週末前後のプランを Google ドキュメントに書いて共有したり【日記】

1日家にいた。オールインワン浄水栓の浄水カートリッジを交換したり、頼まれた問題集を注文したり、健歩大会を申し込んだり、 Instagram の二段階認証を設定したり。

次の週末前後のプランを更新していく Google ドキュメントを書き、 URLLINEノートに書いて共有。 iPhone でリンクから遷移してもらったら、直接アプリが開かずに Google アカウント認証画面が挟まった。ちょっとスムーズじゃない。 Google ドライブアプリからアクセスしてもらった。

[ 5月15日全て ]

About

Process Time: 0.116213s / load averages: 1.27, 1.06, 0.86