<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>https://turgenev.cloudfree.jp/mw-new/mw143/index.php?action=history&amp;feed=atom&amp;title=Web%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%EF%BC%88Chrome%EF%BC%89</id>
	<title>Webブラウザ（Chrome） - 版の履歴</title>
	<link rel="self" type="application/atom+xml" href="https://turgenev.cloudfree.jp/mw-new/mw143/index.php?action=history&amp;feed=atom&amp;title=Web%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%EF%BC%88Chrome%EF%BC%89"/>
	<link rel="alternate" type="text/html" href="https://turgenev.cloudfree.jp/mw-new/mw143/index.php?title=Web%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%EF%BC%88Chrome%EF%BC%89&amp;action=history"/>
	<updated>2026-04-28T06:51:54Z</updated>
	<subtitle>このウィキのこのページに関する変更履歴</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://turgenev.cloudfree.jp/mw-new/mw143/index.php?title=Web%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%EF%BC%88Chrome%EF%BC%89&amp;diff=315&amp;oldid=prev</id>
		<title>Turgenev: Notion-MW</title>
		<link rel="alternate" type="text/html" href="https://turgenev.cloudfree.jp/mw-new/mw143/index.php?title=Web%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%EF%BC%88Chrome%EF%BC%89&amp;diff=315&amp;oldid=prev"/>
		<updated>2025-04-02T07:15:27Z</updated>

		<summary type="html">&lt;p&gt;Notion-MW&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ja&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← 古い版&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2025年4月2日 (水) 16:15時点における版&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l19&quot;&gt;19行目:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;19行目:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;こうして生成されたショートカットを見ると、（例えばWindowsなら）&amp;lt;code&amp;gt;&amp;amp;quot;C&amp;amp;#58;\Program Files\Google\Chrome\Application\chrome_proxy.exe&amp;amp;quot;  &amp;amp;#45;&amp;amp;#45;profile&amp;amp;#45;directory&amp;amp;#61;Default &amp;amp;#45;&amp;amp;#45;app&amp;amp;#45;id&amp;amp;#61;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&amp;lt;/code&amp;gt;のようなコマンドラインが設定されているのがわかるだろう。調べた結果、この&amp;lt;code&amp;gt;&amp;amp;#45;&amp;amp;#45;app&amp;amp;#45;id&amp;lt;/code&amp;gt;というのは、以下のようなプロセスで生成されるようである。&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;こうして生成されたショートカットを見ると、（例えばWindowsなら）&amp;lt;code&amp;gt;&amp;amp;quot;C&amp;amp;#58;\Program Files\Google\Chrome\Application\chrome_proxy.exe&amp;amp;quot;  &amp;amp;#45;&amp;amp;#45;profile&amp;amp;#45;directory&amp;amp;#61;Default &amp;amp;#45;&amp;amp;#45;app&amp;amp;#45;id&amp;amp;#61;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&amp;lt;/code&amp;gt;のようなコマンドラインが設定されているのがわかるだろう。調べた結果、この&amp;lt;code&amp;gt;&amp;amp;#45;&amp;amp;#45;app&amp;amp;#45;id&amp;lt;/code&amp;gt;というのは、以下のようなプロセスで生成されるようである。&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* &lt;/del&gt;アプリのURLを決定する。この際、manifestが指定されていれば、そこにある&amp;lt;code&amp;gt;start_url&amp;lt;/code&amp;gt;が使われるようである（たとえばTwitterのを見ると、&amp;lt;code&amp;gt;&amp;amp;quot;start_url&amp;amp;quot;&amp;amp;#58;&amp;amp;quot;https&amp;amp;#58;//twitter.com/?utm_source&amp;amp;#61;homescreen&amp;amp;amp;utm_medium&amp;amp;#61;shortcut&amp;amp;quot;&amp;lt;/code&amp;gt;と書いてある）。また、トップページのときは末尾に&amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;を付ける？（例&amp;amp;#58; &amp;lt;code&amp;gt;https&amp;amp;#58;//chat.openai.com/&amp;lt;/code&amp;gt;）これらに該当しない場合は普通にそのページのURLがそのまま使われる。&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# &lt;/ins&gt;アプリのURLを決定する。この際、manifestが指定されていれば、そこにある&amp;lt;code&amp;gt;start_url&amp;lt;/code&amp;gt;が使われるようである（たとえばTwitterのを見ると、&amp;lt;code&amp;gt;&amp;amp;quot;start_url&amp;amp;quot;&amp;amp;#58;&amp;amp;quot;https&amp;amp;#58;//twitter.com/?utm_source&amp;amp;#61;homescreen&amp;amp;amp;utm_medium&amp;amp;#61;shortcut&amp;amp;quot;&amp;lt;/code&amp;gt;と書いてある）。また、トップページのときは末尾に&amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;を付ける？（例&amp;amp;#58; &amp;lt;code&amp;gt;https&amp;amp;#58;//chat.openai.com/&amp;lt;/code&amp;gt;）これらに該当しない場合は普通にそのページのURLがそのまま使われる。&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* &lt;/del&gt;URLにSHA&amp;amp;#45;256ハッシュを2度適用し、その前半部分（16進数で32桁）をa&amp;amp;#45;pの16文字で表現する。&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# &lt;/ins&gt;URLにSHA&amp;amp;#45;256ハッシュを2度適用し、その前半部分（16進数で32桁）をa&amp;amp;#45;pの16文字で表現する。&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;この2.の部分は[https://source.chromium.org/chromium/chromium/src/+/main:chrome/browser/web_applications/web_app_helpers_unittest.cc ソースコード]に書いてある[https://play.golang.org/p/VrIq_QKFjiV playground]で試すこともできる。pythonで書くと以下のようになる（URLはコマンドライン引数として渡すことを想定）。&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;この2.の部分は[https://source.chromium.org/chromium/chromium/src/+/main:chrome/browser/web_applications/web_app_helpers_unittest.cc ソースコード]に書いてある[https://play.golang.org/p/VrIq_QKFjiV playground]で試すこともできる。pythonで書くと以下のようになる（URLはコマンドライン引数として渡すことを想定）。&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Turgenev</name></author>
	</entry>
	<entry>
		<id>https://turgenev.cloudfree.jp/mw-new/mw143/index.php?title=Web%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%EF%BC%88Chrome%EF%BC%89&amp;diff=191&amp;oldid=prev</id>
		<title>Turgenev: Notion-MW</title>
		<link rel="alternate" type="text/html" href="https://turgenev.cloudfree.jp/mw-new/mw143/index.php?title=Web%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%EF%BC%88Chrome%EF%BC%89&amp;diff=191&amp;oldid=prev"/>
		<updated>2023-11-24T12:34:54Z</updated>

		<summary type="html">&lt;p&gt;Notion-MW&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ja&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← 古い版&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2023年11月24日 (金) 21:34時点における版&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l24&quot;&gt;24行目:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;24行目:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;この2.の部分は[https://source.chromium.org/chromium/chromium/src/+/main:chrome/browser/web_applications/web_app_helpers_unittest.cc ソースコード]に書いてある[https://play.golang.org/p/VrIq_QKFjiV playground]で試すこともできる。pythonで書くと以下のようになる（URLはコマンドライン引数として渡すことを想定）。&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;この2.の部分は[https://source.chromium.org/chromium/chromium/src/+/main:chrome/browser/web_applications/web_app_helpers_unittest.cc ソースコード]に書いてある[https://play.golang.org/p/VrIq_QKFjiV playground]で試すこともできる。pythonで書くと以下のようになる（URLはコマンドライン引数として渡すことを想定）。&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&quot;python&quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&quot;python&quot;&amp;gt;import hashlib&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;python&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;import hashlib&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;m = hashlib.sha256()&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;m = hashlib.sha256()&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Turgenev</name></author>
	</entry>
	<entry>
		<id>https://turgenev.cloudfree.jp/mw-new/mw143/index.php?title=Web%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%EF%BC%88Chrome%EF%BC%89&amp;diff=163&amp;oldid=prev</id>
		<title>Turgenev: Notion-MW</title>
		<link rel="alternate" type="text/html" href="https://turgenev.cloudfree.jp/mw-new/mw143/index.php?title=Web%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%EF%BC%88Chrome%EF%BC%89&amp;diff=163&amp;oldid=prev"/>
		<updated>2023-11-24T12:04:23Z</updated>

		<summary type="html">&lt;p&gt;Notion-MW&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ja&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← 古い版&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2023年11月24日 (金) 21:04時点における版&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l24&quot;&gt;24行目:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;24行目:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;この2.の部分は[https://source.chromium.org/chromium/chromium/src/+/main:chrome/browser/web_applications/web_app_helpers_unittest.cc ソースコード]に書いてある[https://play.golang.org/p/VrIq_QKFjiV playground]で試すこともできる。pythonで書くと以下のようになる（URLはコマンドライン引数として渡すことを想定）。&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;この2.の部分は[https://source.chromium.org/chromium/chromium/src/+/main:chrome/browser/web_applications/web_app_helpers_unittest.cc ソースコード]に書いてある[https://play.golang.org/p/VrIq_QKFjiV playground]で試すこともできる。pythonで書くと以下のようになる（URLはコマンドライン引数として渡すことを想定）。&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&quot;import hashlib&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot;&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&quot;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;python&quot;&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;python&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;import hashlib&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;m = hashlib.sha256()&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;m = hashlib.sha256()&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;m.update(bytes(&amp;quot;https://chat.openai.com/&amp;quot;.encode(&amp;#039;ascii&amp;#039;)))&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;m.update(bytes(&amp;quot;https://chat.openai.com/&amp;quot;.encode(&amp;#039;ascii&amp;#039;)))&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Turgenev</name></author>
	</entry>
	<entry>
		<id>https://turgenev.cloudfree.jp/mw-new/mw143/index.php?title=Web%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%EF%BC%88Chrome%EF%BC%89&amp;diff=137&amp;oldid=prev</id>
		<title>Turgenev: Notion-MW</title>
		<link rel="alternate" type="text/html" href="https://turgenev.cloudfree.jp/mw-new/mw143/index.php?title=Web%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%EF%BC%88Chrome%EF%BC%89&amp;diff=137&amp;oldid=prev"/>
		<updated>2023-11-24T10:56:52Z</updated>

		<summary type="html">&lt;p&gt;Notion-MW&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ja&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← 古い版&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2023年11月24日 (金) 19:56時点における版&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l24&quot;&gt;24行目:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;24行目:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;この2.の部分は[https://source.chromium.org/chromium/chromium/src/+/main:chrome/browser/web_applications/web_app_helpers_unittest.cc ソースコード]に書いてある[https://play.golang.org/p/VrIq_QKFjiV playground]で試すこともできる。pythonで書くと以下のようになる（URLはコマンドライン引数として渡すことを想定）。&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;この2.の部分は[https://source.chromium.org/chromium/chromium/src/+/main:chrome/browser/web_applications/web_app_helpers_unittest.cc ソースコード]に書いてある[https://play.golang.org/p/VrIq_QKFjiV playground]で試すこともできる。pythonで書くと以下のようになる（URLはコマンドライン引数として渡すことを想定）。&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&quot;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;python&lt;/del&gt;&quot;&amp;gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;import hashlib&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&quot;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;import hashlib&lt;/ins&gt;&quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;m = hashlib.sha256()&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;m = hashlib.sha256()&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;m.update(bytes(&amp;quot;https://chat.openai.com/&amp;quot;.encode(&amp;#039;ascii&amp;#039;)))&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;m.update(bytes(&amp;quot;https://chat.openai.com/&amp;quot;.encode(&amp;#039;ascii&amp;#039;)))&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Turgenev</name></author>
	</entry>
	<entry>
		<id>https://turgenev.cloudfree.jp/mw-new/mw143/index.php?title=Web%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%EF%BC%88Chrome%EF%BC%89&amp;diff=92&amp;oldid=prev</id>
		<title>Turgenev: Notion-MW</title>
		<link rel="alternate" type="text/html" href="https://turgenev.cloudfree.jp/mw-new/mw143/index.php?title=Web%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%EF%BC%88Chrome%EF%BC%89&amp;diff=92&amp;oldid=prev"/>
		<updated>2023-11-24T02:09:08Z</updated>

		<summary type="html">&lt;p&gt;Notion-MW&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ja&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← 古い版&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2023年11月24日 (金) 11:09時点における版&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l24&quot;&gt;24行目:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;24行目:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;この2.の部分は[https://source.chromium.org/chromium/chromium/src/+/main:chrome/browser/web_applications/web_app_helpers_unittest.cc ソースコード]に書いてある[https://play.golang.org/p/VrIq_QKFjiV playground]で試すこともできる。pythonで書くと以下のようになる（URLはコマンドライン引数として渡すことを想定）。&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;この2.の部分は[https://source.chromium.org/chromium/chromium/src/+/main:chrome/browser/web_applications/web_app_helpers_unittest.cc ソースコード]に書いてある[https://play.golang.org/p/VrIq_QKFjiV playground]で試すこともできる。pythonで書くと以下のようになる（URLはコマンドライン引数として渡すことを想定）。&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pre class&lt;/del&gt;=&quot;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;dummy_str_python&lt;/del&gt;&quot;&amp;gt;import hashlib&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;syntaxhighlight lang&lt;/ins&gt;=&quot;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;python&lt;/ins&gt;&quot;&amp;gt;import hashlib&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;m = hashlib.sha256()&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;m = hashlib.sha256()&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;m.update(bytes(&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;amp;quot;&lt;/del&gt;https://chat.openai.com/&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;amp;quot;&lt;/del&gt;.encode(&#039;ascii&#039;)))&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;m.update(bytes(&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot;&lt;/ins&gt;https://chat.openai.com/&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot;&lt;/ins&gt;.encode(&#039;ascii&#039;)))&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;m1 = hashlib.sha256()&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;m1 = hashlib.sha256()&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;m1.update(m.digest())&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;m1.update(m.digest())&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;EXTID = &amp;#039;&amp;#039;.join([chr(int(i, base=16) + ord(&amp;#039;a&amp;#039;)) for i in m1.hexdigest()][:32])&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;EXTID = &amp;#039;&amp;#039;.join([chr(int(i, base=16) + ord(&amp;#039;a&amp;#039;)) for i in m1.hexdigest()][:32])&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;print(EXTID)&amp;lt;/&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pre&lt;/del&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;print(EXTID)&amp;lt;/&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;syntaxhighlight&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* 参考&amp;amp;#58; [https://stackoverflow.com/questions/26053434/how-is-the-chrome-extension-id-of-an-unpacked-extension-generated/26058672#26058672 How is the Chrome Extension ID of an unpacked extension generated? &amp;amp;#45; Stack Overflow]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* 参考&amp;amp;#58; [https://stackoverflow.com/questions/26053434/how-is-the-chrome-extension-id-of-an-unpacked-extension-generated/26058672#26058672 How is the Chrome Extension ID of an unpacked extension generated? &amp;amp;#45; Stack Overflow]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Turgenev</name></author>
	</entry>
	<entry>
		<id>https://turgenev.cloudfree.jp/mw-new/mw143/index.php?title=Web%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%EF%BC%88Chrome%EF%BC%89&amp;diff=32&amp;oldid=prev</id>
		<title>Turgenev: Notion-MW</title>
		<link rel="alternate" type="text/html" href="https://turgenev.cloudfree.jp/mw-new/mw143/index.php?title=Web%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%EF%BC%88Chrome%EF%BC%89&amp;diff=32&amp;oldid=prev"/>
		<updated>2023-11-23T13:16:36Z</updated>

		<summary type="html">&lt;p&gt;Notion-MW&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新規ページ&lt;/b&gt;&lt;/p&gt;&lt;div&gt;この記事では[[利用者:Turgenev|利用者:Turgenev]]が主に使用しているGoogle Chromeを中心に、Webブラウザに関するトピックを扱う。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;pwa&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== PWA ==&lt;br /&gt;
&lt;br /&gt;
プログレッシブウェブアプリ（PWA）というのはWebアプリがプッシュ通知などの（本来は権限の問題で使うのが難しい）機能を使えるようにする仕組みである。Google Chromeでは、任意のページをPWAとして使用できる。このためには、メニューの「その他のツール」から「ショートカットを作成」を選べばよい。&lt;br /&gt;
&lt;br /&gt;
また、PWAとして使用される際の設定などを明示的にmanifestとして指定しているページもあり、例えばTwitterならソースを見ると&amp;lt;code&amp;gt;&amp;amp;lt;link rel&amp;amp;#61;&amp;amp;quot;manifest&amp;amp;quot; href&amp;amp;#61;&amp;amp;quot;/manifest.json&amp;amp;quot; crossOrigin&amp;amp;#61;&amp;amp;quot;use&amp;amp;#45;credentials&amp;amp;quot; /&amp;amp;gt;&amp;lt;/code&amp;gt;などとタグが設置されていることがわかる。&amp;lt;code&amp;gt;manifest.json&amp;lt;/code&amp;gt;の中身も見れる。このmanifest.jsonがある場合は（←多分）、Twitterのページを開くとアドレスバーに「アプリとしてインストール」的なボタンが表示される。これを押すと、先ほどの「ショートカットを作成」と（多分）全く同じ動作をする。&lt;br /&gt;
&lt;br /&gt;
* YouTubeでの表示例（出典&amp;amp;#58; [https://superuser.com/questions/1623874/what-is-install-youtube-button-on-chrome windows 10 &amp;amp;#45; What is install youtube button on chrome? &amp;amp;#45; Super User]）&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;res-img&amp;quot;&amp;gt;https://i.stack.imgur.com/4t8Cu.png&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;idの生成&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== IDの生成 ====&lt;br /&gt;
&lt;br /&gt;
{{Valuable}}&lt;br /&gt;
&lt;br /&gt;
こうして生成されたショートカットを見ると、（例えばWindowsなら）&amp;lt;code&amp;gt;&amp;amp;quot;C&amp;amp;#58;\Program Files\Google\Chrome\Application\chrome_proxy.exe&amp;amp;quot;  &amp;amp;#45;&amp;amp;#45;profile&amp;amp;#45;directory&amp;amp;#61;Default &amp;amp;#45;&amp;amp;#45;app&amp;amp;#45;id&amp;amp;#61;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&amp;lt;/code&amp;gt;のようなコマンドラインが設定されているのがわかるだろう。調べた結果、この&amp;lt;code&amp;gt;&amp;amp;#45;&amp;amp;#45;app&amp;amp;#45;id&amp;lt;/code&amp;gt;というのは、以下のようなプロセスで生成されるようである。&lt;br /&gt;
&lt;br /&gt;
* アプリのURLを決定する。この際、manifestが指定されていれば、そこにある&amp;lt;code&amp;gt;start_url&amp;lt;/code&amp;gt;が使われるようである（たとえばTwitterのを見ると、&amp;lt;code&amp;gt;&amp;amp;quot;start_url&amp;amp;quot;&amp;amp;#58;&amp;amp;quot;https&amp;amp;#58;//twitter.com/?utm_source&amp;amp;#61;homescreen&amp;amp;amp;utm_medium&amp;amp;#61;shortcut&amp;amp;quot;&amp;lt;/code&amp;gt;と書いてある）。また、トップページのときは末尾に&amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;を付ける？（例&amp;amp;#58; &amp;lt;code&amp;gt;https&amp;amp;#58;//chat.openai.com/&amp;lt;/code&amp;gt;）これらに該当しない場合は普通にそのページのURLがそのまま使われる。&lt;br /&gt;
* URLにSHA&amp;amp;#45;256ハッシュを2度適用し、その前半部分（16進数で32桁）をa&amp;amp;#45;pの16文字で表現する。&lt;br /&gt;
&lt;br /&gt;
この2.の部分は[https://source.chromium.org/chromium/chromium/src/+/main:chrome/browser/web_applications/web_app_helpers_unittest.cc ソースコード]に書いてある[https://play.golang.org/p/VrIq_QKFjiV playground]で試すこともできる。pythonで書くと以下のようになる（URLはコマンドライン引数として渡すことを想定）。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;dummy_str_python&amp;quot;&amp;gt;import hashlib&lt;br /&gt;
&lt;br /&gt;
m = hashlib.sha256()&lt;br /&gt;
m.update(bytes(&amp;amp;quot;https://chat.openai.com/&amp;amp;quot;.encode(&amp;#039;ascii&amp;#039;)))&lt;br /&gt;
m1 = hashlib.sha256()&lt;br /&gt;
m1.update(m.digest())&lt;br /&gt;
&lt;br /&gt;
EXTID = &amp;#039;&amp;#039;.join([chr(int(i, base=16) + ord(&amp;#039;a&amp;#039;)) for i in m1.hexdigest()][:32])&lt;br /&gt;
print(EXTID)&amp;lt;/pre&amp;gt;&lt;br /&gt;
* 参考&amp;amp;#58; [https://stackoverflow.com/questions/26053434/how-is-the-chrome-extension-id-of-an-unpacked-extension-generated/26058672#26058672 How is the Chrome Extension ID of an unpacked extension generated? &amp;amp;#45; Stack Overflow]&lt;br /&gt;
&lt;br /&gt;
== フォント ==&lt;br /&gt;
&lt;br /&gt;
=== pdfビューアのフォント ===&lt;br /&gt;
&lt;br /&gt;
Chrome標準のpdfビューアは、フォントが埋め込まれていないpdfの表示に不適切なフォントを使用することがある。これを修正する方法を解説する。&lt;br /&gt;
&lt;br /&gt;
==== フォント選択のしくみ ====&lt;br /&gt;
&lt;br /&gt;
pdfのそれぞれの文字にはフォントが指定されているが、そのフォントがpdfに埋め込まれておらず、かつ閲覧するPC上にも存在しない場合、別のフォントで代用する必要がある。どのフォントで代用するかはソフトによって異なる。&lt;br /&gt;
&lt;br /&gt;
理想的には、元のフォントと同じカテゴリ（「明朝」や「ゴシック」くらいのくくりで指定できる仕様がある）から選ぶとか、名前が似ているものを選ぶというのが望ましいが、Chromium系はそうなっておらず、&amp;lt;strong&amp;gt;名前順で最初にあるものを選ぶ&amp;lt;/strong&amp;gt;ようである（正確には日本語フォントと認識されるフォントの中で最初のもの？）。無難な明朝やゴシックならまだいいが、「AR丸印篆B」なんかになってしまうと悲惨である。あるいは、自分はなったことがないが、そもそも日本語の文字が表示されないという場合もあるらしい。&lt;br /&gt;
&lt;br /&gt;
有名なAcrobat Readerは比較的ちゃんとやってくれる（PDF&amp;amp;#45;XChange Viewer、Foxit Readerあたりも問題なかった気がする）。あと同じブラウザでもFirefoxのほうが（pdfビューアーに限らず）フォントまわりはちゃんとしている印象。&lt;br /&gt;
&lt;br /&gt;
==== 解決策 ====&lt;br /&gt;
&lt;br /&gt;
解決策はいくつかあって、他サイトではデフォルトのpdfビューアーを使わないようにするものが多く紹介されている。必ずダウンロードする設定にしてAcrobat Readerで開くとか、pdfを閲覧できる他の拡張機能を入れるとかの類である。&lt;br /&gt;
&lt;br /&gt;
ただ毎回ダウンロードするのは不便だし、拡張機能はURLが拡張機能のやつになってしまって元のがコピーしづらい（また個人的に論文pdfには[[Zotero|Zotero]] の拡張機能を使うので支障があった）。&lt;br /&gt;
&lt;br /&gt;
そこで、ブラウザ側の設定はそのままで、&amp;lt;strong&amp;gt;名前順でもっと早いフォントを新たに追加する&amp;lt;/strong&amp;gt;という方法が考えられる。&lt;br /&gt;
&lt;br /&gt;
といっても巷にある名前順が早いフォントが好みのものかわからないので、既存のフォントの名前を変える方法を紹介する。&lt;br /&gt;
&lt;br /&gt;
==== フォント名の変更 ====&lt;br /&gt;
&lt;br /&gt;
[[フォント|フォント]]において、ttxを使ってフォント名を変更する方法を紹介している。&lt;br /&gt;
&lt;br /&gt;
==== インストール ====&lt;br /&gt;
&lt;br /&gt;
名前を変えたフォントができたらあとはインストールするだけだが、ここが実は重要で、普通のインストールではなく、「&amp;lt;strong&amp;gt;すべてのユーザーに対してインストール&amp;lt;/strong&amp;gt;」をする必要がある。言い換えれば、フォントファイルがC&amp;amp;#58;\Users\username\AppData\Local\Microsoft\Windows\FontsではなくC&amp;amp;#58;\Windows\Fontsに入っている必要がある。&lt;br /&gt;
&lt;br /&gt;
ダブルクリックで開く画面（「Windowsでコンピューターの世界が広がります。1234567890」のやつ）からは「すべてのユーザーに対してインストール」はできないので、右クリックメニューから選択すること。あるいはフォントファイルを直接C&amp;amp;#58;\Windows\Fontsにコピーしてもよい。&lt;br /&gt;
&lt;br /&gt;
==== 確認 ====&lt;br /&gt;
&lt;br /&gt;
これで、選んだフォントでpdfがみられるようになっているはずである。各自、問題のあったファイルで試してみればよい。&lt;br /&gt;
&lt;br /&gt;
==== 余談 ====&lt;br /&gt;
&lt;br /&gt;
先ほどURLが変わるので微妙と評した拡張機能であるが、フォント云々とは関係なく、全てのpdfファイル（強制ダウンロードのリンクになっているものも含めて）をダウンロードせず開けること自体はなかなか便利である。&lt;br /&gt;
&lt;br /&gt;
これをURLを変えずに実現できるものがないか探したところ、[https://chrome.google.com/webstore/detail/undisposition-racle-fork/bbppejejjfancffmhncgkhjdaikdgagc &amp;lt;strong&amp;gt;Undisposition &amp;amp;#91;Racle fork&amp;amp;#93;&amp;lt;/strong&amp;gt;]という拡張機能があった。Google Driveなどでファイルを全くダウンロードできなくなるという副作用が[https://github.com/Racle/undisposition/issues/2 報告されていた]が、最近のアップデートでホワイトリスト機能が追加された。&lt;br /&gt;
&lt;br /&gt;
ただ、動かないサイトもある気がするのと、拡張機能の性質上しょうがないとは思うのだが要求される権限が「すべてのウェブサイト上にある自分の全データの読み取りと変更」なので、効用の割にはリスクが…というのはあるかもしれない。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;cssにおけるローカルフォントの指定&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== CSSにおけるローカルフォントの指定 ===&lt;br /&gt;
&lt;br /&gt;
{{Valuable}}&lt;br /&gt;
&lt;br /&gt;
こちらはよりadvancedな話題であるから簡潔に述べる。&lt;br /&gt;
&lt;br /&gt;
CSSでローカルのフォントを使わせたいときは&amp;lt;code&amp;gt;@font&amp;amp;#45;face&amp;lt;/code&amp;gt;の&amp;lt;code&amp;gt;src&amp;amp;#58; local()&amp;lt;/code&amp;gt;を使って指定する。&lt;br /&gt;
&lt;br /&gt;
まず、このときに使用する名前はnameテーブルの6番にあるPostScript名（これは先ほど&amp;lt;code&amp;gt;ttx &amp;amp;#45;t name fontfile.ttf&amp;lt;/code&amp;gt;で出力したxmlで見れる）を使わなければならないとされている。ただし手元で試した限り4番にあるような名前でも成功する場合があった。最も確実なのがPostScript名ということなのかもしれない。&lt;br /&gt;
&lt;br /&gt;
で、Windows版のChromium系で使う場合に重要なのが、フォントファイルが先ほどのように「&amp;lt;strong&amp;gt;すべてのユーザーに対してインストール&amp;lt;/strong&amp;gt;」されている必要があるということである。さらに、手元で試した限り、&amp;lt;strong&amp;gt;同じフォントが特定のユーザーに対してインストールされている&amp;lt;/strong&amp;gt;（C&amp;amp;#58;\Users\username\AppData\Local\Microsoft\Windows\Fontsにある）&amp;lt;strong&amp;gt;と正しく動かない&amp;lt;/strong&amp;gt;ようであるということがわかった。&lt;br /&gt;
&lt;br /&gt;
というわけで、Windows版のChromeでsrc&amp;amp;#58;local()が効かないという場合は、フォント名を確認した上で、該当のフォントがC&amp;amp;#58;\Windows\Fonts&amp;lt;strong&amp;gt;だけ&amp;lt;/strong&amp;gt;にインストールされていることを確認するのがよい。&lt;br /&gt;
[[Category:IT]][[Category:Windows]]{{#seo:|title={{FULLPAGENAME}} - Turgenev&amp;#039;s Wiki}}&lt;/div&gt;</summary>
		<author><name>Turgenev</name></author>
	</entry>
</feed>