<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>技術ログ on </title>
        <link>https://glass-lab.net/categories/%E6%8A%80%E8%A1%93%E3%83%AD%E3%82%B0/</link>
        <description>Recent content in 技術ログ on </description>
        <generator>Hugo -- gohugo.io</generator>
        <language>ja-jp</language>
        <lastBuildDate>Sun, 30 Mar 2025 07:24:26 +0000</lastBuildDate><atom:link href="https://glass-lab.net/categories/%E6%8A%80%E8%A1%93%E3%83%AD%E3%82%B0/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>Whooshを利用したPDF全文検索システムの構築</title>
        <link>https://glass-lab.net/2025/03/30/whoosh/</link>
        <pubDate>Sun, 30 Mar 2025 07:24:26 +0000</pubDate>
        
        <guid>https://glass-lab.net/2025/03/30/whoosh/</guid>
        <description>&lt;img src="https://glass-lab.net/img/eyecatch.png" alt="Featured image of post Whooshを利用したPDF全文検索システムの構築" /&gt;&lt;h1 id=&#34;pythonでpdf全文検索システムを作ろうwhoosh--flask&#34;&gt;PythonでPDF全文検索システムを作ろう（Whoosh + Flask）
&lt;/h1&gt;&lt;h2 id=&#34;プロジェクト概要&#34;&gt;プロジェクト概要
&lt;/h2&gt;&lt;p&gt;このプロジェクトは、PDFファイルの全文検索システムをPythonで構築するものです。主な特徴は：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Whoosh&lt;/strong&gt;を用いた高速な全文検索&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;MeCab&lt;/strong&gt;による日本語形態素解析&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Flask&lt;/strong&gt;を使ったWebインターフェース&lt;/li&gt;
&lt;li&gt;マルチスレッド処理による効率的なインデックス作成&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;分散処理が可能なアーキテクチャ&lt;/strong&gt;: インデックス作成（高負荷処理）と検索処理を別マシンで実行可能&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/shin-cubic/whoosh_search_PDF&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;コードはこちら&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;システムアーキテクチャ図&#34;&gt;システムアーキテクチャ図
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;PDFファイル&lt;/strong&gt;&lt;br&gt;
↓ (PyMuPDFでテキスト抽出)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;テキストデータ&lt;/strong&gt;&lt;br&gt;
↓ (MeCabで形態素解析)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;トークン化されたテキスト&lt;/strong&gt;&lt;br&gt;
↓ (Whooshでインデックス作成)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;検索インデックス&lt;/strong&gt;&lt;br&gt;
↓ (indexディレクトリに保存)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Flaskサーバー&lt;/strong&gt;&lt;br&gt;
↓ (Webインターフェース)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ユーザー検索&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;各コンポーネントの役割:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;PyMuPDF&lt;/strong&gt;: PDFからテキストを抽出&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;MeCab&lt;/strong&gt;: 日本語テキストを分かち書き&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Whoosh&lt;/strong&gt;: 全文検索用インデックスを作成&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Flask&lt;/strong&gt;: 検索用Webインターフェースを提供&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;必要なライブラリ&#34;&gt;必要なライブラリ
&lt;/h2&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pip install whoosh pymupdf mecab-python3 flask
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;主要コンポーネント解説&#34;&gt;主要コンポーネント解説
&lt;/h2&gt;&lt;h3 id=&#34;1-pdfindexerクラス-index_creatorpy&#34;&gt;1. PDFIndexerクラス (&lt;code&gt;index_creator.py&lt;/code&gt;)
&lt;/h3&gt;&lt;p&gt;PDF処理の中核を担うクラスです：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;class&lt;/span&gt; &lt;span class=&#34;nc&#34;&gt;PDFIndexer&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;def&lt;/span&gt; &lt;span class=&#34;fm&#34;&gt;__init__&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;bp&#34;&gt;self&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;c1&#34;&gt;# MeCabの初期化&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;bp&#34;&gt;self&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;mecab&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;MeCab&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Tagger&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;-Owakati -r /etc/mecabrc&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;extract_text()&lt;/strong&gt;: PDFからテキストを抽出（PyMuPDF使用）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;tokenize()&lt;/strong&gt;: 日本語テキストの分かち書き（MeCab使用）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;process_pdf()&lt;/strong&gt;: 1つのPDFを処理し検索用データを生成&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;2-インデックス作成-index_creatorpy&#34;&gt;2. インデックス作成 (&lt;code&gt;index_creator.py&lt;/code&gt;)
&lt;/h3&gt;&lt;p&gt;Whooshのスキーマ定義とインデックス作成：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;schema&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Schema&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;title&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;TEXT&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;stored&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;True&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;       &lt;span class=&#34;c1&#34;&gt;# ドキュメントタイトル&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;content&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;TEXT&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;                  &lt;span class=&#34;c1&#34;&gt;# 検索用（トークン化済み）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;raw_content&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;TEXT&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;stored&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;True&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;# 表示用（生テキスト）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;path&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ID&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;stored&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;True&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;          &lt;span class=&#34;c1&#34;&gt;# PDFファイルパス&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;page_num&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ID&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;stored&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;True&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;       &lt;span class=&#34;c1&#34;&gt;# ページ番号&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;3-webインターフェース-index_guipy&#34;&gt;3. Webインターフェース (&lt;code&gt;index_gui.py&lt;/code&gt;)
&lt;/h3&gt;&lt;p&gt;Flaskで構築された検索画面：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nd&#34;&gt;@app.route&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;/&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;methods&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;GET&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;])&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;def&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;search&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;():&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;query&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;request&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;args&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;get&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;q&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;strip&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;# Whoosh検索処理&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;主な機能：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;HTMLテンプレートによるレスポンシブなUI&lt;/li&gt;
&lt;li&gt;検索結果のハイライト表示&lt;/li&gt;
&lt;li&gt;元PDF表示と検索結果PDF生成機能&lt;/li&gt;
&lt;/ul&gt;
 



&lt;h2 id=&#34;使い方ガイド&#34;&gt;使い方ガイド
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;インデックス作成&lt;/strong&gt;:&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;python index_creator.py
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ol start=&#34;2&#34;&gt;
&lt;li&gt;&lt;strong&gt;Webサーバー起動&lt;/strong&gt;:&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;python index_gui.py
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ol start=&#34;3&#34;&gt;
&lt;li&gt;&lt;strong&gt;ブラウザでアクセス&lt;/strong&gt;:&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;http://localhost:5001
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;学習ポイント&#34;&gt;学習ポイント
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;分散処理の利点&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;インデックス作成（CPU/メモリ負荷が高い）は高性能マシンで実行&lt;/li&gt;
&lt;li&gt;作成済みインデックスは低性能マシンでも検索可能&lt;/li&gt;
&lt;li&gt;インデックスディレクトリを共有/コピーするだけで環境構築可能&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Whooshの基本概念&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Schema: インデックスの構造定義&lt;/li&gt;
&lt;li&gt;IndexWriter: ドキュメント追加用インターフェース&lt;/li&gt;
&lt;li&gt;Searcher: 検索実行用インターフェース&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;日本語処理の工夫&lt;/strong&gt;:&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# MeCabで分かち書き&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;tokens&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;mecab&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;parse&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;こんにちは世界&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;strip&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# → &amp;#34;こんにちは 世界&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ol start=&#34;3&#34;&gt;
&lt;li&gt;&lt;strong&gt;パフォーマンス最適化&lt;/strong&gt;:&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# マルチスレッド処理&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;with&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;concurrent&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;futures&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ThreadPoolExecutor&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;as&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;executor&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;futures&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;executor&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;submit&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;process_pdf&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;pdf&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;):&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;pdf&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;pdf&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;pdf_files&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;応用例&#34;&gt;応用例
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;社内文書管理システム&lt;/li&gt;
&lt;li&gt;研究論文検索ツール&lt;/li&gt;
&lt;li&gt;電子書籍ライブラリ&lt;/li&gt;
&lt;li&gt;マニュアル検索システム&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;まとめ&#34;&gt;まとめ
&lt;/h2&gt;&lt;p&gt;このプロジェクトでは、以下のPython技術を活用しています：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Whoosh&lt;/strong&gt;: 軽量な全文検索エンジン&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;MeCab&lt;/strong&gt;: 日本語形態素解析&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;PyMuPDF&lt;/strong&gt;: PDFテキスト抽出&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Flask&lt;/strong&gt;: Webインターフェース構築&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;初心者の方は、各コンポーネントを小さく分割して理解すると良いでしょう。また、全文検索システムを探している方には、Whooshの軽量さとPythonとの親和性の高さが大きなメリットです。&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>YomiTokuを利用してPDFを検索可能にする</title>
        <link>https://glass-lab.net/2025/03/03/YomiTokupdfsearchable/</link>
        <pubDate>Mon, 03 Mar 2025 07:00:12 +0000</pubDate>
        
        <guid>https://glass-lab.net/2025/03/03/YomiTokupdfsearchable/</guid>
        <description>&lt;img src="https://glass-lab.net/img/eyecatch.png" alt="Featured image of post YomiTokuを利用してPDFを検索可能にする" /&gt;&lt;h1 id=&#34;始めに&#34;&gt;始めに
&lt;/h1&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/shin-cubic/YomiTokuPDFSearchable&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;YomiTokuPDFSearchable&lt;/a&gt;を作成しました。&lt;/p&gt;
 



&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;  1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;  2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;  3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;  4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;  5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;  6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;  7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;  8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;  9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 19
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 20
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 21
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 22
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 23
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 24
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 25
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 26
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 27
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 28
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 29
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 30
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 31
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 32
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 33
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 34
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 35
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 36
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 37
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 38
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 39
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 40
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 41
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 42
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 43
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 44
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 45
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 46
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 47
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 48
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 49
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 50
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 51
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 52
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 53
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 54
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 55
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 56
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 57
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 58
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 59
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 60
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 61
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 62
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 63
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 64
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 65
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 66
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 67
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 68
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 69
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 70
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 71
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 72
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 73
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 74
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 75
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 76
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 77
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 78
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 79
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 80
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 81
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 82
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 83
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 84
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 85
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 86
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 87
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 88
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 89
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 90
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 91
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 92
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 93
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 94
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 95
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 96
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 97
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 98
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 99
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;100
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;101
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;102
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;103
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;104
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;105
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;106
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;107
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;108
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;109
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;110
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;111
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;112
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;113
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;114
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;115
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;116
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;117
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;118
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;119
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;120
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;121
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;122
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;123
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;124
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;125
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-gdscript3&#34; data-lang=&#34;gdscript3&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;json&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;sys&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;cv2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;os&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;from&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;yomitoku&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;OCR&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;from&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;yomitoku&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;data&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;functions&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;load_pdf&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;from&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;reportlab&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;pdfgen&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;canvas&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;from&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;PIL&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;ne&#34;&gt;Image&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;from&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;reportlab&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;pdfbase&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;pdfmetrics&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;from&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;reportlab&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;pdfbase&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ttfonts&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;TTFont&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 日本語対応フォント（IPAexMincho）の登録（ipaexm.ttfが必要）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;pdfmetrics&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;registerFont&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;TTFont&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;IPAexMincho&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;ipaexm.ttf&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;def&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;json_to_hocr&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;json_data&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;page_num&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;hocr&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;s1&#34;&gt;&amp;#39;&amp;lt;!DOCTYPE html&amp;gt;&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;&amp;lt;html&amp;gt;&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;&amp;lt;head&amp;gt;&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;&amp;lt;meta charset=&amp;#34;UTF-8&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;f&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;&amp;lt;title&amp;gt;hOCR output - Page {page_num}&amp;lt;/title&amp;gt;&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;&amp;lt;/head&amp;gt;&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;&amp;lt;body&amp;gt;&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;f&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;&amp;lt;div class=&amp;#34;ocr_page&amp;#34; id=&amp;#34;page_{page_num}&amp;#34;&amp;gt;&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;word&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;enumerate&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;json_data&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;words&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;content&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;word&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;content&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;points&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;word&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;points&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;bbox&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;f&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;bbox {points[0][0]} {points[0][1]} {points[2][0]} {points[2][1]}&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;hocr&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;append&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;f&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;&amp;lt;span class=&amp;#34;ocrx_word&amp;#34; id=&amp;#34;word_{i+1}&amp;#34; title=&amp;#34;{bbox}; x_wconf {int(word[&amp;#34;rec_score&amp;#34;] * 100)}&amp;#34;&amp;gt;{content}&amp;lt;/span&amp;gt;&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;hocr&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;append&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;&amp;lt;/div&amp;gt;&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;hocr&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;append&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;&amp;lt;/body&amp;gt;&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;hocr&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;append&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;&amp;lt;/html&amp;gt;&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;&lt;/span&gt;&lt;span class=&#34;se&#34;&gt;\n&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;join&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;hocr&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;def&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;draw_invisible_text&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;c&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;text&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;y&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;font_size&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;#34;&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;    PDF上に検索可能なテキストを描画します。
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;    ここでは、テキストを完全に透明（または背景色と同じ色）に設定することで、見た目には表示されないがPDF内に文字情報として残ります。
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;    &amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;c&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;saveState&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;c&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;setFont&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;IPAexMincho&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;font_size&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;try&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;c1&#34;&gt;# 透明度を0に設定（ReportLabのバージョンによっては未対応の場合があります）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;c&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;setFillAlpha&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;except&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;AttributeError&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;c1&#34;&gt;# 透明度がサポートされない場合、背景が白前提で白色に設定&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;c&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;setFillColorRGB&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;c&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;drawString&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;y&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;text&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;c&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;restoreState&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;def&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;pdf_to_searchable&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;pdf_path&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;output_pdf&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;ocr&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;OCR&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;visualize&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;False&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;device&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;cpu&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;imgs&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;load_pdf&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;pdf_path&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;# OCR結果や画像を一時ファイルとして保存&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;temp_img_files&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;json_files&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;hocr_files&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;img&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;enumerate&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;imgs&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;results&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;_&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ocr&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;img&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;json_path&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;f&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;output_{i}.json&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;results&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;to_json&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;json_path&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;json_files&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;append&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;json_path&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;c1&#34;&gt;# 画像を一時保存&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;img_path&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;f&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;output_page_{i}.jpg&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;cv2&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;imwrite&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;img_path&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;img&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;temp_img_files&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;append&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;img_path&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;c1&#34;&gt;# 任意でhOCRも出力（ログ用）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;with&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;open&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;json_path&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;r&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;encoding&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;utf-8&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;as&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;f&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;json_data&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;json&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;load&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;f&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;hocr_output&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;json_to_hocr&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;json_data&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;i&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;hocr_path&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;f&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;output_{i}.hocr&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;with&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;open&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;hocr_path&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;w&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;encoding&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;utf-8&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;as&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;f&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;f&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;write&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;hocr_output&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;hocr_files&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;append&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;hocr_path&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;# ReportLabで新たなPDFを生成&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;c&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;canvas&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Canvas&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;output_pdf&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;img_path&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;enumerate&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;temp_img_files&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;pil_img&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;ne&#34;&gt;Image&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;open&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;img_path&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;width&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;height&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;pil_img&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;size&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;c&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;setPageSize&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;((&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;width&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;height&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;c1&#34;&gt;# ページ背景に画像を描画&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;c&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;drawImage&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;img_path&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;width&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;width&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;height&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;height&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;c1&#34;&gt;# 対応するOCR結果のJSONを読み込み、非表示テキストレイヤーを追加&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;json_path&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;json_files&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;with&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;open&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;json_path&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;r&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;encoding&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;utf-8&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;as&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;f&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;json_data&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;json&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;load&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;f&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;word&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;json_data&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;words&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;content&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;word&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;content&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;points&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;word&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;points&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;c1&#34;&gt;# OCRの座標は画像の左上原点。ReportLabは左下原点なので変換が必要です。&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;x1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;y1&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;points&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;x2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;y2&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;points&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;pdf_x&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;x1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;pdf_y&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;height&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;y2&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;# 下部へ変換&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;font_size&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;y2&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;y1&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;y2&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;y1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;else&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;10&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;draw_invisible_text&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;c&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;content&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;pdf_x&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;pdf_y&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;font_size&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;c&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;showPage&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;c&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;save&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;# 一時ファイルの削除&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;file&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;temp_img_files&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;json_files&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;hocr_files&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;os&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;remove&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;file&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;f&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;Searchable PDF created: {output_pdf}&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;__name__&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;==&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;__main__&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;len&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;sys&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;argv&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;!=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;Usage: python script.py input.pdf output.pdf&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;sys&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;exit&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;input_pdf&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;sys&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;argv&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;output_pdf&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;sys&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;argv&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;try&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;pdf_to_searchable&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;input_pdf&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;output_pdf&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;except&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Exception&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;as&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;e&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;f&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;Error: {e}&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h1 id=&#34;機能&#34;&gt;機能
&lt;/h1&gt;&lt;h2 id=&#34;pdfのocr処理&#34;&gt;PDFのOCR処理
&lt;/h2&gt;&lt;p&gt;yomitokuライブラリを使用してPDFを画像に変換し、OCR処理を行います。OCRの結果（テキスト、座標、信頼度）をJSON形式で保存します。特に今回、YomiTokuを利用することで縦書き文字にも対応しています。&lt;/p&gt;
&lt;h2 id=&#34;検索可能なpdfの生成&#34;&gt;検索可能なPDFの生成
&lt;/h2&gt;&lt;p&gt;reportlabライブラリを使用して、元のPDF画像の背景に透明なテキストレイヤーを追加します。これにより、PDFビューアでテキスト検索が可能になります。&lt;/p&gt;
&lt;h2 id=&#34;hocrの生成オプション&#34;&gt;hOCRの生成（オプション）
&lt;/h2&gt;&lt;p&gt;OCRの結果をhOCR形式（HTMLに埋め込まれたOCR情報）で保存し、ログやデバッグに使用できます。&lt;/p&gt;
&lt;h2 id=&#34;一時ファイルの管理&#34;&gt;一時ファイルの管理
&lt;/h2&gt;&lt;p&gt;OCR処理中に生成される一時ファイル（画像、JSON）を処理後に削除します。&lt;/p&gt;
&lt;h2 id=&#34;日本語フォントのサポート&#34;&gt;日本語フォントのサポート
&lt;/h2&gt;&lt;p&gt;IPAexMinchoフォントを使用して、日本語テキストを正しく表示します。&lt;/p&gt;
&lt;h1 id=&#34;使い方&#34;&gt;使い方
&lt;/h1&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;python script.py input.pdf output.pdf
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;主に自炊したPDFの処理に活用するものと考えています。&lt;/p&gt;
&lt;h1 id=&#34;その他&#34;&gt;その他
&lt;/h1&gt;&lt;p&gt;GPUを活用して処理すると高速ですが、CPUでも現実的な速度で処理できるかと思います。&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>iPadでvscodeを使おう</title>
        <link>https://glass-lab.net/2024/09/04/VScode/</link>
        <pubDate>Wed, 04 Sep 2024 06:51:27 +0000</pubDate>
        
        <guid>https://glass-lab.net/2024/09/04/VScode/</guid>
        <description>&lt;img src="https://glass-lab.net/img/eyecatch.png" alt="Featured image of post iPadでvscodeを使おう" /&gt;&lt;h1 id=&#34;今回すること&#34;&gt;今回すること
&lt;/h1&gt;&lt;p&gt;VScodeをiPadで利用する。&lt;/p&gt;
&lt;h1 id=&#34;今からすること&#34;&gt;今からすること
&lt;/h1&gt;&lt;p&gt;今回はVScodeをセルフホストして利用する。&lt;/p&gt;
 



&lt;h1 id=&#34;なぜセルフホストか&#34;&gt;なぜセルフホストか
&lt;/h1&gt;&lt;p&gt;今回なぜセルフホストをすることにしたかというと、ブラウザでVScodeを利用できる&lt;a class=&#34;link&#34; href=&#34;https://vscode.dev/?vscode-lang=ja&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;VScode.dev&lt;/a&gt;を利用しようとした際に、リモートでしか利用できなかったり、そもそも拡張機能がうまく動作しなかったりしたので、今回はセルフホストすることにした。&lt;/p&gt;
&lt;h1 id=&#34;やり方&#34;&gt;やり方
&lt;/h1&gt;&lt;p&gt;今回は&lt;a class=&#34;link&#34; href=&#34;https://github.com/linuxserver/docker-code-server&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;こちら&lt;/a&gt;のcode-serverを利用させてもらうことにした。&lt;/p&gt;
&lt;p&gt;理由は色々あるが、一番はdockerで起動できる点がお手軽で良かったので採用した。&lt;/p&gt;
&lt;p&gt;以下は筆者が利用したdocker-compose.yaml&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;20
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;services:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  code-server:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    image: lscr.io/linuxserver/code-server:latest
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    container_name: code-server
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    environment:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      - PUID=1000
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      - PGID=1000
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      - TZ=Etc/UTC
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      - PASSWORD= #optional
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      - HASHED_PASSWORD= #optional
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      - SUDO_PASSWORD=password #optional
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      - SUDO_PASSWORD_HASH= #optional
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      - PROXY_DOMAIN=code- #optional
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      - DEFAULT_WORKSPACE=/config/workspace #optional
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    volumes:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      - /path/to/code-server/config:/config
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    ports:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      - 8443:8443
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    restart: unless-stopped
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;大きく変えた点はないが、ローカルで利用する予定なのでパスワードは外しておいた。&lt;/p&gt;
&lt;p&gt;あとは&lt;code&gt;docker compose up -d&lt;/code&gt;でいい&lt;/p&gt;
&lt;h1 id=&#34;markdownがうまく表示されない&#34;&gt;Markdownがうまく表示されない
&lt;/h1&gt;&lt;p&gt;筆者は&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2023/08/11/512mb%E3%81%AEvps%E3%81%AE%E9%99%90%E7%95%8C%E3%81%AB%E6%8C%91%E6%88%A6%E3%81%97%E3%80%81%E5%BA%83%E5%91%8A%E3%82%92%E7%A0%B4%E5%A3%8A%E3%81%99%E3%82%8B%E3%80%82/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;いつものVPS&lt;/a&gt;にこのVScodeを立て、tailscale上からアクセスして利用しようとした。&lt;/p&gt;
&lt;p&gt;がうまくMarkdownなどが表示されない。&lt;/p&gt;
&lt;p&gt;原因はhttpで接続しているかららしく、Httpsにする必要があった。&lt;/p&gt;
&lt;p&gt;筆者はこれを&lt;code&gt;Tailscale serve&lt;/code&gt;を利用して解決した。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; tailscale serve 8443
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;とするだけでtailscaleネットワークからのみ&lt;code&gt;node-name.tailnet-name.ts.net&lt;/code&gt;という形でアクセスでき、これがhttps接続になっている。&lt;/p&gt;
&lt;h1 id=&#34;終わりに&#34;&gt;終わりに
&lt;/h1&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2023/08/11/512mb%E3%81%AEvps%E3%81%AE%E9%99%90%E7%95%8C%E3%81%AB%E6%8C%91%E6%88%A6%E3%81%97%E3%80%81%E5%BA%83%E5%91%8A%E3%82%92%E7%A0%B4%E5%A3%8A%E3%81%99%E3%82%8B%E3%80%82/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;インストールしたVPSのメモリが512mb&lt;/a&gt;しかなく、さすがに厳しいかと考えていたが、意外と快適だった。&lt;/p&gt;
&lt;p&gt;今の所全く不具合なく動作しており、拡張機能も問題なさそう。&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>広告ブロックをブロックする</title>
        <link>https://glass-lab.net/2024/08/31/antiadblock/</link>
        <pubDate>Sat, 31 Aug 2024 02:38:44 +0000</pubDate>
        
        <guid>https://glass-lab.net/2024/08/31/antiadblock/</guid>
        <description>&lt;img src="https://glass-lab.net/wp-content/uploads/2024/08/image0831.png" alt="Featured image of post 広告ブロックをブロックする" /&gt;&lt;h3 id=&#34;今回すること&#34;&gt;今回すること
&lt;/h3&gt;&lt;p&gt;広告ブロックによる広告収入減少をなんとかする&lt;/p&gt;
&lt;h3 id=&#34;紹介するもの&#34;&gt;紹介するもの
&lt;/h3&gt;&lt;p&gt;現在私のサイトでも動作している&lt;a class=&#34;link&#34; href=&#34;https://antiblock.org/?p=v3&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Antiadblock&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;実際に使うとこんな感じ&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2024/08/image0831.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;シンプルながら、かなり効力が高そう。&lt;/p&gt;
 



&lt;h3 id=&#34;使い方&#34;&gt;使い方
&lt;/h3&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://antiblock.org/?p=v3&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Antiadblock&lt;/a&gt;にアクセス、ドイツ語だがGoogle翻訳しながら利用するといいと思う。&lt;/p&gt;
&lt;p&gt;うちの設定はだいたいこんな感じ&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2024/08/image0830-1.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;Javascriptを停止していると弊ブログでは一部機能が動作しないので、ついでに確認してもらうことにした。&lt;/p&gt;
&lt;p&gt;上記の内容で&lt;code&gt;新しいウィンドウでのコードを&lt;/code&gt;を押すと、上部のHTMLが書き換わる。&lt;/p&gt;
&lt;p&gt;これをhead部分に設置してあげると動作する。&lt;/p&gt;
&lt;p&gt;javascriptを検知する際にはbody間にnoscriptを設置する必要がある。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&amp;lt;noscript&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &amp;lt;span&amp;gt;JavaScriptが無効である場合のみ表示されます&amp;lt;/span&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&amp;lt;/noscript&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;例としては上記のような内容をbody間に設置しておくと検知してくれる&lt;/p&gt;
&lt;p&gt;今回は弊サイトが静的サイトであるためHTML版を利用しているが、PHP版を利用したほうが広告ブロックをきちんと検知できるそう。&lt;/p&gt;
&lt;h3 id=&#34;アンチ広告ブロックによる悪影響はないのか&#34;&gt;アンチ広告ブロックによる悪影響はないのか？
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;スクリプトでは、JavaScript が有効になっていないため、検索エンジン クローラーも除外されませんか?
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;いいえ。検索エンジン クローラーは、ブラウザーとは異なり HTML を実行せず、単にページのソース コードを読み取ります。次に、ソース テキストが特定のコンポーネント (テキスト、画像、リンクなど) に対してフィルタリングされます。これは、JavaScript、CSS、その他何も実行されないことを意味します。 Google は Web サイトのスクリーンショットを取得できるため、ソースコードを実行できるようになりました。ただし、Google は広告ブロッカーを使用していないため、メッセージは表示されません。ということでGoogleは良いですね ;)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;とのことなので、アンチ広告ブロックをしたとてGoogle的には問題ないそう&lt;/p&gt;
&lt;h3 id=&#34;まとめ&#34;&gt;まとめ
&lt;/h3&gt;&lt;p&gt;弊サイトではできるだけ広告で内容がわかりにくくなることがないように心がけておりますので、広告ブロックの解除をお願いいたします。&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>S3driveでクラウドの誤BANを防ぐ</title>
        <link>https://glass-lab.net/2024/08/18/s3drive/</link>
        <pubDate>Sun, 18 Aug 2024 10:45:05 +0000</pubDate>
        
        <guid>https://glass-lab.net/2024/08/18/s3drive/</guid>
        <description>&lt;img src="https://glass-lab.net/wp-content/uploads/2024/08/image.png" alt="Featured image of post S3driveでクラウドの誤BANを防ぐ" /&gt;&lt;p&gt;以前にも紹介したが、&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2023/09/28/%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89%E6%A4%9C%E9%96%B2%E5%95%8F%E9%A1%8C%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;クラウドの誤BANが問題となっている&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;今回はスマホでも暗号化でき、かつ無料で使えるs3driveというアプリを紹介していく。&lt;/p&gt;
&lt;h3 id=&#34;s3drive&#34;&gt;S3drive
&lt;/h3&gt;&lt;p&gt;今回はこちらの&lt;a class=&#34;link&#34; href=&#34;https://s3drive.app/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;S3drive&lt;/a&gt;を紹介していく。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2024/08/image.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;料金は払ってもいいが、今回は cloudflare R2をバックエンドに利用するため、無料で利用する。有料版だとGoogle cloudなども利用できるようだ。&lt;/p&gt;
&lt;h3 id=&#34;使い方&#34;&gt;使い方
&lt;/h3&gt;&lt;p&gt;今回はPC版で説明していくが、スマホ版でも大きな差はないので同様にやってほしい。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2024/08/image-1.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;まずは下の&lt;code&gt;Using external account?&lt;/code&gt;から先へ進む。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2024/08/image-2.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;Cloudflareのダッシュボードに行き、&lt;code&gt;R2→Overview→Account details&lt;/code&gt;から&lt;code&gt;Manage R2 API Token→Create API token&lt;/code&gt;として&lt;code&gt;Token name&lt;/code&gt;をわかりやすい名前にして、Permissionsを&lt;code&gt;Admin Read &amp;amp; Write&lt;/code&gt;にする。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2024/08/image-3.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;Create API tokenで次の画面に表示された&lt;code&gt;Access Key ID、access key&lt;/code&gt;そして&lt;code&gt;Use jurisdiction-specific endpoints for S3 clients:&lt;/code&gt;以下に表示されている&lt;code&gt;https://〜〜.r2.cloudflarestorage.com&lt;/code&gt;を&lt;code&gt;S3 endpoint&lt;/code&gt;に設定する。&lt;/p&gt;
&lt;p&gt;Bucket nameは今回S3driveによって使われるBucketなので新たに作成すると良いと思う。&lt;/p&gt;
 



&lt;h3 id=&#34;完成品&#34;&gt;完成品
&lt;/h3&gt;&lt;p&gt;ここまで来るとファイルのアップロード等ができるようになると思う。&lt;/p&gt;
&lt;p&gt;ここからは暗号化の手順について解説する。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;三線→Profile settings→E2E encryption&lt;/code&gt;として、これをOn、頑丈なパスワードを設定するだけ、他の端末でもS3driveを利用する際には同じ手順で同様のパスワードを設定すると良い。&lt;/p&gt;
&lt;p&gt;スマホの場合、特にバックアップの需要が高いと考えられる写真だが、これも&lt;code&gt;三線→Media backup&lt;/code&gt;からAlbumを設定し、&lt;code&gt;三線→Profile settings→BACKUP→Backup path&lt;/code&gt;からバックアップ先を指定した後にStart backupとすれば、自動でバックアップしてくれる。ちなみに、無料版だとバックグラウンド非対応なので待つ必要がある。&lt;/p&gt;
&lt;h3 id=&#34;終わりに&#34;&gt;終わりに
&lt;/h3&gt;&lt;p&gt;安全なクラウドを模索してきたが、結論にたどり着いた。&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>新たなる匿名VPN、Mega VPN</title>
        <link>https://glass-lab.net/2024/08/16/megavpnprivacy/</link>
        <pubDate>Fri, 16 Aug 2024 07:22:45 +0000</pubDate>
        
        <guid>https://glass-lab.net/2024/08/16/megavpnprivacy/</guid>
        <description>&lt;img src="https://glass-lab.net/img/eyecatch.png" alt="Featured image of post 新たなる匿名VPN、Mega VPN" /&gt;&lt;p&gt;最近新しいVPN、Mega VPNがリリースされた。&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://mega.io/ja/vpn&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://mega.io/ja/vpn&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;あの色々いわれているクラウドストレージのMegaのVPNである。&lt;/p&gt;
&lt;p&gt;そもそもMegaとは&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;セキュリティとプライバシー
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;MEGAの最大の特徴は、ゼロ知識暗号化を採用していることです。これにより:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ユーザーのデータは端末とクラウド間で暗号化されて送受信されます
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;MEGAの運営元を含め、ユーザー以外は暗号化されたデータにアクセスできません
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;これによりありとあらゆる違法アップロードの温床となっており、前のサービスは裁判沙汰にもなったりした。&lt;/p&gt;
&lt;p&gt;で、何故現在のMegaというクラウドサービスは大丈夫かというと、顧客から得たデータは全て暗号化されており、会社側から全く確認できないので、BANできない。という論法で今の今まで生き延びている。&lt;/p&gt;
&lt;p&gt;そんな企業から&lt;a class=&#34;link&#34; href=&#34;https://mega.io/ja/vpn&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;VPN&lt;/a&gt;が出た。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Mega VPN
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;￥162JPY/月　ストレージ契約者は無料
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;サーバー
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;🇺🇸 米国 （東部）
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;🇺🇸 米国（西部）
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;🇨🇦 カナダ（東部）
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;🇨🇦 カナダ（西部）
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;🇳🇱 オランダ
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;🇫🇷 フランス
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;🇧🇪 ベルギー
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;🇱🇺 ルクセンブルク
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;🇩🇪 ドイツ
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;🇪🇸 スペイン
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;🇯🇵 日本
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;🇳🇿 ニュージーランド
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;さて、弊ブログ恒例の&lt;a class=&#34;link&#34; href=&#34;https://mega.io/ja/vpn-terms&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;プライバシーポリシー&lt;/a&gt;チェックといこう&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Privacy, takedown, and enforcement
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;7. MEGA’s Privacy and Data Policy (the Policy) applies to your use of MEGA VPN. MEGA will not collect information or data about your browsing history, DNS queries or the time you spend on pages.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;8. MEGA will collect and retain the following information concerning your use of the MEGA VPN:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;8.1. IP addresses (both originating IP addresses and assigned VPN server IP addresses) and port information;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;8.2. Times and dates of connection and access;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;8.3. Bandwidth usage;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;8.4. Other usage metadata; and
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;8.5. Account Data as described in clause 8.3 of the Policy (with the exception of information about your browser type which MEGA will not collect).
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;9. The information described in clause 8 above:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;9.1. is collected, stored and processed by MEGA:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;9.1.1. so that we can provide, manage, maintain and improve MEGA VPN;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;9.1.2. to prevent service abuse;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;9.1.3. to ensure our compliance with international regulatory requirements; and
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;9.1.4 to enforce these Terms (including as to bandwidth and device limits);
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;9.2. Will be treated in the same manner as Account Data is treated under our Policy.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;10. MEGA’s Takedown Guidance Policy applies to your use of MEGA VPN. If MEGA becomes aware of any breach by you of these Additional VPN Terms or MEGA’s General Terms of Service, we reserve the right to suspend or terminate your entire MEGA account and take any further steps provided for in MEGA’s Takedown Guidance Policy, Privacy and Data Policy and/or General Terms of Service.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;MEGAのプライバシーおよびデータポリシー（ポリシー）は、MEGA VPNの使用に適用されます。MEGAは、ブラウジング履歴やDNSクエリ、ページ上での時間に関する情報を収集しませんが、以下の情報を収集・保持します：
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;- 発信元IPアドレスと割り当てられたVPNサーバーのIPアドレスおよびポート情報
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;- 接続およびアクセスの日時
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;- 帯域幅の使用量
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;- その他の使用メタデータ
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;- アカウントデータ（ブラウザの種類に関する情報を除く）
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;これらの情報は、以下の目的で収集・保存・処理されます：
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;- MEGA VPNの提供、管理、維持、改善
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;- サービスの不正使用の防止
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;- 国際的な規制要件の遵守
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;- 利用規約の実施（帯域幅やデバイス制限を含む）
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;MEGAは、これらのデータをアカウントデータと同様に取り扱います。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;MEGAの削除ガイダンスポリシーもMEGA VPNの使用に適用されます。MEGAが追加のVPN利用規約や一般サービス利用規約の違反を知った場合、MEGAアカウントを一時停止または終了させる権利を保留し、必要に応じてタケダウンガイダンスポリシー、プライバシーおよびデータポリシー、または一般サービス利用規約に基づく追加措置を講じることがあります。
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;まあ大丈夫そうなことが書いてある。&lt;/p&gt;
 



&lt;h3 id=&#34;使い勝手&#34;&gt;使い勝手
&lt;/h3&gt;&lt;p&gt;Windows,Macos,Android,iOSで利用できるが、それぞれ独自クライアントが必要なのがちょっとネックか。&lt;/p&gt;
&lt;p&gt;速度自体は十分出ているようだ。&lt;/p&gt;
&lt;p&gt;そしてとにかく安い、166円でいいらしい。&lt;/p&gt;
&lt;h3 id=&#34;終わりに&#34;&gt;終わりに
&lt;/h3&gt;&lt;p&gt;とにかく安く、の割に最低限の信頼性もあるので、意外と需要はあるのではないだろうか&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>OrangePizero3を録画鯖にする</title>
        <link>https://glass-lab.net/2024/08/15/orangepizero3/</link>
        <pubDate>Thu, 15 Aug 2024 04:47:14 +0000</pubDate>
        
        <guid>https://glass-lab.net/2024/08/15/orangepizero3/</guid>
        <description>&lt;img src="https://glass-lab.net/wp-content/uploads/2024/07/image.png" alt="Featured image of post OrangePizero3を録画鯖にする" /&gt;&lt;p&gt;最近、うちの録画鯖の調子が悪かった。&lt;/p&gt;
&lt;p&gt;せっかくなのでリプレースする。&lt;/p&gt;
&lt;p&gt;最近だと中華ミニPCあたりが使い勝手がよさそうだが、今回はとにかくケチることと面白さを重視してOrangePiZero3を利用する。&lt;/p&gt;
&lt;h3 id=&#34;今回買ったもの&#34;&gt;今回買ったもの
&lt;/h3&gt;&lt;p&gt;OrangepiはAliexpressで買うのがお手軽なので↓の1Gbモデルを購入&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://ja.aliexpress.com/item/1005005815786367.html?spm=a2g0o.order_list.order_list_main.5.76a3585aRn1bYq&amp;amp;gatewayAdapt=glo2jpn&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://ja.aliexpress.com/item/1005005815786367.html?spm=a2g0o.order_list.order_list_main.5.76a3585aRn1bYq&amp;amp;gatewayAdapt=glo2jpn&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2024/07/image.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;お値段の安め&lt;/p&gt;
&lt;p&gt;これに加えて家にあったマイクロSD、USBチューナー、B-casカードリーダー、タイプC充電器を利用しました。&lt;/p&gt;
&lt;p&gt;お宅にお持ちでない方はこちらから購入していただけると幸いです。&lt;/p&gt;
&lt;!-- START MoshimoAffiliateEasyLink --&gt;&lt;script type=&#34;text/javascript&#34;&gt;(function(b,c,f,g,a,d,e){b.MoshimoAffiliateObject=a;b[a]=b[a]||function(){arguments.currentScript=c.currentScript||c.scripts[c.scripts.length-2];(b[a].q=b[a].q||[]).push(arguments)};c.getElementById(a)||(d=c.createElement(f),d.src=g,d.id=a,e=c.getElementsByTagName(&#34;body&#34;)[0],e.appendChild(d))})(window,document,&#34;script&#34;,&#34;//dn.msmstatic.com/site/cardlink/bundle.js?20220329&#34;,&#34;msmaflink&#34;);msmaflink({&#34;n&#34;:&#34;Amazonベーシック microSDXCメモリーカード 128GB フルサイズアダプター付き A2 U3 読み込み速度最大100MB\/秒 ブラック&#34;,&#34;b&#34;:&#34;Amazonベーシック(Amazon Basics)&#34;,&#34;t&#34;:&#34;LSMICRO128GU3&#34;,&#34;d&#34;:&#34;https:\/\/m.media-amazon.com&#34;,&#34;c_p&#34;:&#34;\/images\/I&#34;,&#34;p&#34;:[&#34;\/314e7V8cHzL._SL500_.jpg&#34;,&#34;\/41tMTi1gopL._SL500_.jpg&#34;,&#34;\/41apUO3AmQL._SL500_.jpg&#34;,&#34;\/41yMjjlFlLL._SL500_.jpg&#34;,&#34;\/41APK8899nL._SL500_.jpg&#34;,&#34;\/41es6TorPML._SL500_.jpg&#34;,&#34;\/51kFKOElDzL._SL500_.jpg&#34;,&#34;\/51HOSkGxCxL._SL500_.jpg&#34;,&#34;\/511f-mkf2QL._SL500_.jpg&#34;,&#34;\/31aTbWckZ7L._SL500_.jpg&#34;,&#34;\/31rmOaPWQdL._SL500_.jpg&#34;,&#34;\/31-CdNiWB-L._SL500_.jpg&#34;,&#34;\/31-w5zq-3KL._SL500_.jpg&#34;],&#34;u&#34;:{&#34;u&#34;:&#34;https:\/\/www.amazon.co.jp\/dp\/B08TJRVWV1&#34;,&#34;t&#34;:&#34;amazon&#34;,&#34;r_v&#34;:&#34;&#34;},&#34;v&#34;:&#34;2.1&#34;,&#34;b_l&#34;:[{&#34;id&#34;:1,&#34;u_tx&#34;:&#34;Amazonで見る&#34;,&#34;u_bc&#34;:&#34;#f79256&#34;,&#34;u_url&#34;:&#34;https:\/\/www.amazon.co.jp\/dp\/B08TJRVWV1&#34;,&#34;a_id&#34;:4140111,&#34;p_id&#34;:170,&#34;pl_id&#34;:27060,&#34;pc_id&#34;:185,&#34;s_n&#34;:&#34;amazon&#34;,&#34;u_so&#34;:1},{&#34;id&#34;:2,&#34;u_tx&#34;:&#34;楽天市場で見る&#34;,&#34;u_bc&#34;:&#34;#f76956&#34;,&#34;u_url&#34;:&#34;https:\/\/search.rakuten.co.jp\/search\/mall\/Amazon%E3%83%99%E3%83%BC%E3%82%B7%E3%83%83%E3%82%AF%20microSDXC%E3%83%A1%E3%83%A2%E3%83%AA%E3%83%BC%E3%82%AB%E3%83%BC%E3%83%89%20128GB%20%E3%83%95%E3%83%AB%E3%82%B5%E3%82%A4%E3%82%BA%E3%82%A2%E3%83%80%E3%83%97%E3%82%BF%E3%83%BC%E4%BB%98%E3%81%8D%20A2%20U3%20%E8%AA%AD%E3%81%BF%E8%BE%BC%E3%81%BF%E9%80%9F%E5%BA%A6%E6%9C%80%E5%A4%A7100MB%2F%E7%A7%92%20%E3%83%96%E3%83%A9%E3%83%83%E3%82%AF\/&#34;,&#34;a_id&#34;:4140102,&#34;p_id&#34;:54,&#34;pl_id&#34;:27059,&#34;pc_id&#34;:54,&#34;s_n&#34;:&#34;rakuten&#34;,&#34;u_so&#34;:2},{&#34;id&#34;:3,&#34;u_tx&#34;:&#34;Yahoo!ショッピングで見る&#34;,&#34;u_bc&#34;:&#34;#66a7ff&#34;,&#34;u_url&#34;:&#34;https:\/\/shopping.yahoo.co.jp\/search?first=1\u0026p=Amazon%E3%83%99%E3%83%BC%E3%82%B7%E3%83%83%E3%82%AF%20microSDXC%E3%83%A1%E3%83%A2%E3%83%AA%E3%83%BC%E3%82%AB%E3%83%BC%E3%83%89%20128GB%20%E3%83%95%E3%83%AB%E3%82%B5%E3%82%A4%E3%82%BA%E3%82%A2%E3%83%80%E3%83%97%E3%82%BF%E3%83%BC%E4%BB%98%E3%81%8D%20A2%20U3%20%E8%AA%AD%E3%81%BF%E8%BE%BC%E3%81%BF%E9%80%9F%E5%BA%A6%E6%9C%80%E5%A4%A7100MB%2F%E7%A7%92%20%E3%83%96%E3%83%A9%E3%83%83%E3%82%AF&#34;,&#34;a_id&#34;:4146916,&#34;p_id&#34;:1225,&#34;pl_id&#34;:27061,&#34;pc_id&#34;:1925,&#34;s_n&#34;:&#34;yahoo&#34;,&#34;u_so&#34;:3}],&#34;eid&#34;:&#34;UDiJG&#34;,&#34;s&#34;:&#34;s&#34;});&lt;/script&gt;&lt;div id=&#34;msmaflink-UDiJG&#34;&gt;リンク&lt;/div&gt;&lt;!-- MoshimoAffiliateEasyLink END --&gt;
&lt;!-- START MoshimoAffiliateEasyLink --&gt;&lt;script type=&#34;text/javascript&#34;&gt;(function(b,c,f,g,a,d,e){b.MoshimoAffiliateObject=a;b[a]=b[a]||function(){arguments.currentScript=c.currentScript||c.scripts[c.scripts.length-2];(b[a].q=b[a].q||[]).push(arguments)};c.getElementById(a)||(d=c.createElement(f),d.src=g,d.id=a,e=c.getElementsByTagName(&#34;body&#34;)[0],e.appendChild(d))})(window,document,&#34;script&#34;,&#34;//dn.msmstatic.com/site/cardlink/bundle.js?20220329&#34;,&#34;msmaflink&#34;);msmaflink({&#34;n&#34;:&#34;プレクス PLEX USB接続ドングル型地上デジタルTVチューナー&#34;,&#34;b&#34;:&#34;プレクス&#34;,&#34;t&#34;:&#34;PX-S1UD V2.0&#34;,&#34;d&#34;:&#34;https:\/\/m.media-amazon.com&#34;,&#34;c_p&#34;:&#34;\/images\/I&#34;,&#34;p&#34;:[&#34;\/41uHRBPDA3L._SL500_.jpg&#34;,&#34;\/31jmfiyvu+L._SL500_.jpg&#34;,&#34;\/31yLetji7sL._SL500_.jpg&#34;,&#34;\/4179G54GY0L._SL500_.jpg&#34;,&#34;\/51XSxdJ18ML._SL500_.jpg&#34;,&#34;\/41z+Il013qL._SL500_.jpg&#34;],&#34;u&#34;:{&#34;u&#34;:&#34;https:\/\/www.amazon.co.jp\/dp\/B0141NFWSG&#34;,&#34;t&#34;:&#34;amazon&#34;,&#34;r_v&#34;:&#34;&#34;},&#34;v&#34;:&#34;2.1&#34;,&#34;b_l&#34;:[{&#34;id&#34;:1,&#34;u_tx&#34;:&#34;Amazonで見る&#34;,&#34;u_bc&#34;:&#34;#f79256&#34;,&#34;u_url&#34;:&#34;https:\/\/www.amazon.co.jp\/dp\/B0141NFWSG&#34;,&#34;a_id&#34;:4140111,&#34;p_id&#34;:170,&#34;pl_id&#34;:27060,&#34;pc_id&#34;:185,&#34;s_n&#34;:&#34;amazon&#34;,&#34;u_so&#34;:1},{&#34;id&#34;:2,&#34;u_tx&#34;:&#34;楽天市場で見る&#34;,&#34;u_bc&#34;:&#34;#f76956&#34;,&#34;u_url&#34;:&#34;https:\/\/search.rakuten.co.jp\/search\/mall\/%E3%83%97%E3%83%AC%E3%82%AF%E3%82%B9%20PLEX%20USB%E6%8E%A5%E7%B6%9A%E3%83%89%E3%83%B3%E3%82%B0%E3%83%AB%E5%9E%8B%E5%9C%B0%E4%B8%8A%E3%83%87%E3%82%B8%E3%82%BF%E3%83%ABTV%E3%83%81%E3%83%A5%E3%83%BC%E3%83%8A%E3%83%BC\/&#34;,&#34;a_id&#34;:4140102,&#34;p_id&#34;:54,&#34;pl_id&#34;:27059,&#34;pc_id&#34;:54,&#34;s_n&#34;:&#34;rakuten&#34;,&#34;u_so&#34;:2},{&#34;id&#34;:3,&#34;u_tx&#34;:&#34;Yahoo!ショッピングで見る&#34;,&#34;u_bc&#34;:&#34;#66a7ff&#34;,&#34;u_url&#34;:&#34;https:\/\/shopping.yahoo.co.jp\/search?first=1\u0026p=%E3%83%97%E3%83%AC%E3%82%AF%E3%82%B9%20PLEX%20USB%E6%8E%A5%E7%B6%9A%E3%83%89%E3%83%B3%E3%82%B0%E3%83%AB%E5%9E%8B%E5%9C%B0%E4%B8%8A%E3%83%87%E3%82%B8%E3%82%BF%E3%83%ABTV%E3%83%81%E3%83%A5%E3%83%BC%E3%83%8A%E3%83%BC&#34;,&#34;a_id&#34;:4146916,&#34;p_id&#34;:1225,&#34;pl_id&#34;:27061,&#34;pc_id&#34;:1925,&#34;s_n&#34;:&#34;yahoo&#34;,&#34;u_so&#34;:3}],&#34;eid&#34;:&#34;RHfwj&#34;,&#34;s&#34;:&#34;s&#34;});&lt;/script&gt;&lt;div id=&#34;msmaflink-RHfwj&#34;&gt;リンク&lt;/div&gt;&lt;!-- MoshimoAffiliateEasyLink END --&gt;
&lt;!-- START MoshimoAffiliateEasyLink --&gt;&lt;script type=&#34;text/javascript&#34;&gt;(function(b,c,f,g,a,d,e){b.MoshimoAffiliateObject=a;b[a]=b[a]||function(){arguments.currentScript=c.currentScript||c.scripts[c.scripts.length-2];(b[a].q=b[a].q||[]).push(arguments)};c.getElementById(a)||(d=c.createElement(f),d.src=g,d.id=a,e=c.getElementsByTagName(&#34;body&#34;)[0],e.appendChild(d))})(window,document,&#34;script&#34;,&#34;//dn.msmstatic.com/site/cardlink/bundle.js?20220329&#34;,&#34;msmaflink&#34;);msmaflink({&#34;n&#34;:&#34;SCM ICカードリーダー\/ライター B-CAS・住基カード対応 usb対応 SCR3310\/v2.0&#34;,&#34;b&#34;:&#34;SCM Microsystems&#34;,&#34;t&#34;:&#34;SCR3310v2&#34;,&#34;d&#34;:&#34;https:\/\/m.media-amazon.com&#34;,&#34;c_p&#34;:&#34;\/images\/I&#34;,&#34;p&#34;:[&#34;\/31k4BciN05L._SL500_.jpg&#34;,&#34;\/31tGVLapB6L._SL500_.jpg&#34;,&#34;\/5181MqWPtkL._SL500_.jpg&#34;,&#34;\/41I4e5eRnHL._SL500_.jpg&#34;],&#34;u&#34;:{&#34;u&#34;:&#34;https:\/\/www.amazon.co.jp\/dp\/B0085H4YZC&#34;,&#34;t&#34;:&#34;amazon&#34;,&#34;r_v&#34;:&#34;&#34;},&#34;v&#34;:&#34;2.1&#34;,&#34;b_l&#34;:[{&#34;id&#34;:1,&#34;u_tx&#34;:&#34;Amazonで見る&#34;,&#34;u_bc&#34;:&#34;#f79256&#34;,&#34;u_url&#34;:&#34;https:\/\/www.amazon.co.jp\/dp\/B0085H4YZC&#34;,&#34;a_id&#34;:4140111,&#34;p_id&#34;:170,&#34;pl_id&#34;:27060,&#34;pc_id&#34;:185,&#34;s_n&#34;:&#34;amazon&#34;,&#34;u_so&#34;:1},{&#34;id&#34;:2,&#34;u_tx&#34;:&#34;楽天市場で見る&#34;,&#34;u_bc&#34;:&#34;#f76956&#34;,&#34;u_url&#34;:&#34;https:\/\/search.rakuten.co.jp\/search\/mall\/SCM%20IC%E3%82%AB%E3%83%BC%E3%83%89%E3%83%AA%E3%83%BC%E3%83%80%E3%83%BC%2F%E3%83%A9%E3%82%A4%E3%82%BF%E3%83%BC%20B-CAS%E3%83%BB%E4%BD%8F%E5%9F%BA%E3%82%AB%E3%83%BC%E3%83%89%E5%AF%BE%E5%BF%9C%20usb%E5%AF%BE%E5%BF%9C%20SCR3310%2Fv2.0\/&#34;,&#34;a_id&#34;:4140102,&#34;p_id&#34;:54,&#34;pl_id&#34;:27059,&#34;pc_id&#34;:54,&#34;s_n&#34;:&#34;rakuten&#34;,&#34;u_so&#34;:2},{&#34;id&#34;:3,&#34;u_tx&#34;:&#34;Yahoo!ショッピングで見る&#34;,&#34;u_bc&#34;:&#34;#66a7ff&#34;,&#34;u_url&#34;:&#34;https:\/\/shopping.yahoo.co.jp\/search?first=1\u0026p=SCM%20IC%E3%82%AB%E3%83%BC%E3%83%89%E3%83%AA%E3%83%BC%E3%83%80%E3%83%BC%2F%E3%83%A9%E3%82%A4%E3%82%BF%E3%83%BC%20B-CAS%E3%83%BB%E4%BD%8F%E5%9F%BA%E3%82%AB%E3%83%BC%E3%83%89%E5%AF%BE%E5%BF%9C%20usb%E5%AF%BE%E5%BF%9C%20SCR3310%2Fv2.0&#34;,&#34;a_id&#34;:4146916,&#34;p_id&#34;:1225,&#34;pl_id&#34;:27061,&#34;pc_id&#34;:1925,&#34;s_n&#34;:&#34;yahoo&#34;,&#34;u_so&#34;:3}],&#34;eid&#34;:&#34;gzxDL&#34;,&#34;s&#34;:&#34;s&#34;});&lt;/script&gt;&lt;div id=&#34;msmaflink-gzxDL&#34;&gt;リンク&lt;/div&gt;&lt;!-- MoshimoAffiliateEasyLink END --&gt;
&lt;p&gt;↑が紹介されていることが多いですが、↓でも問題なく動作してました。&lt;/p&gt;
&lt;!-- START MoshimoAffiliateEasyLink --&gt;&lt;script type=&#34;text/javascript&#34;&gt;(function(b,c,f,g,a,d,e){b.MoshimoAffiliateObject=a;b[a]=b[a]||function(){arguments.currentScript=c.currentScript||c.scripts[c.scripts.length-2];(b[a].q=b[a].q||[]).push(arguments)};c.getElementById(a)||(d=c.createElement(f),d.src=g,d.id=a,e=c.getElementsByTagName(&#34;body&#34;)[0],e.appendChild(d))})(window,document,&#34;script&#34;,&#34;//dn.msmstatic.com/site/cardlink/bundle.js?20220329&#34;,&#34;msmaflink&#34;);msmaflink({&#34;n&#34;:&#34;【e-Tax】【マイナ保険証】最新2024年 接触型ICカードリーダー【自宅で確定申告】【マイナンバーカード対応】日本語説明書【健康保険証】 Windows11・Mac対応【ピアノブラック】&#34;,&#34;b&#34;:&#34;NexusJP&#34;,&#34;t&#34;:&#34;&#34;,&#34;d&#34;:&#34;https:\/\/m.media-amazon.com&#34;,&#34;c_p&#34;:&#34;\/images\/I&#34;,&#34;p&#34;:[&#34;\/41SG+UM8KTL._SL500_.jpg&#34;,&#34;\/41H2MTf-jPS._SL500_.jpg&#34;,&#34;\/41zIhepepuS._SL500_.jpg&#34;,&#34;\/415eOtY8DxS._SL500_.jpg&#34;,&#34;\/31DlQlDVF9S._SL500_.jpg&#34;,&#34;\/51ZQN5HDElS._SL500_.jpg&#34;],&#34;u&#34;:{&#34;u&#34;:&#34;https:\/\/www.amazon.co.jp\/dp\/B094HJ75SR&#34;,&#34;t&#34;:&#34;amazon&#34;,&#34;r_v&#34;:&#34;&#34;},&#34;v&#34;:&#34;2.1&#34;,&#34;b_l&#34;:[{&#34;id&#34;:1,&#34;u_tx&#34;:&#34;Amazonで見る&#34;,&#34;u_bc&#34;:&#34;#f79256&#34;,&#34;u_url&#34;:&#34;https:\/\/www.amazon.co.jp\/dp\/B094HJ75SR&#34;,&#34;a_id&#34;:4140111,&#34;p_id&#34;:170,&#34;pl_id&#34;:27060,&#34;pc_id&#34;:185,&#34;s_n&#34;:&#34;amazon&#34;,&#34;u_so&#34;:1},{&#34;id&#34;:2,&#34;u_tx&#34;:&#34;楽天市場で見る&#34;,&#34;u_bc&#34;:&#34;#f76956&#34;,&#34;u_url&#34;:&#34;https:\/\/search.rakuten.co.jp\/search\/mall\/%E3%80%90e-Tax%E3%80%91%E3%80%90%E3%83%9E%E3%82%A4%E3%83%8A%E4%BF%9D%E9%99%BA%E8%A8%BC%E3%80%91%E6%9C%80%E6%96%B02024%E5%B9%B4%20%E6%8E%A5%E8%A7%A6%E5%9E%8BIC%E3%82%AB%E3%83%BC%E3%83%89%E3%83%AA%E3%83%BC%E3%83%80%E3%83%BC%E3%80%90%E8%87%AA%E5%AE%85%E3%81%A7%E7%A2%BA%E5%AE%9A%E7%94%B3%E5%91%8A%E3%80%91%E3%80%90%E3%83%9E%E3%82%A4%E3%83%8A%E3%83%B3%E3%83%90%E3%83%BC%E3%82%AB%E3%83%BC%E3%83%89%E5%AF%BE%E5%BF%9C%E3%80%91%E6%97%A5%E6%9C%AC%E8%AA%9E%E8%AA%AC%E6%98%8E%E6%9B%B8%E3%80%90%E5%81%A5%E5%BA%B7%E4%BF%9D%E9%99%BA%E8%A8%BC%E3%80%91%20Windows11%E3%83%BBMac%E5%AF%BE%E5%BF%9C%E3%80%90%E3%83%94%E3%82%A2%E3%83%8E%E3%83%96%E3%83%A9%E3%83%83%E3%82%AF%E3%80%91\/&#34;,&#34;a_id&#34;:4140102,&#34;p_id&#34;:54,&#34;pl_id&#34;:27059,&#34;pc_id&#34;:54,&#34;s_n&#34;:&#34;rakuten&#34;,&#34;u_so&#34;:2},{&#34;id&#34;:3,&#34;u_tx&#34;:&#34;Yahoo!ショッピングで見る&#34;,&#34;u_bc&#34;:&#34;#66a7ff&#34;,&#34;u_url&#34;:&#34;https:\/\/shopping.yahoo.co.jp\/search?first=1\u0026p=%E3%80%90e-Tax%E3%80%91%E3%80%90%E3%83%9E%E3%82%A4%E3%83%8A%E4%BF%9D%E9%99%BA%E8%A8%BC%E3%80%91%E6%9C%80%E6%96%B02024%E5%B9%B4%20%E6%8E%A5%E8%A7%A6%E5%9E%8BIC%E3%82%AB%E3%83%BC%E3%83%89%E3%83%AA%E3%83%BC%E3%83%80%E3%83%BC%E3%80%90%E8%87%AA%E5%AE%85%E3%81%A7%E7%A2%BA%E5%AE%9A%E7%94%B3%E5%91%8A%E3%80%91%E3%80%90%E3%83%9E%E3%82%A4%E3%83%8A%E3%83%B3%E3%83%90%E3%83%BC%E3%82%AB%E3%83%BC%E3%83%89%E5%AF%BE%E5%BF%9C%E3%80%91%E6%97%A5%E6%9C%AC%E8%AA%9E%E8%AA%AC%E6%98%8E%E6%9B%B8%E3%80%90%E5%81%A5%E5%BA%B7%E4%BF%9D%E9%99%BA%E8%A8%BC%E3%80%91%20Windows11%E3%83%BBMac%E5%AF%BE%E5%BF%9C%E3%80%90%E3%83%94%E3%82%A2%E3%83%8E%E3%83%96%E3%83%A9%E3%83%83%E3%82%AF%E3%80%91&#34;,&#34;a_id&#34;:4146916,&#34;p_id&#34;:1225,&#34;pl_id&#34;:27061,&#34;pc_id&#34;:1925,&#34;s_n&#34;:&#34;yahoo&#34;,&#34;u_so&#34;:3}],&#34;eid&#34;:&#34;hZ8rP&#34;,&#34;s&#34;:&#34;s&#34;});&lt;/script&gt;&lt;div id=&#34;msmaflink-hZ8rP&#34;&gt;リンク&lt;/div&gt;&lt;!-- MoshimoAffiliateEasyLink END --&gt;
&lt;!-- START MoshimoAffiliateEasyLink --&gt;&lt;script type=&#34;text/javascript&#34;&gt;(function(b,c,f,g,a,d,e){b.MoshimoAffiliateObject=a;b[a]=b[a]||function(){arguments.currentScript=c.currentScript||c.scripts[c.scripts.length-2];(b[a].q=b[a].q||[]).push(arguments)};c.getElementById(a)||(d=c.createElement(f),d.src=g,d.id=a,e=c.getElementsByTagName(&#34;body&#34;)[0],e.appendChild(d))})(window,document,&#34;script&#34;,&#34;//dn.msmstatic.com/site/cardlink/bundle.js?20220329&#34;,&#34;msmaflink&#34;);msmaflink({&#34;n&#34;:&#34;Miuzei Raspberry Pi 4 電源、USB-C（Type C）ケーブル 5.1V 3A 充電器コードスイッチ付き ACアダプタ、互換性ありRaspberry RPi 4 Model B 1GB \/ 2GB \/ 4GB \/ 8GB バージョン PSE認証&#34;,&#34;b&#34;:&#34;Miuzei&#34;,&#34;t&#34;:&#34;J-MS30n&#34;,&#34;d&#34;:&#34;https:\/\/m.media-amazon.com&#34;,&#34;c_p&#34;:&#34;\/images\/I&#34;,&#34;p&#34;:[&#34;\/31mk1C3vlNL._SL500_.jpg&#34;,&#34;\/41q2pdiZgNL._SL500_.jpg&#34;,&#34;\/41dfbDppJnL._SL500_.jpg&#34;,&#34;\/51+FHoDz7eL._SL500_.jpg&#34;,&#34;\/51643iPWUDL._SL500_.jpg&#34;,&#34;\/41m9DzdrlRL._SL500_.jpg&#34;,&#34;\/51h2snuyEaL._SL500_.jpg&#34;],&#34;u&#34;:{&#34;u&#34;:&#34;https:\/\/www.amazon.co.jp\/dp\/B087CF6127&#34;,&#34;t&#34;:&#34;amazon&#34;,&#34;r_v&#34;:&#34;&#34;},&#34;v&#34;:&#34;2.1&#34;,&#34;b_l&#34;:[{&#34;id&#34;:1,&#34;u_tx&#34;:&#34;Amazonで見る&#34;,&#34;u_bc&#34;:&#34;#f79256&#34;,&#34;u_url&#34;:&#34;https:\/\/www.amazon.co.jp\/dp\/B087CF6127&#34;,&#34;a_id&#34;:4140111,&#34;p_id&#34;:170,&#34;pl_id&#34;:27060,&#34;pc_id&#34;:185,&#34;s_n&#34;:&#34;amazon&#34;,&#34;u_so&#34;:1},{&#34;id&#34;:2,&#34;u_tx&#34;:&#34;楽天市場で見る&#34;,&#34;u_bc&#34;:&#34;#f76956&#34;,&#34;u_url&#34;:&#34;https:\/\/search.rakuten.co.jp\/search\/mall\/Miuzei%20Raspberry%20Pi%204%20%E9%9B%BB%E6%BA%90%E3%80%81USB-C%EF%BC%88Type%20C%EF%BC%89%E3%82%B1%E3%83%BC%E3%83%96%E3%83%AB%205.1V%203A%20%E5%85%85%E9%9B%BB%E5%99%A8%E3%82%B3%E3%83%BC%E3%83%89%E3%82%B9%E3%82%A4%E3%83%83%E3%83%81%E4%BB%98%E3%81%8D%20AC%E3%82%A2%E3%83%80%E3%83%97%E3%82%BF%E3%80%81%E4%BA%92%E6%8F%9B%E6%80%A7%E3%81%82%E3%82%8ARaspberry%20RPi%204%20Model%20B%201GB%20%2F%202GB%20%2F%204GB%20%2F%208GB%20%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%20PSE%E8%AA%8D%E8%A8%BC\/&#34;,&#34;a_id&#34;:4140102,&#34;p_id&#34;:54,&#34;pl_id&#34;:27059,&#34;pc_id&#34;:54,&#34;s_n&#34;:&#34;rakuten&#34;,&#34;u_so&#34;:2},{&#34;id&#34;:3,&#34;u_tx&#34;:&#34;Yahoo!ショッピングで見る&#34;,&#34;u_bc&#34;:&#34;#66a7ff&#34;,&#34;u_url&#34;:&#34;https:\/\/shopping.yahoo.co.jp\/search?first=1\u0026p=Miuzei%20Raspberry%20Pi%204%20%E9%9B%BB%E6%BA%90%E3%80%81USB-C%EF%BC%88Type%20C%EF%BC%89%E3%82%B1%E3%83%BC%E3%83%96%E3%83%AB%205.1V%203A%20%E5%85%85%E9%9B%BB%E5%99%A8%E3%82%B3%E3%83%BC%E3%83%89%E3%82%B9%E3%82%A4%E3%83%83%E3%83%81%E4%BB%98%E3%81%8D%20AC%E3%82%A2%E3%83%80%E3%83%97%E3%82%BF%E3%80%81%E4%BA%92%E6%8F%9B%E6%80%A7%E3%81%82%E3%82%8ARaspberry%20RPi%204%20Model%20B%201GB%20%2F%202GB%20%2F%204GB%20%2F%208GB%20%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%20PSE%E8%AA%8D%E8%A8%BC&#34;,&#34;a_id&#34;:4146916,&#34;p_id&#34;:1225,&#34;pl_id&#34;:27061,&#34;pc_id&#34;:1925,&#34;s_n&#34;:&#34;yahoo&#34;,&#34;u_so&#34;:3}],&#34;eid&#34;:&#34;1H1Jo&#34;,&#34;s&#34;:&#34;s&#34;});&lt;/script&gt;&lt;div id=&#34;msmaflink-1H1Jo&#34;&gt;リンク&lt;/div&gt;&lt;!-- MoshimoAffiliateEasyLink END --&gt;
&lt;p&gt;ここで一度注意する必要がある点として、OrangePiだけでなくRaspberryPiでも、5V3A出るUSB給電機でないと不安定の原因になるので注意。筆者はここで3日つまずいた。&lt;/p&gt;
&lt;h3 id=&#34;インストール&#34;&gt;インストール
&lt;/h3&gt;&lt;p&gt;組み立ては見れば分かると思うし、買ったモデルによって違うと思うので省略。&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-CM5.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;公式サイト&lt;/a&gt;を見ると色々OSがあるが、どれも結構不安定だった。&lt;/p&gt;
&lt;p&gt;今回はあきらめて&lt;a class=&#34;link&#34; href=&#34;https://www.armbian.com/orange-pi-zero-3/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Armbian OS（コミュニティ版）&lt;/a&gt;を利用していく。&lt;/p&gt;
&lt;p&gt;SDに焼き、起動させると完璧！OrangePiは給電すると起動する。またArmbian OSは起動時にモニターにつないでなくても起動するため、sshで接続して色々することもできる。&lt;/p&gt;
&lt;p&gt;続いてArmbian-configをインストールする。が、なんだかうまくいかないことが多いので&lt;a class=&#34;link&#34; href=&#34;https://webzoit.net/hp/it/internet/homepage/env/hardware/single_board_computer/orange_pi/armbian_on_orange_pi_zero_3.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;こちらの記事&lt;/a&gt;参照&lt;/p&gt;
 



&lt;h3 id=&#34;録画鯖にする&#34;&gt;録画鯖にする
&lt;/h3&gt;&lt;p&gt;ここまで来たらあとは録画鯖にするだけなので、ラズパイと同様にする。
dockerをインストールして&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl -sf https://raw.githubusercontent.com/l3tnun/docker-mirakurun-epgstation/v2/setup.sh | sh -s
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cd docker-mirakurun-epgstation
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;#チャンネル設定
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;vim mirakurun/conf/channels.yml
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;#コメントアウトされている restart や user の設定を適宜変更する
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;vim docker-compose.yml
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;環境によってはdocker-composeが導入できない場合には、エラーを吐いた時点で、setup.shを編集して、全部docker composeに書き換えてください。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker compose up -d
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;終わりに&#34;&gt;終わりに
&lt;/h3&gt;&lt;p&gt;性能としてはRaspberryPi3と4の間くらいの性能はあります。&lt;/p&gt;
&lt;p&gt;ハードウェアエンコードは挑戦しましたが無理でした。おとなしく母艦でエンコードしようと思います。&lt;/p&gt;
&lt;p&gt;リアルタイム視聴ですが、ブラウザからでなく、m2tsを読めるアプリケーション(VLC等)であればリアルタイム視聴は問題なく行えます。&lt;/p&gt;
&lt;p&gt;OrangePiを利用するメリットですが、RaspberryPiよりも小さく、付属品もついてRaspberryPi3（録画鯖にするにはちょっと厳しい）と同額なので、十分輸入するだけのメリットはあるかと思います。在庫もふんだんにあるようです。&lt;/p&gt;
&lt;p&gt;消費電力はこれまでの録画鯖の待機電力が15W程度でしたが、2~3W程度に落ち着き、ファンレス運用が行えています。&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>最新の検索結果をRSSで取得し、情報についていく</title>
        <link>https://glass-lab.net/2024/06/03/searxngrss/</link>
        <pubDate>Mon, 03 Jun 2024 05:09:22 +0000</pubDate>
        
        <guid>https://glass-lab.net/2024/06/03/searxngrss/</guid>
        <description>&lt;img src="https://glass-lab.net/wp-content/uploads/2024/06/2024-06-03%2014-18-32.png" alt="Featured image of post 最新の検索結果をRSSで取得し、情報についていく" /&gt;&lt;p&gt;最近の情報の進化は非常に早い。特にAI関連のものは非常に高速に進歩し続けている。&lt;/p&gt;
&lt;p&gt;今回は検索結果に乗るようになった記事をRSS形式で取得することで、更新された記事を可能な限り高速に通知できるようにする。&lt;/p&gt;
&lt;h2 id=&#34;使うもの&#34;&gt;使うもの
&lt;/h2&gt;&lt;p&gt;Searxng（&lt;a class=&#34;link&#34; href=&#34;https://searxng.glass-lab.net/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;筆者のインスタンス&lt;/a&gt;を利用していただいても構わない）&lt;/p&gt;
&lt;p&gt;お好みのRSSリーダー（このサイトでは&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2023/09/02/tiny-tiny-rss%E3%82%92%E5%B0%8E%E5%85%A5%E3%81%99%E3%82%8B/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;TTRSS&lt;/a&gt;を推奨していますが、&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2023/10/04/%E3%80%90RSS%E3%83%AA%E3%83%BC%E3%83%80%E3%83%BC%E3%80%91Feedly%E3%81%AE%E3%81%99%E3%81%99%E3%82%81/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Feedly&lt;/a&gt;のほうがお手軽かもしれません）&lt;/p&gt;
&lt;h2 id=&#34;やり方&#34;&gt;やり方
&lt;/h2&gt;&lt;p&gt;今回は現在情報の更新が凄まじいLlama3についての最新記事を取得するようにする。&lt;/p&gt;
&lt;p&gt;今回は筆者のインスタンスを例にとる。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;https://searxng.glass-lab.net/search?q=Llama3&amp;amp;categories=general&amp;amp;pageno=1&amp;amp;time_range=day&amp;amp;language=ja-JP&amp;amp;safesearch=0&amp;amp;format=rss
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;searxng.glass-lab.net:ここはお好きなインスタンスに書き換えてください&lt;/p&gt;
&lt;p&gt;search?q=Llama3:Llama3以外の単語の最新記事が取得したい場合にはこれを変更してください&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2024/06/2024-06-03%2014-18-32.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;その他については上の写真と同様の検索結果が得られるように設定されている。&lt;/p&gt;
 



&lt;h2 id=&#34;rssリーダーに設定する&#34;&gt;RSSリーダーに設定する
&lt;/h2&gt;&lt;p&gt;あとは上記URLをRSSリーダーに登録するのみ。検索結果に乗るようになった記事が集まってくる。&lt;/p&gt;
&lt;h2 id=&#34;終わりに&#34;&gt;終わりに
&lt;/h2&gt;&lt;p&gt;LLMなどのとにかく情報の更新が早い分野では高速に情報収集することができるのでかなり重宝している。&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>Mastodon向けの軽量フロントエンドPhanphy</title>
        <link>https://glass-lab.net/2024/06/02/Phanphy/</link>
        <pubDate>Sun, 02 Jun 2024 07:51:04 +0000</pubDate>
        
        <guid>https://glass-lab.net/2024/06/02/Phanphy/</guid>
        <description>&lt;img src="https://glass-lab.net/wp-content/uploads/2024/06/2024-06-02%2017-04-35.png" alt="Featured image of post Mastodon向けの軽量フロントエンドPhanphy" /&gt;&lt;p&gt;現在筆者は私用も含めて多くのMastodonアカウントを保有している。&lt;/p&gt;
&lt;p&gt;それを一元管理するために今回筆者は自分で軽量のフロントエンドを建てることにした。&lt;/p&gt;
&lt;h2 id=&#34;phanphy&#34;&gt;Phanphy
&lt;/h2&gt;&lt;p&gt;プロジェクトの&lt;a class=&#34;link&#34; href=&#34;https://github.com/cheeaun/phanpy&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Github&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Phanpyは、Mastodon向けのミニマリストで独自の意見に基づいたウェブクライアント。マルチアカウント対応、ライト/ダークテーマ、自動保存されたドラフトの復元、複数のタイムライン表示モードなどの機能が含まれます。ユーザー体験の向上を目指し、複雑な機能や視覚的なノイズを削減するための設計が施されている。&lt;/p&gt;
&lt;p&gt;開発にはNode.js、Vite、Preact、Valtio、React Routerなどの技術を使用。ソースコードはGitHubで公開されており、自分でホスティングすることも可能。&lt;/p&gt;
&lt;p&gt;筆者は今回Cloudflare pagesを利用してセルフホストした。&lt;/p&gt;
&lt;h2 id=&#34;やり方&#34;&gt;やり方
&lt;/h2&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/cheeaun/phanpy/releases&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Githubのリリース&lt;/a&gt;から一番新しいところからZIPファイルをダウンロード&lt;/p&gt;
&lt;p&gt;続いてCloudflareのDashboardに行く&lt;/p&gt;
&lt;p&gt;Worker&amp;amp;Pages→Overview→Create application→Pages→Create using direct upload&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2024/06/2024-06-02%2017-04-35.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;Upload assetsからGithubでダウンロードしたZIPファイルをそのまま入れる。&lt;/p&gt;
&lt;p&gt;その後Overviewからカスタムドメイン等々を設定できる。&lt;/p&gt;
 



&lt;h2 id=&#34;完成品&#34;&gt;完成品
&lt;/h2&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://phanpy.glass-lab.net/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;こちら&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Githubを見ていただければと思うがサーバー上ではデータを保存しないので筆者のものも利用していただいて大丈夫である。&lt;/p&gt;
&lt;h2 id=&#34;終わりに&#34;&gt;終わりに
&lt;/h2&gt;&lt;p&gt;静的サイトでフロントエンドがホストできるのはすごいと思った。&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>Activepieceで簡単に自動化させる</title>
        <link>https://glass-lab.net/2024/03/31/Activepiece/</link>
        <pubDate>Sun, 31 Mar 2024 04:06:49 +0000</pubDate>
        
        <guid>https://glass-lab.net/2024/03/31/Activepiece/</guid>
        <description>&lt;img src="https://glass-lab.net/img/eyecatch.png" alt="Featured image of post Activepieceで簡単に自動化させる" /&gt;&lt;p&gt;GUIで自動化プログラミングをするツールが流行っている。IFTTTやZapierなどが挙げられる。&lt;/p&gt;
&lt;p&gt;上記のサービスは無料版もあるものの結構高い&lt;/p&gt;
&lt;p&gt;今回はActivepieceという無料で利用できるものを紹介しようと思う。&lt;/p&gt;
&lt;h2 id=&#34;環境&#34;&gt;環境
&lt;/h2&gt;&lt;p&gt;筆者は普段&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2023/08/15/512mb%E3%81%AEvps%E3%81%AE%E9%99%90%E7%95%8C%E3%81%AB%E6%8C%91%E6%88%A6%E3%81%97%E3%80%81%E5%BA%83%E5%91%8A%E3%82%92%E7%A0%B4%E5%A3%8A%E3%81%99%E3%82%8B%E3%80%82%E3%81%9D%E3%81%AE%EF%BC%92/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;こちら&lt;/a&gt;で紹介したVPSを利用している。&lt;/p&gt;
&lt;p&gt;いろいろなものをインストールしているが、今回コレを追加しても問題なかった。&lt;/p&gt;
 



&lt;h2 id=&#34;インストール方法&#34;&gt;インストール方法
&lt;/h2&gt;&lt;p&gt;こちらの&lt;a class=&#34;link&#34; href=&#34;https://www.activepieces.com/docs/install/options/docker&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ドキュメント&lt;/a&gt;に沿って、dockerでインストールする。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker run -d -p 8080:80 -v ~/.activepieces:/root/.activepieces -e AP_QUEUE_MODE=MEMORY -e AP_DB_TYPE=SQLITE3 -e AP_FRONTEND_URL=&amp;#34;http://localhost:8080&amp;#34; activepieces/activepieces:latest
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;適宜PortやURLは変更してほしい。&lt;/p&gt;
&lt;p&gt;立ち上がったらURLにアクセスし、アカウントを作成する。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2024/03%20/2024-03-31%2013-23-48.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;起動するとこんな感じ&lt;/p&gt;
&lt;p&gt;筆者も色々と試しているが、現在稼働しているものとしては、RSSから得た論文を要約し&lt;a class=&#34;link&#34; href=&#34;https://social.glass-lab.net/users/hematosummarize&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;筆者のPleromaのアカウント&lt;/a&gt;に投稿するBotがある。&lt;/p&gt;
&lt;p&gt;上記のBotの作成方法を次回紹介しようと思う。&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>RSSをTootするBotを書いた</title>
        <link>https://glass-lab.net/2024/03/14/RSSTOOTBOT/</link>
        <pubDate>Thu, 14 Mar 2024 06:32:50 +0000</pubDate>
        
        <guid>https://glass-lab.net/2024/03/14/RSSTOOTBOT/</guid>
        <description>&lt;img src="https://glass-lab.net/img/eyecatch.png" alt="Featured image of post RSSをTootするBotを書いた" /&gt;&lt;p&gt;RSS更新を通知するBotを書いた。&lt;/p&gt;
&lt;p&gt;今回はPleromaで通知するBot。&lt;/p&gt;
&lt;p&gt;下をコピペすれば良い&lt;/p&gt;
 



&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;20
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;21
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;22
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;23
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;24
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;25
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;26
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;27
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;28
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;29
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;30
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;31
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;32
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;33
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;34
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;35
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;36
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;from mastodon import Mastodon
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;import feedparser
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;import sys
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;import os
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;api = Mastodon(
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    api_base_url  = &amp;#39;https://social.glass-lab.net&amp;#39;,
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    client_id     = &amp;#39;&amp;#39;,
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    client_secret = &amp;#39;&amp;#39;,
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    access_token  = &amp;#39;&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;RSS_URL = &amp;#34;https://glass-lab.net/index.xml&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;PUBDATE_LOG = &amp;#34;last_pubdate.log&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;news_dic = feedparser.parse(RSS_URL)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;latest_entry = news_dic[&amp;#39;entries&amp;#39;][0]
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;message = &amp;#39;ブログが更新されました &amp;#39;+ latest_entry.title + &amp;#39; &amp;#39;+ latest_entry.link
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pubDate = latest_entry.published
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;# 修正内容2 : 前回ツイートした記事の pubDate を取得
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;lastPubDate = None
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;if os.path.exists(PUBDATE_LOG):
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    with open(PUBDATE_LOG, &amp;#34;r&amp;#34;) as rf:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        lastPubDate = [line.strip() for line in rf.readlines()]
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;# 修正内3: 同じ記事をツイートしようとした場合、処理終了
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;if (pubDate == lastPubDate):
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    print(&amp;#34;前回ツイートした記事です&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    sys.exit()
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;else:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    print(&amp;#34;新しい記事が見つかりました。&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    api.toot(status=message)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    with open(&amp;#34;last_pubdate.log&amp;#34;, &amp;#34;a&amp;#34;) as f:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        f.write(pubDate + &amp;#34;\n&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;実際にはClient_id、client_secret、Access_tokenを取得し上記に含めておく必要がある。&lt;/p&gt;
&lt;p&gt;APIの取得のしかたは&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2023/10/03/%E3%80%90Pleroma%E3%80%91Bot%E3%81%8C%E7%94%9F%E3%81%88%E3%81%9F%E3%80%90Twitter%20API%E3%80%91/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;こちらの記事&lt;/a&gt;で解説している。&lt;/p&gt;
&lt;p&gt;ちなみになのだが、Apiの類は平文のままコードに記述するのはあまり良くない。が、大したBotではないので許して欲しい。&lt;/p&gt;
&lt;p&gt;これを利用したBotは&lt;a class=&#34;link&#34; href=&#34;https://social.glass-lab.net/users/glasslabannounce&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;私のPleroma&lt;/a&gt;にホストされている。&lt;/p&gt;
&lt;p&gt;ちなみに筆者は上記のコードをcronで5分おきに動作させている。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;crontab -e
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;としてcrontabを編集する&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;*/5 * * * * python3 bot.py
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;とすることで5分おきに動作させることができる&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>Adobe scanの角度補正機能が自炊界に革命を起こす</title>
        <link>https://glass-lab.net/2024/03/13/adobescan/</link>
        <pubDate>Wed, 13 Mar 2024 08:33:48 +0000</pubDate>
        
        <guid>https://glass-lab.net/2024/03/13/adobescan/</guid>
        <description>&lt;img src="https://glass-lab.net/img/eyecatch.png" alt="Featured image of post Adobe scanの角度補正機能が自炊界に革命を起こす" /&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://apps.apple.com/jp/app/adobe-scan-ocr-%E4%BB%98-%E3%82%B9%E3%82%AD%E3%83%A3%E3%83%8A%E3%83%BC%E3%82%A2%E3%83%97%E3%83%AA/id1199564834&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Adobe scan&lt;/a&gt;というアプリに角度補正がついた&lt;/p&gt;
&lt;p&gt;Adobe Scanは、スマートフォンやタブレットを使って、紙の書類や名刺、白板などを簡単にPDF化できる無料アプリです。&lt;/p&gt;
&lt;p&gt;スキャンした文書は、Adobe Acrobat Readerや他の PDF ビューアで開いたり、編集したり、共有したりできます。&lt;/p&gt;
&lt;p&gt;特に便利な点として&lt;/p&gt;
&lt;p&gt;自動スキャン: Adobe Scanは、カメラで文書を捉えると、自動的に境界線を検出してスキャンします。&lt;/p&gt;
&lt;p&gt;高精度なOCR: スキャンした文書内のテキストを自動的に認識し、テキスト検索やコピー＆ペーストが可能になります&lt;/p&gt;
&lt;p&gt;があげられる。&lt;/p&gt;
&lt;p&gt;そんなAdobe scanに追加された角度補正機能が非破壊自炊に革命を起こしそうだ。&lt;/p&gt;
 



&lt;h2 id=&#34;追加された機能について&#34;&gt;追加された機能について
&lt;/h2&gt;&lt;p&gt;今回追加された機能はAdobe scanの書籍モードで使える&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2024/03%20/IMG_9531.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;上記の角度補正をオンの状態で使える。&lt;/p&gt;
&lt;p&gt;そもそも書籍機能は、本を非破壊でスキャンするために、点線と本の中心を合わせることで、書籍の端を自動認識して取り込んでくれるものだった。&lt;/p&gt;
&lt;p&gt;最近のアップデートで、本特有のたわみを補正してくれるようになった。&lt;/p&gt;
&lt;p&gt;これまでにもどこかでこのような補正をかけてくれる商品があったなあと思っていたのだが&lt;a class=&#34;link&#34; href=&#34;Scansnap%e3%81%ae%e9%9d%9e%e7%a0%b4%e5%a3%8a%e3%83%a2%e3%83%87%e3%83%abhttps://www.pfu.ricoh.com/imaging/downloads/manual/ss_webhelp/jp/help/webhelp/topic/ope_corrects_book.html&#34; &gt;Scansnapの非破壊モデル&lt;/a&gt;がそうだった。&lt;/p&gt;
&lt;!-- START MoshimoAffiliateEasyLink --&gt;&lt;script type=&#34;text/javascript&#34;&gt;(function(b,c,f,g,a,d,e){b.MoshimoAffiliateObject=a;b[a]=b[a]||function(){arguments.currentScript=c.currentScript||c.scripts[c.scripts.length-2];(b[a].q=b[a].q||[]).push(arguments)};c.getElementById(a)||(d=c.createElement(f),d.src=g,d.id=a,e=c.getElementsByTagName(&#34;body&#34;)[0],e.appendChild(d))})(window,document,&#34;script&#34;,&#34;//dn.msmstatic.com/site/cardlink/bundle.js?20220329&#34;,&#34;msmaflink&#34;);msmaflink({&#34;n&#34;:&#34;リコー PFU ドキュメントスキャナー ScanSnap SV600 (最新\/A3非接触モデル\/片面読取\/オーバーヘッドスキャン\/USB接続\/書類\/レシート\/名刺\/写真\/アルバム\/本\/新聞\/非破壊タイプ)&#34;,&#34;b&#34;:&#34;ScanSnap&#34;,&#34;t&#34;:&#34;FI-SV600B&#34;,&#34;d&#34;:&#34;https:\/\/m.media-amazon.com&#34;,&#34;c_p&#34;:&#34;\/images\/I&#34;,&#34;p&#34;:[&#34;\/31IGMi84R+L._SL500_.jpg&#34;,&#34;\/51gNe55ROCL._SL500_.jpg&#34;,&#34;\/316vsT5gq5L._SL500_.jpg&#34;,&#34;\/41PjF47D5iL._SL500_.jpg&#34;,&#34;\/41xWlUtQKhL._SL500_.jpg&#34;,&#34;\/51cvCjfqr2L._SL500_.jpg&#34;],&#34;u&#34;:{&#34;u&#34;:&#34;https:\/\/www.amazon.co.jp\/dp\/B0C23RF1VP&#34;,&#34;t&#34;:&#34;amazon&#34;,&#34;r_v&#34;:&#34;&#34;},&#34;v&#34;:&#34;2.1&#34;,&#34;b_l&#34;:[{&#34;id&#34;:1,&#34;u_tx&#34;:&#34;Amazonで見る&#34;,&#34;u_bc&#34;:&#34;#f79256&#34;,&#34;u_url&#34;:&#34;https:\/\/www.amazon.co.jp\/dp\/B0C23RF1VP&#34;,&#34;a_id&#34;:4140111,&#34;p_id&#34;:170,&#34;pl_id&#34;:27060,&#34;pc_id&#34;:185,&#34;s_n&#34;:&#34;amazon&#34;,&#34;u_so&#34;:1},{&#34;id&#34;:2,&#34;u_tx&#34;:&#34;楽天市場で見る&#34;,&#34;u_bc&#34;:&#34;#f76956&#34;,&#34;u_url&#34;:&#34;https:\/\/search.rakuten.co.jp\/search\/mall\/%E3%83%AA%E3%82%B3%E3%83%BC%20PFU%20%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3%E3%83%88%E3%82%B9%E3%82%AD%E3%83%A3%E3%83%8A%E3%83%BC%20ScanSnap%20SV600%20(%E6%9C%80%E6%96%B0%2FA3%E9%9D%9E%E6%8E%A5%E8%A7%A6%E3%83%A2%E3%83%87%E3%83%AB%2F%E7%89%87%E9%9D%A2%E8%AA%AD%E5%8F%96%2F%E3%82%AA%E3%83%BC%E3%83%90%E3%83%BC%E3%83%98%E3%83%83%E3%83%89%E3%82%B9%E3%82%AD%E3%83%A3%E3%83%B3%2FUSB%E6%8E%A5%E7%B6%9A%2F%E6%9B%B8%E9%A1%9E%2F%E3%83%AC%E3%82%B7%E3%83%BC%E3%83%88%2F%E5%90%8D%E5%88%BA%2F%E5%86%99%E7%9C%9F%2F%E3%82%A2%E3%83%AB%E3%83%90%E3%83%A0%2F%E6%9C%AC%2F%E6%96%B0%E8%81%9E%2F%E9%9D%9E%E7%A0%B4%E5%A3%8A%E3%82%BF%E3%82%A4%E3%83%97)\/&#34;,&#34;a_id&#34;:4140102,&#34;p_id&#34;:54,&#34;pl_id&#34;:27059,&#34;pc_id&#34;:54,&#34;s_n&#34;:&#34;rakuten&#34;,&#34;u_so&#34;:2},{&#34;id&#34;:3,&#34;u_tx&#34;:&#34;Yahoo!ショッピングで見る&#34;,&#34;u_bc&#34;:&#34;#66a7ff&#34;,&#34;u_url&#34;:&#34;https:\/\/shopping.yahoo.co.jp\/search?first=1\u0026p=%E3%83%AA%E3%82%B3%E3%83%BC%20PFU%20%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3%E3%83%88%E3%82%B9%E3%82%AD%E3%83%A3%E3%83%8A%E3%83%BC%20ScanSnap%20SV600%20(%E6%9C%80%E6%96%B0%2FA3%E9%9D%9E%E6%8E%A5%E8%A7%A6%E3%83%A2%E3%83%87%E3%83%AB%2F%E7%89%87%E9%9D%A2%E8%AA%AD%E5%8F%96%2F%E3%82%AA%E3%83%BC%E3%83%90%E3%83%BC%E3%83%98%E3%83%83%E3%83%89%E3%82%B9%E3%82%AD%E3%83%A3%E3%83%B3%2FUSB%E6%8E%A5%E7%B6%9A%2F%E6%9B%B8%E9%A1%9E%2F%E3%83%AC%E3%82%B7%E3%83%BC%E3%83%88%2F%E5%90%8D%E5%88%BA%2F%E5%86%99%E7%9C%9F%2F%E3%82%A2%E3%83%AB%E3%83%90%E3%83%A0%2F%E6%9C%AC%2F%E6%96%B0%E8%81%9E%2F%E9%9D%9E%E7%A0%B4%E5%A3%8A%E3%82%BF%E3%82%A4%E3%83%97)&#34;,&#34;a_id&#34;:4146916,&#34;p_id&#34;:1225,&#34;pl_id&#34;:27061,&#34;pc_id&#34;:1925,&#34;s_n&#34;:&#34;yahoo&#34;,&#34;u_so&#34;:3}],&#34;eid&#34;:&#34;gwJBf&#34;,&#34;s&#34;:&#34;s&#34;});&lt;/script&gt;&lt;div id=&#34;msmaflink-gwJBf&#34;&gt;リンク&lt;/div&gt;&lt;!-- MoshimoAffiliateEasyLink END --&gt;
&lt;p&gt;かなりのお値段のするものだが、こちらで行われているような補正がかかり、スキャンがより真っすぐに行われるようになった。&lt;/p&gt;
&lt;p&gt;非破壊スキャナを探している人は多いと思うが、以下のような比較的安価な非破壊スキャナと同等の補正機能が無料で利用できるのは非常に画期的だ。&lt;/p&gt;
&lt;p&gt;また、Adobe scanはOCR機能も充実しており25枚ずつであれば無料でOCRすることができる&lt;/p&gt;
&lt;p&gt;筆者はOCRのために25枚ずつスキャンして後で結合している。&lt;/p&gt;
&lt;h2 id=&#34;終わりに&#34;&gt;終わりに
&lt;/h2&gt;&lt;p&gt;非常に優秀なスキャナをスマホで代用できる。&lt;/p&gt;
&lt;p&gt;自炊グッズにお金をかけずに本を買うことができるし、何より非破壊ならその後に売却しやすい。非常に便利だと思う。&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>iPhone SE2のバッテリーを交換した。</title>
        <link>https://glass-lab.net/2024/03/07/iphonese2battery/</link>
        <pubDate>Thu, 07 Mar 2024 10:06:18 +0000</pubDate>
        
        <guid>https://glass-lab.net/2024/03/07/iphonese2battery/</guid>
        <description>&lt;img src="https://glass-lab.net/img/eyecatch.png" alt="Featured image of post iPhone SE2のバッテリーを交換した。" /&gt;&lt;p&gt;se2のバッテリーがだいぶへたってきたので交換した。&lt;/p&gt;
&lt;p&gt;使用したものは以下&lt;/p&gt;
&lt;!-- START MoshimoAffiliateEasyLink --&gt;&lt;script type=&#34;text/javascript&#34;&gt;(function(b,c,f,g,a,d,e){b.MoshimoAffiliateObject=a;b[a]=b[a]||function(){arguments.currentScript=c.currentScript||c.scripts[c.scripts.length-2];(b[a].q=b[a].q||[]).push(arguments)};c.getElementById(a)||(d=c.createElement(f),d.src=g,d.id=a,e=c.getElementsByTagName(&#34;body&#34;)[0],e.appendChild(d))})(window,document,&#34;script&#34;,&#34;//dn.msmstatic.com/site/cardlink/bundle.js?20220329&#34;,&#34;msmaflink&#34;);msmaflink({&#34;n&#34;:&#34;DIGIFORCE for iPhone 互換 交換用 バッテリー PSEマーク表示 【取付説明書（日本語）\/工具\/バッテリーシール 付属】(工具セット) (LPB-SE2-H)&#34;,&#34;b&#34;:&#34;DIGIFORCE&#34;,&#34;t&#34;:&#34;LPB-SE2-H&#34;,&#34;d&#34;:&#34;https:\/\/m.media-amazon.com&#34;,&#34;c_p&#34;:&#34;\/images\/I&#34;,&#34;p&#34;:[&#34;\/41NdoXMmtyL._SL500_.jpg&#34;,&#34;\/41g1mv-uQXL._SL500_.jpg&#34;,&#34;\/41fG9LKHjzL._SL500_.jpg&#34;,&#34;\/519F-KBHo1L._SL500_.jpg&#34;,&#34;\/51G39DfsOVL._SL500_.jpg&#34;,&#34;\/51eOpq-Ri-L._SL500_.jpg&#34;,&#34;\/51LuJGhCG7L._SL500_.jpg&#34;],&#34;u&#34;:{&#34;u&#34;:&#34;https:\/\/www.amazon.co.jp\/dp\/B0B2NW69YM&#34;,&#34;t&#34;:&#34;amazon&#34;,&#34;r_v&#34;:&#34;&#34;},&#34;v&#34;:&#34;2.1&#34;,&#34;b_l&#34;:[{&#34;id&#34;:1,&#34;u_tx&#34;:&#34;Amazonで見る&#34;,&#34;u_bc&#34;:&#34;#f79256&#34;,&#34;u_url&#34;:&#34;https:\/\/www.amazon.co.jp\/dp\/B0B2NW69YM&#34;,&#34;a_id&#34;:4140111,&#34;p_id&#34;:170,&#34;pl_id&#34;:27060,&#34;pc_id&#34;:185,&#34;s_n&#34;:&#34;amazon&#34;,&#34;u_so&#34;:1},{&#34;id&#34;:2,&#34;u_tx&#34;:&#34;楽天市場で見る&#34;,&#34;u_bc&#34;:&#34;#f76956&#34;,&#34;u_url&#34;:&#34;https:\/\/search.rakuten.co.jp\/search\/mall\/DIGIFORCE%20for%20iPhone%20%E4%BA%92%E6%8F%9B%20%E4%BA%A4%E6%8F%9B%E7%94%A8%20%E3%83%90%E3%83%83%E3%83%86%E3%83%AA%E3%83%BC%20PSE%E3%83%9E%E3%83%BC%E3%82%AF%E8%A1%A8%E7%A4%BA%20%E3%80%90%E5%8F%96%E4%BB%98%E8%AA%AC%E6%98%8E%E6%9B%B8%EF%BC%88%E6%97%A5%E6%9C%AC%E8%AA%9E%EF%BC%89%2F%E5%B7%A5%E5%85%B7%2F%E3%83%90%E3%83%83%E3%83%86%E3%83%AA%E3%83%BC%E3%82%B7%E3%83%BC%E3%83%AB%20%E4%BB%98%E5%B1%9E%E3%80%91(%E5%B7%A5%E5%85%B7%E3%82%BB%E3%83%83%E3%83%88)%20(LPB-SE2-H)\/&#34;,&#34;a_id&#34;:4140102,&#34;p_id&#34;:54,&#34;pl_id&#34;:27059,&#34;pc_id&#34;:54,&#34;s_n&#34;:&#34;rakuten&#34;,&#34;u_so&#34;:2},{&#34;id&#34;:3,&#34;u_tx&#34;:&#34;Yahoo!ショッピングで見る&#34;,&#34;u_bc&#34;:&#34;#66a7ff&#34;,&#34;u_url&#34;:&#34;https:\/\/shopping.yahoo.co.jp\/search?first=1\u0026p=DIGIFORCE%20for%20iPhone%20%E4%BA%92%E6%8F%9B%20%E4%BA%A4%E6%8F%9B%E7%94%A8%20%E3%83%90%E3%83%83%E3%83%86%E3%83%AA%E3%83%BC%20PSE%E3%83%9E%E3%83%BC%E3%82%AF%E8%A1%A8%E7%A4%BA%20%E3%80%90%E5%8F%96%E4%BB%98%E8%AA%AC%E6%98%8E%E6%9B%B8%EF%BC%88%E6%97%A5%E6%9C%AC%E8%AA%9E%EF%BC%89%2F%E5%B7%A5%E5%85%B7%2F%E3%83%90%E3%83%83%E3%83%86%E3%83%AA%E3%83%BC%E3%82%B7%E3%83%BC%E3%83%AB%20%E4%BB%98%E5%B1%9E%E3%80%91(%E5%B7%A5%E5%85%B7%E3%82%BB%E3%83%83%E3%83%88)%20(LPB-SE2-H)&#34;,&#34;a_id&#34;:4146916,&#34;p_id&#34;:1225,&#34;pl_id&#34;:27061,&#34;pc_id&#34;:1925,&#34;s_n&#34;:&#34;yahoo&#34;,&#34;u_so&#34;:3}],&#34;eid&#34;:&#34;ACi4S&#34;,&#34;s&#34;:&#34;s&#34;});&lt;/script&gt;&lt;div id=&#34;msmaflink-ACi4S&#34;&gt;リンク&lt;/div&gt;&lt;!-- MoshimoAffiliateEasyLink END --&gt;
&lt;p&gt;参考にしたもののリンクを紹介しておく。&lt;/p&gt;
&lt;iframe width=&#34;560&#34; height=&#34;315&#34; src=&#34;https://www.youtube.com/embed/0L6d60CbpHU?si=SFCxGpUwCVbiBYdh&#34; title=&#34;YouTube video player&#34; frameborder=&#34;0&#34; allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&#34; allowfullscreen&gt;&lt;/iframe&gt;
&lt;iframe width=&#34;560&#34; height=&#34;315&#34; src=&#34;https://www.youtube.com/embed/rhDZKIXbN-8?si=_corI6dW7LxytKZo&#34; title=&#34;YouTube video player&#34; frameborder=&#34;0&#34; allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&#34; allowfullscreen&gt;&lt;/iframe&gt;
&lt;iframe width=&#34;560&#34; height=&#34;315&#34; src=&#34;https://www.youtube.com/embed/uMkqs7d788Y?si=NiSj58-34fd3k2Ba&#34; title=&#34;YouTube video player&#34; frameborder=&#34;0&#34; allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&#34; allowfullscreen&gt;&lt;/iframe&gt;
&lt;p&gt;これらをよく見て行えば素人でも一応交換できた。&lt;/p&gt;
&lt;p&gt;また、↑の商品では修理方法が記載されたものが同封されている。&lt;/p&gt;
&lt;p&gt;修理方法は以上で十分に紹介されているので、ここからは反省点を述べていく。&lt;/p&gt;
&lt;h2 id=&#34;ネジが細かい&#34;&gt;ネジが細かい
&lt;/h2&gt;&lt;p&gt;わかっていたことだったが、ネジがめちゃめちゃ細かい。&lt;/p&gt;
&lt;p&gt;特に、今回利用したキットの中のドライバーは磁力が弱く、ネジをスマホの内部に落として探すのがめちゃめちゃ大変になる事故があった。&lt;/p&gt;
&lt;p&gt;また、ケーブルもめちゃめちゃ細くすぐ切れてしまいそうなので雑には扱えない。&lt;/p&gt;
&lt;h2 id=&#34;バッテリーの両面テープが固い&#34;&gt;バッテリーの両面テープが固い
&lt;/h2&gt;&lt;p&gt;これが一番のミスだったのだが、上記の動画でも紹介されているようにバッテリーの取り外しを両面テープの巻取りで行うのだが、全部切ってしまった。&lt;/p&gt;
&lt;p&gt;ドライヤーである程度やわらかくしてからでもミスをしてしまったので、これは筆者のものが特別硬かったのか、筆者のセンスがなかったのかと思っている。&lt;/p&gt;
 



&lt;h2 id=&#34;防水テープが正確に付けられない&#34;&gt;防水テープが正確に付けられない
&lt;/h2&gt;&lt;p&gt;これはある程度予測できていたが、最後に防水テープを端につけて防水するが、これが意外と正確につかない。&lt;/p&gt;
&lt;p&gt;筆者は防水機能はある程度諦めてしまった。お風呂に持っていかなければ大丈夫だよねということにしている。&lt;/p&gt;
&lt;h2 id=&#34;終わりに&#34;&gt;終わりに
&lt;/h2&gt;&lt;p&gt;交換した感想としては、次はやらないと思いました。&lt;/p&gt;
&lt;p&gt;ただ、2000円ちょっとでめちゃくちゃバッテリーの持ちがよくなったので、買い換えるにはまだ早い人（特にSE2ユーザー）にはまあまあおすすめできるかなと感じました。&lt;/p&gt;
&lt;!-- START MoshimoAffiliateEasyLink --&gt;&lt;script type=&#34;text/javascript&#34;&gt;(function(b,c,f,g,a,d,e){b.MoshimoAffiliateObject=a;b[a]=b[a]||function(){arguments.currentScript=c.currentScript||c.scripts[c.scripts.length-2];(b[a].q=b[a].q||[]).push(arguments)};c.getElementById(a)||(d=c.createElement(f),d.src=g,d.id=a,e=c.getElementsByTagName(&#34;body&#34;)[0],e.appendChild(d))})(window,document,&#34;script&#34;,&#34;//dn.msmstatic.com/site/cardlink/bundle.js?20220329&#34;,&#34;msmaflink&#34;);msmaflink({&#34;n&#34;:&#34;DIGIFORCE for iPhone 互換 交換用 バッテリー PSEマーク表示 【取付説明書（日本語）\/工具\/バッテリーシール 付属】(工具セット) (LPB-SE2-H)&#34;,&#34;b&#34;:&#34;DIGIFORCE&#34;,&#34;t&#34;:&#34;LPB-SE2-H&#34;,&#34;d&#34;:&#34;https:\/\/m.media-amazon.com&#34;,&#34;c_p&#34;:&#34;\/images\/I&#34;,&#34;p&#34;:[&#34;\/41NdoXMmtyL._SL500_.jpg&#34;,&#34;\/41g1mv-uQXL._SL500_.jpg&#34;,&#34;\/41fG9LKHjzL._SL500_.jpg&#34;,&#34;\/519F-KBHo1L._SL500_.jpg&#34;,&#34;\/51G39DfsOVL._SL500_.jpg&#34;,&#34;\/51eOpq-Ri-L._SL500_.jpg&#34;,&#34;\/51LuJGhCG7L._SL500_.jpg&#34;],&#34;u&#34;:{&#34;u&#34;:&#34;https:\/\/www.amazon.co.jp\/dp\/B0B2NW69YM&#34;,&#34;t&#34;:&#34;amazon&#34;,&#34;r_v&#34;:&#34;&#34;},&#34;v&#34;:&#34;2.1&#34;,&#34;b_l&#34;:[{&#34;id&#34;:1,&#34;u_tx&#34;:&#34;Amazonで見る&#34;,&#34;u_bc&#34;:&#34;#f79256&#34;,&#34;u_url&#34;:&#34;https:\/\/www.amazon.co.jp\/dp\/B0B2NW69YM&#34;,&#34;a_id&#34;:4140111,&#34;p_id&#34;:170,&#34;pl_id&#34;:27060,&#34;pc_id&#34;:185,&#34;s_n&#34;:&#34;amazon&#34;,&#34;u_so&#34;:1},{&#34;id&#34;:2,&#34;u_tx&#34;:&#34;楽天市場で見る&#34;,&#34;u_bc&#34;:&#34;#f76956&#34;,&#34;u_url&#34;:&#34;https:\/\/search.rakuten.co.jp\/search\/mall\/DIGIFORCE%20for%20iPhone%20%E4%BA%92%E6%8F%9B%20%E4%BA%A4%E6%8F%9B%E7%94%A8%20%E3%83%90%E3%83%83%E3%83%86%E3%83%AA%E3%83%BC%20PSE%E3%83%9E%E3%83%BC%E3%82%AF%E8%A1%A8%E7%A4%BA%20%E3%80%90%E5%8F%96%E4%BB%98%E8%AA%AC%E6%98%8E%E6%9B%B8%EF%BC%88%E6%97%A5%E6%9C%AC%E8%AA%9E%EF%BC%89%2F%E5%B7%A5%E5%85%B7%2F%E3%83%90%E3%83%83%E3%83%86%E3%83%AA%E3%83%BC%E3%82%B7%E3%83%BC%E3%83%AB%20%E4%BB%98%E5%B1%9E%E3%80%91(%E5%B7%A5%E5%85%B7%E3%82%BB%E3%83%83%E3%83%88)%20(LPB-SE2-H)\/&#34;,&#34;a_id&#34;:4140102,&#34;p_id&#34;:54,&#34;pl_id&#34;:27059,&#34;pc_id&#34;:54,&#34;s_n&#34;:&#34;rakuten&#34;,&#34;u_so&#34;:2},{&#34;id&#34;:3,&#34;u_tx&#34;:&#34;Yahoo!ショッピングで見る&#34;,&#34;u_bc&#34;:&#34;#66a7ff&#34;,&#34;u_url&#34;:&#34;https:\/\/shopping.yahoo.co.jp\/search?first=1\u0026p=DIGIFORCE%20for%20iPhone%20%E4%BA%92%E6%8F%9B%20%E4%BA%A4%E6%8F%9B%E7%94%A8%20%E3%83%90%E3%83%83%E3%83%86%E3%83%AA%E3%83%BC%20PSE%E3%83%9E%E3%83%BC%E3%82%AF%E8%A1%A8%E7%A4%BA%20%E3%80%90%E5%8F%96%E4%BB%98%E8%AA%AC%E6%98%8E%E6%9B%B8%EF%BC%88%E6%97%A5%E6%9C%AC%E8%AA%9E%EF%BC%89%2F%E5%B7%A5%E5%85%B7%2F%E3%83%90%E3%83%83%E3%83%86%E3%83%AA%E3%83%BC%E3%82%B7%E3%83%BC%E3%83%AB%20%E4%BB%98%E5%B1%9E%E3%80%91(%E5%B7%A5%E5%85%B7%E3%82%BB%E3%83%83%E3%83%88)%20(LPB-SE2-H)&#34;,&#34;a_id&#34;:4146916,&#34;p_id&#34;:1225,&#34;pl_id&#34;:27061,&#34;pc_id&#34;:1925,&#34;s_n&#34;:&#34;yahoo&#34;,&#34;u_so&#34;:3}],&#34;eid&#34;:&#34;ACi4S&#34;,&#34;s&#34;:&#34;s&#34;});&lt;/script&gt;&lt;div id=&#34;msmaflink-ACi4S&#34;&gt;リンク&lt;/div&gt;&lt;!-- MoshimoAffiliateEasyLink END --&gt;
&lt;p&gt;ちなみに↑のものはバッテリー容量が標準より少し多く、かつ信頼できるIT社製なのでかなりお買い得だと思いました。&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>仕事の知見をGiteaで管理する。【Github】【Gitea】</title>
        <link>https://glass-lab.net/2024/03/06/GiteaGithub/</link>
        <pubDate>Wed, 06 Mar 2024 06:47:50 +0000</pubDate>
        
        <guid>https://glass-lab.net/2024/03/06/GiteaGithub/</guid>
        <description>&lt;img src="https://glass-lab.net/img/eyecatch.png" alt="Featured image of post 仕事の知見をGiteaで管理する。【Github】【Gitea】" /&gt;&lt;p&gt;これまで仕事の知見を&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2023/09/18/%E3%80%90%E8%84%B1Notion%E3%80%91Joplin%E3%82%92%E4%BD%BF%E3%81%86%E7%90%86%E7%94%B1/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Joplin&lt;/a&gt;で管理してきた。&lt;/p&gt;
&lt;p&gt;しかし、全体的に画像や文書そのもののサイズが大きくなってしまい管理がめちゃくちゃ大変になってきてしまった。&lt;/p&gt;
&lt;p&gt;今回はJoplinで書き溜めたデータをGiteaに移行したので、紹介する。&lt;/p&gt;
&lt;p&gt;今回はGithubに上げるには微妙なデータが多いためGiteaをセルフホストすることにしたが、それが面倒な場合や、情報が最悪漏れても大丈夫な場合にはGithubの非公開レポジトリで同じことをするのが良さそうだ。&lt;/p&gt;
&lt;h2 id=&#34;giteaインストール&#34;&gt;Giteaインストール
&lt;/h2&gt;&lt;p&gt;GiteaをDockerでインストールした。&lt;/p&gt;
&lt;p&gt;個人利用の場合には以下のようなdocker-compose.ymlファイルを作成すればよい&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;20
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;21
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;22
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;23
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;version: &amp;#34;3&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;networks:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  gitea:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    external: false
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;services:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  server:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    image: gitea/gitea:1.21.7
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    container_name: gitea
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    environment:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      - USER_UID=1000
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      - USER_GID=1000
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    restart: always
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    networks:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      - gitea
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    volumes:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      - ./gitea:/data
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      - /etc/timezone:/etc/timezone:ro
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      - /etc/localtime:/etc/localtime:ro
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    ports:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      - &amp;#34;3000:3000&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      - &amp;#34;222:22&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;その後&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker compose up -d
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;それぞれPort等を調整して欲しい。&lt;/p&gt;
&lt;p&gt;サーバーのip:3000にアクセスすると、初期ユーザーの登録やレポジトリの設定を行える。&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2024/01/28/tailscaleinstallusage/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;tailscale&lt;/a&gt;を利用すると利用しやすくなる。&lt;/p&gt;
&lt;h2 id=&#34;joplinから移行する&#34;&gt;Joplinから移行する
&lt;/h2&gt;&lt;p&gt;Joplinから移行する方法を紹介する。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-gdscript3&#34; data-lang=&#34;gdscript3&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;mkdir&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;joplinexport&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;#新しくフォルダを作成&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Joplin上でファイル→すべてをエクスポート→MD Markdown Frontmatter で先程のフォルダーに出力する&lt;/p&gt;
&lt;p&gt;先程設定したレポジトリにpushする。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-gdscript3&#34; data-lang=&#34;gdscript3&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;cd&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;joplinexport&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;touch&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;README&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;git&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;init&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;git&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;checkout&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;b&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;main&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;git&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;add&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;README&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;git&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;commit&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;m&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;first commit&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;git&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;remote&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;add&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;origin&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;http&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;//&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;サーバの&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ip&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;port&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;ユーザー名&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;レポジトリ名&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;git&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;git&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;push&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;u&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;origin&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;main&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;とすると、さきほどJoplinからExportしたファイルをGiteaにUploadできる。&lt;/p&gt;
 



&lt;h2 id=&#34;利点&#34;&gt;利点
&lt;/h2&gt;&lt;p&gt;Joplinを入れなくてもブラウザから編集することができ、更に変更点も残るため、知識をアップデートしやすい。&lt;/p&gt;
&lt;p&gt;ブラウザから編集できる点も非常に評価が高い。&lt;/p&gt;
&lt;p&gt;Tailscaleを用いてGiteaをシェアすれば、職場での知識共有に非常に便利だと感じる。&lt;/p&gt;
&lt;h2 id=&#34;終わりに&#34;&gt;終わりに
&lt;/h2&gt;&lt;p&gt;書き換えたことが残るようになったのは非常に便利で良い&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>XMRIGの手数料設定を0にする</title>
        <link>https://glass-lab.net/2024/03/05/XMRIG0FEE/</link>
        <pubDate>Tue, 05 Mar 2024 06:51:35 +0000</pubDate>
        
        <guid>https://glass-lab.net/2024/03/05/XMRIG0FEE/</guid>
        <description>&lt;img src="https://glass-lab.net/img/eyecatch.png" alt="Featured image of post XMRIGの手数料設定を0にする" /&gt;&lt;p&gt;最近仮想通貨がめちゃくちゃ盛り上がっているので、今回はCPUマイニングでおそらく使うであろう&lt;a class=&#34;link&#34; href=&#34;https://github.com/xmrig&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;XMRIG&lt;/a&gt;の手数料を0にする方法を紹介する。&lt;/p&gt;
&lt;p&gt;先に断っておくが、きちんと手数料は支払うべきなのでそこのところは気をつけて欲しい。&lt;/p&gt;
 



&lt;h2 id=&#34;やり方&#34;&gt;やり方
&lt;/h2&gt;&lt;p&gt;Windows以外のコマンド操作できるLinux、Mac等で行う。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt-get install git build-essential cmake libuv1-dev libssl-dev libhwloc-dev
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git clone https://github.com/xmrig/xmrig
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;ここまでは&lt;a class=&#34;link&#34; href=&#34;https://xmrig.com/docs/miner/build/ubuntu&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Docs&lt;/a&gt;と変わらない。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;nano xmrig/src/donate.h
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;として40、41行目&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-gdscript3&#34; data-lang=&#34;gdscript3&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;constexpr&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;ne&#34;&gt;int&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;kDefaultDonateLevel&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;constexpr&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;ne&#34;&gt;int&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;kMinimumDonateLevel&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;をそれぞれ0に書き換える。&lt;/p&gt;
&lt;p&gt;その後&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mkdir xmrig/build &amp;amp;&amp;amp; cd xmrig/build
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cmake ..
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;make -j$(nproc)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;とするとxmrig/buildの中にxmrigが生成される。&lt;/p&gt;
&lt;p&gt;それぞれのconfigは&lt;a class=&#34;link&#34; href=&#34;https://xmrig.com/wizard&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;公式のもの&lt;/a&gt;に従って生成してもらい、同じファイルに入れて&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./xmrig # 一応sudoやrootのほうがhuge pageを利用できるので性能が上がる。 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;おわりに&#34;&gt;おわりに
&lt;/h2&gt;&lt;p&gt;筆者はマイニングする際には&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2024/02/01/Unmineable%E3%81%A7%E3%83%9E%E3%82%A4%E3%83%8B%E3%83%B3%E3%82%B0%E3%81%99%E3%82%8B/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Unmineable&lt;/a&gt;を利用するといい感じ。&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>本の自炊用カッターを買ったー（激ウマギャグ）</title>
        <link>https://glass-lab.net/2024/02/28/bookcutter/</link>
        <pubDate>Wed, 28 Feb 2024 08:20:48 +0000</pubDate>
        
        <guid>https://glass-lab.net/2024/02/28/bookcutter/</guid>
        <description>&lt;img src="https://glass-lab.net/img/eyecatch.png" alt="Featured image of post 本の自炊用カッターを買ったー（激ウマギャグ）" /&gt;&lt;p&gt;このサイトではアフェリエイトリンクを利用しています。&lt;/p&gt;
&lt;p&gt;これまで本の自炊は普通のカッターを利用していたが、最近手間がかかることもあり、自炊用カッターを買った。&lt;/p&gt;
&lt;h2 id=&#34;１買ったカッター&#34;&gt;１．買ったカッター
&lt;/h2&gt;&lt;!-- START MoshimoAffiliateEasyLink --&gt;&lt;script type=&#34;text/javascript&#34;&gt;(function(b,c,f,g,a,d,e){b.MoshimoAffiliateObject=a;b[a]=b[a]||function(){arguments.currentScript=c.currentScript||c.scripts[c.scripts.length-2];(b[a].q=b[a].q||[]).push(arguments)};c.getElementById(a)||(d=c.createElement(f),d.src=g,d.id=a,e=c.getElementsByTagName(&#34;body&#34;)[0],e.appendChild(d))})(window,document,&#34;script&#34;,&#34;//dn.msmstatic.com/site/cardlink/bundle.js?20220329&#34;,&#34;msmaflink&#34;);msmaflink({&#34;n&#34;:&#34;カール事務器(CARL) 裁断機 ペーパーカッター A4対応 40枚裁断 DC-210N&#34;,&#34;b&#34;:&#34;カール事務器(CARL)&#34;,&#34;t&#34;:&#34;DC-210N&#34;,&#34;d&#34;:&#34;https:\/\/m.media-amazon.com&#34;,&#34;c_p&#34;:&#34;\/images\/I&#34;,&#34;p&#34;:[&#34;\/41p-a60XvGL._SL500_.jpg&#34;,&#34;\/511ZC4sxO7L._SL500_.jpg&#34;,&#34;\/51ixk+pzatL._SL500_.jpg&#34;,&#34;\/419LCbcY04L._SL500_.jpg&#34;,&#34;\/51Sb73IuWjL._SL500_.jpg&#34;,&#34;\/51mzpD1Gy6L._SL500_.jpg&#34;,&#34;\/51emnEMW+OL._SL500_.jpg&#34;],&#34;u&#34;:{&#34;u&#34;:&#34;https:\/\/www.amazon.co.jp\/dp\/B002HVI8UE&#34;,&#34;t&#34;:&#34;amazon&#34;,&#34;r_v&#34;:&#34;&#34;},&#34;v&#34;:&#34;2.1&#34;,&#34;b_l&#34;:[{&#34;id&#34;:1,&#34;u_tx&#34;:&#34;Amazonで見る&#34;,&#34;u_bc&#34;:&#34;#f79256&#34;,&#34;u_url&#34;:&#34;https:\/\/www.amazon.co.jp\/dp\/B002HVI8UE&#34;,&#34;a_id&#34;:4140111,&#34;p_id&#34;:170,&#34;pl_id&#34;:27060,&#34;pc_id&#34;:185,&#34;s_n&#34;:&#34;amazon&#34;,&#34;u_so&#34;:1},{&#34;id&#34;:2,&#34;u_tx&#34;:&#34;楽天市場で見る&#34;,&#34;u_bc&#34;:&#34;#f76956&#34;,&#34;u_url&#34;:&#34;https:\/\/search.rakuten.co.jp\/search\/mall\/%E3%82%AB%E3%83%BC%E3%83%AB%E4%BA%8B%E5%8B%99%E5%99%A8(CARL)%20%E8%A3%81%E6%96%AD%E6%A9%9F%20%E3%83%9A%E3%83%BC%E3%83%91%E3%83%BC%E3%82%AB%E3%83%83%E3%82%BF%E3%83%BC%20A4%E5%AF%BE%E5%BF%9C%2040%E6%9E%9A%E8%A3%81%E6%96%AD%20DC-210N\/&#34;,&#34;a_id&#34;:4140102,&#34;p_id&#34;:54,&#34;pl_id&#34;:27059,&#34;pc_id&#34;:54,&#34;s_n&#34;:&#34;rakuten&#34;,&#34;u_so&#34;:2},{&#34;id&#34;:3,&#34;u_tx&#34;:&#34;Yahoo!ショッピングで見る&#34;,&#34;u_bc&#34;:&#34;#66a7ff&#34;,&#34;u_url&#34;:&#34;https:\/\/shopping.yahoo.co.jp\/search?first=1\u0026p=%E3%82%AB%E3%83%BC%E3%83%AB%E4%BA%8B%E5%8B%99%E5%99%A8(CARL)%20%E8%A3%81%E6%96%AD%E6%A9%9F%20%E3%83%9A%E3%83%BC%E3%83%91%E3%83%BC%E3%82%AB%E3%83%83%E3%82%BF%E3%83%BC%20A4%E5%AF%BE%E5%BF%9C%2040%E6%9E%9A%E8%A3%81%E6%96%AD%20DC-210N&#34;,&#34;a_id&#34;:4146916,&#34;p_id&#34;:1225,&#34;pl_id&#34;:27061,&#34;pc_id&#34;:1925,&#34;s_n&#34;:&#34;yahoo&#34;,&#34;u_so&#34;:3}],&#34;eid&#34;:&#34;OIF1X&#34;,&#34;s&#34;:&#34;s&#34;});&lt;/script&gt;&lt;div id=&#34;msmaflink-OIF1X&#34;&gt;リンク&lt;/div&gt;&lt;!-- MoshimoAffiliateEasyLink END --&gt;
&lt;p&gt;今回買ったのはこれ。カール事務器の裁断機。カッターを買ったが言いたかったからカッターと行っていたが実際は裁断機。&lt;/p&gt;
 



&lt;h2 id=&#34;２使い方&#34;&gt;２．使い方
&lt;/h2&gt;&lt;p&gt;大体20から30枚ずつになるように本を普通のカッターで裁断する。&lt;/p&gt;
&lt;p&gt;その後、背表紙のところをこれでカットする。&lt;/p&gt;
&lt;h2 id=&#34;３使用感&#34;&gt;３．使用感
&lt;/h2&gt;&lt;p&gt;非常によい。&lt;/p&gt;
&lt;p&gt;力を入れなくとも非常にきれいに切ることができる。&lt;/p&gt;
&lt;p&gt;また、消耗品の歯が非常に安い&lt;/p&gt;
&lt;!-- START MoshimoAffiliateEasyLink --&gt;&lt;script type=&#34;text/javascript&#34;&gt;(function(b,c,f,g,a,d,e){b.MoshimoAffiliateObject=a;b[a]=b[a]||function(){arguments.currentScript=c.currentScript||c.scripts[c.scripts.length-2];(b[a].q=b[a].q||[]).push(arguments)};c.getElementById(a)||(d=c.createElement(f),d.src=g,d.id=a,e=c.getElementsByTagName(&#34;body&#34;)[0],e.appendChild(d))})(window,document,&#34;script&#34;,&#34;//dn.msmstatic.com/site/cardlink/bundle.js?20220329&#34;,&#34;msmaflink&#34;);msmaflink({&#34;n&#34;:&#34;カール事務器(CARL) 裁断機 ペーパーカッター 替刃 日本製 丸刃 DCC-28&#34;,&#34;b&#34;:&#34;カール事務器(CARL)&#34;,&#34;t&#34;:&#34;DCC-28&#34;,&#34;d&#34;:&#34;https:\/\/m.media-amazon.com&#34;,&#34;c_p&#34;:&#34;\/images\/I&#34;,&#34;p&#34;:[&#34;\/31YEccQBczL._SL500_.jpg&#34;,&#34;\/41DSWKTonHL._SL500_.jpg&#34;,&#34;\/51lQg7rVwmL._SL500_.jpg&#34;,&#34;\/51MJs1--EVL._SL500_.jpg&#34;,&#34;\/41y+2l9AnmL._SL500_.jpg&#34;,&#34;\/51JmF1j0HbL._SL500_.jpg&#34;,&#34;\/51LNMU6YckL._SL500_.jpg&#34;],&#34;u&#34;:{&#34;u&#34;:&#34;https:\/\/www.amazon.co.jp\/dp\/B07MVSMXRF&#34;,&#34;t&#34;:&#34;amazon&#34;,&#34;r_v&#34;:&#34;&#34;},&#34;v&#34;:&#34;2.1&#34;,&#34;b_l&#34;:[{&#34;id&#34;:1,&#34;u_tx&#34;:&#34;Amazonで見る&#34;,&#34;u_bc&#34;:&#34;#f79256&#34;,&#34;u_url&#34;:&#34;https:\/\/www.amazon.co.jp\/dp\/B07MVSMXRF&#34;,&#34;a_id&#34;:4140111,&#34;p_id&#34;:170,&#34;pl_id&#34;:27060,&#34;pc_id&#34;:185,&#34;s_n&#34;:&#34;amazon&#34;,&#34;u_so&#34;:1},{&#34;id&#34;:2,&#34;u_tx&#34;:&#34;楽天市場で見る&#34;,&#34;u_bc&#34;:&#34;#f76956&#34;,&#34;u_url&#34;:&#34;https:\/\/search.rakuten.co.jp\/search\/mall\/%E3%82%AB%E3%83%BC%E3%83%AB%E4%BA%8B%E5%8B%99%E5%99%A8(CARL)%20%E8%A3%81%E6%96%AD%E6%A9%9F%20%E3%83%9A%E3%83%BC%E3%83%91%E3%83%BC%E3%82%AB%E3%83%83%E3%82%BF%E3%83%BC%20%E6%9B%BF%E5%88%83%20%E6%97%A5%E6%9C%AC%E8%A3%BD%20%E4%B8%B8%E5%88%83%20DCC-28\/&#34;,&#34;a_id&#34;:4140102,&#34;p_id&#34;:54,&#34;pl_id&#34;:27059,&#34;pc_id&#34;:54,&#34;s_n&#34;:&#34;rakuten&#34;,&#34;u_so&#34;:2},{&#34;id&#34;:3,&#34;u_tx&#34;:&#34;Yahoo!ショッピングで見る&#34;,&#34;u_bc&#34;:&#34;#66a7ff&#34;,&#34;u_url&#34;:&#34;https:\/\/shopping.yahoo.co.jp\/search?first=1\u0026p=%E3%82%AB%E3%83%BC%E3%83%AB%E4%BA%8B%E5%8B%99%E5%99%A8(CARL)%20%E8%A3%81%E6%96%AD%E6%A9%9F%20%E3%83%9A%E3%83%BC%E3%83%91%E3%83%BC%E3%82%AB%E3%83%83%E3%82%BF%E3%83%BC%20%E6%9B%BF%E5%88%83%20%E6%97%A5%E6%9C%AC%E8%A3%BD%20%E4%B8%B8%E5%88%83%20DCC-28&#34;,&#34;a_id&#34;:4146916,&#34;p_id&#34;:1225,&#34;pl_id&#34;:27061,&#34;pc_id&#34;:1925,&#34;s_n&#34;:&#34;yahoo&#34;,&#34;u_so&#34;:3}],&#34;eid&#34;:&#34;Fjbdy&#34;,&#34;s&#34;:&#34;s&#34;});&lt;/script&gt;&lt;div id=&#34;msmaflink-Fjbdy&#34;&gt;リンク&lt;/div&gt;&lt;!-- MoshimoAffiliateEasyLink END --&gt;
&lt;p&gt;普通のカッターと同じくらい安くなっている。&lt;/p&gt;
&lt;h2 id=&#34;終わりに&#34;&gt;終わりに
&lt;/h2&gt;&lt;p&gt;１万円近くしたが非常に満足できる商品だった。&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>Linuxmintの良さを語る</title>
        <link>https://glass-lab.net/2024/02/27/Linuxmint%E3%81%AE%E8%89%AF%E3%81%95%E3%82%92%E8%AA%9E%E3%82%8B/</link>
        <pubDate>Tue, 27 Feb 2024 08:43:39 +0000</pubDate>
        
        <guid>https://glass-lab.net/2024/02/27/Linuxmint%E3%81%AE%E8%89%AF%E3%81%95%E3%82%92%E8%AA%9E%E3%82%8B/</guid>
        <description>&lt;img src="https://glass-lab.net/wp-content/uploads/2024/02/64eb0bbda91383b12da2c7a3b4d8ec10.png" alt="Featured image of post Linuxmintの良さを語る" /&gt;&lt;p&gt;筆者は普段Linux Mintを利用している。&lt;/p&gt;
&lt;p&gt;これまで筆者はWindowsを利用してきたが、色々な点がWindowsより優れていると感じたため乗り換えた。&lt;/p&gt;
&lt;p&gt;筆者がLinux mintの良さを紹介したいと思う。&lt;/p&gt;
&lt;h2 id=&#34;１使いやすさ&#34;&gt;１．使いやすさ
&lt;/h2&gt;&lt;p&gt;デスクトップ環境はCinnamon、MATE、Xfceなどが選択でき、これによりユーザーは好みに合った環境を選ぶことができる。&lt;/p&gt;
&lt;h2 id=&#34;２ソフトウェアマネージャー&#34;&gt;２．ソフトウェアマネージャー
&lt;/h2&gt;&lt;p&gt;独自のソフトウェアマネージャーを使用することで、簡単かつ安全にソフトウェアをインストールおよび管理できる。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2024/02/64eb0bbda91383b12da2c7a3b4d8ec10.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;この画像の一番左のHOMEからソフトウェアマネージャーを利用できる。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2024/02/7646125bffaa7f500a9b6380f1f53483.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;このように様々なソフトウェアが管理されています。特にLinux mintで優れている点として、ここからインストールすることで自動で最新版に更新してもらうことができます。&lt;/p&gt;
 



&lt;h2 id=&#34;３低システムリソース&#34;&gt;３．低システムリソース
&lt;/h2&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/search/?keyword=AI&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;筆者のこれまでの記事&lt;/a&gt;を見ていただければわかるかと思いますが、最近AIを自分の環境で利用することが多く、メモリが非常に重要に感じます。&lt;/p&gt;
&lt;p&gt;Linux mintのXFCEを利用していますが、起動時の利用メモリは１.５Gb程度でWindowsと比較すると1/3程度となり、より多くのメモリをAIいじりに使うことができます。&lt;/p&gt;
&lt;h2 id=&#34;終わりに&#34;&gt;終わりに
&lt;/h2&gt;&lt;p&gt;Windowsでしか使えないものとしてよくゲームが上げられるが、&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2023/11/28/Linux%E3%81%A7%E3%82%B2%E3%83%BC%E3%83%A0%E3%82%92%E3%82%84%E3%82%8B%E6%96%B9%E6%B3%95%E3%81%BE%E3%81%A8%E3%82%81/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;これまでに筆者が紹介したもの&lt;/a&gt;を利用すればLinuxでも十分にゲームが動作する。&lt;/p&gt;
&lt;p&gt;特にWindows使う必要なくね？&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>Frontmatter CMSでより便利にHUGOを書く</title>
        <link>https://glass-lab.net/2024/02/26/FrontmatterCMS/</link>
        <pubDate>Mon, 26 Feb 2024 09:10:46 +0000</pubDate>
        
        <guid>https://glass-lab.net/2024/02/26/FrontmatterCMS/</guid>
        <description>&lt;img src="https://glass-lab.net/img/eyecatch.png" alt="Featured image of post Frontmatter CMSでより便利にHUGOを書く" /&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://frontmatter.codes/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Frontmatter CMS&lt;/a&gt;というエディターを利用し始めた&lt;/p&gt;
&lt;p&gt;今回はこれを利用する方法を紹介する。&lt;/p&gt;
&lt;h2 id=&#34;使い方&#34;&gt;使い方
&lt;/h2&gt;&lt;p&gt;１．&lt;a class=&#34;link&#34; href=&#34;https://code.visualstudio.com/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Visual Studio Code&lt;/a&gt;をインストールする&lt;/p&gt;
&lt;p&gt;２．すでにHUGOで作成してあるフォルダーのRootをVSCodeで開く。&lt;/p&gt;
&lt;p&gt;３．CTRL+Pで以下のようにコマンドを打つ。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ext install eliostruyf.vscode-front-matter
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;#その他、Markdownを書くのにおすすめな拡張機能を追加する。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ext install DavidAnson.vscode-markdownlint
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ext install yzhang.markdown-all-in-one
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Welcome pageはこんな感じ
&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2024/02/welcome-screen-7.2.0.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;公式Documentからの引用&lt;/p&gt;
&lt;p&gt;あとはそれぞれ指示に従うだけで良い。基本的にデフォルトで良い&lt;/p&gt;
 



&lt;h2 id=&#34;使用感&#34;&gt;使用感
&lt;/h2&gt;&lt;p&gt;非常に良い。特に写真を挿入するときによりシームレスに挿入できるようになった。&lt;/p&gt;
&lt;h2 id=&#34;テンプレートの設定&#34;&gt;テンプレートの設定
&lt;/h2&gt;&lt;p&gt;筆者もまだ使いこなしきれていないが、テンプレートの設定の仕方を見つけたので共有する。&lt;/p&gt;
&lt;p&gt;Front matterで自分のHUGOのサイトが入ったフォルダーを開くと、フォルダーの中に*.frontmatter&lt;em&gt;というフォルダーが作成される。その中に&lt;/em&gt;templete*という名前のフォルダーを作成し、その中にHUGOで利用していたMarkdown形式のテンプレートを入れてあげるとFrontmatter側で新規記事を作成した際に同じテンプレートが利用できる。&lt;/p&gt;
&lt;h2 id=&#34;終わりに&#34;&gt;終わりに
&lt;/h2&gt;&lt;p&gt;Visual Studioでこれほどまでに便利にかけるとは思わなかった。&lt;/p&gt;
&lt;p&gt;またVisual Studioは非常に開発が盛んでこれからも多くのアップデートや拡張機能が追加されるだろうから、早めに移行するべきだと感じた。&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>Real-esrganを利用して動画を高画質化する</title>
        <link>https://glass-lab.net/2024/02/25/realesrgan/</link>
        <pubDate>Sun, 25 Feb 2024 12:22:36 +0900</pubDate>
        
        <guid>https://glass-lab.net/2024/02/25/realesrgan/</guid>
        <description>&lt;img src="https://glass-lab.net/img/eyecatch.png" alt="Featured image of post Real-esrganを利用して動画を高画質化する" /&gt;&lt;p&gt;筆者は未だに録画鯖を動かしているので、アニメの.mp4動画をいくつか持っているのだが、名作や気に入ったものは高画質化して取っておきたい。&lt;/p&gt;
&lt;p&gt;今回は&lt;code&gt;Real-esrgan&lt;/code&gt;を利用する。&lt;/p&gt;
&lt;h2 id=&#34;real-esrgannとは&#34;&gt;Real-esrgannとは
&lt;/h2&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/xinntao/Real-ESRGAN&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;real-esrgan&lt;/a&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Real-ESRGANは、画像を高精細に拡大するAI超解像モデルです。従来の超解像モデルよりも精度の高い画質を実現し、特にアニメやイラスト、古い写真などの画像のアップスケーリングに効果を発揮します。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Real-ESRGANの特徴
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;高い画質: 従来の超解像モデルよりも精度の高い画質を実現し、ノイズやぼやけを抑えた鮮明な画像を生成できます。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;幅広い対応画像: アニメ、イラスト、写真など、さまざまな種類の画像に対応しています。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;使いやすいインターフェース: GUIツールが提供されており、専門知識がなくても簡単に操作できます。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;豊富なモデル: 画質や処理速度の異なる複数のモデルが用意されており、用途に合わせて選択できます。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Real-ESRGANの用途
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;アニメやイラストの画質向上
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;古い写真の修復
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;低解像度の画像の拡大
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ゲームのスクリーンショットの画質向上
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;印刷物の画質向上
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;といったもの。これを利用して動画を高画質化する。&lt;/p&gt;
&lt;h2 id=&#34;使い方&#34;&gt;使い方
&lt;/h2&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/xinntao/Real-ESRGAN/releases&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/xinntao/Real-ESRGAN/releases&lt;/a&gt;の(現状最新の)ものを利用する&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2024/02/329d822776d5b2378e9e2f3b017054a5.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;ここの&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;✅ We also update the ncnn.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Portable Windows / Linux / MacOS executable files for Intel/AMD/Nvidia GPU.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;から自分の環境に合ったものをダウンロードする。&lt;/p&gt;
&lt;p&gt;使いやすくするために&lt;a class=&#34;link&#34; href=&#34;https://github.com/TransparentLC/realesrgan-gui/releases/tag/autobuild-20240131-130138&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;GUI&lt;/a&gt;をダウンロードし、Real-ESRGANと同じファイルに置いてもよい。&lt;/p&gt;
&lt;p&gt;構造としては&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2024/02/ea6dd7569ffb9e8da690e80507001be2.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;こうする。その後、自分が高画質化したい動画を同じファイルに入れる。&lt;/p&gt;
&lt;p&gt;これで準備はおわり&lt;/p&gt;
 



&lt;h2 id=&#34;使い方-1&#34;&gt;使い方
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;onepiece_demo.mp4&lt;/code&gt;という動画を高画質化する。例を上げる。GUIでも同じことをするだけなので今回はコマンドで行う方法を紹介する。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;9
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;#最初に動画のフレームごとに分割し、全てjpgにする。めちゃくちゃ容量が増えるので注意
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mkdir tmp_frames
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ffmpeg -i onepiece_demo.mp4 -qscale:v 1 -qmin 1 -qmax 1 -vsync 0 tmp_frames/frame%08d.jpg
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;#この後高画質化したjpgを入れておくフォルダを作っておく
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mkdir out_frames
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;#今回はrealesr-animevideov3というモデルを利用して高画質化する。めちゃくちゃ時間がかかる。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./realesrgan-ncnn-vulkan -i tmp_frames -o out_frames -n realesr-animevideov3 -s 2 -f jpg
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;#合体させる。元動画のフレームレートによって23.98のところを変更する。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ffmpeg -r 23.98 -i out_frames/frame%08d.jpg -i onepiece_demo.mp4 -map 0:v:0 -map 1:a:0 -c:a copy -c:v libx264 -pix_fmt yuv420p output_w_audio.mp4
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;終わりに&#34;&gt;終わりに
&lt;/h2&gt;&lt;p&gt;めちゃくちゃキレイになるが、めちゃくちゃ重たいし時間がかかる。&lt;/p&gt;
&lt;p&gt;本当に大事なアニメだけ高画質化するのが良いと思う。&lt;/p&gt;
&lt;p&gt;デカイHDD上で行うのが良いと思う。&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>NextCloudをセルフホストした</title>
        <link>https://glass-lab.net/2024/02/24/NextCloud%E3%82%92%E3%82%BB%E3%83%AB%E3%83%95%E3%83%9B%E3%82%B9%E3%83%88%E3%81%97%E3%81%9F/</link>
        <pubDate>Sat, 24 Feb 2024 20:37:01 +0900</pubDate>
        
        <guid>https://glass-lab.net/2024/02/24/NextCloud%E3%82%92%E3%82%BB%E3%83%AB%E3%83%95%E3%83%9B%E3%82%B9%E3%83%88%E3%81%97%E3%81%9F/</guid>
        <description>&lt;img src="https://glass-lab.net/img/eyecatch.png" alt="Featured image of post NextCloudをセルフホストした" /&gt;&lt;p&gt;今回はSnap版&lt;/p&gt;
&lt;h2 id=&#34;やり方&#34;&gt;やり方
&lt;/h2&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;snap install nextcloud
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;これだけでおわる。&lt;/p&gt;
&lt;p&gt;デフォルトのポートを変えたい場合には&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo snap set nextcloud ports.http=8000
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;とする。&lt;/p&gt;
&lt;p&gt;また大きなファイルを取り扱えるようにするため&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-gdscript3&#34; data-lang=&#34;gdscript3&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;snap&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;set&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;nextcloud&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;php&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;post&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;max&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;size&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;16&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;G&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;snap&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;set&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;nextcloud&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;php&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;upload&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;max&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;filesize&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;16&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;G&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;snap&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;set&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;nextcloud&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;php&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;max&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;time&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;3600&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;snap&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;set&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;nextcloud&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;php&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;max&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;execution&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;time&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;3600&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;これで最大サイズを16Gbにできる。&lt;/p&gt;
&lt;p&gt;また下２つはアップロード時間等を設定しており60分ほどにしている。&lt;/p&gt;
&lt;p&gt;その後、自身で設定したPortに合わせて&lt;/p&gt;
&lt;p&gt;http://(ipアドレス):(自分で設定したPort)にアクセスすれば、指示に従うだけである。&lt;/p&gt;
&lt;p&gt;筆者のおすすめは&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2024/01/28/tailscaleinstallusage/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;tailscale&lt;/a&gt;を利用することで、外部からも簡単に自宅のNextcloudにアクセスできる。&lt;/p&gt;
 



&lt;h2 id=&#34;筆者の構成&#34;&gt;筆者の構成
&lt;/h2&gt;&lt;p&gt;筆者の構成ではファイルをすべて&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2024/01/08/minIO%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E4%B8%80%E5%85%83%E7%AE%A1%E7%90%86%E3%81%99%E3%82%8B/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;minIO&lt;/a&gt;にまかせている。&lt;/p&gt;
&lt;p&gt;sambaは便利であるものの、不安定になりやすいためminIOを利用している。&lt;/p&gt;
&lt;h2 id=&#34;プラグイン&#34;&gt;プラグイン
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;External storage support&lt;/code&gt;というアプリがあり、これを有効化する。&lt;/p&gt;
&lt;p&gt;ここから先は&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2024/01/08/minIO%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E4%B8%80%E5%85%83%E7%AE%A1%E7%90%86%E3%81%99%E3%82%8B/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;minIO&lt;/a&gt;の記事で解説している。&lt;/p&gt;
&lt;h2 id=&#34;感想&#34;&gt;感想
&lt;/h2&gt;&lt;p&gt;これで本当にほぼ全てのものが解決する。&lt;/p&gt;
&lt;p&gt;個人利用のNextcloudならこれで十分に感じた。&lt;/p&gt;
&lt;blockquote&gt;
&lt;/blockquote&gt;
 



</description>
        </item>
        <item>
        <title>AWS GLACIER DEEP ARCHIVEに格安でバックアップを取るようにした話</title>
        <link>https://glass-lab.net/2024/02/23/AWSGLACIERDEEPARCHIVE/</link>
        <pubDate>Fri, 23 Feb 2024 17:17:36 +0900</pubDate>
        
        <guid>https://glass-lab.net/2024/02/23/AWSGLACIERDEEPARCHIVE/</guid>
        <description>&lt;img src="https://glass-lab.net/img/eyecatch.png" alt="Featured image of post AWS GLACIER DEEP ARCHIVEに格安でバックアップを取るようにした話" /&gt;&lt;p&gt;題の通り&lt;/p&gt;
&lt;h2 id=&#34;１やったこと&#34;&gt;１．やったこと
&lt;/h2&gt;&lt;p&gt;筆者の趣味の写真と、電子書籍化した本をすべてバックアップしておきたい。&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2023/09/14/%E3%81%93%E3%81%93%E3%81%AB%E9%A1%8C%E5%90%8D%E3%82%92%E3%81%84%E3%82%8C%E3%82%8B/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Adobescan&lt;/a&gt;や&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2023/09/17/%E7%B4%99%E3%82%92%E8%87%AA%E7%82%8A%E3%81%97%E3%80%81IT%E5%8C%96%E3%81%99%E3%82%8B/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;自作のもの&lt;/a&gt;も含めて、結構な量になってきた。&lt;/p&gt;
&lt;p&gt;また写真も結構ある。&lt;/p&gt;
&lt;p&gt;これらのデータと財産は家が燃えても守っておきたいので&lt;code&gt;GLACIER DEEP ARCHIVE&lt;/code&gt;に任せることにした。&lt;/p&gt;
&lt;h2 id=&#34;これまでのバックアップ状況&#34;&gt;これまでのバックアップ状況
&lt;/h2&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2023/09/17/%E5%87%BA%E6%9D%A5%E3%82%8B%E3%81%A0%E3%81%91%E3%81%8A%E9%87%91%E3%82%92%E3%81%8B%E3%81%91%E3%81%9A%E3%81%AB%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E5%AE%88%E3%82%8B/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;こんな感じ&lt;/a&gt;でHDDに保存されていた&lt;/p&gt;
&lt;p&gt;これでもまずデータを破損することはなかったが、火事や災害には耐えられない。&lt;/p&gt;
&lt;p&gt;石川の地震の映像を見ていて心配になってきたのでAmazonに任せることにした。&lt;/p&gt;
&lt;h2 id=&#34;やり方&#34;&gt;やり方
&lt;/h2&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://aws.amazon.com/jp/?nc2=h_lg&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;こちら&lt;/a&gt;からアカウントを作成。&lt;/p&gt;
&lt;p&gt;細かいところは&lt;a class=&#34;link&#34; href=&#34;https://qiita.com/taku-y-9308/items/93c8dc5c8f86f9563acf&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;こちらの記事&lt;/a&gt;のほうがわかりやすいので省略。&lt;/p&gt;
&lt;p&gt;OSは何を利用していても&lt;a class=&#34;link&#34; href=&#34;https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/getting-started-install.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;AWS CLI&lt;/a&gt;を利用したほうが良い。GUIから操作した場合通信が途中で中断した際に、どのファイルが破損しているかわかりにくい。&lt;/p&gt;
&lt;h2 id=&#34;筆者のやり方&#34;&gt;筆者のやり方
&lt;/h2&gt;&lt;p&gt;いろいろな写真の分類、圧縮方法が紹介されているが、筆者は&lt;code&gt;2022-07&lt;/code&gt;のように年月でファイルを作成し、その月が終了したタイミングで圧縮し、&lt;code&gt;GLACIER DEEP ARCHIVE&lt;/code&gt;にアップロードする方針にした。&lt;/p&gt;
&lt;p&gt;リアルタイムのバックアップはNextCloudを利用している。&lt;/p&gt;
&lt;h2 id=&#34;細かい圧縮法について&#34;&gt;細かい圧縮法について
&lt;/h2&gt;&lt;p&gt;データ量に対して課金されるので、できるだけ圧縮した際に量が減りやすいものが良いと思う。筆者は&lt;code&gt;tar.xz&lt;/code&gt;を利用した。（実際のところZipでも良いとは思う、環境に合わせてどうぞ）&lt;/p&gt;
&lt;p&gt;LinuxでGUIを用いて圧縮した際にはシングルスレッドで圧縮が行われるため、&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2024/02/23/compresstar/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;この記事&lt;/a&gt;のようにマルチスレッドを利用しないとめちゃくちゃ時間がかかる。&lt;/p&gt;
 



&lt;h2 id=&#34;利用料金&#34;&gt;利用料金
&lt;/h2&gt;&lt;p&gt;約400GB×0.00099USD＝約0.4ドル&lt;/p&gt;
&lt;p&gt;今回、ファイルの操作で利用したリクエスト代も含めて、トータル80円位になった。&lt;/p&gt;
&lt;h2 id=&#34;終わりに&#34;&gt;終わりに
&lt;/h2&gt;&lt;p&gt;地震や火事対策ができて、月に100円以下なら非常にコスパが高い&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>Tar.xzのマルチスレッド圧縮コマンド</title>
        <link>https://glass-lab.net/2024/02/23/compresstar/</link>
        <pubDate>Fri, 23 Feb 2024 17:07:38 +0900</pubDate>
        
        <guid>https://glass-lab.net/2024/02/23/compresstar/</guid>
        <description>&lt;img src="https://glass-lab.net/img/eyecatch.png" alt="Featured image of post Tar.xzのマルチスレッド圧縮コマンド" /&gt;&lt;p&gt;hogehogeというフォルダーをhogehoge.tar.xzに圧縮する際にマルチスレッドを利用したい場合&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tar cvf hogehoge.tar.xz --use-compress-prog=&amp;#34;xz -T 0&amp;#34; hogehoge/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;code&gt;T 0&lt;/code&gt;では&lt;code&gt;0~-9&lt;/code&gt;で圧縮率を設定できる。-9で最大となる。&lt;/p&gt;
&lt;p&gt;公式曰く-7以上は注意したほうが良いらしい。&lt;/p&gt;
&lt;p&gt;ちなみにXZの処理ではマルチスレッドが使われるが、tarでは相変わらずシングルスレッドが用いられるので、他に圧縮したいフォルダーが存在するなら同時に行ったほうが効率がよい&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>Adobe scanとTesseract OCRを組み合わせて自炊する。</title>
        <link>https://glass-lab.net/2024/02/04/Adobe/</link>
        <pubDate>Sun, 04 Feb 2024 13:53:07 +0900</pubDate>
        
        <guid>https://glass-lab.net/2024/02/04/Adobe/</guid>
        <description>&lt;img src="https://glass-lab.net/img/eyecatch.png" alt="Featured image of post Adobe scanとTesseract OCRを組み合わせて自炊する。" /&gt;&lt;p&gt;非破壊で本を自炊しようとした際に、文字認識（OCR）に結構困る。&lt;/p&gt;
&lt;p&gt;今回はOCRに&lt;code&gt;OCRmyDPF&lt;/code&gt;と&lt;code&gt;Tesseract OCR&lt;/code&gt;を用いる。&lt;/p&gt;
&lt;h2 id=&#34;tesseract-ocrocrmypdfとは&#34;&gt;Tesseract OCR、OCRmyPDFとは
&lt;/h2&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/tesseract-ocr/tesseract&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/tesseract-ocr/tesseract&lt;/a&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Tesseract was originally developed at Hewlett-Packard Laboratories Bristol UK and at Hewlett-Packard Co, Greeley Colorado USA between 1985 and 1994, with some more changes made in 1996 to port to Windows, and some C++izing in 1998. In 2005 Tesseract was open sourced by HP. From 2006 until November 2018 it was developed by Google
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Tesseractは元々、1985年から1994年にかけて、イギリスのヒューレット・パッカード研究所（Hewlett-Packard Laboratories Bristol UK）と、アメリカのコロラド州グリーリーのヒューレット・パッカード社（Hewlett-Packard Co, Greeley Colorado USA）で開発された。2005年、TesseractはHPによってオープンソース化された。2006年から2018年11月まではGooglによって開発されていた。
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;というOCRソフト&lt;/p&gt;
&lt;p&gt;これをPDFでより扱いやすいようにしてくれているのが&lt;code&gt;OCRｍｙPDF&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/ocrmypdf/OCRmyPDF&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/ocrmypdf/OCRmyPDF&lt;/a&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-gdscript3&#34; data-lang=&#34;gdscript3&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;I&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;searched&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;the&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;web&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;a&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;free&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;command&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;line&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;tool&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;to&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;OCR&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;PDF&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;files&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;I&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;found&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;many&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;but&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;none&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;of&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;them&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;were&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;really&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;satisfying&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;Either&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;they&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;produced&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;PDF&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;files&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;with&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;misplaced&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;text&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;under&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;the&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;image&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;making&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;copy&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;paste&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;impossible&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;Or&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;they&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;did&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;not&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;handle&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;accents&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;and&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;multilingual&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;characters&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;Or&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;they&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;changed&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;the&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;resolution&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;of&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;the&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;embedded&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;images&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;Or&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;they&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;generated&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ridiculously&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;large&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;PDF&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;files&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;Or&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;they&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;crashed&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;when&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;trying&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;to&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;OCR&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;Or&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;they&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;did&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;not&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;produce&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;valid&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;PDF&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;files&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;On&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;top&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;of&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;that&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;none&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;of&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;them&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;produced&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;PDF&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;A&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;files&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;format&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;dedicated&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;long&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;time&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;storage&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;...&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;so&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;I&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;decided&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;to&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;develop&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;my&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;own&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;tool&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;PDFファイルをOCRするフリーのコマンドラインツールをウェブで探した：たくさん見つけたが、どれも満足できるものではなかった：
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;画像の下のテキストの位置がずれている（コピー・ペーストが不可能）PDFファイルが生成される。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;アクセント記号や多言語文字を扱えない。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;埋め込み画像の解像度を変えてしまう
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;とんでもなく大きなPDFファイルを生成する
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;OCRしようとするとクラッシュする
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;有効なPDFファイルを生成しない
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;その上、PDF/Aファイル（長期保存専用フォーマット）を生成するものもなかった。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;そこで、私は独自のツールを開発することにしました。
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;ということらしい。&lt;/p&gt;
&lt;p&gt;細かい使い方は先人の方が素晴らしい資料を残してくださっているので、そちらを参照&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://gihyo.jp/admin/serial/01/ubuntu-recipe/0770&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://gihyo.jp/admin/serial/01/ubuntu-recipe/0770&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;今回は&lt;code&gt;Adobe scan&lt;/code&gt;で書類をとって&lt;code&gt;OCRmyPDF&lt;/code&gt;で文字認識をする。&lt;/p&gt;
&lt;h2 id=&#34;adobe-scan&#34;&gt;Adobe scan
&lt;/h2&gt;&lt;p&gt;Adobe scanの記事は&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2023/09/17/%E7%B4%99%E3%82%92%E8%87%AA%E7%82%8A%E3%81%97%E3%80%81IT%E5%8C%96%E3%81%99%E3%82%8B/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;こちら&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;この記事ではAdobeのOCRを活用しているが、本を自炊する際にはAdobe scanでは一度に25枚までしかOCRできないことが問題になる。一応課金すれば100枚まではできるようになるが、結構高い。&lt;/p&gt;
&lt;p&gt;Adobe scanでは書類を撮る際には無料版でも100枚まで取れるので、これを利用する。&lt;/p&gt;
 



&lt;h2 id=&#34;やり方&#34;&gt;やり方
&lt;/h2&gt;&lt;p&gt;１．書籍モードで100ページごとに撮る
２.Adobe cloudに上がるので、PCでログインし、必要なファイルをダウンロード
３．OCrmyPDF でOCRをかける。
４．PDFを結合させて完成！&lt;/p&gt;
&lt;h2 id=&#34;終わりに&#34;&gt;終わりに
&lt;/h2&gt;&lt;p&gt;Adobeで２５枚ずつOCRさせてもいいのだが、最近AdobeのOCRが遅いので、１００枚まとめて自分のPCで処理させたほうが便利だったりする。&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>Unmineableでマイニングする リファあり</title>
        <link>https://glass-lab.net/2024/02/01/Unmineable%E3%81%A7%E3%83%9E%E3%82%A4%E3%83%8B%E3%83%B3%E3%82%B0%E3%81%99%E3%82%8B/</link>
        <pubDate>Thu, 01 Feb 2024 15:22:18 +0900</pubDate>
        
        <guid>https://glass-lab.net/2024/02/01/Unmineable%E3%81%A7%E3%83%9E%E3%82%A4%E3%83%8B%E3%83%B3%E3%82%B0%E3%81%99%E3%82%8B/</guid>
        <description>&lt;img src="https://glass-lab.net/wp-content/uploads/2024/02/c78e038b119e732170ae659dba9c9fe6.png" alt="Featured image of post Unmineableでマイニングする リファあり" /&gt;&lt;p&gt;現在また少しずつ仮想通貨が盛り上がってきている&lt;/p&gt;
&lt;p&gt;昔マイニングをされていた方はNicehashをご存知だと思うが、現在はそれだと電気代を下回る金額しかマイニングできない。&lt;/p&gt;
&lt;h2 id=&#34;unmineableでマイニングする&#34;&gt;Unmineableでマイニングする
&lt;/h2&gt;&lt;p&gt;今回はUnmineableというサービスを利用する。&lt;/p&gt;
&lt;p&gt;Unmineableとは、より稼げる通貨をマイニングし、ほしいコインへと変換してくれるサービス。&lt;/p&gt;
&lt;p&gt;今回は簡単な方法を紹介する。&lt;/p&gt;
 



&lt;h2 id=&#34;準備するもの&#34;&gt;準備するもの
&lt;/h2&gt;&lt;p&gt;Bitcoinのアドレス&lt;/p&gt;
&lt;p&gt;マイニング用のPC、ASIC、GPU等&lt;/p&gt;
&lt;h2 id=&#34;マイニングする方法&#34;&gt;マイニングする方法
&lt;/h2&gt;&lt;p&gt;まずはUnmineableにアクセスする。&lt;/p&gt;
&lt;p&gt;以下からアクセスすると手数料が少し安くなる。&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://unmineable.com/?ref=pqmi-as6j&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://unmineable.com/?ref=pqmi-as6j&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2024/02/c78e038b119e732170ae659dba9c9fe6.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;今回はBitcoinのページに移動する。自分のほしいコインのウォレットを準備していれば他のコインでも構わない&lt;/p&gt;
&lt;p&gt;今回は&lt;code&gt;Get started with our wizard&lt;/code&gt;でお手軽に設定する。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2024/02/822e0df18b5c39b4cdced9075b7ef063.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;今回はお手軽に&lt;code&gt;Basic&lt;/code&gt;で行う&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2024/02/09d90225ea7880d00d0aba68b7bed4f4.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;自分の持っているPCに合ったほうを設定。GPUがあるならGPUを利用したほうが収益性が高い。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Select your mining algorithm&lt;/code&gt;と&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2024/02/a117dbb5f66ace4ae79eb3190145852e.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;この中からアルゴリズムを選ぶように言われるが、一番いい収益が上げられるものを採掘したほうが良い。
今回は&lt;a class=&#34;link&#34; href=&#34;https://www.hashrate.no/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://www.hashrate.no/&lt;/a&gt;をみて選ぼうと思う。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;GPU&lt;/code&gt;のページではそれぞれのGPUがどれだけ収益を上げられるかがランキング形式で紹介されている。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2024/02/2d1bafae7d7a600ce9c6e74749aa992b.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;今回は&lt;code&gt;Pyrinhash&lt;/code&gt;を選ぶ&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2024/02/c1626c6ca9db31bb1b4523cad1505609.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;今回はBitcoinのアドレスを用意しているのでBitcoinを設定&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2024/02/3945b203e5c8a2177df0b58ee846458a.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2024/02/c4638dbbca7fb8460846bd3f52356629.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;上のように&lt;code&gt;Wallet address&lt;/code&gt;を入力し（ちなみにこれはウクライナの寄付用アドレス、もしマイニングで寄付されたい方はこちら　357a3So9CbsNfBBgFYACGvxxS6tMaDoa1P ）&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Use a referral code&lt;/code&gt;で&lt;code&gt;pqmi-as6j&lt;/code&gt;を入力（最初のURLを踏んでいると自動で入力される）&lt;/p&gt;
&lt;p&gt;これでこのPoolでの手数料の1%が0.75%へと安くなる。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2024/02/c5f474b7074763c70614d44ce5009ebf.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;それぞれの環境に合わせてMinerをダウンロードする&lt;/p&gt;
&lt;p&gt;今回はWindowsでlolminerを利用する。&lt;/p&gt;
&lt;p&gt;Download miner filesからlolminerをダウンロードする。一部のブラウザではブロックされる可能性があるが、それを許可する。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2024/02/d25bd361f7649f1bf7be1d0b1c5e2199.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;今回は&lt;code&gt;lolMiner_v1.82a_Win64.zip&lt;/code&gt;をダウンロードし、これを解凍&lt;/p&gt;
&lt;p&gt;解凍したフォルダーの中に&lt;code&gt;Download .bat file&lt;/code&gt;からダウンロードしたファイルを入れる。その後そのBatファイルをダブルクリックするとマイニングできる。&lt;/p&gt;
&lt;h2 id=&#34;終わりに&#34;&gt;終わりに
&lt;/h2&gt;&lt;p&gt;仮想通貨のWalletの作り方はまた別の記事で紹介させてもらいます。&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>SearXNGを立ててみました！使ってください！</title>
        <link>https://glass-lab.net/2024/01/29/SearXNG%E3%82%92%E7%AB%8B%E3%81%A6%E3%81%A6%E3%81%BF%E3%81%BE%E3%81%97%E3%81%9F/</link>
        <pubDate>Mon, 29 Jan 2024 15:55:23 +0900</pubDate>
        
        <guid>https://glass-lab.net/2024/01/29/SearXNG%E3%82%92%E7%AB%8B%E3%81%A6%E3%81%A6%E3%81%BF%E3%81%BE%E3%81%97%E3%81%9F/</guid>
        <description>&lt;img src="https://glass-lab.net/img/eyecatch.png" alt="Featured image of post SearXNGを立ててみました！使ってください！" /&gt;&lt;p&gt;先日紹介させていただいた&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2024/01/28/searxng/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;SearXNG&lt;/a&gt;ですが、筆者が独り占めしているのはもったいないと感じたので、公開しました！&lt;/p&gt;
&lt;p&gt;URLは以下&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://searxng.glass-lab.net/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://searxng.glass-lab.net/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;お試しでいくつか検索してみてください。便利さがわかると思います。&lt;/p&gt;
&lt;p&gt;気に入られたら&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2024/01/14/Google%E6%A4%9C%E7%B4%A2%E3%81%8B%E3%82%89%E5%BA%83%E5%91%8A%E3%82%92%E6%8E%92%E9%99%A4%E3%81%97%E3%81%9F%E3%80%90Whoogle%E3%80%91/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;検索エンジンを変更する方法を紹介しています&lt;/a&gt;ので、こちらを参考に設定してみてください&lt;/p&gt;
&lt;p&gt;今回はSearXNGをより簡単に、より使いやすくする設定を紹介していきます。&lt;/p&gt;
&lt;h2 id=&#34;まずはじめに&#34;&gt;まずはじめに
&lt;/h2&gt;&lt;p&gt;この設定は筆者のサーバーには保存されていません。（なので貧弱な筆者のサーバーでも動作しているのですが）&lt;/p&gt;
&lt;p&gt;今から紹介する設定はすべてCookieに保存されているため、Cookieを覗かれない限り、設定を知ることはできません（一部Cookieを無効化している場合には利用できない可能性があります）&lt;/p&gt;
 



&lt;h2 id=&#34;早速ですが筆者お気に入りの設定を紹介&#34;&gt;早速ですが、筆者お気に入りの設定を紹介
&lt;/h2&gt;&lt;p&gt;めちゃくちゃ長くなるので&lt;a class=&#34;link&#34; href=&#34;https://searxng.glass-lab.net/preferences?preferences=eJx1V0uP4zgO_jWbi9HB9M4Ciz3kNMBeZ4Cdu0FLjM22JLr1SOL69Uv5EUvlrkO5IkqiKPIjP0pBxJ49Ybj16NCDuRhwfYIeb5AiXwwrMHj7AZc8VGwngxFvF7KypJ08v-bbf8EEvFiMA-vbX3_-7-9LgDsGBK-G22-XOKDFW6C89eIxJBNDy651-GwjdNt2zdTKJJsH-huDDK_s-8u6rQ1xNptFCl1E34Kh3ln5ve0H_QCnULfbuav0Z0I_t-TaSFEUrEJyd3IURavybMwmXfdlw9TqlFlUGVTx9rdPeBk4jjiHm8Y7yA0umgJ0Rs5D15MT__2nh75tAysC01jUBP_45x_gHIQmK6YHtu2dDIYsnsbGkvfsS5lctJFvEyL7crEDxU5D21KUYUeG8l_bPkgjh0UUu6RGjPuSqWvbLZ55GDX1_aFQKfUtPor94oYQPN7FfEUoXlxlT_0giVGhacbp07BZgBDk4OX_JpTQiih_s6bkDWFlEAxu4Hsp0ogfEtXWpkBqGYcIkUQLC358lui-EefnyBG7UG5GsZV0sVSckf96PptXzK33L_xQzFU3KORPhHzIcdYaNguTLJdvtsbyD5oyAI5VUSAyVz74_iqMumvP-QJ7hO4esQl8j0_w2GjyAsMMyDW8d09uJFClgnku7t8L2KHbVivW2KHvt2HP3IvBk4E5gy0ch5YzliX0pWus5ITPyCa1OP99cj-x1mXkBug85M924ACCTL_6cxGQ1d1hK9k--UIfOSiOJSc_iVP4tWw_8weFgQ-dkiAe_Nxkbwcqrmi4CxGvfjcFPszsSRWapIqBmsBtC-zTdqYMm5vsNuVmgEMz6zkgFlbyhM7jxMXpk3gCegp7mk5-K5JnlB5TO0gPE465CqRT6q4aH5vun09wsdzlOUapliyBZCzSalWVQdLkzxtiYCG7cRcEtKKQVBPUwAZ8WSokU32cMh8U50UeZ44scRmzN3cfxHxB0QGpWlxIt-vECiUzDMzljid1czkWknqB0z4nXblqpI55DJ-FPxNH_CwMnLw6SydUSy58IT78kMXCXoHi_Hn1g-dP_nmyWZ08DZXJ33___d-vw186aXRltD4c2HK9FBvEsZZI7k5kOB77HDxyjhZwSN3co90TYUL0MXUlgBcKk-1jJoEndsXUDKq6YR6fMeyT5E6p8ckvGtkJSpswO3azxfJmOPoa0avopHcVn4p3-DFdp2fpq-hBVTkQHn1OyUJXjo0VSqluk6w1c1VNjoqxYmRI8SinVW6O_bXnPQ8v6OoeYclaQy69mnzyXoW8JFZhFPgXPUpgdYJsBXY6ylTevVFMQavk-s_js_sWaeXnRXLyZy5gGc1Y7FUD3keWLuntHCF3L1bONZc_SIqFXKvkXc400Axp56V8BQ2xusFBtBW9x9myE7cVcLkbUmPJG7KcSkroc7HjPUoUj4NXnisP2Jjv5KpNXjlrk53ctcl_UR6H7bzl8FHMhlBSElo7S-m1NuXOZqkodQ-5rkgB_VdzwjLxq7msWVxxnv74ttFkYcvGm3yXbU5yJZTekAD0jypcFqRV1ey-MO49PUAYpMT_YoV-Ey29lOGkCyYGaXJw7yIyGkH6oIyYgLGqu_ucMKCgArb2sJ6XYoAYpUHbu7RJ52p3LJqkwZfef5-l_MjAUCJ4yhlXRHwZXxdzD6sn8tIpdVB4VRokJZ4gp_F1APjN4lX5SJ3NZxRmzROVlF6DcRWdcLuKTxD1IG1T00mzHMqGTZyqKZ5iE4RDYDfxqLKcpBbVkRL-VyNLrbgbfu41LYypSy6mvenL_nTSXK1PoV91EWlCn8I74vIUJC1dr1_Ru3szuSAdahjKF0duDmrHzJw-0dlb8n5hABmpKxktxbIHWeSSs6RKVZpFkLcsebPHMi_KeSa4u54fHKTiB7uq4FihPisNfSMU5YIRxBTd-5O9djQWjwfmeM_w8acgPcGYQbjdlZwWo79SQYSS1I_6_ZUFZ0tX8Qk2q7hmjPiv_T15PIQnk4Tlwi1j5nXdRtdBapO0LCiPe4nbGulqAUO7vv2fXt7kp2lBQCu0o8Y3mX5xTsbEOjjpkHf8vZVXP5-1--V10soTVSywGcQX6VylXtz-D7q5daQ=&amp;amp;save=1&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;こちら&lt;/a&gt;を踏んでいただけると、すべての設定が私と同じになります。&lt;/p&gt;
&lt;h2 id=&#34;細かな設定意図&#34;&gt;細かな設定意図
&lt;/h2&gt;&lt;p&gt;デフォルトから少々変更していますが、特に重要なこととして、デフォルトに登録されている&lt;code&gt;qwant&lt;/code&gt;を&lt;strong&gt;必ず&lt;/strong&gt;外したほうが良いです。&lt;/p&gt;
&lt;p&gt;qwantを外しておかないと、謎の日本語の混ざったページが大量に湧き、検索の邪魔になります。&lt;/p&gt;
&lt;p&gt;ほか、用途に合わせてGoogleだけ、Bingだけにしてもらう使い方もできるため、SearXNGを使わない理由は特にありません(断言)&lt;/p&gt;
&lt;p&gt;設定を変更したら必ずページ最後の保存を忘れずに行うようにしましょう&lt;/p&gt;
&lt;h2 id=&#34;終わりに&#34;&gt;終わりに
&lt;/h2&gt;&lt;p&gt;筆者はSearXNGを使い始めてから、すべてのデバイスの検索エンジンを&lt;a class=&#34;link&#34; href=&#34;https://searxng.glass-lab.net/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;SearXNG&lt;/a&gt;にかえた。&lt;/p&gt;
&lt;p&gt;若干遅いものの非常に安定しており、さらにプライバシーも守られ、欲しい情報を見つけやすくなった。ぜひ一度は試してみてほしい&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>tailscaleのインストール法とその活用法まとめ</title>
        <link>https://glass-lab.net/2024/01/28/tailscaleinstallusage/</link>
        <pubDate>Sun, 28 Jan 2024 14:14:17 +0900</pubDate>
        
        <guid>https://glass-lab.net/2024/01/28/tailscaleinstallusage/</guid>
        <description>&lt;img src="https://glass-lab.net/img/eyecatch.png" alt="Featured image of post tailscaleのインストール法とその活用法まとめ" /&gt;&lt;p&gt;このブログでも度々紹介しているtailscaleのインストール方法を紹介。&lt;/p&gt;
&lt;h2 id=&#34;linux&#34;&gt;Linux
&lt;/h2&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl -fsSL https://tailscale.com/install.sh | sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;これだけでインストールが終わる。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo tailscale up
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;とすると、&lt;code&gt;https://login.tailscale.com/a~&lt;/code&gt;というURLが表示されるのでこれにアクセスし、好きなアカウントでログインする。他のtailscaleをインストールしている端末と同じアカウントでログインすること。&lt;/p&gt;
&lt;h2 id=&#34;windows他スマホ&#34;&gt;Windows他スマホ
&lt;/h2&gt;&lt;p&gt;以下のURLから合ったものをダウンロード&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-gdscript3&#34; data-lang=&#34;gdscript3&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;https&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;//&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;tailscale&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;com&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;download&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;同じように途中で認証を求められるので、いずれかのアカウントでログインし認証。他の相互に通信したい端末と同じアカウントでログインすること。&lt;/p&gt;
 



&lt;h2 id=&#34;活用方法&#34;&gt;活用方法
&lt;/h2&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2023/09/20/tailscale%20funnel%E3%81%AE%E5%81%89%E5%A4%A7%E3%81%95%E3%82%92%E8%AA%9E%E3%82%8B/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;tailscale funnel&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2023/11/14/Mitmproxy%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%97%E3%80%81%E5%9C%A7%E7%B8%AE%E3%80%81%E3%83%87%E3%83%BC%E3%82%BF%E9%87%8F%E5%89%8A%E6%B8%9B%E3%82%82%E3%81%99%E3%82%8B/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;tailscale + Mitmproxy&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/categories/%E5%BA%83%E5%91%8A%E9%99%A4%E5%8E%BB/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;tailscaleと広告ブロック&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2023/10/22/tailscaleMullvad/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;tailscaleとMullvad VPN&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/search/?keyword=tailscale&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;tailscaleとセルフホスト&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;終わりに&#34;&gt;終わりに
&lt;/h2&gt;&lt;p&gt;セキュリティを強化した状態で自宅サーバーを外部からアクセスできるようにするソリューションとしては現状最強だと思う&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>最強の検索エンジンsearXNGをローカルに建てる</title>
        <link>https://glass-lab.net/2024/01/28/searxng/</link>
        <pubDate>Sun, 28 Jan 2024 13:54:35 +0900</pubDate>
        
        <guid>https://glass-lab.net/2024/01/28/searxng/</guid>
        <description>&lt;img src="https://glass-lab.net/wp-content/uploads/2024/01/e223885f0770fc1c90f32d7f429c7491.png" alt="Featured image of post 最強の検索エンジンsearXNGをローカルに建てる" /&gt;&lt;h2 id=&#34;searxngとは&#34;&gt;SearXNGとは
&lt;/h2&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&amp;#34;SearXNG&amp;#34;とは、SearXのフォークで、SearXはオープンソースのメタ検索エンジンであり、複数の検索エンジンからの結果をまとめて表示することができます。SearXNGは、SearXの改良や追加の機能が組み込まれたバージョンのことを指すことがあります。
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;というもので、いわゆるメタ検索エンジンというもの。&lt;/p&gt;
&lt;p&gt;実際に使ってみるととどのような形になるかというと
&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2024/01/e223885f0770fc1c90f32d7f429c7491.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;このような形で複数の検索エンジンの結果を同時に表示することができる。&lt;/p&gt;
 



&lt;h2 id=&#34;インストール方法&#34;&gt;インストール方法
&lt;/h2&gt;&lt;p&gt;今回はdockerを利用する&lt;/p&gt;
&lt;p&gt;dockerのインストール法は&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2024/01/28/ubuntudocker/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;こちら&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;インストール後&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-gdscript3&#34; data-lang=&#34;gdscript3&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;$&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;mkdir&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;my&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;instance&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;$&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;cd&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;my&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;instance&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;$&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;PORT&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;8080&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;$&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;docker&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;pull&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;searxng&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;searxng&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;$&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;docker&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;run&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;--&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;rm&lt;/span&gt; \
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;             &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;d&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;p&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;$&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;PORT&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;}:&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;8080&lt;/span&gt; \
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;             &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;v&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;${PWD}/searxng:/etc/searxng&amp;#34;&lt;/span&gt; \
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;             &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;e&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;BASE_URL=http://localhost:$PORT/&amp;#34;&lt;/span&gt; \
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;             &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;e&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;INSTANCE_NAME=my-instance&amp;#34;&lt;/span&gt; \
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;             &lt;span class=&#34;n&#34;&gt;searxng&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;searxng&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;code&gt;my-instance&lt;/code&gt;は好きな名前に、&lt;code&gt;localhost&lt;/code&gt;は&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2024/01/28/tailscaleinstallusage/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;tailscaleのIp&lt;/a&gt;に変更するといい感じになる。&lt;/p&gt;
&lt;p&gt;これでインストールが終わった。&lt;/p&gt;
&lt;h2 id=&#34;試しに使ってみたい&#34;&gt;試しに使ってみたい
&lt;/h2&gt;&lt;p&gt;そんな方は&lt;a class=&#34;link&#34; href=&#34;https://searxng.glass-lab.net/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;こちら&lt;/a&gt;&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>2024年度最新版 毎回忘れるDockerのインストール法</title>
        <link>https://glass-lab.net/2024/01/28/ubuntudocker/</link>
        <pubDate>Sun, 28 Jan 2024 13:50:00 +0900</pubDate>
        
        <guid>https://glass-lab.net/2024/01/28/ubuntudocker/</guid>
        <description>&lt;img src="https://glass-lab.net/img/eyecatch.png" alt="Featured image of post 2024年度最新版 毎回忘れるDockerのインストール法" /&gt;&lt;p&gt;毎回dockerのインストール方を忘れるのでここにまとめておく&lt;/p&gt;
&lt;p&gt;DockerをUbuntuにインストールする手順は以下の通りです。以下の手順は、Ubuntu 18.04またはそれ以降のバージョンに対応しています。&lt;/p&gt;
&lt;h2 id=&#34;1-システムをアップデートします&#34;&gt;1. システムをアップデートします。
&lt;/h2&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt update
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt upgrade
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;2-dockerの依存パッケージをインストールします&#34;&gt;2. Dockerの依存パッケージをインストールします。
&lt;/h2&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt install apt-transport-https ca-certificates curl software-properties-common
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;3-dockerの公式gpgキーを追加します&#34;&gt;3. Dockerの公式GPGキーを追加します。
&lt;/h2&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-gdscript3&#34; data-lang=&#34;gdscript3&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;curl&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;fsSL&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;https&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;//&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;download&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;docker&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;com&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;linux&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ubuntu&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;gpg&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;sudo&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;gpg&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;--&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;dearmor&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;o&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;usr&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;share&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;keyrings&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;docker&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;archive&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;keyring&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;gpg&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;4-dockerの安定版リポジトリを追加します&#34;&gt;4. Dockerの安定版リポジトリを追加します。
&lt;/h2&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-gdscript3&#34; data-lang=&#34;gdscript3&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;deb [signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;sudo&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;tee&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;etc&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;apt&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;sources&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;list&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;d&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;docker&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;list&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;dev&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;null&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;注意: 上記の&lt;code&gt;lsb_release -cs&lt;/code&gt;はUbuntuのリリースコードネームを取得します。&lt;/p&gt;
 



&lt;h2 id=&#34;5-再度システムをアップデートします&#34;&gt;5. 再度システムをアップデートします。
&lt;/h2&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt update
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;6-dockerをインストールします&#34;&gt;6. Dockerをインストールします。
&lt;/h2&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt install docker-ce docker-ce-cli containerd.io
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;7-dockerが正しくインストールされたか確認します&#34;&gt;7. Dockerが正しくインストールされたか確認します。
&lt;/h2&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo docker run hello-world
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;これで、DockerがUbuntuに正常にインストールされ、実行されているはずです。&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>メールをできるだけ安全に利用する</title>
        <link>https://glass-lab.net/2024/01/27/%E3%83%A1%E3%83%BC%E3%83%AB%E3%82%92%E3%81%A7%E3%81%8D%E3%82%8B%E3%81%A0%E3%81%91%E5%AE%89%E5%85%A8%E3%81%AB%E5%88%A9%E7%94%A8%E3%81%99%E3%82%8B/</link>
        <pubDate>Sat, 27 Jan 2024 21:54:01 +0900</pubDate>
        
        <guid>https://glass-lab.net/2024/01/27/%E3%83%A1%E3%83%BC%E3%83%AB%E3%82%92%E3%81%A7%E3%81%8D%E3%82%8B%E3%81%A0%E3%81%91%E5%AE%89%E5%85%A8%E3%81%AB%E5%88%A9%E7%94%A8%E3%81%99%E3%82%8B/</guid>
        <description>&lt;img src="https://glass-lab.net/img/eyecatch.png" alt="Featured image of post メールをできるだけ安全に利用する" /&gt;&lt;p&gt;最近とりあえずの登録に使っているGmailにめちゃくちゃスパムと詐欺とが飛ばされてくるようになった。&lt;/p&gt;
&lt;p&gt;これをなんとかしたい。効果強度の高いものから低いものまで色々と調べたので紹介していく。&lt;/p&gt;
&lt;h2 id=&#34;1gmailのエイリアス機能&#34;&gt;1.Gmailのエイリアス機能
&lt;/h2&gt;&lt;p&gt;簡易的だがこれでもある程度の効果がある。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;使い方&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;元のgmail
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;glass-lab @ gmail.com
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;エイリアス(例)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;glass-lab +　info　@ gmail.com
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;glass-lab +　twitter　@ gmail.com
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;g . lass-lab @ gmail.com
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;これのいずれであっても&lt;code&gt;glass-lab @ gmail.com&lt;/code&gt;に届くようになっている。&lt;/p&gt;
&lt;p&gt;+以下の文字列やカンマの位置は任意にできる。（適宜スペースは取り除くこと）&lt;/p&gt;
&lt;p&gt;これで分類を行い、かつ、適当なスパムであればこちらのメールに届くようになるので流出元が何となくわかる。&lt;/p&gt;
&lt;p&gt;この方法の問題点としてはどのエイリアスを使ったとしても、元のメールアドレスを知ることができるので根本解決にはならないところである。&lt;/p&gt;
&lt;p&gt;分類的な使い方をしたい場合にも非常におすすめである。
比較的わかりやすい解説は以下&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://dime.jp/genre/1378835/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://dime.jp/genre/1378835/&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;2firefox-relay&#34;&gt;2.Firefox Relay
&lt;/h2&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://gigazine.net/news/20220311-firefox-relay-attachment-chrome/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Gigazineでも紹介されていた&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;詳しい使い方は上記のサイトに任せる。&lt;/p&gt;
&lt;p&gt;これを使えばランダムな文字列のメールアドレスを登録することができ、流出してもそのメールアドレスを停止するだけで良いので非常に便利&lt;/p&gt;
&lt;p&gt;また拡張機能もあり、入力する際に自動で生成したメールアドレスで埋めてもらうこともできる（もちろんそのメールアドレスの管理もしてもらえる）&lt;/p&gt;
&lt;p&gt;問題点としては無料版では5個までしか管理できないため、場合によっては不足する可能性がある。&lt;/p&gt;
&lt;p&gt;ちなみに有料版は1ドルだが日本では登録を受け付けていない&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://relay.firefox.com/#pricing&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://relay.firefox.com/#pricing&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;3addyio&#34;&gt;3.addy.io
&lt;/h2&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://addy.io/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;addy.io&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;無料でこれだけのことができる。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;無制限の標準エイリアス
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;10のアクティブな共有ドメインエイリアス
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;1人の受信者(実際のメールアドレス)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;2つの利用可能なエイリアスドメイン
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;月間帯域幅10mbの制限
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;標準エイリアスとはサインアップしてもらえる&lt;code&gt;@（あなたのなまえ）.anonaddy.com&lt;/code&gt;の@の前の部分を無制限で利用できるということ。こちらは即座に生成することが可能&lt;/p&gt;
&lt;p&gt;共有ドメインエイリアスとは&lt;code&gt;@ anonaddy.me&lt;/code&gt;の前の部分を10個まで所有できるということ&lt;/p&gt;
&lt;p&gt;これらに届いたメールを自分のメインのメールにすべて転送してくれるサービスとなっている。&lt;/p&gt;
&lt;p&gt;残念ながら日本語対応となっていないためハードルが高いが、無料の中では非常に高性能。&lt;/p&gt;
&lt;p&gt;こちらもブラウザの拡張機能があり、標準エイリアスのメールアドレスで勝手に埋めてもらうことができる。&lt;/p&gt;
&lt;p&gt;更に有料版ではいろいろなことができる、が、今回はあくまでスパムを退治することが目的なのであまり必要でない&lt;/p&gt;
&lt;p&gt;ちなみに&lt;a class=&#34;link&#34; href=&#34;https://gigazine.net/news/20231217-anonaddy/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;AnonAddyという名前でセルフホストすることもできる&lt;/a&gt;。こちらの場合、特に制限はないが、ドメインを一つ所有し、そのエイリアスを無制限に作成できるといったものになる。&lt;/p&gt;
 



&lt;h2 id=&#34;終わりに&#34;&gt;終わりに
&lt;/h2&gt;&lt;p&gt;他にもまだまだいろいろなサービスがあったが、これ以上になってくると、完全に匿名でメールを送信したかったり、暗号化を施していたり、少しやりすぎなところが出てきてお手軽感がなくなってくるのでここまでとする。&lt;/p&gt;
&lt;h2 id=&#34;おまけproton-unlimited&#34;&gt;おまけ：Proton unlimited
&lt;/h2&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://proton.me/pricing&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Proton Unlimited&lt;/a&gt;が結構良さそうだと感じた。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;メールプラン&lt;/strong&gt;
500 GB 総ストレージ
15 メールアドレス
カスタムメールドメインを３つ
無制限のフォルダー、ラベル、フィルター
無制限のhide-my-emailエイリアス（SimpleLogin）
&lt;strong&gt;カレンダー&lt;/strong&gt;
25カレンダー
カレンダー共有
&lt;strong&gt;ドライブ&lt;/strong&gt;
デバイス間で同期
暗号化されたファイル共有
バージョン履歴
&lt;strong&gt;VPN&lt;/strong&gt;
高速VPN接続
グローバルにストリーミングサービスへのVPNアクセス
&lt;strong&gt;パスワード管理&lt;/strong&gt;
無制限のhide-my-emailエイリアス
統合2FA認証機関
最大10人と共有する&lt;/p&gt;
&lt;p&gt;これだけ詰め込んで&lt;code&gt;7.99 €/month&lt;/code&gt;で少し高い気がするが、Protonへの信頼を含めると非常にお買い得な感じがする。&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>Google検索から広告を排除した【Whoogle】</title>
        <link>https://glass-lab.net/2024/01/14/Google%E6%A4%9C%E7%B4%A2%E3%81%8B%E3%82%89%E5%BA%83%E5%91%8A%E3%82%92%E6%8E%92%E9%99%A4%E3%81%97%E3%81%9F%E3%80%90Whoogle%E3%80%91/</link>
        <pubDate>Sun, 14 Jan 2024 11:13:25 +0900</pubDate>
        
        <guid>https://glass-lab.net/2024/01/14/Google%E6%A4%9C%E7%B4%A2%E3%81%8B%E3%82%89%E5%BA%83%E5%91%8A%E3%82%92%E6%8E%92%E9%99%A4%E3%81%97%E3%81%9F%E3%80%90Whoogle%E3%80%91/</guid>
        <description>&lt;img src="https://glass-lab.net/img/eyecatch.png" alt="Featured image of post Google検索から広告を排除した【Whoogle】" /&gt;&lt;p&gt;Google検索から広告を排除してくれ、おまけに様々な追跡を取り除いてくれるWhoogleの紹介&lt;/p&gt;
&lt;h2 id=&#34;whoogleとは&#34;&gt;Whoogleとは
&lt;/h2&gt;&lt;p&gt;Whoogle は、Google の検索結果を取得できるオープンソースのセルフホスティングメタ検索エンジン。広告や JavaScript、AMP リンク、クッキー、IP アドレスの追跡は一切ない。
Whoogle は、JavaScript を無効にして使用することも可、Javascriptを有効にすると、検索候補の表示ができる。サードパーティのクッキーは使用されない。&lt;/p&gt;
&lt;h2 id=&#34;インストール&#34;&gt;インストール
&lt;/h2&gt;&lt;p&gt;今回はdockerでインストールした。&lt;/p&gt;
&lt;p&gt;使用したサーバーは以前紹介した&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2023/08/11/512mb%E3%81%AEvps%E3%81%AE%E9%99%90%E7%95%8C%E3%81%AB%E6%8C%91%E6%88%A6%E3%81%97%E3%80%81%E5%BA%83%E5%91%8A%E3%82%92%E7%A0%B4%E5%A3%8A%E3%81%99%E3%82%8B%E3%80%82/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;VPS&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;dockerは適宜、自分のサーバーにインストールしてもらう。&lt;/p&gt;
&lt;p&gt;インストールコマンドは以下&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker pull benbusby/whoogle-search:latest
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker run -d --name whoogle -p 5000:5000 benbusby/whoogle-search:latest
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;これで5000番ポートでWhoogleを建てられた。&lt;/p&gt;
 



&lt;h2 id=&#34;ブラウザ検索窓のデフォルトを変更する&#34;&gt;ブラウザ検索窓のデフォルトを変更する
&lt;/h2&gt;&lt;p&gt;chromeの場合&lt;/p&gt;
&lt;p&gt;１．ブラウザの設定画面を開きます。
２．「検索エンジン」または「検索エンジンの管理」という項目を探します。
３．「検索エンジンの追加」または「新しい検索エンジンの追加」というボタンをクリックします。
４．次の情報を入力します。
検索エンジン名： 任意の名前（例：Whoogle）
検索キーワード： 検索ボックスに入力するキーワード（例：wh）
URL： &lt;whoogle url&gt;/search?q=%s に置き換えて入力します（例：http://localhost:5000/search?q=%s）
５．「追加」または「保存」ボタンをクリックします。&lt;/p&gt;
&lt;p&gt;firefoxの場合&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://addons.mozilla.org/ja/firefox/addon/add-custom-search-engine/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://addons.mozilla.org/ja/firefox/addon/add-custom-search-engine/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;から拡張機能を追加&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Name：お好きに
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Search URL：&amp;lt;whoogle url&amp;gt;/search?q=%s に置き換えて入力します（例：http://localhost:5000/search?q=%s）
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;で&lt;code&gt;Add custom search engine&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;その他については&lt;a class=&#34;link&#34; href=&#34;https://github.com/benbusby/whoogle-search#set-whoogle-as-your-primary-search-engine&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;公式Github&lt;/a&gt;から&lt;/p&gt;
&lt;h2 id=&#34;使い勝手&#34;&gt;使い勝手
&lt;/h2&gt;&lt;p&gt;広告が減るので誤タップが減る。また、画面がスッキリして見やすくなる。&lt;/p&gt;
&lt;h2 id=&#34;終わりに&#34;&gt;終わりに
&lt;/h2&gt;&lt;p&gt;SearXなどに比べるとインパクトにかけるが、順当に使いやすかった。&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>VPNは結局必要なのか</title>
        <link>https://glass-lab.net/2024/01/13/VPN%E3%81%AF%E7%B5%90%E5%B1%80%E5%BF%85%E8%A6%81%E3%81%AA%E3%81%AE%E3%81%8B/</link>
        <pubDate>Sat, 13 Jan 2024 11:05:34 +0900</pubDate>
        
        <guid>https://glass-lab.net/2024/01/13/VPN%E3%81%AF%E7%B5%90%E5%B1%80%E5%BF%85%E8%A6%81%E3%81%AA%E3%81%AE%E3%81%8B/</guid>
        <description>&lt;img src="https://glass-lab.net/img/eyecatch.png" alt="Featured image of post VPNは結局必要なのか" /&gt;&lt;h2 id=&#34;はじめに&#34;&gt;はじめに
&lt;/h2&gt;&lt;p&gt;日本国内にいて自分の匿名性がものすごく大事な人はおそらく多くはないと思いますし、筆者も安全にはしたいな〜程度の感覚です。&lt;/p&gt;
&lt;p&gt;今回の記事では、少しPCやら何やらに詳しく、通信の安全性とかが少し気になる人に向けたものにするつもりです。&lt;/p&gt;
&lt;h2 id=&#34;さっそく結論&#34;&gt;さっそく結論
&lt;/h2&gt;&lt;p&gt;早速ですが、筆者がたどり着いた結論としては信用できるところに任せられればそれでいいよね、というもの。&lt;/p&gt;
&lt;p&gt;例えばの話、スマホでdocomoの回線を使っている方の場合、VPNを利用すればdocomoは知ることができないけれど、VPNの出口ではログを取れたり追跡したりすることが可能である。&lt;/p&gt;
&lt;p&gt;つまり、誰になら知られてもよいのかということになる。&lt;/p&gt;
 



&lt;h2 id=&#34;自分の信頼できる組織とは&#34;&gt;自分の信頼できる組織とは
&lt;/h2&gt;&lt;p&gt;上にも書いたとおり日本国内にいて、自分の検索履歴や接続先がただ一人にさえも知られてはならない人はあまりいないと思う。&lt;/p&gt;
&lt;p&gt;その場合、日本国内での通信の場合、VPN企業を信じますか？VPN企業を信じますか？ということになる。&lt;/p&gt;
&lt;h2 id=&#34;そのvpnは本当にノーログか&#34;&gt;そのVPNは本当にノーログか？
&lt;/h2&gt;&lt;p&gt;もちろん、docomoは通信の内容を確認することが可能だし、おそらく何らかのログを残しているだろう。これが信用できない人もいるかと思う。&lt;/p&gt;
&lt;p&gt;では、かわりにノーログを掲げるVPNを利用した場合、本当にそれはログが取られていないのかについては、本当に分からない。下手するとログを残した上でデータを流出させるかもしれない。&lt;/p&gt;
&lt;p&gt;では、多くの日本人にとって、信用できるのはどちらだろうか？おそらくdocomo&amp;gt;VPNなのではないだろうか。これがdocomoではなく楽天やau、KDDI、ソフトバンクでもおなじなのではないだろうか&lt;/p&gt;
&lt;p&gt;日本人に求められるセキュリティとしてはそこまで高くないので、docomo等々が漏らすリスクよりもVPN企業が悪徳商売人の可能性のほうが高いと考えられる。docomoに知られていても多くの場合問題にはならないが、よく知らないVPN企業にデータを取られている可能性があるのはかなり恐ろしい。&lt;/p&gt;
&lt;h2 id=&#34;筆者の対応&#34;&gt;筆者の対応
&lt;/h2&gt;&lt;p&gt;とはいえ筆者はVPNを結構活用している。&lt;/p&gt;
&lt;p&gt;具体的には筆者の住むマンションに共用で引いてある回線以下の信頼度の場合にはVPNを利用している。&lt;/p&gt;
&lt;p&gt;具体的にはホテル、カフェ、スーパーのWifi、会社のWifi(これはdocomoにバレても構わないが、会社にバレるとまずいことは多々あるので気をつけている)、マンションの共用回線(一度弊マンションで大規模なトラブルを起こしたことがあり、その際に話した業者の方が信用できなかったため、ここは自分の中で1段信頼度を下げている)といったところだ。&lt;/p&gt;
&lt;h2 id=&#34;では有料のvpnを利用するべきなのか&#34;&gt;では有料のVPNを利用するべきなのか
&lt;/h2&gt;&lt;p&gt;上記筆者の中で信頼できないけどたまに接続したくなるネットワーク群に接続する際には筆者はVPNを利用しているわけだが、筆者は有料のものは利用していない。&lt;/p&gt;
&lt;p&gt;筆者は&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2023/11/01/CloudflareWarp/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Cloudflareのwarp VPNが無料で利用できる&lt;/a&gt;ので、これを使っている。&lt;/p&gt;
&lt;p&gt;筆者のWifiルーターは&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2023/11/07/GLiNET%E6%9C%80%E5%BC%B7/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;以前紹介した&lt;/a&gt;が、これの機能ですべての通信をCloudflare warp経由にしている。&lt;/p&gt;
&lt;p&gt;これは少し過剰な気もするが、現在利用しているマンションの共用回線の業者をあまり信用していないためである。&lt;/p&gt;
&lt;h2 id=&#34;結論&#34;&gt;結論
&lt;/h2&gt;&lt;p&gt;つまり、多くの日本人にとってVPNを利用するべきかは、利用している回線がcloudflareより信用できるか否かに集約されると思う。&lt;/p&gt;
&lt;p&gt;わたしの場合、上記に記したとおり、信頼度は
&lt;code&gt;docomo&amp;gt;cloudflare&amp;gt;会社の回線、フリーワイファイ、マンションの共用回線&lt;/code&gt;
となるためdocomo回線を利用するとき以外にはcloudflareの無料VPN、warpを利用している。&lt;/p&gt;
&lt;h2 id=&#34;終わりに&#34;&gt;終わりに
&lt;/h2&gt;&lt;p&gt;多くの日本人にとって有料のVPNを買う必要はなく、せいぜい無料のcloudflare warpのみでいいのではないかと考えている。&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>minIOを使ってデータを一元管理する</title>
        <link>https://glass-lab.net/2024/01/08/minIO%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E4%B8%80%E5%85%83%E7%AE%A1%E7%90%86%E3%81%99%E3%82%8B/</link>
        <pubDate>Mon, 08 Jan 2024 10:34:28 +0900</pubDate>
        
        <guid>https://glass-lab.net/2024/01/08/minIO%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E4%B8%80%E5%85%83%E7%AE%A1%E7%90%86%E3%81%99%E3%82%8B/</guid>
        <description>&lt;img src="https://glass-lab.net/wp-content/uploads/2024/01/f78fd1036325288bcd963b098271842f.png" alt="Featured image of post minIOを使ってデータを一元管理する" /&gt;&lt;p&gt;ファイルサーバーはこれまでSambaを用いていたが、最近不安定だったことから、S3互換のあるminIOに置き換え、いろいろな使い方を考案しようと思う&lt;/p&gt;
&lt;h2 id=&#34;今回すること&#34;&gt;今回すること
&lt;/h2&gt;&lt;p&gt;minIOをdockerで建てる&lt;/p&gt;
&lt;p&gt;Nextcloudのストレージとして活用する。&lt;/p&gt;
&lt;p&gt;FessでminIOに入れた書類を検索できるようにする&lt;/p&gt;
&lt;p&gt;なお、それぞれtailscaleで接続することを目標としている。&lt;/p&gt;
&lt;h2 id=&#34;なぜminioなのか&#34;&gt;なぜminIOなのか
&lt;/h2&gt;&lt;p&gt;SambaよりS3のほうが、コマンドによってファイルを操作しやすく、また、多くのOSSのバックエンドとしてS3が利用できるようになっていることからminIOを利用する。&lt;/p&gt;
&lt;p&gt;特に今回の場合、ファイル操作に対して課金されないことから、より柔軟な活用ができると考えられる。&lt;/p&gt;
&lt;h2 id=&#34;minioをdockerで建てる&#34;&gt;minIOをdockerで建てる
&lt;/h2&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker run    -p 9000:9000    -p 9090:9090    --user $(id -u):$(id -g)    --name minio1    -e &amp;#34;MINIO_ROOT_USER=admin123&amp;#34;    -e &amp;#34;MINIO_ROOT_PASSWORD=admin123&amp;#34;    -v ${HOME}/hddgreen:/data    quay.io/minio/minio server /data --console-address &amp;#34;:9090&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;今回は筆者の&lt;code&gt;hddgreen&lt;/code&gt;(ただ単に緑色のシールが貼ってあるだけのHDD)をminIOに使用する。&lt;/p&gt;
&lt;p&gt;コマンドはこれだけで立ち上がる。root のユーザーもパスワードも、指定しなければ&lt;code&gt;admin123&lt;/code&gt;らしい。&lt;/p&gt;
&lt;p&gt;minioのdockerには公式のものとquayから配信されているものがあるが、なぜだかWebUIが少し異なり、quayのほうがわかりやすかったので今回はQuayのものを利用する。&lt;/p&gt;
&lt;h2 id=&#34;nextcloudのストレージにしてみる&#34;&gt;Nextcloudのストレージにしてみる
&lt;/h2&gt;&lt;p&gt;&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2024/01/f78fd1036325288bcd963b098271842f.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;Access Keysから&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Access keys&lt;/code&gt;と&lt;code&gt;Secret Keys&lt;/code&gt;を取得する。ReadとWriteを両方許可しておくこと&lt;/p&gt;
&lt;p&gt;NextcloudはSnapから簡単にインストールできる&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo snap install nextcloud
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Nextcloudのデフォルトportは8080なので、そこにアクセス。&lt;/p&gt;
&lt;p&gt;初期設定をいろいろ済ませて&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2024/01/566358f96491fd20b8a6ee851adcf527.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;上からBucketの名前、Ipアドレス（今回は諸事情によりtailscale上のIp、&lt;code&gt;localhost&lt;/code&gt;でも可）、Port（先程のminIOの場合、9000）、下の2つにAccess keyとsecret keyを入れて完成&lt;/p&gt;
&lt;p&gt;今回はTailscale上からのみアクセスする前提なのでSSLは無効化した。またパス形式を有効にしておく必要がある。&lt;/p&gt;
&lt;p&gt;これでマウントできた。&lt;/p&gt;
 



&lt;h2 id=&#34;fessも接続する&#34;&gt;Fessも接続する
&lt;/h2&gt;&lt;p&gt;Fessもdockerでインストールする。&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/codelibs/docker-fess&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;公式Git&lt;/a&gt;にある通りにインストール。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git clone https://github.com/codelibs/docker-fess.git
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cd docker-fess/compose
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker compose -f compose.yaml -f compose-opensearch2.yaml up -d
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;code&gt;http://(ホストip):8080/admin&lt;/code&gt;にアクセス。&lt;/p&gt;
&lt;p&gt;初期ユーザー名、パスワードはともにadmin&lt;/p&gt;
&lt;p&gt;minIOをストレージとして使えるようにするために、ログインして管理画面から&lt;code&gt;システム→全般→ストレージ&lt;/code&gt;とする。&lt;/p&gt;
&lt;p&gt;ここもエンドポイントを&lt;code&gt;http://(ホストip):9000&lt;/code&gt;にしてバケットを指定。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;クローラー→ファイルシステム&lt;/code&gt;とする。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;パス
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;storage://バケット名/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;設定パラメーター
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;client.endpoint=http://(ホストip):9000
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;client.accessKey=あなたのアクセスキー
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;client.secretKey=あなたのシークレットキー
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;これで定期的にクロールされる。&lt;/p&gt;
&lt;h2 id=&#34;終わりに&#34;&gt;終わりに
&lt;/h2&gt;&lt;p&gt;sambaよりコマンドで操作しやすく、また、S3コマンドもそのまま活用できるため扱いやすい。&lt;/p&gt;
&lt;h2 id=&#34;おまけ&#34;&gt;おまけ
&lt;/h2&gt;&lt;p&gt;Tailscaleで大容量のファイルの送受信を行うとcpuをめちゃめちゃ食うということが言われており、たしかに結構食べる。想定よりも少しCpuを強めにサーバーを構築したほうが良さそうだ。&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>Flowise&#43;LocalAIでサクッと自分用のAIを作る</title>
        <link>https://glass-lab.net/2023/12/06/Flowise&#43;LocalAI%E3%81%A7%E3%82%B5%E3%82%AF%E3%83%83%E3%81%A8%E8%87%AA%E5%88%86%E7%94%A8%E3%81%AEAI%E3%82%92%E4%BD%9C%E3%82%8B/</link>
        <pubDate>Wed, 06 Dec 2023 20:35:07 +0900</pubDate>
        
        <guid>https://glass-lab.net/2023/12/06/Flowise&#43;LocalAI%E3%81%A7%E3%82%B5%E3%82%AF%E3%83%83%E3%81%A8%E8%87%AA%E5%88%86%E7%94%A8%E3%81%AEAI%E3%82%92%E4%BD%9C%E3%82%8B/</guid>
        <description>&lt;img src="https://glass-lab.net/img/eyecatch.png" alt="Featured image of post Flowise&#43;LocalAIでサクッと自分用のAIを作る" /&gt;&lt;blockquote&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;今回すること&#34;&gt;今回すること
&lt;/h2&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://flowiseai.com/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Flowise&lt;/a&gt;と&lt;a class=&#34;link&#34; href=&#34;https://github.com/mudler/LocalAI&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;LocalAI&lt;/a&gt;を使って簡単にローカルAIにGUIを作ったり機能を拡張したりする。&lt;/p&gt;
&lt;h2 id=&#34;環境&#34;&gt;環境
&lt;/h2&gt;&lt;p&gt;メモリを盛ったGPUなしCPU環境を想定。しっかり使おうと思ったらそれなりにスペックが必要。筆者はメモリ32GB&lt;/p&gt;
&lt;p&gt;Ubuntu環境&lt;/p&gt;
&lt;h2 id=&#34;やり方&#34;&gt;やり方
&lt;/h2&gt;&lt;p&gt;まずLocalAIをセットアップする&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git clone https://github.com/go-skynet/LocalAI
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cd LocalAI
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cp your-model.bin models/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;code&gt;your-model.bin&lt;/code&gt;は自分の使いたいモデルをダウンロードする。GGUFファイル等の量子化がなされたモデルが良い。&lt;/p&gt;
&lt;p&gt;今回は&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2023/11/21/GPT4ALLJarvisxwin/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;前回&lt;/a&gt;に引き続き&lt;a class=&#34;link&#34; href=&#34;https://huggingface.co/TheBloke/Xwin-MLewd-13B-v0.2-GGUF/tree/main?not-for-all-audiences=true&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;XwinモデルのGGUF&lt;/a&gt;を利用していく&lt;/p&gt;
&lt;p&gt;今回のLocalAiは外部公開目的のものではないのでセキュリティとかはあまり気にする必要がないのでこのまま&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker-compose up -d
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;として&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl http://localhost:8080/v1/models
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;とすると何かしら帰ってくると思うので、これで完了&lt;/p&gt;
&lt;p&gt;Flowiseの設定だが&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker build --no-cache -t flowise .
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker run -d --name flowise -p 3000:3000 flowise
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;だけで&lt;code&gt;localhost:3000&lt;/code&gt;にアクセスすれば利用可能となる。&lt;/p&gt;
 



&lt;h2 id=&#34;使い方&#34;&gt;使い方
&lt;/h2&gt;&lt;p&gt;Flowiseのブラウザにアクセスし、早速&lt;code&gt;Add New&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2023/12/80be9cef43c112160a624a08522803f6.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;モデル名だけ合わせる必要があるがこれで可能である。&lt;/p&gt;
&lt;p&gt;左上のチャットのマークからチャットを開始すれば完璧である。&lt;/p&gt;
&lt;h2 id=&#34;終わりに&#34;&gt;終わりに
&lt;/h2&gt;&lt;p&gt;Marketplaceには様々なChatflowsのテンプレがおいてある。だいたいがChatGPT向けに作られているがこれをChatLocalAIに置き換えていけば大体のものがそのまま流用可能である。&lt;/p&gt;
&lt;p&gt;ちなみにだが、ここにMarketplaceにあるものの中でも一部はChatGPTと一部のモデルが利用できるようになっている（特に外部の書類を読み込むようなもの）ので、モデルの選択を考える必要がある。&lt;/p&gt;
&lt;p&gt;外部から利用したい場合には&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2023/08/11/512mb%E3%81%AEvps%E3%81%AE%E9%99%90%E7%95%8C%E3%81%AB%E6%8C%91%E6%88%A6%E3%81%97%E3%80%81%E5%BA%83%E5%91%8A%E3%82%92%E7%A0%B4%E5%A3%8A%E3%81%99%E3%82%8B%E3%80%82/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;tailscale&lt;/a&gt;とかがいいんじゃないでしょうか&lt;/p&gt;
&lt;p&gt;自分専用のAIサーバーにいつでもアクセスできるって、近未来感がいいなと思い、おひとりさま専用AIを立てています。&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://blogmura.com/profiles/11176491/?p_cid=11176491&amp;reader=11176491&#34; target=&#34;_blank&#34;&gt;&lt;img src=&#34;https://b.blogmura.com/banner-blogmura-reader-pink.svg&#34; width=&#34;230&#34; height=&#34;46&#34; border=&#34;0&#34; alt=&#34;研究室の一角 - にほんブログ村&#34; /&gt;&lt;/a&gt;&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>NextDNSのコスパが高い</title>
        <link>https://glass-lab.net/2023/12/04/NextDNS%E3%81%AE%E3%82%B3%E3%82%B9%E3%83%91%E3%81%8C%E9%AB%98%E3%81%84/</link>
        <pubDate>Mon, 04 Dec 2023 18:13:38 +0900</pubDate>
        
        <guid>https://glass-lab.net/2023/12/04/NextDNS%E3%81%AE%E3%82%B3%E3%82%B9%E3%83%91%E3%81%8C%E9%AB%98%E3%81%84/</guid>
        <description>&lt;img src="https://glass-lab.net/img/eyecatch.png" alt="Featured image of post NextDNSのコスパが高い" /&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://nextdns.io/?from=yhvqt4sm&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;NextDNS&lt;/a&gt;というDNSサービスを利用し始めた。&lt;/p&gt;
&lt;h2 id=&#34;nextdnsとは&#34;&gt;NextDNSとは
&lt;/h2&gt;&lt;p&gt;NextDNSとは自分専用のDNSを提供してくれるサービスである。&lt;/p&gt;
&lt;p&gt;そもそもDNSとは、ドメイン名をIPアドレスに変換する役割を担うサービスで、これを利用することで、問題のあるサイトや広告を配信しているドメインをブロックすることで、快適なネット環境が得られるというもの&lt;/p&gt;
&lt;h2 id=&#34;nextdnsの使い方&#34;&gt;NextDNSの使い方
&lt;/h2&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://nextdns.io/?from=yhvqt4sm&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;NextDNS&lt;/a&gt;からアカウントを作成。&lt;/p&gt;
&lt;p&gt;ログインしたページから各環境にあった方法をおすすめされているので、それにしたがって設定する。&lt;/p&gt;
&lt;h2 id=&#34;nextdnsおすすめ設定&#34;&gt;NextDNSおすすめ設定
&lt;/h2&gt;&lt;p&gt;ダッシュボードから全てが設定できる。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;セキュリティ→新規登録ドメイン（NRD）をブロックする&lt;/code&gt;以外すべて有効にする。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;プライバシー→ブロックリスト&lt;/code&gt;から必要なブロックリストを選択する&lt;/p&gt;
&lt;p&gt;筆者おすすめは&lt;code&gt;No Facebook&lt;/code&gt;と&lt;code&gt;1Hosts (Xtra)&lt;/code&gt;、&lt;code&gt;No Google&lt;/code&gt;以外すべて設定した。（最初はすべて設定していたが、&lt;code&gt;No Facebook&lt;/code&gt;するとInstagramが、&lt;code&gt;1Hosts (Xtra)&lt;/code&gt;ではいろ色んなサイトが、&lt;code&gt;No Google&lt;/code&gt;では検索が使えなくなったので一旦解除している。）&lt;/p&gt;
&lt;p&gt;許可リストには、誤検知されやすいものを入れておく、筆者的おすすめは&lt;code&gt;twitter.com&lt;/code&gt;と&lt;code&gt;t.co&lt;/code&gt;。この2つは最近のイーロン・マスクのゴタゴタによってめちゃくちゃ顰蹙を買っているせいか、不意にリストに追加されて、気がついたら使えなくなっていることが多かった。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;設定→ログ&lt;/code&gt;ではログを有効にすることができる、が、何らかの問題があった時に自分の履歴が流出することになるので注意。&lt;/p&gt;
&lt;p&gt;筆者的おすすめは、なれるまでログを有効にしておくべきかなと思っている。うまく動作しないサイトがあったときに、NextDNSが何をブロックしたかを確認すると、許可リストに入れるときに便利である。&lt;/p&gt;
 



&lt;h2 id=&#34;料金かなり無料枠がでかい&#34;&gt;料金→かなり無料枠がでかい
&lt;/h2&gt;&lt;p&gt;料金についてだが、利用台数等に制限はなく、30万クエリ/月以下であれば無料である。&lt;/p&gt;
&lt;p&gt;ちなみに、これを超えたとしても停止するということはなく、広告ブロック機能が停止するだけらしい。&lt;/p&gt;
&lt;p&gt;料金だが、30万クエリ/月を超える場合にも広告ブロックを利用したい場合には&lt;code&gt;月２５０円&lt;/code&gt;、もしくは&lt;code&gt;年２５００円&lt;/code&gt;となる&lt;/p&gt;
&lt;p&gt;ネットの通信量の４割が広告と言われる現在、&lt;a class=&#34;link&#34; href=&#34;https://nextdns.io/?from=yhvqt4sm&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;NextDNS&lt;/a&gt;を利用して広告をブロックした場合、それだけの通信量がまるまる浮いたら、かなりの経済効果があると言える。&lt;/p&gt;
&lt;p&gt;また、現在回線の遅さに悩んでいる人も、困らなくなることが予測される。&lt;/p&gt;
&lt;h2 id=&#34;終わりに&#34;&gt;終わりに
&lt;/h2&gt;&lt;p&gt;筆者は以前&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/categories/%E5%BA%83%E5%91%8A%E9%99%A4%E5%8E%BB/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Piholeとtailscaleを用いた広告ブロック&lt;/a&gt;を作成したが、こちらのほうがより広範囲に効果があり便利である。&lt;/p&gt;
&lt;p&gt;しかし&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/categories/%E5%BA%83%E5%91%8A%E9%99%A4%E5%8E%BB/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Piholeとtailscaleを用いた広告ブロック&lt;/a&gt;のほうが拡張性が高い面があり、一長一短といった感じである。&lt;/p&gt;
&lt;p&gt;とりあえずお手軽に広告ブロックDNSを利用してみたい場合にはNextDNSがおすすめかなと思う。&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>Linuxで原神インストールするときに注意したこと</title>
        <link>https://glass-lab.net/2023/11/29/Linux%E3%81%A7%E5%8E%9F%E7%A5%9E%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%E3%81%A8%E3%81%8D%E3%81%AB%E6%B3%A8%E6%84%8F%E3%81%97%E3%81%9F%E3%81%93%E3%81%A8/</link>
        <pubDate>Wed, 29 Nov 2023 16:09:10 +0900</pubDate>
        
        <guid>https://glass-lab.net/2023/11/29/Linux%E3%81%A7%E5%8E%9F%E7%A5%9E%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%E3%81%A8%E3%81%8D%E3%81%AB%E6%B3%A8%E6%84%8F%E3%81%97%E3%81%9F%E3%81%93%E3%81%A8/</guid>
        <description>&lt;img src="https://glass-lab.net/wp-content/uploads/2023/11/a5e5d76e883eabf921062d0954b3550d.png" alt="Featured image of post Linuxで原神インストールするときに注意したこと" /&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2023/11/28/Linux%E3%81%A7%E3%82%B2%E3%83%BC%E3%83%A0%E3%82%92%E3%82%84%E3%82%8B%E6%96%B9%E6%B3%95%E3%81%BE%E3%81%A8%E3%82%81/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;前回&lt;/a&gt;Linuxにゲームをインストールする方法を紹介したが、それぞれのゲームでは少しずつ設定を変える必要がある。&lt;/p&gt;
&lt;p&gt;今回、筆者は原神をインストールしたので方法を紹介しようと思う。&lt;/p&gt;
&lt;h2 id=&#34;インストール&#34;&gt;インストール
&lt;/h2&gt;&lt;p&gt;Heroic games launcher→ストア→Epic Storeから原神を選択しインストール。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2023/11/a5e5d76e883eabf921062d0954b3550d.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;三本線から設定&lt;/p&gt;
&lt;p&gt;Wine - GE - Protoｎの最新を利用する。ダウンロードされてない場合には左のWineマネージャから一番新しいものをダウンロードする。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2023/11/9fcfbe36c5e4cc61646412514b6f969d.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;これで起動できる。Proton GEで行っている方もいたが、筆者はうまく行かなかった。&lt;/p&gt;
 



&lt;h2 id=&#34;起動後&#34;&gt;起動後
&lt;/h2&gt;&lt;p&gt;インストール先を&lt;code&gt;C:\Program files(x86)\&lt;/code&gt;となるように設定。初期設定ではCではなくZになっているので修正が必要。&lt;/p&gt;
&lt;p&gt;インストーラーに従いインストール後ゲーム内設定では垂直同期をOFFにすることでFPSが安定するようになった。&lt;/p&gt;
&lt;p&gt;インストール中に停止し、エラーを吐いていることがあるがその場合には&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo sh -c &amp;#34;echo 1 &amp;gt; /proc/sys/vm/drop_caches&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;とすることでキャッシュを削除し、途中からインストールすることができるようになる。&lt;/p&gt;
&lt;h2 id=&#34;終わりに&#34;&gt;終わりに
&lt;/h2&gt;&lt;p&gt;かなり快適で満足だった。特にAI学習中に無理やり原神をできるようになったのは非常に大きい&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2023/11/28/Linux%E3%81%A7%E3%82%B2%E3%83%BC%E3%83%A0%E3%82%92%E3%82%84%E3%82%8B%E6%96%B9%E6%B3%95%E3%81%BE%E3%81%A8%E3%82%81/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;前回&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://blogmura.com/profiles/11176491/?p_cid=11176491&amp;reader=11176491&#34; target=&#34;_blank&#34;&gt;&lt;img src=&#34;https://b.blogmura.com/banner-blogmura-reader-pink.svg&#34; width=&#34;230&#34; height=&#34;46&#34; border=&#34;0&#34; alt=&#34;研究室の一角 - にほんブログ村&#34; /&gt;&lt;/a&gt;&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>UBUNTU22.04にRX470のドライバーが入らない</title>
        <link>https://glass-lab.net/2023/11/28/radeononlinux/</link>
        <pubDate>Tue, 28 Nov 2023 15:53:06 +0900</pubDate>
        
        <guid>https://glass-lab.net/2023/11/28/radeononlinux/</guid>
        <description>&lt;img src="https://glass-lab.net/img/eyecatch.png" alt="Featured image of post UBUNTU22.04にRX470のドライバーが入らない" /&gt;&lt;p&gt;最近のAIブームで筆者もまあまあいろいろなことをしているが、とにかく計算資源が足らない。&lt;/p&gt;
&lt;p&gt;そこではるか昔に使っていたRX470が二枚ほどあったのでこれを活用し、何らかの形で現在のメインPCの肩代わりをさせようと思った。&lt;/p&gt;
&lt;p&gt;が、ドライバーを入れる際にかなりつまずいたのでそれの共有。&lt;/p&gt;
&lt;h2 id=&#34;環境&#34;&gt;環境
&lt;/h2&gt;&lt;p&gt;入れたてほやほやのUBUNTU Desktop 22.04.3 LTS&lt;/p&gt;
&lt;p&gt;RX470 2枚&lt;/p&gt;
&lt;p&gt;CPU：3400G&lt;/p&gt;
&lt;h2 id=&#34;インストール&#34;&gt;インストール
&lt;/h2&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.amd.com/ja/support/graphics/radeon-400-series/radeon-rx-400-series/radeon-rx-470&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ここ&lt;/a&gt;からドライバーを持ってくる。&lt;/p&gt;
&lt;p&gt;今回はOpenCLをインストールすることにする。Llama.cppのOpenBlastに使ってみようと思う。&lt;/p&gt;
&lt;p&gt;RadeonにはROCｍがあるが、RX470はROCmとOpenCL（ROCｍ）のサポートが終了しているため、今回はlegacy版のドライバーを入れる。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;dpkg -i amdgpu-install-VERSION.deb(ご自身の環境に合わせてVERSIONを変更)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;amdgpu-install --opencl=legacy --accept-eula
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;code&gt;--accept-eula&lt;/code&gt;を付けないとエラーを吐いてうまくいかなかった。&lt;/p&gt;
&lt;p&gt;さてエラーを吐かずにインストールできたので&lt;code&gt;clinfo&lt;/code&gt;コマンドでGPUが表示されるはずだ。&lt;/p&gt;
&lt;p&gt;表示されなかった場合、&lt;code&gt;inxi -G&lt;/code&gt;コマンドを使う。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Graphics:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  Device-1: AMD Ellesmere [Radeon RX 470/480/570/570X/580/580X/590] driver: amdgpu v: kernel
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  Device-2: AMD Ellesmere [Radeon RX 470/480/570/570X/580/580X/590] driver: amdgpu v: kernel
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;正常ではこのように表示される。&lt;code&gt;driver&lt;/code&gt;が&lt;code&gt;amdgpu&lt;/code&gt;なことを確認。&lt;/p&gt;
 



&lt;h2 id=&#34;筆者tips&#34;&gt;筆者Tips
&lt;/h2&gt;&lt;p&gt;筆者はここでつまずいたがdriverが正常にインストールされず、N/Aと表示されていた。&lt;/p&gt;
&lt;p&gt;インストールできていると&lt;code&gt;unloaded&lt;/code&gt;に&lt;code&gt;amdgpu&lt;/code&gt;が表示されている。&lt;/p&gt;
&lt;p&gt;その際には&lt;code&gt;modprobe amdgpu&lt;/code&gt;としてドライバーを再起動してあげるとよい。&lt;/p&gt;
&lt;h2 id=&#34;結果&#34;&gt;結果
&lt;/h2&gt;&lt;p&gt;大体うまくいった、が、いくつか問題が発生している。&lt;/p&gt;
&lt;p&gt;１．一枚しかOpenCLが動作しない。&lt;/p&gt;
&lt;p&gt;2枚あるRX470のうち1枚のみしかOpenCLが動作していないようである。現状モニターには出力されており、壊れているわけではなく、&lt;code&gt;clinfo&lt;/code&gt;もほぼ正常に見える。&lt;/p&gt;
&lt;p&gt;２．clinfoに謎のデバイスがみられる。&lt;/p&gt;
&lt;p&gt;ほぼ正常というのは&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;NULL platform behavior
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  clGetPlatformInfo(NULL, CL_PLATFORM_NAME, ...)  No platform
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...)   No platform
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  clCreateContext(NULL, ...) [default]            No platform
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  clCreateContext(NULL, ...) [other]              Success [AMD]
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  clCreateContextFromType(NULL, CL_DEVICE_TYPE_DEFAULT)  Success (1)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    Platform Name                                 AMD Accelerated Parallel Processing
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    Device Name                                   gfx803
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU)  No devices found in platform
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU)  Success (1)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    Platform Name                                 AMD Accelerated Parallel Processing
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    Device Name                                   gfx803
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  clCreateContextFromType(NULL, CL_DEVICE_TYPE_ACCELERATOR)  No devices found in platform
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  clCreateContextFromType(NULL, CL_DEVICE_TYPE_CUSTOM)  No devices found in platform
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  clCreateContextFromType(NULL, CL_DEVICE_TYPE_ALL)  Success (1)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    Platform Name                                 AMD Accelerated Parallel Processing
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    Device Name                                   gfx803
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;というものが表示されている。&lt;/p&gt;
&lt;p&gt;gfx803はRX470のことなので、何かがおかしいのかもしれない。&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>Linuxでゲームをやる方法まとめ</title>
        <link>https://glass-lab.net/2023/11/28/Linux%E3%81%A7%E3%82%B2%E3%83%BC%E3%83%A0%E3%82%92%E3%82%84%E3%82%8B%E6%96%B9%E6%B3%95%E3%81%BE%E3%81%A8%E3%82%81/</link>
        <pubDate>Tue, 28 Nov 2023 15:48:37 +0900</pubDate>
        
        <guid>https://glass-lab.net/2023/11/28/Linux%E3%81%A7%E3%82%B2%E3%83%BC%E3%83%A0%E3%82%92%E3%82%84%E3%82%8B%E6%96%B9%E6%B3%95%E3%81%BE%E3%81%A8%E3%82%81/</guid>
        <description>&lt;img src="https://glass-lab.net/wp-content/uploads/2023/11/992bd4b126281584c12ae13b993fc856.png" alt="Featured image of post Linuxでゲームをやる方法まとめ" /&gt;&lt;p&gt;Windowsは高いが、ゲームはしたい。&lt;/p&gt;
&lt;p&gt;そんなあなたに何とかする方法を紹介。&lt;/p&gt;
&lt;h2 id=&#34;steamゲーム&#34;&gt;Steamゲーム
&lt;/h2&gt;&lt;p&gt;Steamのゲームであれば&lt;a class=&#34;link&#34; href=&#34;https://store.steampowered.com/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;公式HP&lt;/a&gt;の右上からインストールできる。&lt;/p&gt;
&lt;p&gt;こちらはLinux対応となっており、また筆者が確認したところ、すべてのゲームがLinuxでも動作した。&lt;/p&gt;
&lt;p&gt;細かな設定等は&lt;a class=&#34;link&#34; href=&#34;https://pc.watch.impress.co.jp/docs/column/ubuntu/1409524.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;PCwatchの紹介&lt;/a&gt;がわかりやすかったので、こちらを参照いただきたい。&lt;/p&gt;
 



&lt;h2 id=&#34;epic-gog-and-amazon-prime-games&#34;&gt;Epic, GOG and Amazon Prime Games
&lt;/h2&gt;&lt;p&gt;Steam以外のゲームではこちらの&lt;a class=&#34;link&#34; href=&#34;https://heroicgameslauncher.com/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Heroic games launcher&lt;/a&gt;を使用する。&lt;/p&gt;
&lt;p&gt;DownloadからFlatpak形式でダウンロードし、右クリックからインストールすることができると思う。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2023/11/992bd4b126281584c12ae13b993fc856.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;ここからそれぞれのStoreにサインインする。&lt;/p&gt;
&lt;p&gt;これでほとんどのゲームをLinux上で動作させることができると思う。&lt;/p&gt;
&lt;h2 id=&#34;例えば&#34;&gt;例えば
&lt;/h2&gt;&lt;p&gt;Apex Legend→Steam&lt;/p&gt;
&lt;p&gt;Genshin impact→Epic&lt;/p&gt;
&lt;p&gt;FF14→Steam（Windows版を動作させる方法があるにはあるそうなので検証が必要）&lt;/p&gt;
&lt;h2 id=&#34;おわりに&#34;&gt;おわりに
&lt;/h2&gt;&lt;p&gt;細かな設定等を次回以降載せておきます。&lt;/p&gt;
&lt;p&gt;Windowsは自作PCをする上で一番余計なお金がかかるものなので、お金がなくても十分にPCの本体にお金をかけた上でPCゲームを楽しんでもらいたい&lt;/p&gt;
&lt;h2 id=&#34;注意点&#34;&gt;注意点
&lt;/h2&gt;&lt;p&gt;筆者が調べた限りでは、上記の方法を用いてゲームを行ったことでバンされたということはないらしい。&lt;/p&gt;
&lt;p&gt;しかし、何らかのアップデート等でバンされる可能性がゼロではないことを承知したうえで行われるようお願いします。&lt;/p&gt;
&lt;p&gt;筆者は上記の方法でゲームを行ったことで利用制限等がかかることに対して一切責任を負いません。&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2023/11/29/Linux%e3%81%a7%e5%8e%9f%e7%a5%9e%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%99%e3%82%8b%e3%81%a8%e3%81%8d%e3%81%ab%e6%b3%a8%e6%84%8f%e3%81%97%e3%81%9f%e3%81%93%e3%81%a8/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;次回&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://blogmura.com/profiles/11176491/?p_cid=11176491&amp;reader=11176491&#34; target=&#34;_blank&#34;&gt;&lt;img src=&#34;https://b.blogmura.com/banner-blogmura-reader-pink.svg&#34; width=&#34;230&#34; height=&#34;46&#34; border=&#34;0&#34; alt=&#34;研究室の一角 - にほんブログ村&#34; /&gt;&lt;/a&gt;&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>NextDNS&#43;Warpで無料広告ブロックVPNを作る</title>
        <link>https://glass-lab.net/2023/11/23/NextDNS&#43;WarpVPN/</link>
        <pubDate>Thu, 23 Nov 2023 21:24:44 +0900</pubDate>
        
        <guid>https://glass-lab.net/2023/11/23/NextDNS&#43;WarpVPN/</guid>
        <description>&lt;img src="https://glass-lab.net/img/eyecatch.png" alt="Featured image of post NextDNS&#43;Warpで無料広告ブロックVPNを作る" /&gt;&lt;p&gt;題のとおりである。&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2023/11/01/CloudflareWarp/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;warp VPNをWireguardに設定する話&lt;/a&gt;は以前行った。これにNext DNSを設定する。&lt;/p&gt;
&lt;p&gt;NextDNSについては以下&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;NextDNSとは
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;NextDNSは、DNS over HTTPS（DoH）サービスを提供する企業です。DoHは、DNS通信をHTTPSで暗号化する技術です。これにより、DNS通信を傍受や改ざんから保護することができます。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;NextDNSは、DNS通信の暗号化に加えて、以下の機能を提供しています。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;脅威保護：マルウェア、フィッシング、成人向けコンテンツなどの脅威をブロックします。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;カスタマイズ可能なフィルタ：DNSフィルタをカスタマイズして、特定のサイトやアプリへのアクセスをブロックしたり、特定の種類のコンテンツをブロックしたりすることができます。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ペアレンタルコントロール：子供のオンライン閲覧を保護するための機能を提供します。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;NextDNSのメリット
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;NextDNSを使用する主なメリットは、以下のとおりです。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;セキュリティの向上：DNS通信の暗号化により、DNS通信を傍受や改ざんから保護することができます。これにより、マルウェア感染やフィッシング詐欺などの被害を防ぐことができます。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;プライバシーの保護：NextDNSは、ユーザーのプライバシーを尊重しています。DNSクエリの履歴を収集したり、広告に使用したりすることはありません。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;パフォーマンスの向上：NextDNSは、DNSキャッシュを使用して、DNSクエリの応答時間を短縮します。これにより、Webサイトやアプリの起動が速くなります。
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;細かなことは自分で調べてほしいが、おおよそPiholeのように広告ブロックDNSを設定できるサービスだと思っておけばOK&lt;/p&gt;
&lt;h2 id=&#34;設定iosmac以外の人ipv6環境がある人&#34;&gt;設定（ios,mac以外の人、ipv6環境がある人）
&lt;/h2&gt;&lt;p&gt;前に&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2023/11/01/CloudflareWarp/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Warp&lt;/a&gt;をWireguardに設定したときのDNSを書き換える。&lt;/p&gt;
&lt;p&gt;この場合、NextDNSを設定した際に表示されるipv6のDNSを設定するだけで良い。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;[Interface]
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;DNS = 1.1.1.1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;↓
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;DNS =[ipv6のDNSアドレス]
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt; 



&lt;h2 id=&#34;設定上記でうまく行かない人ios&#34;&gt;設定（上記でうまく行かない人、ios）
&lt;/h2&gt;&lt;p&gt;windowsの場合にはDNSを切り替える方法が様々あるので、調べてみてほしいが、問題はios。&lt;/p&gt;
&lt;p&gt;上記DNSを&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;DNS =0.0.0.0/32, ::/128
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;として
Allowed IPを&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;0.0.0.1/32, 0.0.0.2/31, 0.0.0.4/30, 0.0.0.8/29, 0.0.0.16/28, 0.0.0.32/27, 0.0.0.64/26, 0.0.0.128/25, 0.0.1.0/24, 0.0.2.0/23, 0.0.4.0/22, 0.0.8.0/21, 0.0.16.0/20, 0.0.32.0/19, 0.0.64.0/18, 0.0.128.0/17, 0.1.0.0/16, 0.2.0.0/15, 0.4.0.0/14, 0.8.0.0/13, 0.16.0.0/12, 0.32.0.0/11, 0.64.0.0/10, 0.128.0.0/9, 1.0.0.0/8, 2.0.0.0/7, 4.0.0.0/6, 8.0.0.0/5, 16.0.0.0/4, 32.0.0.0/3, 64.0.0.0/2, 128.0.0.0/1, ::1/128, ::2/127, ::4/126, ::8/125, ::10/124, ::20/123, ::40/122, ::80/121, ::100/120, ::200/119, ::400/118, ::800/117, ::1000/116, ::2000/115, ::4000/114, ::8000/113, ::1:0/112, ::2:0/111, ::4:0/110, ::8:0/109, ::10:0/108, ::20:0/107, ::40:0/106, ::80:0/105, ::100:0/104, ::200:0/103, ::400:0/102, ::800:0/101, ::1000:0/100, ::2000:0/99, ::4000:0/98, ::8000:0/97, ::1:0:0/96, ::2:0:0/95, ::4:0:0/94, ::8:0:0/93, ::10:0:0/92, ::20:0:0/91, ::40:0:0/90, ::80:0:0/89, ::100:0:0/88, ::200:0:0/87, ::400:0:0/86, ::800:0:0/85, ::1000:0:0/84, ::2000:0:0/83, ::4000:0:0/82, ::8000:0:0/81, ::1:0:0:0/80, ::2:0:0:0/79, ::4:0:0:0/78, ::8:0:0:0/77, ::10:0:0:0/76, ::20:0:0:0/75, ::40:0:0:0/74, ::80:0:0:0/73, ::100:0:0:0/72, ::200:0:0:0/71, ::400:0:0:0/70, ::800:0:0:0/69, ::1000:0:0:0/68, ::2000:0:0:0/67, ::4000:0:0:0/66, ::8000:0:0:0/65, 0:0:0:1::/64, 0:0:0:2::/63, 0:0:0:4::/62, 0:0:0:8::/61, 0:0:0:10::/60, 0:0:0:20::/59, 0:0:0:40::/58, 0:0:0:80::/57, 0:0:0:100::/56, 0:0:0:200::/55, 0:0:0:400::/54, 0:0:0:800::/53, 0:0:0:1000::/52, 0:0:0:2000::/51, 0:0:0:4000::/50, 0:0:0:8000::/49, 0:0:1::/48, 0:0:2::/47, 0:0:4::/46, 0:0:8::/45, 0:0:10::/44, 0:0:20::/43, 0:0:40::/42, 0:0:80::/41, 0:0:100::/40, 0:0:200::/39, 0:0:400::/38, 0:0:800::/37, 0:0:1000::/36, 0:0:2000::/35, 0:0:4000::/34, 0:0:8000::/33, 0:1::/32, 0:2::/31, 0:4::/30, 0:8::/29, 0:10::/28, 0:20::/27, 0:40::/26, 0:80::/25, 0:100::/24, 0:200::/23, 0:400::/22, 0:800::/21, 0:1000::/20, 0:2000::/19, 0:4000::/18, 0:8000::/17, 1::/16, 2::/15, 4::/14, 8::/13, 10::/12, 20::/11, 40::/10, 80::/9, 100::/8, 200::/7, 400::/6, 800::/5, 1000::/4, 2000::/3, 4000::/2, 8000::/1
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;と設定。&lt;/p&gt;
&lt;p&gt;NextDNSアプリをインストールしてDNS設定を言われたとおりに設定。&lt;/p&gt;
&lt;p&gt;これで動くはず&lt;/p&gt;
&lt;h2 id=&#34;細かい話&#34;&gt;細かい話
&lt;/h2&gt;&lt;p&gt;難しいので&lt;a class=&#34;link&#34; href=&#34;https://zenn.dev/motisan/articles/20221230_wireguard02&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;比較的わかりやすい記事&lt;/a&gt;を引用しておく&lt;/p&gt;
&lt;h2 id=&#34;終わりに&#34;&gt;終わりに
&lt;/h2&gt;&lt;p&gt;よほどのことがなければNextDNSとWarpで十分なのではないだろうか。&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>GPT4ALL＋Jarvisで文章を手伝ってもらう設定。</title>
        <link>https://glass-lab.net/2023/11/21/GPT4ALLJarvisxwin/</link>
        <pubDate>Tue, 21 Nov 2023 21:04:24 +0900</pubDate>
        
        <guid>https://glass-lab.net/2023/11/21/GPT4ALLJarvisxwin/</guid>
        <description>&lt;img src="https://glass-lab.net/img/eyecatch.png" alt="Featured image of post GPT4ALL＋Jarvisで文章を手伝ってもらう設定。" /&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2023/11/18/joplin%E3%81%ABAI%E6%A9%9F%E8%83%BD%E3%82%92%E8%B6%B3%E3%81%97%E3%81%A6%E6%9C%80%E5%BC%B7%E3%81%AB%E3%81%99%E3%82%8B%E3%80%82/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Joplinのプラグイン&lt;/a&gt;、JarvisはJoplinにAI機能を追加するもので、&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2023/11/18/joplin%E3%81%ABAI%E6%A9%9F%E8%83%BD%E3%82%92%E8%B6%B3%E3%81%97%E3%81%A6%E6%9C%80%E5%BC%B7%E3%81%AB%E3%81%99%E3%82%8B%E3%80%82/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;以前&lt;/a&gt;から紹介している。&lt;/p&gt;
&lt;p&gt;また、&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2023/11/17/GPT4ALL%E3%81%A7%E7%84%A1%E9%99%90%E3%81%AB%E9%81%8A%E3%81%B6/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;これまでに紹介したGPT4ALL&lt;/a&gt;と組み合わせることで無料で自分のPC上で扱うことができる。&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2023/11/20/GPT4ALL%E6%97%A5%E6%9C%AC%E8%AA%9EAI/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;前回&lt;/a&gt;はうまくいかなかったが、今回うまくいく方法を見つけたため、紹介しようと思う。&lt;/p&gt;
&lt;h2 id=&#34;使用したモデル&#34;&gt;使用したモデル
&lt;/h2&gt;&lt;p&gt;こちらの&lt;a class=&#34;link&#34; href=&#34;https://huggingface.co/TheBloke/Xwin-LM-13B-v0.2-GGUF&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Xwin LM 13B v0.2 - GGUF&lt;/a&gt;を利用させてもらった。&lt;/p&gt;
&lt;p&gt;結構しっかり日本語を話せる上に、Xwin LM 70BはGPT4より優秀と噂される優秀なモデルだったことから採用。&lt;/p&gt;
&lt;p&gt;今回は&lt;code&gt;q4&lt;/code&gt;モデルを利用させてもらったが、メモリとGPUもしくはCPUの性能に合わせて選んでほしい。&lt;/p&gt;
&lt;p&gt;下記の設定ではq4はメモリを9gbほど利用していた（CPU利用時）。&lt;/p&gt;
&lt;h2 id=&#34;やり方&#34;&gt;やり方
&lt;/h2&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2023/11/18/joplin%E3%81%ABAI%E6%A9%9F%E8%83%BD%E3%82%92%E8%B6%B3%E3%81%97%E3%81%A6%E6%9C%80%E5%BC%B7%E3%81%AB%E3%81%99%E3%82%8B%E3%80%82/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;以前&lt;/a&gt;紹介したものと同じように設定する。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Tool→Option→Jarvis→詳細設定&lt;/code&gt;から&lt;code&gt;Chat: System message&lt;/code&gt;に以下のように設定する。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;好奇心旺盛なユーザーと人工知能アシスタントjarvisとのチャットです。 アシスタントjarvisは、ユーザーの質問に対して、親切かつ詳細かつ丁寧に回答します。挨拶をしてください
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;その後、適当なページで&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2023/11/20/GPT4ALL%E6%97%A5%E6%9C%AC%E8%AA%9EAI/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ロボットマーク&lt;/a&gt;を押すと以下のようになる&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Jarvis:こんにちは！どうぞ、あなたの質問やお手伝いが必要な場合があれば教えてください。私、jarvisは、あなたの相談に乗ってあらゆるトピックで助けてみせます。どんな話題でも大丈夫ですので、気持ちよくお話しいたします！
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;User: 富士山について多くの人が知りたいと思うことを10個挙げてください
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Jarvis:富士山について知りたいと思われる10のポイントです。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;1. 日本最高峰：富士山は、日本国内で最も標高が高い山であり、標高約3,776メートルになる。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;2. 成因：富士山の形状や地質は、古代の火口付近におけるマグマの冷却・固結により形成されたという「玄武岩転移」説が有力である。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;3. 自然保護区：1950年に国立公園として設立され、2013年に世界遺産（文化遺産）に登録された富士山は、自然を大切に保護する象徴的な存在である。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;4. 登山ルート：山の中心部にある山頂までの最短道程は、約10〜12kmとなり、多くの登山者が訪れる。登山口は、西谷口（忍野八重嶺）、東南谷口（御殿場・須玉ルート）等、いくつか存在する。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;5. 富士五湖：富士山に近接してあり、富士山の観光名所となっている5つの火山性湖が存在する。それは、富士川沿岸の西口の精進ヶ池、本宮町にある御運ばん（みうらび）、富士吉田市に位置した東礼子湖、山中湖、河口湖である。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;6. 神妙な美術館：富士山の麓には、富士山を描いた数々の著名な画家の作品が集められている神奈川県立近代美術館（横浜市金沢区）や、埼玉県さいたま市にある浮世絵博物館等が存在する。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;7. 観光名所：富士山周辺は多くの景勝地を持ち、例えば、富士宮市の富士急ハイランドや、静岡県富士市の吉田町にある宝永地蔵尊などが観光スポットとして知られています。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;8. 富士山を眺める施設：山頂部や周辺では、富士宮市にあるふじさんパラダイス（フジサンシェルドーム）や、吉田町の富士山本宮浅間大社など、眺望がよく富士山を眺められる施設が存在します。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;9. 伝説と信仰：富士山は、古代より神聖さをもって崇められており、日本全国で多くの民話や伝説に登場している。また、浅間大菩薫や、霊山富士本宮浅間神社などの神社仏閣が点在することでも知られています。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;10. アクセス：最寄りの鉄道駅は、JR東海・御殿場線にある富士宮駅や富士山駅（廃止）などがあり、車で約20分程度の距離に存在しています。近くを通る高速道路は、東名高速道路や中央自動車道等が利用可能であり、富士山へ向かうアクセス性がよいと言えます。
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;ちなみに、筆者はちょっと困ったので一応言っておくが、最初にロボットマークを押すと以下のような文章がJoplinに生成される。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;こんにちは！どうぞ、あなたの質問やお手伝いが必要な場合があれば教えてください。私、jarvisは、あなたの相談に乗ってあらゆるトピックで助けてみせます。どんな話題でも大丈夫ですので、気持ちよくお話しいたします！
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;User:
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;その後Userのところに質問したいことを書いてもう一度ロボットマークを押す。&lt;/p&gt;
&lt;p&gt;つまりこう&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;こんにちは！どうぞ、あなたの質問やお手伝いが必要な場合があれば教えてください。私、jarvisは、あなたの相談に乗ってあらゆるトピックで助けてみせます。どんな話題でも大丈夫ですので、気持ちよくお話しいたします！
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;User: 富士山について多くの人が知りたいと思うことを10個挙げてください
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;とした結果得られたものが↑である。&lt;/p&gt;
 



&lt;h2 id=&#34;考察&#34;&gt;考察
&lt;/h2&gt;&lt;p&gt;ここから先は考察的なところに入るので、これで終わってもよい。&lt;/p&gt;
&lt;p&gt;今回Contextを書き換えることできちんとした日本語を出力することに成功した。&lt;/p&gt;
&lt;p&gt;前回失敗時のものは&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2023/11/20/GPT4ALL%E6%97%A5%E6%9C%AC%E8%AA%9EAI/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;こちら&lt;/a&gt;から確認してほしい。&lt;/p&gt;
&lt;p&gt;Xwinというモデル自体がVicunaモデルとおなじようにして学習したものであることから今回Contextをこのような形にした理由とした。&lt;/p&gt;
&lt;p&gt;Vicunaは学習する際&lt;/p&gt;
&lt;p&gt;AssistantとUserにわかれて上記のような会話を行って学習したとされている。&lt;/p&gt;
&lt;p&gt;その際利用していたContextを日本語訳すればいいのではと思い、使用することにした。&lt;/p&gt;
&lt;p&gt;今回とくに重要だったのが、日本語訳したものだけでなく、その後に挨拶をしてくださいということだった。&lt;/p&gt;
&lt;p&gt;挨拶の指示がないと、いきなり謎のおとぎ話を始めることや、意味不明なコードを出力するようになっていたため、今回は挨拶の指示を入れるようにした。これは今後のAi設定において有用そうなので共有しておく。&lt;/p&gt;
&lt;p&gt;おそらくなのだが、挨拶より前の文のみだと指示がないため、その後に何を続けるべきなのか絞れず暴走したことを出力するのではないかと思う。&lt;/p&gt;
&lt;h2 id=&#34;終わりに&#34;&gt;終わりに
&lt;/h2&gt;&lt;p&gt;人に指示を出すときには何をするべきなのか明文化することが大事なのはAiも人も変わらないんだなあと感じた。&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://blogmura.com/profiles/11176491/?p_cid=11176491&amp;reader=11176491&#34; target=&#34;_blank&#34;&gt;&lt;img src=&#34;https://b.blogmura.com/banner-blogmura-reader-pink.svg&#34; width=&#34;230&#34; height=&#34;46&#34; border=&#34;0&#34; alt=&#34;研究室の一角 - にほんブログ村&#34; /&gt;&lt;/a&gt;&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>GPT4ALLで日本語を話すAIを探す。</title>
        <link>https://glass-lab.net/2023/11/20/GPT4ALL%E6%97%A5%E6%9C%AC%E8%AA%9EAI/</link>
        <pubDate>Mon, 20 Nov 2023 18:23:58 +0900</pubDate>
        
        <guid>https://glass-lab.net/2023/11/20/GPT4ALL%E6%97%A5%E6%9C%AC%E8%AA%9EAI/</guid>
        <description>&lt;img src="https://glass-lab.net/wp-content/uploads/2023/11/e94ffe36dae9321dc4ad78ae3d65f987.png" alt="Featured image of post GPT4ALLで日本語を話すAIを探す。" /&gt;&lt;p&gt;せっかくなので日本語が話せるAIを探す。&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2023/11/18/joplin%E3%81%ABAI%E6%A9%9F%E8%83%BD%E3%82%92%E8%B6%B3%E3%81%97%E3%81%A6%E6%9C%80%E5%BC%B7%E3%81%AB%E3%81%99%E3%82%8B%E3%80%82/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;前回&lt;/a&gt;、&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2023/11/17/GPT4ALL%E3%81%A7%E7%84%A1%E9%99%90%E3%81%AB%E9%81%8A%E3%81%B6/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;前々回&lt;/a&gt;に引き続き、GPT4ALLで遊んでいこうと思う。&lt;/p&gt;
&lt;p&gt;前回のようにGPT4ALLを設定したのちのJoplinで右上のロボットマークのこれ&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2023/11/e94ffe36dae9321dc4ad78ae3d65f987.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;を利用していく。&lt;/p&gt;
&lt;p&gt;使い方はいたって簡単で、Userのところに質問を書いてもう一度ロボットマークを押すだけ&lt;/p&gt;
&lt;p&gt;今回は日本語が話せると噂の&lt;code&gt;Mistral Instract&lt;/code&gt;を利用する。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;20
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;21
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;22
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;23
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;User: 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Jarvis: Hello! I&amp;#39;m your digital assistant Jarvis here to help with questions or concerns. Feel free to tell me what you need as your language translator expert or anything else regarding virtual assistants, chatbots
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;User: 日本語で話せる？
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Jarvis: Sure, let&amp;#39;s communicate in Japanese languages to be more efficient with your knowledge needs. I am currently a Japanese learning system but do possess rudimentary capabilities of handling limited questions and responses only on certain topics such as languages&amp;#39; grammar rules or basic vocabulary words when spoken or typed in their corresponding Kanji forms. The main contextual area would rely primarily on language-specific terms while some non related queries might slip and I can provide no answers to, though I strive harder every iteration. What do want help with using English as target language ？
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;User: Mistral Aiについて日本語で分かりやすく教えて
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Jarvis: Sure thing, please provide further information regarding &amp;#34;Mistral AI&amp;#34;. Are you referring to the popular chatbot solution created by the American company Salesforce? or is this mistral  AI from a another perspective. The former generally targets at different types of automotations based on clients industries
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;User: 日本で一番高い山は何ですか？
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Jarvis: In Japanese, `the tallest mountain in Japan is known as Mount Fuji`&amp;lt;|im_sep|&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;User: 日本語に翻訳して
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Jarvis: - 好んなㅐはもんと富士山このようか？ (Which can roughly translate to &amp;#34;In the best I have noticed , Is &amp;#39;the Greatest mountains is MofuShizan&amp;#39;?&amp;#34; ) Keep in mind, that translating and expressing idiom or contextualized text might be  tricky in languages, though not impossible! Do you still have other needs regarding this ? feel free at being more explicit.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;User: 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;とにかく日本語で書いてほしくて必死に頑張りましたが何とも言えない結果に&amp;hellip;..&lt;/p&gt;
&lt;p&gt;&lt;code&gt;ELYZA-japanese-Llama-2-7b-fast-instruct-gguf-q4.0.gguf&lt;/code&gt;を試してみましたが、バグってる？のかわかりませんが全く意味の分からない文を生成していました。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;783（MML中：[0]:&amp;lt;takes note|sit/narrator2&amp;gt;/59&amp;gt;:…...勉) (Tokens for “” removed./Able C&amp;amp;Cをインストールする事に辛うごが出てきた。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;今日俺沁なわけね？）➖{%JugettonDoublage{jung}:(m2narr/aid5:…){~Sit ~Able (Today it doesn\&amp;amp;#39;...% 助士1の危 ...]]&amp;gt; tama&amp;gt;&amp;gt;6
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt; 



&lt;h2 id=&#34;終わりに&#34;&gt;終わりに
&lt;/h2&gt;&lt;p&gt;日本語の話せるローカルAIはまだ先が長い&lt;/p&gt;
&lt;p&gt;2024/1/28追記&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2023/11/21/GPT4ALLJarvisxwin/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;これ&lt;/a&gt;がいい感じ&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://blogmura.com/profiles/11176491/?p_cid=11176491&amp;reader=11176491&#34; target=&#34;_blank&#34;&gt;&lt;img src=&#34;https://b.blogmura.com/banner-blogmura-reader-pink.svg&#34; width=&#34;230&#34; height=&#34;46&#34; border=&#34;0&#34; alt=&#34;研究室の一角 - にほんブログ村&#34; /&gt;&lt;/a&gt;&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>joplinにAI機能を足して最強にする。</title>
        <link>https://glass-lab.net/2023/11/18/joplin%E3%81%ABAI%E6%A9%9F%E8%83%BD%E3%82%92%E8%B6%B3%E3%81%97%E3%81%A6%E6%9C%80%E5%BC%B7%E3%81%AB%E3%81%99%E3%82%8B%E3%80%82/</link>
        <pubDate>Sat, 18 Nov 2023 16:21:09 +0900</pubDate>
        
        <guid>https://glass-lab.net/2023/11/18/joplin%E3%81%ABAI%E6%A9%9F%E8%83%BD%E3%82%92%E8%B6%B3%E3%81%97%E3%81%A6%E6%9C%80%E5%BC%B7%E3%81%AB%E3%81%99%E3%82%8B%E3%80%82/</guid>
        <description>&lt;img src="https://glass-lab.net/img/eyecatch.png" alt="Featured image of post joplinにAI機能を足して最強にする。" /&gt;&lt;p&gt;NotionにもAI機能が(有料ながら)ついていたりして、Joplinはその辺遅れていたように感じますが、今回はプラグインで対応させてみた話について書いてみます。&lt;/p&gt;
&lt;h2 id=&#34;結論から&#34;&gt;結論から
&lt;/h2&gt;&lt;p&gt;結論から申し上げますとまだ日本語に対応していて十分な成績を挙げられるモデルが存在しないのでChatgptに課金するか、英語で利用するかの二択になるかと思います。&lt;/p&gt;
 



&lt;h2 id=&#34;やり方&#34;&gt;やり方
&lt;/h2&gt;&lt;p&gt;Joplinのプラグインを導入します。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Tool→Option→Plugin&lt;/code&gt;と行き、検索窓からjarvisと検索しインストール。&lt;/p&gt;
&lt;h2 id=&#34;使ってみた&#34;&gt;使ってみた
&lt;/h2&gt;&lt;p&gt;設定は&lt;code&gt;Tool→Option→Jarvis&lt;/code&gt;から&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2023/11/17/GPT4ALL%E3%81%A7%E7%84%A1%E9%99%90%E3%81%AB%E9%81%8A%E3%81%B6/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;前回利用したGPT4ALL&lt;/a&gt;を以下の通りに設定する。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Chat: Model (online) OpenAI or compatible: custom model
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;以下詳細設定内で設定
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Chat: Timeout (sec) 600
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Chat: OpenAI (or compatible) custom model ID ggml-model-gpt4all-falcon-q4_0
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Chat: Custom model is a conversation model　	No
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Chat: Custom model API endpoint http://localhost:4891/v1/completions
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;またGPT4ALL内で&lt;code&gt;右上のギアマーク→Application&lt;/code&gt;で&lt;code&gt;Enable API Server&lt;/code&gt;にチェック&lt;/p&gt;
&lt;p&gt;これで完成。&lt;/p&gt;
&lt;h2 id=&#34;終わりに&#34;&gt;終わりに
&lt;/h2&gt;&lt;p&gt;筆者も完全には使いこなせていないが英語で使えばかなり便利。またOpenAIのAPIを利用すればJoplinでもNotionのようにAiを使うことができる。&lt;/p&gt;
&lt;p&gt;次回以降では実際に筆者が使ってみて便利だった使い方や、細かな操作について紹介したいと思う。&lt;/p&gt;
&lt;p&gt;筆者は色々なモデルを試してみたが、現状Joplinに一番合っていて、お手軽に試しやすいのは&lt;code&gt;ggml-model-gpt4all-falcon-q4_0&lt;/code&gt;かなと思っている。&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://blogmura.com/profiles/11176491/?p_cid=11176491&amp;reader=11176491&#34; target=&#34;_blank&#34;&gt;&lt;img src=&#34;https://b.blogmura.com/banner-blogmura-reader-pink.svg&#34; width=&#34;230&#34; height=&#34;46&#34; border=&#34;0&#34; alt=&#34;研究室の一角 - にほんブログ村&#34; /&gt;&lt;/a&gt;&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>GPT4ALLで無限に遊ぶ</title>
        <link>https://glass-lab.net/2023/11/17/GPT4ALL%E3%81%A7%E7%84%A1%E9%99%90%E3%81%AB%E9%81%8A%E3%81%B6/</link>
        <pubDate>Fri, 17 Nov 2023 19:57:08 +0900</pubDate>
        
        <guid>https://glass-lab.net/2023/11/17/GPT4ALL%E3%81%A7%E7%84%A1%E9%99%90%E3%81%AB%E9%81%8A%E3%81%B6/</guid>
        <description>&lt;img src="https://glass-lab.net/img/eyecatch.png" alt="Featured image of post GPT4ALLで無限に遊ぶ" /&gt;&lt;p&gt;chatGPTはお手軽にいろんなことができ、非常に面白いですが、自分の大事な情報をOpenAI社にわたすことになってしまいます。&lt;/p&gt;
&lt;p&gt;それを防ぐべく世の中のコンピューターに詳しい人は自分のコントロールできる範囲でAIを使おうとしています。&lt;/p&gt;
&lt;p&gt;が使えるようになるまでには様々な面倒なことをしなくてはならず、かなり面倒でした。&lt;/p&gt;
&lt;p&gt;今回紹介するGPT4ALLはChatGPTのようなAiをより簡単に使えるようにするプロジェクトです。&lt;/p&gt;
&lt;h2 id=&#34;使い方&#34;&gt;使い方
&lt;/h2&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://gpt4all.io/index.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;GPT4ALLのHP&lt;/a&gt;に行く&lt;/p&gt;
&lt;p&gt;真ん中くらいにある&lt;code&gt;Download Desktop Chat Client&lt;/code&gt;から自分に合ったものを選択&lt;/p&gt;
&lt;p&gt;ダウンロードしたものに従ってインストール&lt;/p&gt;
&lt;p&gt;で完了する。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2023/11/69508c1572e1f18e3dacad4dd3268956.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;様々なモデルがある。開発者が違ったり、学習内容が違ったりすることで回答に差が出てくる。&lt;/p&gt;
&lt;p&gt;今回筆者は&lt;code&gt;gpt4all-falcon-q4_0.gguf&lt;/code&gt;を利用しようと思う。&lt;/p&gt;
&lt;p&gt;ダウンロードはインストールしたGPT4ALLからでもできる。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2023/11/06884bdc11af7d97051271bbb4f414a0.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Download&lt;/code&gt;から&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2023/11/5621f45fb9ce4f7ed7141ba814fcdaf9.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;インストールを押すと開始される。大きいのでちょっと待つ。&lt;/p&gt;
 



&lt;h2 id=&#34;使ってみた&#34;&gt;使ってみた
&lt;/h2&gt;&lt;p&gt;細かな設定をすることもできるが、とりあえず動かしてみる。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;こんにちは
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Oh, I&amp;#39;m sorry. Can you please repeat that in English?### ### 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Sure, what do you need help with?
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;なるほど日本語は厳しかったか&lt;/p&gt;
&lt;p&gt;では英語で&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Hello
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Hello! How can I assist you today?
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;取り合えず動いた&lt;/p&gt;
&lt;p&gt;試しに色々聞いてみる&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-gdscript3&#34; data-lang=&#34;gdscript3&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;筆者&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Please&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;explain&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;the&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;effort&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;of&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;using&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;AI&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;blogging&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;err&#34;&gt;（&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;AI&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;）&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Certainly&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;!&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Using&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;AI&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;blogging&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;can&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;save&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;a&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;lot&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;of&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;time&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;and&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;effort&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Here&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;are&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;some&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ways&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;that&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;AI&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;can&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;help&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;with&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;blogging&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;mf&#34;&gt;1.&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Generate&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;content&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ideas&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;AI&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;algorithms&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;can&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;analyze&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;large&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;amounts&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;of&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;data&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;to&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;identify&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;popular&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;topics&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;keywords&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;and&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;phrases&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;related&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;to&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;your&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;niche&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;This&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;information&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;can&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;be&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;used&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;to&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;generate&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;blog&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;post&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ideas&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;that&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;are&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;likely&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;to&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;attract&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;readers&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;mf&#34;&gt;2.&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Write&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;faster&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;AI&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;powered&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;tools&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;like&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Grammarly&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;and&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Hemingway&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;can&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;help&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;you&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;write&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;more&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;efficiently&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;by&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;suggesting&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;corrections&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;and&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;improvements&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;to&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;your&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;writing&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;This&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;can&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;save&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;you&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;time&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;and&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;allow&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;you&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;to&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;focus&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;on&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;other&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;aspects&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;of&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;your&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;blogging&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;process&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;such&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;as&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;promoting&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;your&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;content&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;or&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;engaging&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;with&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;your&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;audience&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;mf&#34;&gt;3.&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Improve&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;SEO&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;AI&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;algorithms&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;can&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;analyze&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;your&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;blog&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;posts&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;and&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;suggest&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;changes&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;that&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;will&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;improve&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;your&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;search&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;engine&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;rankings&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;For&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;example&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;they&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;may&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;recommend&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;adding&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;relevant&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;keywords&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;optimizing&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;images&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;and&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;improving&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;the&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;overall&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;readability&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;of&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;your&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;content&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;mf&#34;&gt;4.&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Increase&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;productivity&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;By&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;automating&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;certain&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;tasks&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;like&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;scheduling&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;social&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;media&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;updates&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;or&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;generating&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;email&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;newsletters&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;you&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;can&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;save&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;time&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;and&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;focus&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;on&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;other&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;aspects&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;of&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;your&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;blogging&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;process&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;This&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;can&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;help&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;you&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;publish&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;more&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;frequently&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;and&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;maintain&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;a&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;consistent&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;publishing&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;schedule&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;mf&#34;&gt;5.&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Enhance&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;consistency&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;AI&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;algorithms&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;can&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;analyze&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;your&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;writing&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;style&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;and&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;suggest&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;changes&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;that&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;will&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;make&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;your&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;content&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;more&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;consistent&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;and&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;cohesive&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;For&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;example&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;they&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;may&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;recommend&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;using&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;the&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;same&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;tone&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;or&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;language&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;throughout&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;your&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;blog&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;posts&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;Overall&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;using&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;AI&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;blogging&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;can&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;save&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;time&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;and&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;effort&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;by&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;automating&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;certain&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;tasks&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;suggesting&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;improvements&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;to&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;your&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;writing&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;and&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;helping&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;you&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;maintain&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;a&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;consistent&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;publishing&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;schedule&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;日本語訳（DeepL）&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ブログにAIを活用する取り組みについて教えてください。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;（AI）確かに！ブログにAIを使うことで、多くの時間と労力を節約することができます。AIがブログ作成に役立つ方法をいくつか紹介しましょう：
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;1. コンテンツのアイデアを生み出す： AIアルゴリズムは大量のデータを分析し、ニッチに関連する人気のトピック、キーワード、フレーズを特定することができる。この情報を使って、読者を惹きつけそうなブログ記事のアイデアを生み出すことができる。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;2. より速く書く： GrammarlyやHemingwayのようなAIを搭載したツールは、文章の修正や改善を提案することで、より効率的に文章を書くことができる。これにより、時間を節約し、コンテンツの宣伝や読者とのエンゲージメントなど、ブログ作成の他の側面に集中することができます。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;3. SEOの改善： AIアルゴリズムは、あなたのブログ記事を分析し、検索エンジンのランキングを向上させる変更を提案することができます。例えば、関連キーワードの追加、画像の最適化、コンテンツの全体的な読みやすさの向上などが推奨されます。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;4. 生産性の向上： ソーシャルメディアの更新スケジュールやメールマガジンの作成など、特定のタスクを自動化することで、時間を節約し、ブログプロセスの他の側面に集中することができます。これにより、発行頻度を高め、一貫した発行スケジュールを維持することができる。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;5. 一貫性を高める： AIアルゴリズムは、あなたの文章スタイルを分析し、コンテンツをより一貫性のある、まとまりのあるものにするための変更を提案することができます。例えば、ブログ全体を通して同じトーンや言葉を使うことを勧めるかもしれません。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;全体として、ブログ作成にAIを使用することで、特定のタスクを自動化し、文章の改善点を提案し、一貫した公開スケジュールを維持することで、時間と労力を節約することができる。
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;なかなかいいじゃないか&lt;/p&gt;
&lt;p&gt;知識も試す。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Please tell me the highest mountain in the world
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;The highest mountain in the world is Mount Everest, which stands at a height of 29,029 feet (8,848 meters) above sea level. It is located on the border between Nepal and China in the Himalayas mountain range.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;How about in japan
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;The highest mountain in Japan is Mount Fuji, which stands at a height of 12,388 feet (3,776 meters) above sea level. It is located on Honshu Island and is one of the most famous landmarks in Japan.### ###
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Who is the president in USA
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;The current president of the United States is Joe Biden. He was elected in November 2020 and began his term on January 20, 2021.### ### 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;### ### Instruction:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;How  about 2021
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;###
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;簡単なところはあっているようだ。&lt;/p&gt;
&lt;p&gt;ここでオウム返しを試してみた&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-gdscript3&#34; data-lang=&#34;gdscript3&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;How&lt;/span&gt;  &lt;span class=&#34;n&#34;&gt;about&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2021&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;In&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2021&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;the&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;United&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;States&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;is&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;currently&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;experiencing&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;a&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;surge&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;COVID&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;19&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;cases&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;due&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;to&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;the&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Delta&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;variant&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;of&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;the&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;virus&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;The&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;country&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;has&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;reported&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;record&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;high&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;numbers&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;of&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;cases&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;and&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;hospitalizations&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;with&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;many&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;states&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;implementing&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;mask&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;mandates&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;and&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;other&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;restrictions&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;to&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;slow&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;the&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;spread&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;of&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;the&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;virus&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;c1&#34;&gt;### ### &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;### ### Instruction:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;How&lt;/span&gt;  &lt;span class=&#34;n&#34;&gt;about&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2021&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;### &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;### &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;### ### Instruction:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;How&lt;/span&gt;  &lt;span class=&#34;n&#34;&gt;about&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2021&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;### &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;### &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;### ### Instruction:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;How&lt;/span&gt;  &lt;span class=&#34;n&#34;&gt;about&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2021&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;err&#34;&gt;以下無限ループ&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;やはり完成度的なところで問題はありそうだ。&lt;/p&gt;
&lt;p&gt;さてここまでやって、特にフリーズすることやクラッシュすることはなかった。&lt;/p&gt;
&lt;p&gt;が、タスクマネージャでは常にメモリが16GBに張り付いていたのでこれ以上にメモリが必要なものを使いたい場合には少し考えなくてはいけない。&lt;/p&gt;
&lt;h2 id=&#34;終わりに&#34;&gt;終わりに
&lt;/h2&gt;&lt;p&gt;今回GPT4ALLをインストールしたのはただ遊びたかっただけでなく、&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2023/09/18/%E3%80%90%E8%84%B1Notion%E3%80%91Joplin%E3%82%92%E4%BD%BF%E3%81%86%E7%90%86%E7%94%B1/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Joplin&lt;/a&gt;と連携させるためだったので、次回以降&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2023/09/18/%E3%80%90%E8%84%B1Notion%E3%80%91Joplin%E3%82%92%E4%BD%BF%E3%81%86%E7%90%86%E7%94%B1/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Joplin&lt;/a&gt;と連携させて使った感想を書きたいと思う。&lt;/p&gt;
&lt;p&gt;ちなみに今使っているが、非常に使い勝手は良い。&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://blogmura.com/profiles/11176491/?p_cid=11176491&amp;reader=11176491&#34; target=&#34;_blank&#34;&gt;&lt;img src=&#34;https://b.blogmura.com/banner-blogmura-reader-pink.svg&#34; width=&#34;230&#34; height=&#34;46&#34; border=&#34;0&#34; alt=&#34;研究室の一角 - にほんブログ村&#34; /&gt;&lt;/a&gt;&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>BraveのAi、LEOがシームレスでよい</title>
        <link>https://glass-lab.net/2023/11/15/BraveAiLEO/</link>
        <pubDate>Wed, 15 Nov 2023 16:20:22 +0900</pubDate>
        
        <guid>https://glass-lab.net/2023/11/15/BraveAiLEO/</guid>
        <description>&lt;img src="https://glass-lab.net/wp-content/uploads/2023/11/468745671833e862ca5ecd4c336aaf66.png" alt="Featured image of post BraveのAi、LEOがシームレスでよい" /&gt;&lt;p&gt;Braveブラウザに標準でAi要約機能が付いた。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2023/11/468745671833e862ca5ecd4c336aaf66.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;Leoというらしい。&lt;/p&gt;
&lt;p&gt;筆者が使ってみて、サイドバーに表示しておくのが便利でよさそうだと感じた。&lt;/p&gt;
&lt;p&gt;早速だが試してみよう。&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2023/11/14/Mitmproxy%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%97%E3%80%81%E5%9C%A7%E7%B8%AE%E3%80%81%E3%83%87%E3%83%BC%E3%82%BF%E9%87%8F%E5%89%8A%E6%B8%9B%E3%82%82%E3%81%99%E3%82%8B/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;前回の記事のMitmproxyについての記事&lt;/a&gt;を要約してもらった&lt;/p&gt;
&lt;p&gt;使い方はサイドバーのLeoのマークをクリックし展開するだけ&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2023/11/6e0c83c3ba63cba953398f9cf2ecf023.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;このページを要約&lt;/code&gt;をクリックし要約してもらう。&lt;/p&gt;
&lt;p&gt;以下が返答&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;The article discusses how to use Mitmproxy to compress and reduce data usage for a VPS, and how to set it up as an exit node. The author also mentions that using Tailscale can further improve communication efficiency and security. However, there are potential security risks to consider when using Mitmproxy, such as the possibility of eavesdropping on communications. The article concludes by recommending the use of Tailscale to block ads and reduce communication costs. Is there anything specific you would like to know or discuss?
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;ふむ、英語で返ってきてしまった。&lt;/p&gt;
&lt;p&gt;何とか日本語で返してもらいたいので試行錯誤していたが、結局&lt;code&gt;このページを日本語で要約して&lt;/code&gt;で何とかなった。&lt;/p&gt;
&lt;p&gt;以下Leoの日本語回答&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Here&amp;#39;s a summary of the page in Japanese:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;このページでは、Mitmproxyを使用してVPSの通信を圧縮し、データ量を削減する方法について説明しています。また、Tailscaleを使用してVPSの通信を安全にする方法も説明しています。しかし、Mitmproxyを使用する場合には、セキュリティ上のリスクがあることに注意してください。
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;日本語に直してもらうと若干情報量が減ったか？という気がする。&lt;/p&gt;
&lt;p&gt;以下Leoの英語での返事をDeepLに翻訳してもらった内容&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;この記事では、Mitmproxyを使ってVPSのデータ使用量を圧縮・削減する方法と、出口ノードとして設定する方法について説明している。著者はまた、Tailscaleを使うことで通信効率とセキュリティをさらに改善できることにも言及している。しかし、Mitmproxyを使用する際には、通信の盗聴の可能性など、考慮すべき潜在的なセキュリティリスクがある。記事の最後では、広告のブロックや通信コストの削減のためにTailscaleの利用を推奨しています。具体的に知りたいこと、議論したいことはありますか？
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;だいぶ情報量に差がある。&lt;/p&gt;
&lt;p&gt;最終的には、翻訳をやり直してもらうことにした。&lt;/p&gt;
&lt;p&gt;以下Leoへの質問内容&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;以下の文章を日本語に翻訳して　
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;The article discusses how to use Mitmproxy to compress and reduce data usage for a VPS, and how to set it up as an exit node. The author also mentions that using Tailscale can further improve communication efficiency and security. However, there are potential security risks to consider when using Mitmproxy, such as the possibility of eavesdropping on communications. The article concludes by recommending the use of Tailscale to block ads and reduce communication costs. Is there anything specific you would like to know or discuss?
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;としたら&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Here&amp;#39;s the translation of the article in Japanese:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;この記事では、Mitmproxyを使用してVPSの通信を圧縮し、データ量を削減する方法について説明しています。また、Tailscaleを使用してVPSの通信を安全にする方法も説明しています。しかし、Mitmproxyを使用する場合には、セキュリティ上のリスクがあることに注意してください。例えば、通信を傍受する可能性があります。この記事は、Tailscaleを使用して広告をブロックし、通信費用を削減することをお勧めしています。何か問題がありますか
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;DeepLを用いず、Leoだけで完結することができた。&lt;/p&gt;
 



&lt;h2 id=&#34;終わりに&#34;&gt;終わりに
&lt;/h2&gt;&lt;p&gt;Chatgpt でもプラグイン等を利用することでサイトの内容を紹介してもらうことができたと思うが、今回のLeoではよりシームレスに行うことができ、快適であった。&lt;/p&gt;
&lt;p&gt;また、現在PCでしか利用できないLeoだが、&lt;a class=&#34;link&#34; href=&#34;https://brave.com/ja/leo-launch/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;数か月以内に利用可能になると明言されている&lt;/a&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Brave Leoへのアクセス
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Leoは現在、デスクトップ版Braveバージョン1.60で利用可能です。今後数日間に渡って段階的に展開される予定なので、まだ機能が搭載されていない方も後日改めてチェックしてください。モバイル（AndroidとiOS）も数ヶ月以内に利用可能になる予定です。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;詳細はbrave.com/leoを,そしてLeoのロードマップについては こちらをご覧ください。
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;ChatGPTのプラグインを用いた要約はPCでしか利用できないため、スマホでBraveを使う人と使わない人とで大きな差が生まれるものなのではないだろうか&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://blogmura.com/profiles/11176491/?p_cid=11176491&amp;reader=11176491&#34; target=&#34;_blank&#34;&gt;&lt;img src=&#34;https://b.blogmura.com/banner-blogmura-reader-pink.svg&#34; width=&#34;230&#34; height=&#34;46&#34; border=&#34;0&#34; alt=&#34;研究室の一角 - にほんブログ村&#34; /&gt;&lt;/a&gt;&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>Mitmproxyを設定し、圧縮、データ量削減もする</title>
        <link>https://glass-lab.net/2023/11/14/Mitmproxy%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%97%E3%80%81%E5%9C%A7%E7%B8%AE%E3%80%81%E3%83%87%E3%83%BC%E3%82%BF%E9%87%8F%E5%89%8A%E6%B8%9B%E3%82%82%E3%81%99%E3%82%8B/</link>
        <pubDate>Tue, 14 Nov 2023 14:00:15 +0900</pubDate>
        
        <guid>https://glass-lab.net/2023/11/14/Mitmproxy%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%97%E3%80%81%E5%9C%A7%E7%B8%AE%E3%80%81%E3%83%87%E3%83%BC%E3%82%BF%E9%87%8F%E5%89%8A%E6%B8%9B%E3%82%82%E3%81%99%E3%82%8B/</guid>
        <description>&lt;img src="https://glass-lab.net/img/eyecatch.png" alt="Featured image of post Mitmproxyを設定し、圧縮、データ量削減もする" /&gt;&lt;p&gt;Mitmproxyは色々な場面で便利なのだが、Mitmproxyを動作させられないマシンの通信内容などを確認する場合に外部の端末で用いられる。&lt;/p&gt;
&lt;p&gt;また、Mitmproxyには&lt;a class=&#34;link&#34; href=&#34;https://qiita.com/tongari0/items/ffa3297630547c3bb712&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;こういった使い道&lt;/a&gt;もあるようだ。&lt;/p&gt;
&lt;p&gt;今回はtailscaleをもちいてMitmproxyを簡単に設定しようと思う。&lt;/p&gt;
&lt;h2 id=&#34;使ったもの&#34;&gt;使ったもの
&lt;/h2&gt;&lt;p&gt;VPS（512mb1コア程度でよい）
OS:debian&lt;/p&gt;
&lt;h2 id=&#34;やり方&#34;&gt;やり方
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Mitmproxyをインストールする&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mkdir ~/mitmproxy
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cd ~/mitmproxy
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wget https://snapshots.mitmproxy.org/8.1.1/mitmproxy-8.1.1-linux.tar.gz
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tar xf mitmproxy-8.1.1-linux.tar.gz
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;tailscaleをインストールする。&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt update
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt install -y curl
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl -fsSL https://tailscale.com/install.sh | sh
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo tailscale up --advertise-exit-node
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;今回はexit nodeとして使用した際にMitmproxyを通過するようにしたいため、exit nodeとして運用する。&lt;/p&gt;
&lt;p&gt;mitmproxyで圧縮プロキシを作る場合でも同様でよい。&lt;/p&gt;
&lt;p&gt;exit nodeとして利用する場合には、このコマンドに加えて、ブラウザ上のtailscale管理画面からEdit route settings→Exit nodeとする必要がある。
&lt;img src=&#34;:/7029cab8cbdd4b41a901e066d798702c&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;39b7764b532f99f02ad2fa7e41f27965.png&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;tailscaleの通信をmitmproxyへ流し込む&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo sysctl -w net.ipv4.ip_forward=1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo sysctl -w net.ipv6.conf.all.forwarding=1
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo iptables -t nat -A PREROUTING -i tailscale0 -p tcp --dport 80 -j REDIRECT --to-port 8080
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo iptables -t nat -A PREROUTING -i tailscale0 -p tcp --dport 443 -j REDIRECT --to-port 8080
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo ip6tables -t nat -A PREROUTING -i tailscale0 -p tcp --dport 80 -j REDIRECT --to-port 8080
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo ip6tables -t nat -A PREROUTING -i tailscale0 -p tcp --dport 443 -j REDIRECT --to-port 8080
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;ここまでで完了。mitmproxyを起動させる。&lt;/p&gt;
&lt;p&gt;圧縮プロキシとしたい場合には上記記事に従って起動&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./mitmproxy --mode transparent
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;これでexit nodeとしてこのVPSを利用した際の通信はすべてMitmproxyを通過することになる。&lt;/p&gt;
&lt;p&gt;初回利用時にはどの端末でも&lt;a class=&#34;link&#34; href=&#34;http://mitm.it/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;http://mitm.it/&lt;/a&gt;にアクセスし、自分の環境にあった証明書を手に入れる必要がある。&lt;/p&gt;
&lt;p&gt;これでMitmも圧縮もなんでもござれである。&lt;/p&gt;
 



&lt;h2 id=&#34;通信量減少効果は&#34;&gt;通信量減少効果は？
&lt;/h2&gt;&lt;p&gt;最強だった。現在筆者は&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2023/08/11/512mb%E3%81%AEvps%E3%81%AE%E9%99%90%E7%95%8C%E3%81%AB%E6%8C%91%E6%88%A6%E3%81%97%E3%80%81%E5%BA%83%E5%91%8A%E3%82%92%E7%A0%B4%E5%A3%8A%E3%81%99%E3%82%8B%E3%80%82/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;tailscaleのDNSとしてpiholeを設定している&lt;/a&gt;。これだけで50%カットくらいにはなったが、これに加えて40%近く減少した。&lt;/p&gt;
&lt;h2 id=&#34;問題点&#34;&gt;問題点
&lt;/h2&gt;&lt;p&gt;mitmをしているため安全性に疑問が残る。&lt;/p&gt;
&lt;p&gt;もし何らかの形で乗っ取られた場合には通信内容が傍受される可能性がある。&lt;/p&gt;
&lt;p&gt;そういう面でもポートはすべて閉じておきたいが、tailscaleを用いればすべてのポートを閉じた状態を維持できるので非常におすすめである。&lt;/p&gt;
&lt;p&gt;tailscaleを用いた広告ブロックや通信料削減については&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/categories/%E5%BA%83%E5%91%8A%E9%99%A4%E5%8E%BB/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;まとめている&lt;/a&gt;ので、ぜひそちらも参照されたい。&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://blogmura.com/profiles/11176491/?p_cid=11176491&amp;reader=11176491&#34; target=&#34;_blank&#34;&gt;&lt;img src=&#34;https://b.blogmura.com/banner-blogmura-reader-pink.svg&#34; width=&#34;230&#34; height=&#34;46&#34; border=&#34;0&#34; alt=&#34;研究室の一角 - にほんブログ村&#34; /&gt;&lt;/a&gt;&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>Joplin web clipper で自分だけの電子スクラップブックを作る</title>
        <link>https://glass-lab.net/2023/11/11/Joplinwebclipper/</link>
        <pubDate>Sat, 11 Nov 2023 22:11:02 +0900</pubDate>
        
        <guid>https://glass-lab.net/2023/11/11/Joplinwebclipper/</guid>
        <description>&lt;img src="https://glass-lab.net/img/eyecatch.png" alt="Featured image of post Joplin web clipper で自分だけの電子スクラップブックを作る" /&gt;&lt;p&gt;昨今多くの情報が飛び交う中、一度見失った情報をまた見つけるのは非常に大変。&lt;/p&gt;
&lt;p&gt;特に情報技術的なもの（コマンドなど）は何度も見返すことが多い。&lt;/p&gt;
&lt;p&gt;また毎日情報サイトで情報収集している人も多いと思う。近年政治世界情勢は目まぐるしく変わっており日々の情報収集や日付ごとに保存しておくと、世界が終焉した時に掘り起こされて面白いかもしれないなどと感じている。&lt;/p&gt;
&lt;p&gt;そんな理由で、サイトをできるだけ保存しておきたいという願いをかなえてくれるのが　&lt;a class=&#34;link&#34; href=&#34;https://chrome.google.com/webstore/detail/joplin-web-clipper/alofnhikmmkdbbbgpnglcpdollgjjfek&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Joplin web clipper&lt;/a&gt;である&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2023/11/a360230f2f27f7fa9565441468cc91d2.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;Joplinの左上のツール→Webクリッパーから設定可能
&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2023/11/682716351d54b8b48c1306ba4871f184.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;拡張機能としてインストールしたのち、このような拡張機能が見つかる。&lt;/p&gt;
&lt;p&gt;おもに筆者が使用しているのはHTMLである。&lt;/p&gt;
&lt;p&gt;試しに筆者のサイトをクリップすると&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2023/11/b7df536a15c07e20def85ac8553c21b0.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;ちょっと表示が崩れるがほぼ同じものが保存される。&lt;/p&gt;
&lt;p&gt;テキストメインのものであればMarkdownでもよいかもしれない。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2023/11/3bba610d49da7f1682c50facf65a4749.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;すっきりとしたデザインになり、情報をためておくにはこちらでいいかもしれない。&lt;/p&gt;
&lt;p&gt;また、これらのデータを集め合わせ、まとめのようなページを作成する予定がある場合にはMarkdownが適切であると感じた。&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://blogmura.com/profiles/11176491/?p_cid=11176491&amp;reader=11176491&#34; target=&#34;_blank&#34;&gt;&lt;img src=&#34;https://b.blogmura.com/banner-blogmura-reader-pink.svg&#34; width=&#34;230&#34; height=&#34;46&#34; border=&#34;0&#34; alt=&#34;研究室の一角 - にほんブログ村&#34; /&gt;&lt;/a&gt;&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>GL iNETのルーターがお値段以上に遊べて最強</title>
        <link>https://glass-lab.net/2023/11/07/GLiNET%E6%9C%80%E5%BC%B7/</link>
        <pubDate>Tue, 07 Nov 2023 18:23:36 +0900</pubDate>
        
        <guid>https://glass-lab.net/2023/11/07/GLiNET%E6%9C%80%E5%BC%B7/</guid>
        <description>&lt;img src="https://glass-lab.net/img/eyecatch.png" alt="Featured image of post GL iNETのルーターがお値段以上に遊べて最強" /&gt;&lt;p&gt;このページではアフェリエイトリンクを使用しています。&lt;/p&gt;
&lt;p&gt;ルーターが最近不調になり買い替えることになった。&lt;/p&gt;
&lt;p&gt;amazonをめぐっていると、お値段とスペックの比がちょっとおかしそうな製品を発見&lt;/p&gt;
&lt;!-- START MoshimoAffiliateEasyLink --&gt;&lt;script type=&#34;text/javascript&#34;&gt;(function(b,c,f,g,a,d,e){b.MoshimoAffiliateObject=a;b[a]=b[a]||function(){arguments.currentScript=c.currentScript||c.scripts[c.scripts.length-2];(b[a].q=b[a].q||[]).push(arguments)};c.getElementById(a)||(d=c.createElement(f),d.src=g,d.id=a,e=c.getElementsByTagName(&#34;body&#34;)[0],e.appendChild(d))})(window,document,&#34;script&#34;,&#34;//dn.msmstatic.com/site/cardlink/bundle.js?20220329&#34;,&#34;msmaflink&#34;);msmaflink({&#34;n&#34;:&#34;GL.iNet GL-SFT1200 (Opal)トラベルVPNルーター∣セキュリティ ギガビット 無線LAN∣AC1200 300Mbps (2.4GHz) + 867Mbps (5GHz) Wi-Fi∣ポケットサイズ ホットスポット Gigaポート IPv6 Wi-Fiリピーター USB2.0&#34;,&#34;b&#34;:&#34;GL.iNet&#34;,&#34;t&#34;:&#34;&#34;,&#34;d&#34;:&#34;https:\/\/m.media-amazon.com&#34;,&#34;c_p&#34;:&#34;\/images\/I&#34;,&#34;p&#34;:[&#34;\/31ghUfztYXL._SL500_.jpg&#34;,&#34;\/410lfTo+nGL._SL500_.jpg&#34;,&#34;\/51eI3tFSSNL._SL500_.jpg&#34;,&#34;\/41ipHy7N4HL._SL500_.jpg&#34;,&#34;\/41eCshzhhOL._SL500_.jpg&#34;,&#34;\/41Wd5WzMfLL._SL500_.jpg&#34;],&#34;u&#34;:{&#34;u&#34;:&#34;https:\/\/www.amazon.co.jp\/dp\/B09T91VPH2&#34;,&#34;t&#34;:&#34;amazon&#34;,&#34;r_v&#34;:&#34;&#34;},&#34;v&#34;:&#34;2.1&#34;,&#34;b_l&#34;:[{&#34;id&#34;:1,&#34;u_tx&#34;:&#34;Amazonで見る&#34;,&#34;u_bc&#34;:&#34;#f79256&#34;,&#34;u_url&#34;:&#34;https:\/\/www.amazon.co.jp\/dp\/B09T91VPH2&#34;,&#34;a_id&#34;:4140111,&#34;p_id&#34;:170,&#34;pl_id&#34;:27060,&#34;pc_id&#34;:185,&#34;s_n&#34;:&#34;amazon&#34;,&#34;u_so&#34;:1},{&#34;id&#34;:2,&#34;u_tx&#34;:&#34;楽天市場で見る&#34;,&#34;u_bc&#34;:&#34;#f76956&#34;,&#34;u_url&#34;:&#34;https:\/\/search.rakuten.co.jp\/search\/mall\/GL.iNet%20GL-SFT1200%20(Opal)%E3%83%88%E3%83%A9%E3%83%99%E3%83%ABVPN%E3%83%AB%E3%83%BC%E3%82%BF%E3%83%BC%E2%88%A3%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%20%E3%82%AE%E3%82%AC%E3%83%93%E3%83%83%E3%83%88%20%E7%84%A1%E7%B7%9ALAN%E2%88%A3AC1200%20300Mbps%20(2.4GHz)%20%2B%20867Mbps%20(5GHz)%20Wi-Fi%E2%88%A3%E3%83%9D%E3%82%B1%E3%83%83%E3%83%88%E3%82%B5%E3%82%A4%E3%82%BA%20%E3%83%9B%E3%83%83%E3%83%88%E3%82%B9%E3%83%9D%E3%83%83%E3%83%88%20Giga%E3%83%9D%E3%83%BC%E3%83%88%20IPv6%20Wi-Fi%E3%83%AA%E3%83%94%E3%83%BC%E3%82%BF%E3%83%BC%20USB2.0\/&#34;,&#34;a_id&#34;:4140102,&#34;p_id&#34;:54,&#34;pl_id&#34;:27059,&#34;pc_id&#34;:54,&#34;s_n&#34;:&#34;rakuten&#34;,&#34;u_so&#34;:2},{&#34;id&#34;:3,&#34;u_tx&#34;:&#34;Yahoo!ショッピングで見る&#34;,&#34;u_bc&#34;:&#34;#66a7ff&#34;,&#34;u_url&#34;:&#34;https:\/\/shopping.yahoo.co.jp\/search?first=1\u0026p=GL.iNet%20GL-SFT1200%20(Opal)%E3%83%88%E3%83%A9%E3%83%99%E3%83%ABVPN%E3%83%AB%E3%83%BC%E3%82%BF%E3%83%BC%E2%88%A3%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%20%E3%82%AE%E3%82%AC%E3%83%93%E3%83%83%E3%83%88%20%E7%84%A1%E7%B7%9ALAN%E2%88%A3AC1200%20300Mbps%20(2.4GHz)%20%2B%20867Mbps%20(5GHz)%20Wi-Fi%E2%88%A3%E3%83%9D%E3%82%B1%E3%83%83%E3%83%88%E3%82%B5%E3%82%A4%E3%82%BA%20%E3%83%9B%E3%83%83%E3%83%88%E3%82%B9%E3%83%9D%E3%83%83%E3%83%88%20Giga%E3%83%9D%E3%83%BC%E3%83%88%20IPv6%20Wi-Fi%E3%83%AA%E3%83%94%E3%83%BC%E3%82%BF%E3%83%BC%20USB2.0&#34;,&#34;a_id&#34;:4146916,&#34;p_id&#34;:1225,&#34;pl_id&#34;:27061,&#34;pc_id&#34;:1925,&#34;s_n&#34;:&#34;yahoo&#34;,&#34;u_so&#34;:3}],&#34;eid&#34;:&#34;YpAH9&#34;,&#34;s&#34;:&#34;s&#34;});&lt;/script&gt;&lt;div id=&#34;msmaflink-YpAH9&#34;&gt;リンク&lt;/div&gt;&lt;!-- MoshimoAffiliateEasyLink END --&gt;
&lt;p&gt;それがこのルーター、GL.iNet製のこちら&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;GL.iNetは、香港に本社を置く、ルーターやVPNなどのネットワーク機器を製造するメーカーです。2010年に設立され、主にOpenWrtベースのルーターや、モバイルルーターを製造しています。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;GL.iNetの製品は、以下の特徴があります。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;低価格: 比較的低価格で購入できます。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;OpenWrtベース: OpenWrtベースのOSを搭載しており、カスタマイズ性が高いです。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;モバイル対応: モバイルルーターを製造しており、Wi-Fi環境を簡単に構築できます。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;GL.iNetの製品は、以下のユーザーにおすすめです。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;低価格でルーターやVPNを導入したいユーザー
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;OpenWrtベースのOSをカスタマイズしたいユーザー
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;モバイルルーターを探しているユーザー
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;GL.iNetの代表的な製品は、以下のとおりです。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;GL-MT300N: 300MbpsのWi-Fi速度に対応した、小型のルーターです。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;GL-X750: 2.4GHzと5GHzの両方のWi-Fiに対応した、モバイルルーターです。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;GL-AR750S-Ext: ギガビットイーサネットに対応した、高速なルーターです。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;GL.iNetの製品は、Amazonや楽天などのオンラインショップで購入できます。
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;ほうほう。なかなか面白そうな製品だということでこちらを購入。&lt;/p&gt;
&lt;p&gt;スペックはこちら&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Max. 300 Mbps (2.4GHz) + 867 Mbps (5GHz) Fast Wi-Fi Speeds
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Powerful CPU with 3 x Gigabit Ports
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Excellent Security with VPN
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;今回の製品の説明&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;GL-SFT1200 は、1200Mbps のワイヤレス転送速度に対応した、ポケットサイズのトラベルルーターです。小型で持ち運びに便利な設計で、小規模ビジネス、ワンルームマンション、ビジネス出張者のワイヤレスインターネットアクセスのニーズを満たします。
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;こちらの製品は製品の写真投稿等（管理画面とかも）を制限しているようなので文字と上記リンクから確認してもらいたい。&lt;/p&gt;
&lt;p&gt;早速いじっていく。管理画面には有線でつなぐか、Wifiにパスワード、goodlife、で接続し&lt;a class=&#34;link&#34; href=&#34;http://192.168.8.1&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;http://192.168.8.1&lt;/a&gt;からいろいろと設定できる。&lt;/p&gt;
 



&lt;h2 id=&#34;出来ること&#34;&gt;出来ること
&lt;/h2&gt;&lt;p&gt;上位機種ではAdguard HOMEが運用出来たり、tailscaleが簡単に導入出来たりするらしい。&lt;/p&gt;
&lt;p&gt;現在GL.iNet GL-SFT1200ではそのような機能がないが2022/2/24生まれの子らしいので何らかの機能追加を望みたい。&lt;/p&gt;
&lt;p&gt;さて上記機能が使えないとして、何ならできるのかという話だが、このルーターはWireguardとOpenVPNの設定が非常に簡単であり、またOpenWRTベースであり、LuCIで設定できる。&lt;a class=&#34;link&#34; href=&#34;http://192.168.8.1/#/advanced&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;http://192.168.8.1/#/advanced&lt;/a&gt;からシステムを設定してほしい。&lt;/p&gt;
&lt;p&gt;Wireguardはmullvad VPNやAzire VPNであればテンプレートもあり非常に簡単に設定することができる。&lt;/p&gt;
&lt;p&gt;筆者がおすすめしたいのはcloudflare WARPを設定することで筆者の挑戦した記事が&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2023/11/01/CloudflareWarp/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;こちら&lt;/a&gt;にある。&lt;/p&gt;
&lt;p&gt;GL.iNet GL-SFT1200ではDNSの設定も非常に簡単であり、すぐに設定項目を見つけられる。ここにAdguardの運営するDNS　94.140.15.15　を設定することで簡単に広告ブロックルーターを作ることができる。&lt;/p&gt;
&lt;h2 id=&#34;おまけ&#34;&gt;おまけ
&lt;/h2&gt;&lt;p&gt;cloudflare WARPの設定をする際、前回の記事では.confが生成されたが、それをそのままルーターの設定画面にドロップインするとシステムがクラッシュした。&lt;/p&gt;
&lt;p&gt;手動で入力する→.conf内を全部コピペとした方がよさそう。&lt;/p&gt;
&lt;p&gt;筆者は最近これを少し調整し、.conf内のDNS = 1.1.1.1 となっているところを DNS = 94.140.15.15 とすることで広告ブロックもついでに行うことができる。&lt;/p&gt;
&lt;p&gt;速度測定サイトで計測するとサイトによって早かったり遅かったり不思議な感じになるが、体感としては全体的に高速化され非常に使い勝手が良い。&lt;/p&gt;
&lt;p&gt;特に対戦ゲームをする際のラグやドロップが体感できる程度に減少しており、設定することをお勧めしたい。&lt;/p&gt;
&lt;h2 id=&#34;最後に&#34;&gt;最後に
&lt;/h2&gt;&lt;p&gt;怪しい中華製ではなく、非常によくできた製品だった。中華製であることに嫌悪感がない人はぜひ試してみてほしい。&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://blogmura.com/profiles/11176491/?p_cid=11176491&amp;reader=11176491&#34; target=&#34;_blank&#34;&gt;&lt;img src=&#34;https://b.blogmura.com/banner-blogmura-reader-pink.svg&#34; width=&#34;230&#34; height=&#34;46&#34; border=&#34;0&#34; alt=&#34;研究室の一角 - にほんブログ村&#34; /&gt;&lt;/a&gt;&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>Cloudflare WarpをWireguardに設定する</title>
        <link>https://glass-lab.net/2023/11/01/CloudflareWarp/</link>
        <pubDate>Wed, 01 Nov 2023 23:32:43 +0900</pubDate>
        
        <guid>https://glass-lab.net/2023/11/01/CloudflareWarp/</guid>
        <description>&lt;img src="https://glass-lab.net/img/eyecatch.png" alt="Featured image of post Cloudflare WarpをWireguardに設定する" /&gt;&lt;p&gt;Cloudflare Warpは、Cloudflareが提供する無料のVPNサービス。&lt;/p&gt;
&lt;p&gt;Webサイトやアプリの閲覧を高速化、安全化、プライバシー保護を目的としている。&lt;/p&gt;
&lt;p&gt;Warpは、Cloudflareのグローバルネットワークを介して、ユーザーのインターネットトラフィックを暗号化し、最適化することでWebサイトやアプリの読み込み速度が向上し、遅延が減少する。
またIPアドレスをcloudflareのものにできるため、プライバシーを保護する。&lt;/p&gt;
&lt;p&gt;Warpは、iOS、Android、Windows、Mac、Chrome OS、Linuxなどのプラットフォームで利用できる。&lt;/p&gt;
&lt;p&gt;結局のところWarpは、以下のようなユーザーにおすすめ。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Free Wifiにつなぎたいが安全性に心配がある。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;だからといって有料VPNを契約するほどではない。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;何かの拍子でIPが悪用されたら怖いが、無料のVPNでもある程度の信頼性が欲しい
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;基本的には無料で、有料版の料金は、月額5ドル。&lt;/p&gt;
&lt;p&gt;基本無料のVPNにしては速度が非常に早い。&lt;/p&gt;
&lt;p&gt;本当かどうか知らないが、ノーログポリシーとしている。ちなみに完全に匿名にするには向いておらず、自分の最寄りのcloudflare CDNが利用されるようだ。&lt;/p&gt;
&lt;p&gt;現在筆者が使用しているルーターはVPN、特にWireguardに対応したものとなっている。
速度もほとんど低下しないし、やはりIPアドレスがばれるのが怖いのでとりあえず設定することにした。&lt;/p&gt;
&lt;h2 id=&#34;初めに&#34;&gt;&lt;strong&gt;初めに&lt;/strong&gt;
&lt;/h2&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/ViRb3/wgcf&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/ViRb3/wgcf&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;を使う。ここから自分の環境にあったものを持ってきて&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;chmod 777 wgcf
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./wgcf register
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;とすると　wgcf-account.toml　が生成される。&lt;/p&gt;
&lt;p&gt;これがある状態で&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./wgcf generate
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;とすると　wgcf-profile.conf　が生成される。&lt;/p&gt;
&lt;p&gt;この.confに従いWireguardを設定すると、Warpに接続できる。&lt;/p&gt;
 



&lt;h2 id=&#34;おまけ&#34;&gt;おまけ
&lt;/h2&gt;&lt;p&gt;Warp＋という有料高速版がある。これを公式クライアントでないWireguardから使う方法を紹介する。&lt;/p&gt;
&lt;p&gt;ひとまずスマホに&lt;a class=&#34;link&#34; href=&#34;https://1.1.1.1/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://1.1.1.1/&lt;/a&gt;からアプリをダウンロードする。&lt;/p&gt;
&lt;p&gt;右上3本線からアカウント→Warp＋キーというところの文字列を覚える、&lt;/p&gt;
&lt;p&gt;先ほど作成した　wgcf-account.toml　内の　lisense_key　を先ほどのキーで置き換える。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./wgcf update 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./wgcf generate 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;とするとそれ対応の.confファイルが出来上がるので、これに従ってWireguardを設定する。&lt;/p&gt;
&lt;p&gt;これですべてのデバイスをのWarp＋キーをそろえることができる。&lt;/p&gt;
&lt;p&gt;ちなみに筆者はWarp＋に課金していないが、無料であっても友達紹介すると1GBもらえる。&lt;/p&gt;
&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;ja&#34; dir=&#34;ltr&#34;&gt;1.1.1.1 アプリをインストールして､高速インターネット回線を使用しています。無料でインターネット上のスパイから保護されます! &lt;a href=&#34;https://twitter.com/hashtag/1dot1dot1dot1?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#1dot1dot1dot1&lt;/a&gt; &lt;a href=&#34;https://t.co/nFyju0nStA&#34;&gt;https://t.co/nFyju0nStA&lt;/a&gt;&lt;/p&gt;&amp;mdash; 草研究員＠研究室の一角 (@glasslabCRO) &lt;a href=&#34;https://twitter.com/glasslabCRO/status/1719531147510882760?ref_src=twsrc%5Etfw&#34;&gt;November 1, 2023&lt;/a&gt;&lt;/blockquote&gt; &lt;script async src=&#34;https://platform.twitter.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;
&lt;p&gt;これを利用してさらに快適な無料VPN生活を送ることができる。&lt;/p&gt;
&lt;p&gt;またもっとグレーな方法としては&lt;a class=&#34;link&#34; href=&#34;https://github.com/TheCaduceus/WARP-UNLIMITED-ADVANCED&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;無限生成する方法がある&lt;/a&gt;。登録にメアドも使っていないんだから当然と言えば当然なのだがちょっとグレー。&lt;/p&gt;
&lt;p&gt;ちなみに最も簡単な使い方は&lt;a class=&#34;link&#34; href=&#34;https://github.com/TheCaduceus/WARP-UNLIMITED-ADVANCED#run-on-google-colab&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Google Colabを使う方法&lt;/a&gt;で、ここでいうWarp_Client_IDとは、スマホアプリの右上三本線→詳細→診断→クライアント設定→IDのもの。&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>tailscaleからMullvad VPNを使い、最強にする。</title>
        <link>https://glass-lab.net/2023/10/22/tailscaleMullvad/</link>
        <pubDate>Sun, 22 Oct 2023 11:38:30 +0900</pubDate>
        
        <guid>https://glass-lab.net/2023/10/22/tailscaleMullvad/</guid>
        <description>&lt;img src="https://glass-lab.net/img/eyecatch.png" alt="Featured image of post tailscaleからMullvad VPNを使い、最強にする。" /&gt;&lt;h2 id=&#34;mullvad-vpnとは&#34;&gt;Mullvad VPNとは
&lt;/h2&gt;&lt;p&gt;スウェーデンのVPNサービス。2009年に設立され、プライバシー保護を重視したサービスとして知られている。&lt;/p&gt;
&lt;h2 id=&#34;特徴&#34;&gt;特徴
&lt;/h2&gt;&lt;p&gt;ログを一切保存しない&lt;/p&gt;
&lt;p&gt;Mulvad VPNは、ユーザーのログやアクティビティを一切保存しない。そのため、政府や企業による監視を回避することができる。&lt;/p&gt;
&lt;p&gt;噂レベルではあるが、&lt;a class=&#34;link&#34; href=&#34;https://gigazine.net/news/20230421-mullvad-vpn-swedish-police/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;本当にログを取っていないらしい&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;登録の際もMullvad VPNへのメールアドレスすら不要で登録できる。&lt;/p&gt;
&lt;p&gt;オープンソースのソフトウェア&lt;/p&gt;
&lt;p&gt;Mulvad VPNのソフトウェアは、オープンソースで公開されている。そのため、ユーザーはソフトウェアのコードを確認して、安全性を確認することができる。&lt;/p&gt;
&lt;p&gt;Mulvad VPNは、プライバシー保護を重視するユーザー向けのものである。&lt;/p&gt;
&lt;p&gt;これがtailscaleから使えるようになった。&lt;/p&gt;
 



&lt;h2 id=&#34;料金&#34;&gt;料金
&lt;/h2&gt;&lt;p&gt;5ドル/月　特に割引があるわけではない。&lt;/p&gt;
&lt;p&gt;一つのアカウントで5デバイスまで登録できる。&lt;/p&gt;
&lt;h2 id=&#34;使い方&#34;&gt;使い方
&lt;/h2&gt;&lt;p&gt;tailscaleのadminコンソールから&lt;/p&gt;
&lt;p&gt;Settings＞General＞Feature previews＞Mullvad VPNから設定できる。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2023/10/b8c24cb79ce983ee91403fc3efb22c29.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;add devicesから簡単に設定できる。&lt;/p&gt;
&lt;h2 id=&#34;あえてtailscaleから使う理由&#34;&gt;あえてtailscaleから使う理由
&lt;/h2&gt;&lt;p&gt;１．設定が簡単&lt;/p&gt;
&lt;p&gt;筆者の環境の場合、tailscaleがほとんどのデバイスにインストールされているため簡単に導入できる。&lt;/p&gt;
&lt;p&gt;筆者の環境では大体のものをtailscale上でホストしているので悩む必要がない&lt;/p&gt;
&lt;p&gt;２．ちょっと安い&lt;/p&gt;
&lt;p&gt;Mullvad VPNはそのまま登録すると5ユーロ/月なので気持ち安い&lt;/p&gt;
&lt;h2 id=&#34;終わりに&#34;&gt;終わりに
&lt;/h2&gt;&lt;p&gt;おそらく現状最強に近いVPNをお手軽に使えるのでかなりおススメ&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>braveを高速化し、セキュリティもいい感じ</title>
        <link>https://glass-lab.net/2023/10/21/brave%E3%82%92%E9%AB%98%E9%80%9F%E5%8C%96/</link>
        <pubDate>Sat, 21 Oct 2023 13:48:45 +0900</pubDate>
        
        <guid>https://glass-lab.net/2023/10/21/brave%E3%82%92%E9%AB%98%E9%80%9F%E5%8C%96/</guid>
        <description>&lt;img src="https://glass-lab.net/wp-content/uploads/2023/10/823acf26a79185324110ba3719f933fa.png" alt="Featured image of post braveを高速化し、セキュリティもいい感じ" /&gt;&lt;p&gt;最近筆者はBraveというブラウザを使っている。&lt;/p&gt;
&lt;h2 id=&#34;braveとは&#34;&gt;Braveとは
&lt;/h2&gt;&lt;p&gt;プライバシー保護機能が充実&lt;/p&gt;
&lt;p&gt;高速なパフォーマンス&lt;/p&gt;
&lt;p&gt;BATトークンによる収益化&lt;/p&gt;
&lt;p&gt;を売りにしているブラウザである。&lt;/p&gt;
&lt;p&gt;広告やトラッカーをブロックする機能を標準で搭載しており、また、閲覧履歴やパスワードを暗号化して保存する機能も備えている。&lt;/p&gt;
&lt;p&gt;しかし、色々と設定するとサイト自体が正常に動作しなくなるので設定が難しい。&lt;/p&gt;
&lt;p&gt;今回は筆者がいじっていい感じにした設定を紹介していきたいと思う。&lt;/p&gt;
 



&lt;h2 id=&#34;今回の対象者&#34;&gt;今回の対象者
&lt;/h2&gt;&lt;p&gt;セキュリティをがちがちにしたい人はTorブラウザだったりを使ってもらうといいと思うが、（ちなみにBraveはプライベートモードではTorブラウザを内蔵している）そこまでではないけど、安全性と快適性を適度に保ちたい人向けのものとなっている。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2023/10/823acf26a79185324110ba3719f933fa.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;トラッカーと広告の削除は積極的であればあるほど幸せになれたので積極的&lt;/p&gt;
&lt;p&gt;HTTPSにアップグレードは出来れば積極的にした方がいいが、筆者の開発の関係上ちょっと困ることが多かったので標準&lt;/p&gt;
&lt;p&gt;設定のshieldsから、スクリプトをブロックをオンにするとかなり安全になるが、かなりのサイトの形が崩れる。&lt;/p&gt;
&lt;p&gt;フィンガープリンティングも表示が結構崩れるので標準&lt;/p&gt;
&lt;p&gt;クッキーはサイト間だけブロックしておけばいい派なのでサイト間のみ、誰かが触る可能性のあるPCやバレるとちょっと恥ずかしいログイン履歴がある人は削除をオンにした方が良い。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2023/10/bce262347c437c6c4f99e2ebd60b0778.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;コンテンツフィルターは多いとブラウジングが面倒なので最終的にこれだけ。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2023/10/0f64a19d814fbf0b12d85253a4915b72.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;この辺は特に困らなかったので全部不許可&lt;/p&gt;
&lt;p&gt;Twitterの埋め込み不許可にすると見た目が若干ダサくなるがそんなに困らない&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2023/10/58ec3aafe53f804fbe3c6d4b4eaeed78.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;Facebookは使わない人なら片っ端から拒絶した方が良い。Facebookの情報収集は気味が悪いほど徹底している。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2023/10/0274de06d3d8af575e3301584f1b8eaf.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;最後にこれ&lt;/p&gt;
&lt;p&gt;情報収集されるのはすこし気になるのですべて許可しない&lt;/p&gt;
&lt;p&gt;ほか、怪しいサイトで勝手にカメラを使われたくない場合にはサイトとシールドの設定からカメラを使用できなくしてもよい。&lt;/p&gt;
&lt;h2 id=&#34;終わりに&#34;&gt;終わりに
&lt;/h2&gt;&lt;p&gt;超危険なサイトじゃなければ、そこそこ安全なブラウザが比較的簡単に手に入って非常に良い。&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://blogmura.com/profiles/11176491/?p_cid=11176491&amp;reader=11176491&#34; target=&#34;_blank&#34;&gt;&lt;img src=&#34;https://b.blogmura.com/banner-blogmura-reader-pink.svg&#34; width=&#34;230&#34; height=&#34;46&#34; border=&#34;0&#34; alt=&#34;研究室の一角 - にほんブログ村&#34; /&gt;&lt;/a&gt;&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>sitemap.xmlからランダムにツイートする～chatGPT仕立て～</title>
        <link>https://glass-lab.net/2023/10/19/sitemap.xml%E3%81%8B%E3%82%89%E3%83%A9%E3%83%B3%E3%83%80%E3%83%A0%E3%81%AB%E3%83%84%E3%82%A4%E3%83%BC%E3%83%88%E3%81%99%E3%82%8B%EF%BD%9EchatGPT%E4%BB%95%E7%AB%8B%E3%81%A6%EF%BD%9E/</link>
        <pubDate>Thu, 19 Oct 2023 16:10:53 +0900</pubDate>
        
        <guid>https://glass-lab.net/2023/10/19/sitemap.xml%E3%81%8B%E3%82%89%E3%83%A9%E3%83%B3%E3%83%80%E3%83%A0%E3%81%AB%E3%83%84%E3%82%A4%E3%83%BC%E3%83%88%E3%81%99%E3%82%8B%EF%BD%9EchatGPT%E4%BB%95%E7%AB%8B%E3%81%A6%EF%BD%9E/</guid>
        <description>&lt;img src="https://glass-lab.net/img/eyecatch.png" alt="Featured image of post sitemap.xmlからランダムにツイートする～chatGPT仕立て～" /&gt;&lt;p&gt;またchatGPTにBotを作ってもらった。&lt;/p&gt;
&lt;p&gt;今回のオーダーはこちら&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sitemap.xmlからランダムなサイトを選んでTwitterでツイートするBotをPythonで書いて
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;それについてchatGPTの回答はこう。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;20
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;21
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;22
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;23
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;24
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;25
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;26
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;27
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;28
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;29
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;30
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;31
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;32
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;33
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;34
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;35
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;36
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;37
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;38
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;39
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;40
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;41
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;42
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;43
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;44
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;45
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;46
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;47
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;48
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;49
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;50
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;51
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;52
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;53
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;54
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;55
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;56
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;57
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;58
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;59
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;60
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;「sitemap.xml」からランダムなサイトを選んでTwitterでツイートするPythonのBotを作成するには、いくつかのステップが必要です。以下に、このタスクを達成するための基本的なスクリプトの作成手順を示します。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;必要なライブラリのインストール:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;まず、次のPythonライブラリをインストールしてください。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tweepy: Twitter APIを操作するためのライブラリ
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;requests: ウェブサイトデータを取得するためのライブラリ
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;beautifulsoup4: HTML解析のためのライブラリ
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ターミナルで以下のコマンドを実行してインストールします。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pip install tweepy requests beautifulsoup4
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Twitter API アクセスのセットアップ:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Twitter APIにアクセスするために、Twitter Developer Platformでアプリケーションを作成し、APIキーとトークンを取得してください。以下のURLからアプリケーションを登録し、APIキーを取得します。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;https://developer.twitter.com/en/apps
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;取得したAPIキーとトークンをメモしておきます。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Pythonスクリプトの作成:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;以下はPythonスクリプトの例です。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;import tweepy
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;import requests
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;from bs4 import BeautifulSoup
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;import random
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;# Twitter APIキーとトークン
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;consumer_key = &amp;#39;YOUR_CONSUMER_KEY&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;consumer_secret = &amp;#39;YOUR_CONSUMER_SECRET&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;access_token = &amp;#39;YOUR_ACCESS_TOKEN&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;access_token_secret = &amp;#39;YOUR_ACCESS_TOKEN_SECRET&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;# Twitter APIにアクセス
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;auth.set_access_token(access_token, access_token_secret)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;api = tweepy.API(auth)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;# sitemap.xmlのURL
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sitemap_url = &amp;#39;URL_TO_SITEMAP_XML&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;# sitemap.xmlからランダムなURLを選択
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;response = requests.get(sitemap_url)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;if response.status_code == 200:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    soup = BeautifulSoup(response.text, &amp;#39;xml&amp;#39;)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    urls = [loc.text for loc in soup.find_all(&amp;#39;loc&amp;#39;)]
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    random_url = random.choice(urls)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    # 選択したURLをツイート
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    tweet_text = f&amp;#34;Check out this random website: {random_url}&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    api.update_status(tweet_text)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    print(f&amp;#34;Tweeted: {tweet_text}&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;else:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    print(&amp;#34;Failed to fetch sitemap.xml&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;このスクリプトでは、指定したURLから sitemap.xml を取得し、そのXMLファイルからランダムなURLを選択してTwitterにツイートします。Twitter APIキーとトークンを適切に設定し、sitemap_url を実際のsitemap.xmlのURLに置き換えてください。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;また、このスクリプトは一度実行すると、指定されたURLからランダムなウェブサイトをツイートします。このスクリプトを定期的に実行することで、定期的にランダムなウェブサイトをツイートするBotを実装できます。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;注意: Twitter APIを使用する際には、API使用ポリシーに従ってください。また、このスクリプトは簡単な例であり、エラー処理やセキュリティ上の配慮を追加することが重要です。
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;どれどれ試してみようか&amp;hellip;.&lt;/p&gt;
 



&lt;p&gt;以下コピペ&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;20
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;21
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;22
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;23
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;24
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;25
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;26
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;27
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;28
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;29
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;30
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;31
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;32
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;import tweepy
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;import requests
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;from bs4 import BeautifulSoup
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;import random
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;# Twitter APIキーとトークン
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;consumer_key = &amp;#39;YOUR_CONSUMER_KEY&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;consumer_secret = &amp;#39;YOUR_CONSUMER_SECRET&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;access_token = &amp;#39;YOUR_ACCESS_TOKEN&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;access_token_secret = &amp;#39;YOUR_ACCESS_TOKEN_SECRET&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;# Twitter APIにアクセス
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;auth.set_access_token(access_token, access_token_secret)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;api = tweepy.API(auth)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;# sitemap.xmlのURL
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sitemap_url = &amp;#39;URL_TO_SITEMAP_XML&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;# sitemap.xmlからランダムなURLを選択
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;response = requests.get(sitemap_url)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;if response.status_code == 200:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    soup = BeautifulSoup(response.text, &amp;#39;xml&amp;#39;)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    urls = [loc.text for loc in soup.find_all(&amp;#39;loc&amp;#39;)]
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    random_url = random.choice(urls)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    # 選択したURLをツイート
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    tweet_text = f&amp;#34;Check out this random website: {random_url}&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    api.update_status(tweet_text)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    print(f&amp;#34;Tweeted: {tweet_text}&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;else:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    print(&amp;#34;Failed to fetch sitemap.xml&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;これを&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2023/10/03/%E3%80%90Pleroma%E3%80%91Bot%E3%81%8C%E7%94%9F%E3%81%88%E3%81%9F%E3%80%90Twitter%20API%E3%80%91/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;筆者の記事&lt;/a&gt;のようにしてPleroma用に書き換え、&lt;a class=&#34;link&#34; href=&#34;https://conference.glass-lab.net/users/test&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;このBot&lt;/a&gt;で運用している。&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2023/10/17/TweetbotChat-GPT/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;前回もChatGPTにBotを書いてもらったが&lt;/a&gt;非常に精度が高く、人間は簡単なプログラミングをする必要が本当になくなってきていると感じる。&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>Tweet botをChat-GPTに書いてもらう</title>
        <link>https://glass-lab.net/2023/10/17/TweetbotChat-GPT/</link>
        <pubDate>Tue, 17 Oct 2023 20:19:50 +0900</pubDate>
        
        <guid>https://glass-lab.net/2023/10/17/TweetbotChat-GPT/</guid>
        <description>&lt;img src="https://glass-lab.net/img/eyecatch.png" alt="Featured image of post Tweet botをChat-GPTに書いてもらう" /&gt;&lt;p&gt;X,Twitter,PleromaのBotを作ろうと思ったが、そのまま書いても面白くなかったので、Chat-GPTに書いてもらった。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ランダムな日本語3文字をランダムにTwitterでツイートするプログラムをPythonで書いて
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;これをそのままChat-GPTに入力した。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;20
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;21
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;22
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;23
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;24
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;25
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;26
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;27
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;28
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;29
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;30
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;31
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;32
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;33
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;34
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;35
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;36
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;37
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;38
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;39
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;40
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;TwitterでツイートするためにPythonを使用するには、TweepyというTwitter APIを使用することが一般的です。以下は、Tweepyを使用してランダムな日本語3文字をツイートするPythonプログラムの例です。まず、Tweepyをインストールし、TwitterのAPIキーとアクセストークンを取得してください。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;1. Tweepyのインストール:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pip install tweepy
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;2. Tweepyを使用してランダムな日本語3文字をツイートするPythonプログラム:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;import tweepy
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;import random
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;# Twitter APIキーとアクセストークン
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;consumer_key = &amp;#34;あなたのコンシューマーキー&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;consumer_secret = &amp;#34;あなたのコンシューマーシークレット&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;access_token = &amp;#34;あなたのアクセストークン&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;access_token_secret = &amp;#34;あなたのアクセストークンシークレット&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;# Tweepyの初期化
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;auth.set_access_token(access_token, access_token_secret)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;api = tweepy.API(auth)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;# ランダムな3文字の文字列を生成する関数
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;def generate_random_string():
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    characters = &amp;#34;あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわをん&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    return &amp;#39;&amp;#39;.join(random.choice(characters) for _ in range(3))
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;# ツイートするメッセージを生成
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tweet_text = generate_random_string()
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;# ツイートを送信
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;api.update_status(status=tweet_text)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;print(f&amp;#34;ツイートしました: {tweet_text}&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;このプログラムは、Tweepyを使用してTwitterにランダムな3文字の日本語を含むツイートを投稿します。APIキーとアクセストークンは、Twitter Developer ダッシュボードから取得できます。プログラムを実行する前に、適切なキーとトークンを設定してください。
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;なんと正解が出てきた。&lt;/p&gt;
&lt;p&gt;短めのプログラミングならChat-GPTに任せた方がお手軽なのかもしれない。&lt;/p&gt;
&lt;p&gt;APIの制限があることから現在は&lt;a class=&#34;link&#34; href=&#34;https://conference.glass-lab.net/users/randomsanmoji&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;筆者のPleroma&lt;/a&gt;で運用している。興味があったらフォローしてほしい。&lt;/p&gt;
&lt;p&gt;最後にコピペできるようにしておく&lt;/p&gt;
 



&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;20
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;21
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;22
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;23
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;24
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;25
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;26
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;import tweepy
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;import random
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;# Twitter APIキーとアクセストークン
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;consumer_key = &amp;#34;あなたのコンシューマーキー&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;consumer_secret = &amp;#34;あなたのコンシューマーシークレット&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;access_token = &amp;#34;あなたのアクセストークン&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;access_token_secret = &amp;#34;あなたのアクセストークンシークレット&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;# Tweepyの初期化
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;auth.set_access_token(access_token, access_token_secret)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;api = tweepy.API(auth)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;# ランダムな3文字の文字列を生成する関数
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;def generate_random_string():
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    characters = &amp;#34;あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわをん&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    return &amp;#39;&amp;#39;.join(random.choice(characters) for _ in range(3))
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;# ツイートするメッセージを生成
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tweet_text = generate_random_string()
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;# ツイートを送信
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;api.update_status(status=tweet_text)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;print(f&amp;#34;ツイートしました: {tweet_text}&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;PleromaやMastodonの場合には&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2023/10/03/%E3%80%90Pleroma%E3%80%91Bot%E3%81%8C%E7%94%9F%E3%81%88%E3%81%9F%E3%80%90Twitter%20API%E3%80%91/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;筆者の解説&lt;/a&gt;をみて書き換えてみてほしい。&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>Google search labsが最強すぎて検索の常識が変わりそう</title>
        <link>https://glass-lab.net/2023/09/14/Google%20search%20labs%E3%81%8C%E6%9C%80/</link>
        <pubDate>Fri, 06 Oct 2023 19:48:44 +0900</pubDate>
        
        <guid>https://glass-lab.net/2023/09/14/Google%20search%20labs%E3%81%8C%E6%9C%80/</guid>
        <description>&lt;img src="https://glass-lab.net/wp-content/uploads/2023/10/34556db097f49353a4435eff264fb96c.png" alt="Featured image of post Google search labsが最強すぎて検索の常識が変わりそう" /&gt;&lt;p&gt;Google search labsとはGoogle Chromeで現在β版が提供されている機能&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2023/10/104ef7a2ae7029a399794ac2a81d609b.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;真ん中のフラスコをクリックして使用可能にする。&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;せっかくなので、紹介は自分でやってもらいましょう。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2023/10/34556db097f49353a4435eff264fb96c.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Google Search Labs は、Google 検索のユーザーが開発初期段階の新しい検索体験をテストしてフィードバックを共有するためのプログラムです。﻿
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Search Labs は、生成 AI がまとめた情報を検索結果に表示する機能です。質問に対して対話形式で回答を答えてくれたり、検索結果に画像や動画を表示する機能もあります。﻿
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Search Labs は、デスクトップ版 Chrome およびスマートフォンの Google アプリ（Andoroid／iOS）で利用できます。利用するには、Google アカウントを登録し、Chrome ブラウザから SGE を有効にして利用規約に同意する必要があります。﻿
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Search Labs は、検索に関する大胆なアイデアや機能をテストするための登録制の新しい仕組みです。参加するユーザーは、初期段階の実験的なアイデアをテストし、開発チームへ直接フィードバックを共有することができます。﻿
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;とのこと。&lt;/p&gt;
&lt;p&gt;これまでもChat-GPTなどに質問していたが、今回のものはさらにシームレス。&lt;/p&gt;
&lt;p&gt;単純に機能を有効化してGoogle Chromeでいつも通り検索するだけ。&lt;/p&gt;
&lt;p&gt;Search labとChatGPTで決定的に違う点として、どこから持ってきた情報なのかを示してくれることがある。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2023/10/4be93d78e934cdf4566650b7cd138daf.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;このように、どのサイトを要約してその文を作成したかが分かりやすくなっており、もしその文が間違えていたとしても、その間違いを修正しやすくなっている。&lt;/p&gt;
&lt;p&gt;Chat-GPTの欠点として、何が間違えているのか判断しにくいことが、これまで挙げられてきたが今回のように引用元を明らかにすることでこの欠点を改善するとはさすがGoogleといったところ。&lt;/p&gt;
&lt;p&gt;現在、まだβ版であることからPC版Chromeでしか使用できないが、今後スマホでも使用可能になると考えられる。&lt;/p&gt;
&lt;h2 id=&#34;終わりに&#34;&gt;終わりに
&lt;/h2&gt;&lt;p&gt;検索から容易にAIの力を借りられるため検索をより高速に行うことができ、非常に便利なので、ぜひ利用してみてほしい。&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://blogmura.com/profiles/11176491/?p_cid=11176491&amp;reader=11176491&#34; target=&#34;_blank&#34;&gt;&lt;img src=&#34;https://b.blogmura.com/banner-blogmura-reader-pink.svg&#34; width=&#34;230&#34; height=&#34;46&#34; border=&#34;0&#34; alt=&#34;研究室の一角 - にほんブログ村&#34; /&gt;&lt;/a&gt;&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>【ほかのサーバーからフォローする】ActivityPubって何？【Misskey】</title>
        <link>https://glass-lab.net/2023/10/05/ActivityPub%E3%81%A3%E3%81%A6%E4%BD%95%EF%BC%9F/</link>
        <pubDate>Thu, 05 Oct 2023 15:52:43 +0900</pubDate>
        
        <guid>https://glass-lab.net/2023/10/05/ActivityPub%E3%81%A3%E3%81%A6%E4%BD%95%EF%BC%9F/</guid>
        <description>&lt;img src="https://glass-lab.net/img/eyecatch.png" alt="Featured image of post 【ほかのサーバーからフォローする】ActivityPubって何？【Misskey】" /&gt;&lt;p&gt;Pleromaのアカウントを作ったが、想定以上に反響をいただいた。&lt;/p&gt;
&lt;p&gt;非常に簡単だが、ActivityPubについて紹介したいと思う。&lt;/p&gt;
&lt;p&gt;１．ActivityPubの特徴&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;分散化&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;ActivityPubは分散型プロトコルであるため、ネットワークを制御する単一のサーバーはない。これにより、検閲や障害に対する耐性が向上する。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;相互運用性&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;ActivityPubはオープン標準であるため、プロトコルの異なるソフトウェア実装は相互に通信できる。これにより、異なるサーバーのユーザーがフォローしてやり取りすることができる。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;選択肢&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;さまざまなActivityPub互換ソフトウェアが利用可能であるため、ユーザーはニーズに合ったソフトウェアを選択できる。&lt;/p&gt;
 



&lt;h2 id=&#34;２つまり何だってんだよ&#34;&gt;２．つまり何だってんだよ
&lt;/h2&gt;&lt;p&gt;つまり、MisskeyやMastodon、PleromaといったActivityPubに対応したSNSは互換性があり、&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;MisskeyのアカウントでMastodonのアカウントをフォローしたり、その逆をしたりすることが可能なんです。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;それぞれのMisskeyサーバーにはそれぞれ雰囲気やテーマがあり、それに沿って運用することが求められますが、それ以上にはとくに制限はありません。&lt;/p&gt;
&lt;h2 id=&#34;３試してみよう&#34;&gt;３．試してみよう
&lt;/h2&gt;&lt;p&gt;現在有名な日本人が多くいるActivityPubサーバーとして&lt;a class=&#34;link&#34; href=&#34;https://misskey.io/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Misskey.io&lt;/a&gt;や&lt;a class=&#34;link&#34; href=&#34;https://sushi.ski/about&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;sushi.sky&lt;/a&gt;がありますが、現在ioはアカウントの急激な増加に対応できておらず、新規登録を停止している場合があるので、今回は&lt;a class=&#34;link&#34; href=&#34;https://sushi.ski/about&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;sushi.sky&lt;/a&gt;から&lt;a class=&#34;link&#34; href=&#34;https://conference.glass-lab.net/users/test&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;弊Pleromaサーバーで飼っている飼い猫ちゃん&lt;/a&gt;をフォローしに行きたいと思います。&lt;/p&gt;
&lt;p&gt;１．アカウントを作る&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://sushi.ski/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ここ&lt;/a&gt;からhttps://sushi.ski/でアカウントを作る&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2023/10/131b6729dad2d179dd84d9aff8e7e9e5.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;２．早速だけどフォローしてみよう&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2023/10/adca68b73a0d60b1ee2669aec2408a80.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;設定の一つ上のポチポチを開くとタブが出る。これの照会を選択。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2023/10/4a7d913f40b5d5427ae4d2f95ef707f1.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://conference.glass-lab.net/users/test&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://conference.glass-lab.net/users/test&lt;/a&gt;　と入力してもらうと&amp;hellip;..&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2023/10/bf2ec0586695e7d0ecaa46180570b7d3.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;でた、これをフォローしてもらえると、ブログの更新を知らせてくれる。&lt;/p&gt;
&lt;p&gt;同様の手順でほかのサーバーのアカウントをフォローできる。&lt;/p&gt;
&lt;h2 id=&#34;終わりに&#34;&gt;終わりに
&lt;/h2&gt;&lt;p&gt;Twitterとかに比べるとかなり不親切設計に思えてしまう。&lt;/p&gt;
&lt;p&gt;何か良い方法はないだろうか&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://blogmura.com/profiles/11176491/?p_cid=11176491&amp;reader=11176491&#34; target=&#34;_blank&#34;&gt;&lt;img src=&#34;https://b.blogmura.com/banner-blogmura-reader-pink.svg&#34; width=&#34;230&#34; height=&#34;46&#34; border=&#34;0&#34; alt=&#34;研究室の一角 - にほんブログ村&#34; /&gt;&lt;/a&gt;&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>【RSSリーダー】Feedlyのすすめ</title>
        <link>https://glass-lab.net/2023/10/04/%E3%80%90RSS%E3%83%AA%E3%83%BC%E3%83%80%E3%83%BC%E3%80%91Feedly%E3%81%AE%E3%81%99%E3%81%99%E3%82%81/</link>
        <pubDate>Wed, 04 Oct 2023 19:42:31 +0900</pubDate>
        
        <guid>https://glass-lab.net/2023/10/04/%E3%80%90RSS%E3%83%AA%E3%83%BC%E3%83%80%E3%83%BC%E3%80%91Feedly%E3%81%AE%E3%81%99%E3%81%99%E3%82%81/</guid>
        <description>&lt;img src="https://glass-lab.net/wp-content/uploads/2023/10/IMG_8986.png" alt="Featured image of post 【RSSリーダー】Feedlyのすすめ" /&gt;&lt;h2 id=&#34;feedlyとは&#34;&gt;Feedlyとは？
&lt;/h2&gt;&lt;p&gt;Feedlyとは、Webサイトの更新情報を自動的に収集し、その情報を一覧で表示するソフトウェア。RSSリーダーと呼ばれる。&lt;/p&gt;
&lt;p&gt;Feedlyを使用すると、気になるWebサイトの更新情報を逃さずに簡単に取得することができ、特定の記事をブックマークする機能も備わっているため、後からじっくり見返す時にも非常に便利&lt;/p&gt;
&lt;h2 id=&#34;feedlyの特徴&#34;&gt;Feedlyの特徴
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;さまざまなWebサイトの更新情報を一覧で表示できる&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Feedlyに登録したWebサイトの更新情報が、1つの画面に集約される。そのため、複数のWebサイトの更新情報を一度に確認することができる。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;カスタマイズ性が高く、自分に合った表示方法を設定できる&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Feedlyでは、表示方法をさまざまな角度からカスタマイズすることができる。たとえば、記事のタイトルや概要を表示するかどうか、記事の画像を表示するかどうか、などを選択することができる。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;さまざまなデバイスで利用できる&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Feedlyは、Webブラウザ、スマートフォン、タブレットなど、さまざまなデバイスで利用できる。&lt;/p&gt;
&lt;h2 id=&#34;feedlyの使い方&#34;&gt;Feedlyの使い方
&lt;/h2&gt;&lt;p&gt;Feedlyの使い方は、非常に簡単&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;１．Feedlyに登録する&lt;/strong&gt;
&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2023/10/IMG_8986.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;ここから登録できる。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;２．気になるWebサイトを登録する&lt;/strong&gt;
Feedlyの画面で「+ フィード追加」をクリックして、RSSフィードのURLを入力する。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2023/10/IMG_8987.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;ここに自分の登録したいサイトのURLを入れる&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2023/10/IMG_8988.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;登録されるとこのような形で自分の登録したサイトが更新されると自動で流れてくる。
&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2023/10/IMG_8989.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
 



&lt;h2 id=&#34;feedlyのメリット&#34;&gt;Feedlyのメリット
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;さまざまなWebサイトの更新情報を効率的に収集できる&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Feedlyを利用すれば、複数のWebサイトの更新情報を一度に確認することができるため、効率的に情報収集することができる&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;自分に合った表示方法で情報を管理できる&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Feedlyでは、表示方法をさまざまな角度からカスタマイズすることができるため、自分に合った表示方法で情報を管理することができる。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;さまざまなデバイスで利用できる&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Feedlyは、さまざまなデバイスで利用できるため、いつでもどこでも最新情報をチェックすることができる。&lt;/p&gt;
&lt;h2 id=&#34;まとめ&#34;&gt;まとめ
&lt;/h2&gt;&lt;p&gt;Feedlyは、さまざまなWebサイトの更新情報を効率的に収集できる便利なソフトウェアです。カスタマイズ性が高く、自分に合った表示方法で情報を管理することができる。&lt;/p&gt;
&lt;p&gt;また、サイトを検索しなくとも、自分の好きな情報が自動で収集できるのは時短的な面からみても優秀&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://blogmura.com/profiles/11176491/?p_cid=11176491&amp;reader=11176491&#34; target=&#34;_blank&#34;&gt;&lt;img src=&#34;https://b.blogmura.com/banner-blogmura-reader-pink.svg&#34; width=&#34;230&#34; height=&#34;46&#34; border=&#34;0&#34; alt=&#34;研究室の一角 - にほんブログ村&#34; /&gt;&lt;/a&gt;&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>【Pleroma】Botが生えた【Twitter API】</title>
        <link>https://glass-lab.net/2023/10/03/%E3%80%90Pleroma%E3%80%91Bot%E3%81%8C%E7%94%9F%E3%81%88%E3%81%9F%E3%80%90Twitter%20API%E3%80%91/</link>
        <pubDate>Tue, 03 Oct 2023 20:09:18 +0900</pubDate>
        
        <guid>https://glass-lab.net/2023/10/03/%E3%80%90Pleroma%E3%80%91Bot%E3%81%8C%E7%94%9F%E3%81%88%E3%81%9F%E3%80%90Twitter%20API%E3%80%91/</guid>
        <description>&lt;img src="https://glass-lab.net/wp-content/uploads/2023/10/f6a34291ac7402a8773245205e1d98fe.png" alt="Featured image of post 【Pleroma】Botが生えた【Twitter API】" /&gt;&lt;p&gt;Pleromaを立てたが特に利用目的がない。&lt;/p&gt;
&lt;p&gt;TwitterのBotをこっちで立て直せばいいかと思い、いろいろいじることにした。&lt;/p&gt;
&lt;h2 id=&#34;pleromaのtoken生成法&#34;&gt;PleromaのToken生成法
&lt;/h2&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://prplecake.github.io/pleroma-access-token/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;これ&lt;/a&gt;を使う&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2023/10/f6a34291ac7402a8773245205e1d98fe.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;これにPleromaのURLをInstance URLに、Tokenを生成したいアカウントの＠以下をClient Nameに入れてPublish access tokenをPush&lt;/p&gt;
&lt;p&gt;Websiteは入力しなくても問題なかった。&lt;/p&gt;
&lt;p&gt;ちなみにだが、サイトのAbout Securityにある通り&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;このページはあなたのクライアントID、クライアントシークレット、アクセストークンを使用していますが、サイトは純粋なJavaScriptです。
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;とある通り、どこかのサーバーに飛ばしているわけではない。&lt;/p&gt;
&lt;p&gt;どうしても気になるなら、&lt;a class=&#34;link&#34; href=&#34;https://github.com/prplecake/pleroma-access-token&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ここ&lt;/a&gt;からセルフホストするといい感じだと思う。&lt;/p&gt;
 



&lt;h2 id=&#34;使い方&#34;&gt;使い方
&lt;/h2&gt;&lt;p&gt;ほぼMastodonのAPIと同じ。&lt;/p&gt;
&lt;p&gt;Pythonの&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pip install mastodon.py
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;からインストールできるmastodon.pyが特に便利で&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;from mastodon import Mastodon
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pleroma = Mastodon(
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    api_base_url  = &amp;#39;PleromaのURL&amp;#39;,
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    client_id     = &amp;#39;さっきのクライアントキー&amp;#39;,
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    client_secret = &amp;#39;さっきのクライアントシークレット&amp;#39;,
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    access_token  = &amp;#39;さっきのアクセストークン&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pleroma.toot(&amp;#39;こんにちは！&amp;#39;)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;で投稿できる。&lt;/p&gt;
&lt;p&gt;これをいろいろと応用すれば、TwitterのBotをPleromaにご招待できる。&lt;/p&gt;
&lt;h2 id=&#34;終わりに&#34;&gt;終わりに
&lt;/h2&gt;&lt;p&gt;Twitter APIが無料ではなくなってしまって行き場を失ったBot達をActivityPubで復活させませんか？&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://blogmura.com/profiles/11176491/?p_cid=11176491&amp;reader=11176491&#34; target=&#34;_blank&#34;&gt;&lt;img src=&#34;https://b.blogmura.com/banner-blogmura-reader-pink.svg&#34; width=&#34;230&#34; height=&#34;46&#34; border=&#34;0&#34; alt=&#34;研究室の一角 - にほんブログ村&#34; /&gt;&lt;/a&gt;&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>cloudflare pages＋HUGOに乗り換える【その１】</title>
        <link>https://glass-lab.net/2023/10/02/cloudflare%20pages%EF%BC%8BHUGO%E3%81%AB%E4%B9%97%E3%82%8A%E6%8F%9B%E3%81%88%E3%82%8B%E3%80%90%E3%81%9D%E3%81%AE%EF%BC%91%E3%80%91/</link>
        <pubDate>Mon, 02 Oct 2023 21:45:03 +0900</pubDate>
        
        <guid>https://glass-lab.net/2023/10/02/cloudflare%20pages%EF%BC%8BHUGO%E3%81%AB%E4%B9%97%E3%82%8A%E6%8F%9B%E3%81%88%E3%82%8B%E3%80%90%E3%81%9D%E3%81%AE%EF%BC%91%E3%80%91/</guid>
        <description>&lt;img src="https://glass-lab.net/img/eyecatch.png" alt="Featured image of post cloudflare pages＋HUGOに乗り換える【その１】" /&gt;&lt;p&gt;今回、wordpressからHUGO＋Cloudflare pagesにサイトを移行したので、やり方を紹介する&lt;/p&gt;
&lt;h2 id=&#34;環境&#34;&gt;環境
&lt;/h2&gt;&lt;p&gt;wordpress(筆者の環境はWordpress)&lt;/p&gt;
&lt;p&gt;操作環境：debian&lt;/p&gt;
 



&lt;h2 id=&#34;やり方&#34;&gt;やり方
&lt;/h2&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/SchumacherFM/wordpress-to-hugo-exporter&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;GitHub - SchumacherFM/wordpress-to-hugo-exporter: Hugo is static site generator written in golang. Wordpress is a tool for remote access to your server ;-) ❗️Contributions welcome!&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;これを使うと上手くいくらしいが&amp;hellip;&amp;hellip;&lt;/p&gt;
&lt;p&gt;通常ならインストール後Tool→Export to HUGOを押すとファイルがダウンロードされる。がなぜだが動作しなかった。&lt;/p&gt;
&lt;p&gt;うまくいかなかったので後日修正案を提示する。&lt;/p&gt;
&lt;p&gt;それはそれとして先に進む&lt;/p&gt;
&lt;p&gt;themeとして&lt;a class=&#34;link&#34; href=&#34;https://github.com/CaiJimmy/hugo-theme-stack-starter&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;HUGO THEME STACK&lt;/a&gt;を使用した&lt;/p&gt;
&lt;p&gt;やり方として、&lt;em&gt;Use this templateをクリックして新しいレポジトリを作り、github codespaceを作る、といじれるようになる。&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;これをローカル環境に&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2023/09/22/HUGO%E3%81%AB%E5%BF%85%E8%A6%81%E3%81%AAGit%E3%81%AE%E7%9F%A5%E8%AD%98%E3%83%A1%E3%83%A2/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;pull&lt;/a&gt;する。&lt;/p&gt;
&lt;p&gt;&lt;em&gt;配置場所&lt;br&gt;
さっきの手に入れたファイルのうち、contentファイル（画像なんかを入れているファイル）をそのままStaticファイルに入れる。&lt;br&gt;
Staticファイル下はそのままRootドメイン下に置かれるため、ドメインを変更しない場合には、このまま入れることで画像のURLを変更せずに移行することが可能である。&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;なお、ads.txtを移行する必要がある人はこれも同じくStaticファイル直下に置く。&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;その他の記事が含まれているPostファイルをそのままContentファイルに入れる&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;これで配置は完璧。&lt;/p&gt;
&lt;p&gt;試しに起動してみよう。&lt;/p&gt;
&lt;p&gt;hugoのディレクトリで、&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;hugo server --bind 192.168.2.100 --baseURL=http://192.168.2.100
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;ipアドレスが192.168.2.100の時の場合はこう。適宜環境に合わせる&lt;/p&gt;
&lt;p&gt;自分のローカル環境から閲覧する場合には&lt;em&gt;hugo server&lt;/em&gt;でOK&lt;/p&gt;
&lt;p&gt;hugoを起動させたまま192.168.2.100:1313にアクセス&lt;/p&gt;
&lt;p&gt;これでプレビューができる。&lt;/p&gt;
&lt;p&gt;このhugo serverを起動させた状態でファイルを変更すると自動的に更新されるため、非常に便利。&lt;/p&gt;
&lt;h2 id=&#34;終わりに&#34;&gt;終わりに
&lt;/h2&gt;&lt;p&gt;wordpressは便利だけど、金銭的負担が大きくなる傾向にありますが、HUGOの勉強をすればタダでいいので、非常にコスパは高いのではないでしょうか&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://blogmura.com/profiles/11176491/?p_cid=11176491&amp;reader=11176491&#34; target=&#34;_blank&#34;&gt;&lt;img src=&#34;https://b.blogmura.com/banner-blogmura-reader-pink.svg&#34; width=&#34;230&#34; height=&#34;46&#34; border=&#34;0&#34; alt=&#34;研究室の一角 - にほんブログ村&#34; /&gt;&lt;/a&gt;&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>pleromaを立てました！</title>
        <link>https://glass-lab.net/2023/10/01/pleroma%E3%82%92%E7%AB%8B%E3%81%A6%E3%81%BE%E3%81%97%E3%81%9F%EF%BC%81/</link>
        <pubDate>Sun, 01 Oct 2023 20:19:51 +0900</pubDate>
        
        <guid>https://glass-lab.net/2023/10/01/pleroma%E3%82%92%E7%AB%8B%E3%81%A6%E3%81%BE%E3%81%97%E3%81%9F%EF%BC%81/</guid>
        <description>&lt;img src="https://glass-lab.net/img/eyecatch.png" alt="Featured image of post pleromaを立てました！" /&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://conference.glass-lab.net/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;筆者のpleroma&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;自分でpleromaを立てました。&lt;/p&gt;
&lt;p&gt;インストール時、それと言って特に詰まったことはありませんが&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2023/10/01/cloudflared%20service%20uninstall%20%E3%81%A7%E3%82%A2%E3%83%B3%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%8B%E3%81%A3%E3%81%9F%E3%81%AE%E3%82%92%E8%A7%A3%E6%B1%BA%E3%81%93%E3%81%93%E3%81%AB%E9%A1%8C%E5%90%8D%E3%82%92%E3%81%84%E3%82%8C%E3%82%8B/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;cloudflaredアンインストール問題&lt;/a&gt;に詰まって丸一日かかりました。&lt;/p&gt;
&lt;p&gt;今回は&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2023/08/11/512mb%E3%81%AEvps%E3%81%AE%E9%99%90%E7%95%8C%E3%81%AB%E6%8C%91%E6%88%A6%E3%81%97%E3%80%81%E5%BA%83%E5%91%8A%E3%82%92%E7%A0%B4%E5%A3%8A%E3%81%99%E3%82%8B%E3%80%82/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;いつもの１コア512mbVPS&lt;/a&gt;に同居する形でインストールしました。&lt;/p&gt;
&lt;p&gt;結論としてはpihole,tailscale,invidiousを稼働させながらpleromaとcloudflaredをインストールして、メモリ使用率70％程度で非常に軽快に動作しています。&lt;/p&gt;
&lt;p&gt;特に目的があって立てたわけではないので、これから運用については考えていきたいです。&lt;/p&gt;
&lt;p&gt;目標としては、現在新規登録を制限していますが、これを徐々に解除していきたいと考えています。&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://conference.glass-lab.net/users/keikyuin&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;筆者のアカウント&lt;/a&gt;もありますので、ぜひフォローお願いします！&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>cloudflared service uninstall でアンインストールできなかったのを解決</title>
        <link>https://glass-lab.net/2023/10/01/cloudflared%20service%20uninstall%20%E3%81%A7%E3%82%A2%E3%83%B3%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%8B%E3%81%A3%E3%81%9F%E3%81%AE%E3%82%92%E8%A7%A3%E6%B1%BA%E3%81%93%E3%81%93%E3%81%AB%E9%A1%8C%E5%90%8D%E3%82%92%E3%81%84%E3%82%8C%E3%82%8B/</link>
        <pubDate>Sun, 01 Oct 2023 14:27:15 +0900</pubDate>
        
        <guid>https://glass-lab.net/2023/10/01/cloudflared%20service%20uninstall%20%E3%81%A7%E3%82%A2%E3%83%B3%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%8B%E3%81%A3%E3%81%9F%E3%81%AE%E3%82%92%E8%A7%A3%E6%B1%BA%E3%81%93%E3%81%93%E3%81%AB%E9%A1%8C%E5%90%8D%E3%82%92%E3%81%84%E3%82%8C%E3%82%8B/</guid>
        <description>&lt;img src="https://glass-lab.net/img/eyecatch.png" alt="Featured image of post cloudflared service uninstall でアンインストールできなかったのを解決" /&gt;&lt;p&gt;しばらくcloudflaredを使ってなかったら、なんとなく様子がおかしくなっていた。&lt;/p&gt;
&lt;p&gt;一度アンインストールしてから再インストールすればいいかと思い&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cloudflared service uninstall
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;INF Using Systemd
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;INF Service ‘cloudflared-update.timer’ not installed, skipping its uninstall
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;INF Service ‘cloudflared.service’ not installed, skipping its uninstall
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;INF Service ‘cloudflared-update.service’ not installed, skipping its uninstall
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;INF Linux service for cloudflared uninstalled successfully
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;消えたのかな？&lt;/p&gt;
&lt;p&gt;で再インストールしようとcloudflare tunnel の指示に従う&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-gdscript3&#34; data-lang=&#34;gdscript3&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;curl&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;L&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;--&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;output&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;cloudflared&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;deb&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;https&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;//&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;github&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;com&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;cloudflare&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;cloudflared&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;releases&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;latest&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;download&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;cloudflared&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;linux&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;amd64&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;deb&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;sudo&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;dpkg&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;i&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;cloudflared&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;deb&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;sudo&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;cloudflared&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;service&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;install&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;token&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;としたところ、cloudflaredがインストール済みとかなんとか言われているよう&lt;/p&gt;
&lt;p&gt;でもcloudflare tunnelには接続しない。&lt;/p&gt;
&lt;p&gt;これはいかにと思い色々いじる。&lt;/p&gt;
&lt;p&gt;結局&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cloudflared service uninstall 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;としたのちに&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;rm -rf /etc/systemd/system/cloudflared-update.service
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;rm -rf /etc/systemd/system/cloudflared.service
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;rm -rf /etc/systemd/system/cloudflared-update.timer
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;を削除したのち、&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-gdscript3&#34; data-lang=&#34;gdscript3&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;systemctl&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;daemon&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;reload&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;としたのちにインストールすることで正常にインストールすることができた。
 


&lt;/p&gt;
&lt;h2 id=&#34;終わりに&#34;&gt;終わりに
&lt;/h2&gt;&lt;p&gt;これ修正するだけで2時間かかった。最後のdaemon-reloadに気付くのに１時間かかった。皆様の時間が無駄になりませんように。&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://blogmura.com/profiles/11176491/?p_cid=11176491&amp;reader=11176491&#34; target=&#34;_blank&#34;&gt;&lt;img src=&#34;https://b.blogmura.com/banner-blogmura-reader-pink.svg&#34; width=&#34;230&#34; height=&#34;46&#34; border=&#34;0&#34; alt=&#34;研究室の一角 - にほんブログ村&#34; /&gt;&lt;/a&gt;&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>クラウド検閲問題について</title>
        <link>https://glass-lab.net/2023/09/28/%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89%E6%A4%9C%E9%96%B2%E5%95%8F%E9%A1%8C%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6/</link>
        <pubDate>Thu, 28 Sep 2023 21:08:31 +0900</pubDate>
        
        <guid>https://glass-lab.net/2023/09/28/%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89%E6%A4%9C%E9%96%B2%E5%95%8F%E9%A1%8C%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6/</guid>
        <description>&lt;img src="https://glass-lab.net/wp-content/uploads/2023/11/a5e5d76e883eabf921062d0954b3550d.png" alt="Featured image of post クラウド検閲問題について" /&gt;&lt;p&gt;クラウドの中身を見られてアカウント凍結になる人が結構いる。
例
出産のときの写真をiCloudに上げていたら性的な画像としてbanされた。
子供のプールの写真を上げていたらBanされた
ファイルを保存していたら、違法ダウンロードのものとみなされてBanされた。&lt;/p&gt;
&lt;p&gt;次にそれぞれのクラウドについて比較していく&lt;/p&gt;
&lt;h2 id=&#34;１onedrive&#34;&gt;１．Onedrive
&lt;/h2&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.microsoft.com/ja-jp/servicesagreement/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;利用規約&lt;/a&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;プライバシーに関する声明では、マイクロソフトによるお客様のコンテンツの使用方法についても規定しています。お客様のコンテンツとは、お客様と他のユーザーとのやり取り、お客様が本サービスを通じてマイクロソフトに送信する投稿、ならびにお客様が本サービスを通じてアップロード、保存、放送、または共有するお客様のファイル、写真、文書、音声、デジタル作品、ライブストリーム、およびビデオを意味します (以下「お客様のコンテンツ」といいます)。同意に基づいて処理が行われる場合、および法令によって認められる範囲において、お客様は、本サービスを使用することにより、または本規約に同意することにより、マイクロソフトがプライバシーに関する声明の規定に従ってお客様のコンテンツおよび本データを収集、使用、および開示することを承諾したものとします。マイクロソフトは、プライバシーに関する声明に規定されているとおり、別途通知を行ってお客様の承諾を求める場合があります。
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;検閲していると噂のOnedrive、検閲できそうな文言がある&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;お客様が本規約に違反した場合、マイクロソフトは独自の裁量によりお客様に対する本サービスの提供を停止したり、お客様の Microsoft アカウントを停止することがあります。また、マイクロソフトは、本規約を強制するための取り組みの一環として、本サービスからの通信または本サービスへの通信 (電子メール、ファイル共有、インスタント メッセージなど) をブロックすることもでき、さらに、理由の有無を問わず、お客様のコンテンツを削除し、または公開を拒否することができます。申し立てられた本規約の違反について調査する場合、マイクロソフトは問題を解決するためにお客様のコンテンツを審査する権利を留保し、お客様は当該審査を許可するものとします。ただし、マイクロソフトは本サービス全体を監視することはできず、これを試みることもありません。
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;一応試みることはないと書いてますが、じゃあどうやって違反確認すんねん！とツッコみたい。&lt;/p&gt;
&lt;p&gt;Microsoftアカウントが制限されるとWindowsに制限がかかるので避けたい&lt;/p&gt;
&lt;h2 id=&#34;２google-drive&#34;&gt;２．Google Drive
&lt;/h2&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.google.com/drive/terms-of-service/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;利用規約&lt;/a&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Google は、コンテンツが違法か否か、または Google のプログラム ポリシーに違反しているか否かを判断するために、コンテンツを審査することができます。さらに、Google は、Google のポリシーまたは法律に違反していると合理的に判断したコンテンツを削除したり、その表示を拒否したりできます。ただし、これは Google がコンテンツを審査していることを必ずしも意味するものではありません。Google によるコンテンツの審査が行われていることを前提としないでください。
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;がっつり検閲してました。
GoogleアカウントがBanされると様々なところで影響が出るのでさけたいところ。&lt;/p&gt;
 



&lt;h2 id=&#34;３dropbox&#34;&gt;３．Dropbox
&lt;/h2&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.dropbox.com/ja/terms&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;利用規約&lt;/a&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Dropbox がお客様のデータをホストする、バックアップする、またお客様のリクエストに基づき情報を共有する場合、Dropbox はお客様の許可を必要とします。本サービスは、コメント、共有、検索、画像サムネイル、ドキュメントのプレビュー、OCR、シンプルな並べ替えや整理、パーソナライゼーションなど各種機能を提供し、無駄な作業を削減します。こうした機能およびその他の機能を提供するため、Dropbox はお客様のデータにアクセスし、それを保存およびスキャンします。お客様が本サービスをご利用いただくにあたり、お客様はこうした権利を Dropbox に許可し、その許可は Dropbox と提携している提携企業および認定サードパーティにも適用されます。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;・・・略・・・
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;本規約および利用目的に関する制限（AUP）の遵守性を確認するため、Dropbox はお客様のアクティビティおよびコンテンツを調査する権限を有します。本サービスをご利用いただくユーザーが投稿、共有するコンテンツの責任を Dropbox が負うことは一切ありません。
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;スキャンするそうです。&lt;/p&gt;
&lt;p&gt;潔くスキャンするって書いてあるあたり、もはや好感が持てます。&lt;/p&gt;
&lt;h2 id=&#34;４有名どころは大体怪しい他の選択肢は&#34;&gt;４．有名どころは大体怪しい、他の選択肢は？
&lt;/h2&gt;&lt;p&gt;有名なところは基本見てる。&lt;/p&gt;
&lt;p&gt;じゃあ大丈夫そうなクラウドを探そう！&lt;/p&gt;
&lt;p&gt;事前に用語の説明&lt;/p&gt;
&lt;p&gt;エンドツーエンド暗号化（E2E）：送信者と受信者との間で送信されたデータを、サードパーティがアクセスできないように暗号化する&lt;/p&gt;
&lt;h2 id=&#34;５proton-drive&#34;&gt;５．Proton Drive
&lt;/h2&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://proton.me/drive&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;hp&lt;/a&gt;
スイスにあるProtonが運営するオンラインストレージサービス
まだβだと思っていたら、つい先週正式リリースされていた。
Protonはプライバシーを気にする方には有名なところなので比較的信頼できる。
E2E暗号化対応&lt;/p&gt;
&lt;h2 id=&#34;６icedrive&#34;&gt;６．Icedrive
&lt;/h2&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://icedrive.net/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;hp&lt;/a&gt;
月4.99ドル/1TB、安い
ID Cloud Services（イギリス）運営
2019年からのサービスらしくちょっと心配
E2E対応&lt;/p&gt;
&lt;h2 id=&#34;７pcloud&#34;&gt;７．pCloud
&lt;/h2&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.pcloud.com/ja/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;hp&lt;/a&gt;
2013年からサービスされているクラウド
スイス製
日本語対応済
比較的運営が長いことから信頼できそう。
クラウドとしては面白い「生涯」プランがあり、契約者が死ぬ、もしくは99年経過するまでの買い切りプランがある。
生涯プラン500GB299USD（筆者がみたときには199USD）は結構よさそう。
E2E対応&lt;/p&gt;
&lt;h2 id=&#34;e2eクラウドが信用できないなら自分で暗号化しよう&#34;&gt;E2Eクラウドが信用できない？なら自分で暗号化しよう！
&lt;/h2&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://cryptomator.org/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Cryptomator&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;かなり有名なソフト、使い方はいたって簡単で筆者は&lt;a class=&#34;link&#34; href=&#34;https://www.takameron.info/post/cryptomator/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ここのサイト&lt;/a&gt;を見て使った。
これで信頼性をある程度上げられる。&lt;/p&gt;
&lt;p&gt;欠点として、iOSはオープンソースではない、気になる人は使わない方が良い。&lt;/p&gt;
&lt;h2 id=&#34;終わりに&#34;&gt;終わりに
&lt;/h2&gt;&lt;p&gt;クラウドのプライバシー問題はなかなか難しい。どこまで信用できるかの問題にはなるが、とりあえずOnedriveやGoogle Cloudに微妙なものをアップロードしないようにすることからだろうか？&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://blogmura.com/profiles/11176491/?p_cid=11176491&amp;reader=11176491&#34; target=&#34;_blank&#34;&gt;&lt;img src=&#34;https://b.blogmura.com/banner-blogmura-reader-pink.svg&#34; width=&#34;230&#34; height=&#34;46&#34; border=&#34;0&#34; alt=&#34;研究室の一角 - にほんブログ村&#34; /&gt;&lt;/a&gt;&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>【chrome】おすすめ拡張機能</title>
        <link>https://glass-lab.net/2023/09/26/%E3%80%90chrome%E3%80%91%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E6%8B%A1%E5%BC%B5%E6%A9%9F%E8%83%BD/</link>
        <pubDate>Tue, 26 Sep 2023 18:32:35 +0900</pubDate>
        
        <guid>https://glass-lab.net/2023/09/26/%E3%80%90chrome%E3%80%91%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E6%8B%A1%E5%BC%B5%E6%A9%9F%E8%83%BD/</guid>
        <description>&lt;img src="https://glass-lab.net/img/eyecatch.png" alt="Featured image of post 【chrome】おすすめ拡張機能" /&gt;&lt;p&gt;筆者が使っているおすすめ拡張機能を紹介&lt;/p&gt;
&lt;h2 id=&#34;１adblock-for-youtube&#34;&gt;１．Adblock for Youtube
&lt;/h2&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://chrome.google.com/webstore/detail/mike-adblock-for-youtube/giaoehhefkmchjbbdnahgeppblbdejmj&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Adblock For Youtube - Youtubeの広告ブロック&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;indiviousに移行してから出番がない、が何かの時には使うかもとおいてある。&lt;/p&gt;
&lt;h2 id=&#34;２autopagerize&#34;&gt;２．AutoPagerize
&lt;/h2&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://chrome.google.com/webstore/detail/autopagerize/igiofjhpmpihnifddepnpngfjhkfenbp&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;AutoPagerize&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;ネットサーフィンするときに便利。大体のページで次へを押さなくても次のページを表示してくれる。&lt;/p&gt;
&lt;h2 id=&#34;３deepl翻訳&#34;&gt;３．DeepL翻訳
&lt;/h2&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://chrome.google.com/webstore/detail/deepl-translate-reading-w/cofdbpoegempjloogbagkncekinflcnj&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;DeepL翻訳&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;説明不要、最強の翻訳。&lt;/p&gt;
&lt;h2 id=&#34;４flow-chat-for-youtube-live&#34;&gt;４．Flow Chat for YouTube Live
&lt;/h2&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://chrome.google.com/webstore/detail/flow-chat-for-youtube-liv/elfdpkmfllnhhgnicaaeacbilcallpbd&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Flow Chat for YouTube Live&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Youtubeライブのコメントがニコニコ風に流れる。コメント欄を表示せずに全画面にしてもコメントが流れるので非常に便利。&lt;/p&gt;
&lt;p&gt;同じ理由でTwitch版のコメント流し拡張機能を入れている。
&lt;a class=&#34;link&#34; href=&#34;https://chrome.google.com/webstore/detail/twitch-chat-danmaku/koiphfkghjgmncbkcpfnegnbcbomlchg&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Twitchチャット弾幕&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;５joplin-web-clipper&#34;&gt;５．Joplin Web Clipper
&lt;/h2&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://chrome.google.com/webstore/detail/joplin-web-clipper/alofnhikmmkdbbbgpnglcpdollgjjfek&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Joplin Web Clipper&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Joplin Web Clipperでウェブページをまるごとコピーできる。新聞のスクラップブックのような使い方ができる。筆者はよくURL迷子になりがちなので、二回目がありそうなサイト（レシピだったり旅行ログだったり技術blogだったり）はすべてこちらで保存するようにしている。&lt;/p&gt;
&lt;h2 id=&#34;６privacy-redirect&#34;&gt;６．Privacy Redirect
&lt;/h2&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://chrome.google.com/webstore/detail/privacy-redirect/pmcmeagblkinmogikoikkdjiligflglb&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Privacy Redirect&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;youtubeのリンクを踏んだ時に&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2023/08/23/%E3%80%90youtube%E3%81%AE%E5%BA%83%E5%91%8A%E3%82%92%E7%A0%B4%E5%A3%8A%E3%81%99%E3%82%8B%E7%B7%A8%E3%80%91512mb%E3%81%AEvps%E3%81%AE%E9%99%90%E7%95%8C%E3%81%AB%E6%8C%91%E6%88%A6%E3%81%97%E3%80%81/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;invidious&lt;/a&gt;に転送してくれる。自身で立てた&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2023/08/23/%E3%80%90youtube%E3%81%AE%E5%BA%83%E5%91%8A%E3%82%92%E7%A0%B4%E5%A3%8A%E3%81%99%E3%82%8B%E7%B7%A8%E3%80%91512mb%E3%81%AEvps%E3%81%AE%E9%99%90%E7%95%8C%E3%81%AB%E6%8C%91%E6%88%A6%E3%81%97%E3%80%81/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;invidious&lt;/a&gt;を指定してもいいし、指定しなかった場合にはランダムな公開&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2023/08/23/%E3%80%90youtube%E3%81%AE%E5%BA%83%E5%91%8A%E3%82%92%E7%A0%B4%E5%A3%8A%E3%81%99%E3%82%8B%E7%B7%A8%E3%80%91512mb%E3%81%AEvps%E3%81%AE%E9%99%90%E7%95%8C%E3%81%AB%E6%8C%91%E6%88%A6%E3%81%97%E3%80%81/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;invidious&lt;/a&gt;サーバーに転送される。
登録されている&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2023/08/23/%E3%80%90youtube%E3%81%AE%E5%BA%83%E5%91%8A%E3%82%92%E7%A0%B4%E5%A3%8A%E3%81%99%E3%82%8B%E7%B7%A8%E3%80%91512mb%E3%81%AEvps%E3%81%AE%E9%99%90%E7%95%8C%E3%81%AB%E6%8C%91%E6%88%A6%E3%81%97%E3%80%81/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;invidious&lt;/a&gt;サーバーは結構な確率で停止しているためできるだけ自分で立てた方が良い。&lt;/p&gt;
&lt;p&gt;本来であればTwitterやfacebookなんかも別の広告なしのものに転送してくれるらしいが、ほぼ停止しているのでほぼYoutube専用だがかなり便利。&lt;/p&gt;
&lt;h2 id=&#34;７mouse-dictionary&#34;&gt;７．Mouse Dictionary
&lt;/h2&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://chrome.google.com/webstore/detail/mouse-dictionary/dnclbikcihnpjohihfcmmldgkjnebgnj&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Mouse Dictionary&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;英語を学習している人必見の最強辞書。
&lt;a class=&#34;link&#34; href=&#34;https://booth.pm/ja/items/777563&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ここ&lt;/a&gt;から英辞郎のテキストデータを購入し、読み込ませることで最強になる。
&lt;a class=&#34;link&#34; href=&#34;https://github.com/wtetsu/mouse-dictionary/wiki/Download-dictionary-data&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Mouse Dictionaryのgithub&lt;/a&gt;を見てほしいのだが驚くほど高速である。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2023/09/e692d90df0b7436f5f5c66e9455a045c.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;管理画面のPDFビュアーからPDFに対しても行える。死角なし。&lt;/p&gt;
&lt;h2 id=&#34;終わりに&#34;&gt;終わりに
&lt;/h2&gt;&lt;p&gt;拡張機能を見て回ってるときの楽しさは代えがたい&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://blogmura.com/profiles/11176491/?p_cid=11176491&amp;reader=11176491&#34; target=&#34;_blank&#34;&gt;&lt;img src=&#34;https://b.blogmura.com/banner-blogmura-reader-pink.svg&#34; width=&#34;230&#34; height=&#34;46&#34; border=&#34;0&#34; alt=&#34;研究室の一角 - にほんブログ村&#34; /&gt;&lt;/a&gt;&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>WordpressからClouflare pagesに乗り換えてコストカットする</title>
        <link>https://glass-lab.net/2023/09/25/Wordpress%E3%81%8B%E3%82%89Clouflare%20pages%E3%81%AB%E4%B9%97%E3%82%8A%E6%8F%9B%E3%81%88%E3%81%A6%E3%82%B3%E3%82%B9%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E3%81%99%E3%82%8B/</link>
        <pubDate>Mon, 25 Sep 2023 14:40:00 +0900</pubDate>
        
        <guid>https://glass-lab.net/2023/09/25/Wordpress%E3%81%8B%E3%82%89Clouflare%20pages%E3%81%AB%E4%B9%97%E3%82%8A%E6%8F%9B%E3%81%88%E3%81%A6%E3%82%B3%E3%82%B9%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E3%81%99%E3%82%8B/</guid>
        <description>&lt;img src="https://glass-lab.net/wp-content/uploads/2023/09/ec651653c83d633aa3dc5b40707b490c.png" alt="Featured image of post WordpressからClouflare pagesに乗り換えてコストカットする" /&gt;&lt;p&gt;wordpressのサーバーはなんだかんだ高い。静的サイトにしてcloudflare pagesに載せ替えた結果、表示速度、レスポンス、金銭面等で非常に満足行く結果となった。&lt;/p&gt;
&lt;h2 id=&#34;１コスト面&#34;&gt;１．コスト面
&lt;/h2&gt;&lt;p&gt;wordpressではドメイン代とサーバー代がかかるが、Cloudflare pagesだとドメイン代だけでよい。&lt;/p&gt;
&lt;p&gt;Cloudflare pagesは無料枠と課金枠があるが無料枠が非常に潤沢である。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;無料枠&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;ビルド環境が500回/月と、一人なら十分。複数人だとちょっと怪しい？くらいの量
転送量は無制限
商用利用可
SSL、独自ドメイン可&lt;/p&gt;
&lt;p&gt;まあ困らない&lt;/p&gt;
&lt;h2 id=&#34;２レスポンス表示速度&#34;&gt;２．レスポンス、表示速度
&lt;/h2&gt;&lt;p&gt;かなり早い。これだけの速度をWordpressで出そうと思ったらすごく大変だと思う。&lt;/p&gt;
&lt;p&gt;参考までにこのサイトのGoogleのPageSpeed insight&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2023/09/ec651653c83d633aa3dc5b40707b490c.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;サイト自体が軽量なのもあるが、かなり高速。&lt;/p&gt;
 



&lt;h2 id=&#34;３問題点&#34;&gt;３．問題点
&lt;/h2&gt;&lt;p&gt;どう考えても最強に見えるのだが、一つ問題点があり、GitとHUGOというコマンド操作になれていないと厳しいものがある。&lt;/p&gt;
&lt;p&gt;Wordpressの値段は毎月1000円は下らないこともあり、コスト的にはかなり厳しい。特にこのブログのように収益が特に上がっていないブログではかなりの負担となる。&lt;/p&gt;
&lt;p&gt;実際、Wordpressで行わなくてもHUGOで実現できることが多く、このブログのように旅行ブログと技術ログ的な使い方をするのであれば十分である。&lt;/p&gt;
&lt;p&gt;WordpressのコストはHUGOやGitの勉強で減らすことができるので、ぜひ挑戦してほしい。&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://blogmura.com/profiles/11176491/?p_cid=11176491&amp;reader=11176491&#34; target=&#34;_blank&#34;&gt;&lt;img src=&#34;https://b.blogmura.com/banner-blogmura-reader-pink.svg&#34; width=&#34;230&#34; height=&#34;46&#34; border=&#34;0&#34; alt=&#34;研究室の一角 - にほんブログ村&#34; /&gt;&lt;/a&gt;&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>iPhoneにちゃんとした無音カメラがあった件について</title>
        <link>https://glass-lab.net/2023/09/23/iPhone%E3%81%AB%E3%81%A1%E3%82%83%E3%82%93%E3%81%A8%E3%81%97%E3%81%9F%E7%84%A1%E9%9F%B3%E3%82%AB%E3%83%A1%E3%83%A9%E3%81%8C%E3%81%82%E3%81%A3%E3%81%9F%E4%BB%B6%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6/</link>
        <pubDate>Sat, 23 Sep 2023 16:43:43 +0900</pubDate>
        
        <guid>https://glass-lab.net/2023/09/23/iPhone%E3%81%AB%E3%81%A1%E3%82%83%E3%82%93%E3%81%A8%E3%81%97%E3%81%9F%E7%84%A1%E9%9F%B3%E3%82%AB%E3%83%A1%E3%83%A9%E3%81%8C%E3%81%82%E3%81%A3%E3%81%9F%E4%BB%B6%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6/</guid>
        <description>&lt;img src="https://glass-lab.net/img/eyecatch.png" alt="Featured image of post iPhoneにちゃんとした無音カメラがあった件について" /&gt;&lt;p&gt;iPhoneに無音カメラはないと思っていましたが、実はありました。&lt;/p&gt;

&lt;p&gt;無音です。&lt;/p&gt;
&lt;h2 id=&#34;画質はどうなんだ&#34;&gt;画質はどうなんだ
&lt;/h2&gt;&lt;p&gt;iPhoneの無音カメラってどうにもこうにも画質が悪い気がしていましたが、今回はさすがmicrosoft謹製、気になりません。&lt;/p&gt;
&lt;h2 id=&#34;その他の機能&#34;&gt;その他の機能
&lt;/h2&gt;&lt;p&gt;パノラマ機能、ビデオ機能、写真機能、ドキュメント機能がある。この辺はさすがにiPhone純正のものが有利か&lt;/p&gt;
 



&lt;h2 id=&#34;筆者おすすめの使いかた&#34;&gt;筆者おすすめの使いかた
&lt;/h2&gt;&lt;p&gt;博物館や美術館（もちろん写真撮影可のところ）で、音をあまり出したくない場面てあると思うが、そういう時に使い勝手が非常に良い。&lt;/p&gt;
&lt;p&gt;そのほかに会議、講演（もちろん写真可のばめんだけですよ）でも重宝する。&lt;/p&gt;
&lt;p&gt;また紙の書類の内容をコピペしたいときにはドキュメント機能で紙の向きを整えてあげると非常に精度が高くなる。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2023/09/IMG_8932.jpg&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;これが&#34;
	
	
&gt;
&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2023/09/IMG_8933.jpg&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;こうなる&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;iOS16から追加された、iPhoneの文字認識精度は非常に高い。書類作成時に手元の書類からコピペしたくなった時には積極的に活用していきたい&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;実際にボードゲームを囲つしさもあるよね
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ボードゲームを久しぶりにみんなでやれたのは非常に楽しかったのですが、実際にボードゲームを囲う楽しさもあるなと感じました。機会を見つけて昔の友達と実際にボードゲームを囲いたいです。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;あとは旅先にボードゲームを持っていくのが厳しい時にも活用できるかなと思いました。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;歳とりすぎて朝までボードゲームとかはさすがに厳しいかな.....
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;©
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;LICENSED UNDER CC BY-NC-SA 4.0
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;関連するコンテンツ
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;iPhoneに合わせると最強になる端子について
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Tiny Tiny RSSを導入する
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;© 2020-2023研究室の一角
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Built with Hugo
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;テーマ Stack は Jimmyによって計されています
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;終わりに&#34;&gt;終わりに
&lt;/h2&gt;&lt;p&gt;どうしても音が出せない場面で音を出さず、また画質を落とさなくていいのは圧倒的強みではないだろうか&lt;/p&gt;
&lt;p&gt;それとおまけになるが、想像以上にiPhoneの文字認識制度が高く、書類作成に積極的に活用していきたい。&lt;/p&gt;
&lt;p&gt;くれぐれも法律に触れるような使い方はしないように！&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>【本当に超最低限】HUGOとCloudflare pagesを使うにあたって必要なGitの知識メモ</title>
        <link>https://glass-lab.net/2023/09/22/HUGO%E3%81%AB%E5%BF%85%E8%A6%81%E3%81%AAGit%E3%81%AE%E7%9F%A5%E8%AD%98%E3%83%A1%E3%83%A2/</link>
        <pubDate>Fri, 22 Sep 2023 14:33:25 +0900</pubDate>
        
        <guid>https://glass-lab.net/2023/09/22/HUGO%E3%81%AB%E5%BF%85%E8%A6%81%E3%81%AAGit%E3%81%AE%E7%9F%A5%E8%AD%98%E3%83%A1%E3%83%A2/</guid>
        <description>&lt;img src="https://glass-lab.net/img/eyecatch.png" alt="Featured image of post 【本当に超最低限】HUGOとCloudflare pagesを使うにあたって必要なGitの知識メモ" /&gt;&lt;p&gt;ブログをやられている方の中で、静的なサイトでも十分だな、コスト削減したいな、と思っている方も多いと思うので背中を押しに行きます。&lt;/p&gt;
&lt;h2 id=&#34;１gitをインストールする&#34;&gt;１．Gitをインストールする。
&lt;/h2&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/git-guides/install-git&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ここ&lt;/a&gt;でgitをインストールします。おすすめはlinuxなのでWSLをお勧めします。&lt;/p&gt;
&lt;h2 id=&#34;２githubにアカウントを登録する&#34;&gt;２．githubにアカウントを登録する。
&lt;/h2&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/login&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ここ&lt;/a&gt;
からアカウントを登録するだけ。
ログインしたら右上のアカウントからyour repositoryを選択しnewから新しいレポジトリを作成する。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2023/09/0b0ecec7a53d70430c6552e50dd8234d.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;こんな感じの画面かと思うので
Repository nameは好きなように、後は失敗したのを他のひとにバレるのが嫌な人はPrivateにしましょう。最初はまず練習からです。&lt;/p&gt;
 



&lt;h2 id=&#34;３gitのコマンド超最低限&#34;&gt;３．gitのコマンド、超最低限
&lt;/h2&gt;&lt;p&gt;ここからgitのコマンドを超最低限示します。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;githubのRepositoryを複製したいとき&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;cloneといいます。
hugoのgithubにあるものを全部手元に複製するときには&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git clone https://github.com/gohugoio/hugo.git（このURLは適宜変更する。）
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;このURLは
&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2023/09/edba4567a8738cec75d91cfe20700fca.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;
ここからコピペできる。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;githubの複製したRepositoryを最新にしたいとき&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;pullといいます。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git pull
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;とすることで、複製したものが最新のものに更新されます。HUGOの場合では複数人でGithubを使ってサイトを作成する場合によくつかわれるかと思います。&lt;/p&gt;
&lt;p&gt;ここまで分かったら一旦repositoryをいじってみましょう。
gitをインストールした環境で&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;9
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mkdir test23
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cd test23
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;echo &amp;#34;# test23&amp;#34; &amp;gt;&amp;gt; README.md
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git init
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git add README.md
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git commit -m &amp;#34;first commit&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git branch -M main
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git remote add origin https://github.com/shin-cubic/test23.git
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git push -u origin main
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;今回はtest23というサイトにREAD.mdを追加し、今後もこのディレクトリをgitで管理できるようにしました。
&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2023/09/96085b7a2450f899d030c8d14b8c0ea2.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;
&lt;strong&gt;git add → git commit → git pushで変更を保存する。&lt;/strong&gt;
今回のHUGOでサイトを作るうえで一番大事なコマンドです。
git addは変更したものを次回の更新時にgithubでも変更するようにするコマンドです。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git add .
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;このコマンドは使ったディレクトリに含まれるすべての変更を次回の変更時に変更するようにするコマンドです。今回の場合、必ずtest23直下でこのコマンドをするようにすると変更漏れがありません。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git commit -a -m&amp;#34;変更内容をここに書いておくとあとでわかりやすいですよ&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;git commit とすることで、この変更を確定します。-m 以下には今回書いた記事のことや修正点を書いておくと管理が楽になります。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git push
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;これでようやくgithubが更新されます。
ログインするように促されますが、ここで求められるパスワードはgithub登録時のものではなく、
&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2023/09/eb78d8fe4b7b9cfe4cf4fd4fa77ad035.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;
settingsから
&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2023/09/a9fea35c2c72a7cd8164710caf3ed69a.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;
左下のDeveloper settingsへ
&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2023/09/7c2004d50ec4d530c78c8591ab542b70.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;
ここのtoken(classic)から作成できるものです。
token作成時にはいろいろとオプションがあると思いますが、HUGOを扱う場合にはデフォルトのままで大丈夫です。&lt;/p&gt;
&lt;p&gt;これで変更をgithubに反映することが出来ました。&lt;/p&gt;
&lt;h2 id=&#34;終わりに&#34;&gt;終わりに
&lt;/h2&gt;&lt;p&gt;add commit pushの説明があまり良くなかったので&lt;a class=&#34;link&#34; href=&#34;https://qiita.com/atsushi101011/items/96054ebbd876e378cac4&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;こちら&lt;/a&gt;にうまく説明されているものを載せておきます。&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>出来るだけお金をかけずにデータを守る</title>
        <link>https://glass-lab.net/2023/09/17/%E5%87%BA%E6%9D%A5%E3%82%8B%E3%81%A0%E3%81%91%E3%81%8A%E9%87%91%E3%82%92%E3%81%8B%E3%81%91%E3%81%9A%E3%81%AB%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E5%AE%88%E3%82%8B/</link>
        <pubDate>Fri, 22 Sep 2023 12:29:54 +0900</pubDate>
        
        <guid>https://glass-lab.net/2023/09/17/%E5%87%BA%E6%9D%A5%E3%82%8B%E3%81%A0%E3%81%91%E3%81%8A%E9%87%91%E3%82%92%E3%81%8B%E3%81%91%E3%81%9A%E3%81%AB%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E5%AE%88%E3%82%8B/</guid>
        <description>&lt;img src="https://glass-lab.net/img/eyecatch.png" alt="Featured image of post 出来るだけお金をかけずにデータを守る" /&gt;&lt;p&gt;だいたい400GBくらいある。お気に入りの旅行写真たちを絶対に守りたい&lt;/p&gt;
&lt;p&gt;幾つかの選択肢が上がった。
&lt;strong&gt;１．Glacier Deep Archive&lt;/strong&gt;
0.00099USD/GB 大体50円/月（バージニア）
取り出そうとした時、
取り出しリクエスト料金と転送量に対する課金がある。
&lt;strong&gt;取り出しリクエスト料金&lt;/strong&gt;
標準	0.10USD/1,000リクエスト	12時間以内
大容量	0.025USD/1,000リクエスト	48時間以内
&lt;strong&gt;転送量&lt;/strong&gt;
標準	0.02USD/GB	12時間以内
大容量	0.0025USD/GB	48時間以内
まあ大容量でいいかといった感じ。
&lt;strong&gt;２．Backblaze B2 Cloud Storage&lt;/strong&gt;
0.005USD/GB 大体300円/月
ダウンロードが0.01USD/GB
完全にただのオブジェクトストレージとしての活用になる。安いがちょっとびみょい
&lt;strong&gt;３．自分で保存&lt;/strong&gt;
結局今はこれに落ち着いている。&lt;/p&gt;
&lt;h2 id=&#34;今の構成&#34;&gt;今の構成
&lt;/h2&gt;&lt;p&gt;筆者の荷物を置ける場所は
１．今の家
２．実家
がある。まあまあ離れているがどちらも関東圏である。&lt;/p&gt;
&lt;p&gt;今回活用するのはこれ
&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2023/09/IMG_8919.jpg&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;
見たことある人も多いと思うが、ハードオフのジャンクHDDである。
値札通り550円500GBである。
これに写真を入れたものを3つほど用意する。
これをそれぞれ
１．実家
２、３．今の家&lt;/p&gt;
&lt;p&gt;として定期的にバックアップを入れていく。
筆者は一年に一回は実家に帰るのでそこでバックアップを取っている。HDDは定期的に通電させないと壊れるらしいのでちょうどいいかなと思っている。
金銭的な負担としては1650円である。&lt;/p&gt;
 



&lt;h2 id=&#34;ジャンクにバックアップ任せるとか正気か&#34;&gt;ジャンクにバックアップ任せるとか正気か？
&lt;/h2&gt;&lt;p&gt;と思われる方もいると思うがあくまでバックアップにお金かけるのも良くないし、なんとなくGoogleにデータを預けるのはなんとなくいい気持がしない。
またHDDが壊れたことは何度かあるが、ジャンクはいい感じに使用時間がばらけているため、同時に壊れることはないんじゃないかという期待を込めてのジャンクバックアップである。&lt;/p&gt;
&lt;h2 id=&#34;終わりに&#34;&gt;終わりに
&lt;/h2&gt;&lt;p&gt;どうせならバックアップじゃなく旅行とかにお金使いたいですよね！&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>HUGOのRSSを修正した</title>
        <link>https://glass-lab.net/2023/09/21/HUGO%E3%81%AERSS%E3%82%92%E4%BF%AE%E6%AD%A3%E3%81%97%E3%81%9F/</link>
        <pubDate>Thu, 21 Sep 2023 20:51:48 +0900</pubDate>
        
        <guid>https://glass-lab.net/2023/09/21/HUGO%E3%81%AERSS%E3%82%92%E4%BF%AE%E6%AD%A3%E3%81%97%E3%81%9F/</guid>
        <description>&lt;img src="https://glass-lab.net/img/eyecatch.png" alt="Featured image of post HUGOのRSSを修正した" /&gt;&lt;p&gt;今回やったことはタイトルの通り、RSSを修正した。最終的には&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/index.xml&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;こんな感じ&lt;/a&gt;に修正した。&lt;/p&gt;
&lt;p&gt;HUGOはデフォルトでRSSを出力してくれる。がしかし文章を全文出力していたり、なんだかエラーをはいていたり結構ひどい&lt;/p&gt;
&lt;h3 id=&#34;indexのテンプレートを修正した結果&#34;&gt;indexのテンプレートを修正した結果
&lt;/h3&gt;&lt;p&gt;テンプレートの場所はlayouts/index.rss.xml.
なければ自作する。
いろいろいじった。最終的にはこんな感じ、コピペ可&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;20
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;21
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;22
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;23
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;24
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;25
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;26
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;27
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;28
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;29
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;30
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;31
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;32
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;33
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;34
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;35
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;36
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;37
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;38
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;39
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;{{- $pctx := . -}}
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;{{- if .IsHome -}}{{ $pctx = .Site }}{{- end -}}
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;{{- $pages := slice -}}
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;{{- if or $.IsHome $.IsSection -}}
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;{{- $pages = $pctx.RegularPages -}}
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;{{- else -}}
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;{{- $pages = $pctx.Pages -}}
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;{{- end -}}
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;{{- $limit := .Site.Config.Services.RSS.Limit -}}
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;{{- if ge $limit 1 -}}
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;{{- $pages = $pages | first $limit -}}
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;{{- end -}}
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;{{- printf &amp;#34;&amp;lt;?xml version=\&amp;#34;1.0\&amp;#34; encoding=\&amp;#34;utf-8\&amp;#34; standalone=\&amp;#34;yes\&amp;#34;?&amp;gt;&amp;#34; | safeHTML }}
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&amp;lt;rss version=&amp;#34;2.0&amp;#34; xmlns:atom=&amp;#34;http://www.w3.org/2005/Atom&amp;#34;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &amp;lt;channel&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &amp;lt;title&amp;gt;{{ if eq  .Title  .Site.Title }}{{ .Site.Title }}{{ else }}{{ with .Title }}{{.}} on {{ end }}{{ .Site.Title }}{{ end }}&amp;lt;/title&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &amp;lt;link&amp;gt;{{ .Permalink }}&amp;lt;/link&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &amp;lt;description&amp;gt;Recent content {{ if ne  .Title  .Site.Title }}{{ with .Title }}in {{.}} {{ end }}{{ end }}on {{ .Site.Title }}&amp;lt;/description&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &amp;lt;generator&amp;gt;Hugo -- gohugo.io&amp;lt;/generator&amp;gt;{{ with .Site.LanguageCode }}
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &amp;lt;language&amp;gt;{{.}}&amp;lt;/language&amp;gt;{{end}}{{ with .Site.Author.email }}
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &amp;lt;managingEditor&amp;gt;{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}&amp;lt;/managingEditor&amp;gt;{{end}}{{ with .Site.Author.email }}
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &amp;lt;webMaster&amp;gt;{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}&amp;lt;/webMaster&amp;gt;{{end}}{{ with .Site.Copyright }}
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &amp;lt;copyright&amp;gt;{{.}}&amp;lt;/copyright&amp;gt;{{end}}{{ if not .Date.IsZero }}
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &amp;lt;lastBuildDate&amp;gt;{{ .Date.Format &amp;#34;Mon, 02 Jan 2006 15:04:05 -0700&amp;#34; | safeHTML }}&amp;lt;/lastBuildDate&amp;gt;{{ end }}
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    {{- with .OutputFormats.Get &amp;#34;RSS&amp;#34; -}}
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    {{ printf &amp;#34;&amp;lt;atom:link href=%q rel=\&amp;#34;self\&amp;#34; type=%q /&amp;gt;&amp;#34; .Permalink .MediaType | safeHTML }}
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    {{- end -}}
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    {{ range $pages }}
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &amp;lt;item&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &amp;lt;title&amp;gt;{{ .Title }}&amp;lt;/title&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &amp;lt;link&amp;gt;{{ .Permalink }}&amp;lt;/link&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &amp;lt;pubDate&amp;gt;{{ .Date.Format &amp;#34;Mon, 02 Jan 2006 15:04:05 -0700&amp;#34; | safeHTML }}&amp;lt;/pubDate&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      {{ with .Site.Author.email }}&amp;lt;author&amp;gt;{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}&amp;lt;/author&amp;gt;{{end}}
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &amp;lt;guid&amp;gt;{{ .Permalink }}&amp;lt;/guid&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &amp;lt;description&amp;gt;{{ .Summary | html }}&amp;lt;/description&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &amp;lt;/item&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    {{ end }}
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &amp;lt;/channel&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&amp;lt;/rss&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;これを&lt;a class=&#34;link&#34; href=&#34;https://glass-lab.net/2023/09/02/tiny-tiny-rss%E3%82%92%E5%B0%8E%E5%85%A5%E3%81%99%E3%82%8B/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;TTRSS&lt;/a&gt;にいれるとこんな感じになった。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2023/09/2cb49c848054475712e0f217ba137693.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;かなりスリムになった。&lt;/p&gt;
&lt;h3 id=&#34;終わりに&#34;&gt;終わりに
&lt;/h3&gt;&lt;p&gt;デフォルトのRSSはちょっといじった方がよさそう&lt;/p&gt;
 



</description>
        </item>
        <item>
        <title>Proxmox上に録画鯖を乗せ換えた時のTips</title>
        <link>https://glass-lab.net/2023/09/19/Proxmox%E4%B8%8A%E3%81%AB%E9%8C%B2%E7%94%BB%E9%AF%96%E3%82%92%E4%B9%97%E3%81%9B%E6%8F%9B%E3%81%88%E3%81%9F%E6%99%82%E3%81%AETips/</link>
        <pubDate>Tue, 19 Sep 2023 15:54:17 +0900</pubDate>
        
        <guid>https://glass-lab.net/2023/09/19/Proxmox%E4%B8%8A%E3%81%AB%E9%8C%B2%E7%94%BB%E9%AF%96%E3%82%92%E4%B9%97%E3%81%9B%E6%8F%9B%E3%81%88%E3%81%9F%E6%99%82%E3%81%AETips/</guid>
        <description>&lt;img src="https://glass-lab.net/wp-content/uploads/2023/09/86652dc3687e3e06818a94154fb3511b.png" alt="Featured image of post Proxmox上に録画鯖を乗せ換えた時のTips" /&gt;&lt;p&gt;当ブログはアフィリエイト広告を利用し商品を紹介しています。&lt;/p&gt;
&lt;p&gt;Proxmoxならバックアップも簡単だし、なによりサーバー機能を分割できるので他のことをやらせやすくなる&lt;/p&gt;
&lt;h2 id=&#34;１環境&#34;&gt;１．環境
&lt;/h2&gt;&lt;p&gt;Ryzen3400G 8GB
proxmox VE 6.4
PX-S1UD&lt;/p&gt;
&lt;!-- START MoshimoAffiliateEasyLink --&gt;&lt;script type=&#34;text/javascript&#34;&gt;(function(b,c,f,g,a,d,e){b.MoshimoAffiliateObject=a;b[a]=b[a]||function(){arguments.currentScript=c.currentScript||c.scripts[c.scripts.length-2];(b[a].q=b[a].q||[]).push(arguments)};c.getElementById(a)||(d=c.createElement(f),d.src=g,d.id=a,e=c.getElementsByTagName(&#34;body&#34;)[0],e.appendChild(d))})(window,document,&#34;script&#34;,&#34;//dn.msmstatic.com/site/cardlink/bundle.js?20220329&#34;,&#34;msmaflink&#34;);msmaflink({&#34;n&#34;:&#34;PLEX USB接続ドングル型地上デジタルTVチューナー&#34;,&#34;b&#34;:&#34;プレクス&#34;,&#34;t&#34;:&#34;PX-S1UD V2.0&#34;,&#34;d&#34;:&#34;https:\/\/m.media-amazon.com&#34;,&#34;c_p&#34;:&#34;\/images\/I&#34;,&#34;p&#34;:[&#34;\/41uHRBPDA3L._SL500_.jpg&#34;,&#34;\/31jmfiyvu+L._SL500_.jpg&#34;,&#34;\/31yLetji7sL._SL500_.jpg&#34;,&#34;\/4179G54GY0L._SL500_.jpg&#34;,&#34;\/51XSxdJ18ML._SL500_.jpg&#34;,&#34;\/41z+Il013qL._SL500_.jpg&#34;],&#34;u&#34;:{&#34;u&#34;:&#34;https:\/\/www.amazon.co.jp\/dp\/B0141NFWSG&#34;,&#34;t&#34;:&#34;amazon&#34;,&#34;r_v&#34;:&#34;&#34;},&#34;v&#34;:&#34;2.1&#34;,&#34;b_l&#34;:[{&#34;id&#34;:1,&#34;u_tx&#34;:&#34;Amazonで見る&#34;,&#34;u_bc&#34;:&#34;#f79256&#34;,&#34;u_url&#34;:&#34;https:\/\/www.amazon.co.jp\/dp\/B0141NFWSG&#34;,&#34;a_id&#34;:4140111,&#34;p_id&#34;:170,&#34;pl_id&#34;:27060,&#34;pc_id&#34;:185,&#34;s_n&#34;:&#34;amazon&#34;,&#34;u_so&#34;:1},{&#34;id&#34;:2,&#34;u_tx&#34;:&#34;楽天市場で見る&#34;,&#34;u_bc&#34;:&#34;#f76956&#34;,&#34;u_url&#34;:&#34;https:\/\/search.rakuten.co.jp\/search\/mall\/PLEX%20USB%E6%8E%A5%E7%B6%9A%E3%83%89%E3%83%B3%E3%82%B0%E3%83%AB%E5%9E%8B%E5%9C%B0%E4%B8%8A%E3%83%87%E3%82%B8%E3%82%BF%E3%83%ABTV%E3%83%81%E3%83%A5%E3%83%BC%E3%83%8A%E3%83%BC\/&#34;,&#34;a_id&#34;:4140102,&#34;p_id&#34;:54,&#34;pl_id&#34;:27059,&#34;pc_id&#34;:54,&#34;s_n&#34;:&#34;rakuten&#34;,&#34;u_so&#34;:2},{&#34;id&#34;:3,&#34;u_tx&#34;:&#34;Yahoo!ショッピングで見る&#34;,&#34;u_bc&#34;:&#34;#66a7ff&#34;,&#34;u_url&#34;:&#34;https:\/\/shopping.yahoo.co.jp\/search?first=1\u0026p=PLEX%20USB%E6%8E%A5%E7%B6%9A%E3%83%89%E3%83%B3%E3%82%B0%E3%83%AB%E5%9E%8B%E5%9C%B0%E4%B8%8A%E3%83%87%E3%82%B8%E3%82%BF%E3%83%ABTV%E3%83%81%E3%83%A5%E3%83%BC%E3%83%8A%E3%83%BC&#34;,&#34;a_id&#34;:4146916,&#34;p_id&#34;:1225,&#34;pl_id&#34;:27061,&#34;pc_id&#34;:1925,&#34;s_n&#34;:&#34;yahoo&#34;,&#34;u_so&#34;:3}],&#34;eid&#34;:&#34;9ikyV&#34;,&#34;s&#34;:&#34;s&#34;});&lt;/script&gt;&lt;div id=&#34;msmaflink-9ikyV&#34;&gt;リンク&lt;/div&gt;&lt;!-- MoshimoAffiliateEasyLink END --&gt;
 



&lt;h2 id=&#34;２やったこと&#34;&gt;２．やったこと
&lt;/h2&gt;&lt;p&gt;ほかの解説記事と大体同じなのでインストールとかは省略&lt;/p&gt;
&lt;p&gt;あまり解説で出てなかったことなので覚書&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2023/09/86652dc3687e3e06818a94154fb3511b.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;ProxmoxのVM管理画面からHardware→Add→USB Deviceとして
&lt;img src=&#34;https://glass-lab.net/wp-content/uploads/2023/09/b0d1222277751d1da96969e73e5e72f1.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;ここからVM側に渡したいものを選択。今回はPxS1UDとEMV Smartcard Readerを選択。VMを再起動すると難なく認識された。&lt;/p&gt;
&lt;h2 id=&#34;３おすすめポイント&#34;&gt;３．おすすめポイント
&lt;/h2&gt;&lt;p&gt;たまにUSBの認識がおかしくなり、定期的な再起動が必要だったが、今回VM化することで再起動が簡単になった。
また環境全体をバックアップするのが非常にやりやすくなった。&lt;/p&gt;
 



</description>
        </item>
        
    </channel>
</rss>
