<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>文章 on Roam Tech-verse | Roamverse Technical Blog</title>
    <link>/posts/</link>
    <description>Recent content in 文章 on Roam Tech-verse | Roamverse Technical Blog</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <copyright>Copyright © 2020-2026 Razon Yang. All Rights Reserved.
</copyright><atom:link href="/posts/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>局域网同步 Git 仓库</title>
      <link>/posts/repo-sync/</link>
      <pubDate>Sun, 24 Sep 2023 06:48:35 +0000</pubDate>
      <guid>/posts/repo-sync/</guid>
      <description><![CDATA[<h1 id="裸仓库" data-numberify>裸仓库<a class="anchor ms-1" href="#裸仓库"></a></h1>
<p>在局域网下对仓库进行同步，除了自己搭建Git服务外，还有一种方式，就是搭建一个专用于同步代码的<strong>裸仓库</strong>。</p>]]></description>
    </item>
    
    <item>
      <title>WebStorage 浏览器本地存储</title>
      <link>/posts/web-storage/</link>
      <pubDate>Mon, 18 Sep 2023 23:39:38 +0000</pubDate>
      <guid>/posts/web-storage/</guid>
      <description><![CDATA[<p>WebStorage是指浏览器自带的本地存储。WebStorage存储内容大小一般支持5MB左右（不同浏览器的存储大小可能不一样）。</p>
<p>浏览器通过以下两种属性来实现本地存储：</p>]]></description>
    </item>
    
    <item>
      <title>VS Code 中英字符对齐</title>
      <link>/posts/vscode-markdown-font/</link>
      <pubDate>Thu, 10 Aug 2023 08:40:27 +0000</pubDate>
      <guid>/posts/vscode-markdown-font/</guid>
      <description><![CDATA[<p>在VS Code中，编写代码或者Markdown时，中文字符与英文字符通常是无法对齐的。可以通过使用Ubuntu Mono字体，让VS Code的中英字符能够对齐。</p>]]></description>
    </item>
    
    <item>
      <title>NVM 安装</title>
      <link>/posts/nvm-install/</link>
      <pubDate>Sun, 06 Aug 2023 05:31:54 +0000</pubDate>
      <guid>/posts/nvm-install/</guid>
      <description><![CDATA[<h1 id="debian-安装-nvm" data-numberify>Debian 安装 NVM<a class="anchor ms-1" href="#debian-安装-nvm"></a></h1>
<p>NVM（Node Version Manager）是一个用于管理 Node.js 版本的工具。它允许你在同一台机器上同时安装和切换不同的 Node.js 版本，以便于在不同项目中使用特定的 Node.js 版本。</p>]]></description>
    </item>
    
    <item>
      <title>瑞吉外卖项目实战</title>
      <link>/posts/reggie-note/</link>
      <pubDate>Tue, 21 Mar 2023 00:00:00 +0000</pubDate>
      <guid>/posts/reggie-note/</guid>
      <description><![CDATA[<h1 id="项目笔记" data-numberify>项目笔记<a class="anchor ms-1" href="#项目笔记"></a></h1>
<p>项目笔记仓库：<a href="https://gitee.com/linner_cheng/reggie_note" target="_blank" rel="noopener noreferrer">https://gitee.com/linner_cheng/reggie_note<i class="fas fa-external-link-square-alt ms-1"></i></a></p>
<p>B站视频：<a href="https://www.bilibili.com/video/BV13a411q753/?p=190&amp;spm_id_from=333.1007.top_right_bar_window_history.content.click" target="_blank" rel="noopener noreferrer">黑马程序员Java项目实战《瑞吉外卖》<i class="fas fa-external-link-square-alt ms-1"></i></a></p>]]></description>
    </item>
    
    <item>
      <title>Linux 终端中文编码设置</title>
      <link>/posts/linux-terminal-coding/</link>
      <pubDate>Tue, 13 Sep 2022 00:00:00 +0000</pubDate>
      <guid>/posts/linux-terminal-coding/</guid>
      <description><![CDATA[<h1 id="ubuntu" data-numberify>Ubuntu<a class="anchor ms-1" href="#ubuntu"></a></h1>
<p>安装中文支持：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="ln">1</span><span class="cl">apt-get install language-pack-zh-hans -y
</span></span></code></pre></div><p>查看系统语言包：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="ln">1</span><span class="cl">locale -a
</span></span></code></pre></div><p>修改<code>~/.bashrc</code>，加入：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="ln">1</span><span class="cl"><span class="nb">export</span> <span class="nv">LC_ALL</span><span class="o">=</span>zh_CN.UTF-8
</span></span><span class="line"><span class="ln">2</span><span class="cl"><span class="nb">export</span> <span class="nv">LANG</span><span class="o">=</span>zh_CN.UTF-8
</span></span></code></pre></div><p>修改<code>/etc/default/locale</code>：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="ln">1</span><span class="cl"><span class="nv">LANG</span><span class="o">=</span><span class="s2">&#34;zh_CN.UTF-8&#34;</span>
</span></span></code></pre></div>
<h1 id="debian" data-numberify>Debian<a class="anchor ms-1" href="#debian"></a></h1>
<p>安装<code>locales</code>：</p>]]></description>
    </item>
    
    <item>
      <title>集合论</title>
      <link>/posts/set-theory/</link>
      <pubDate>Fri, 02 Sep 2022 12:43:41 +0800</pubDate>
      <guid>/posts/set-theory/</guid>
      <description><![CDATA[<h1 id="集合的概念" data-numberify>集合的概念<a class="anchor ms-1" href="#集合的概念"></a></h1>
<blockquote>
<ul>
<li>A <strong>set</strong> is a group of objects. (simplest way)</li>
<li>By a <strong>set</strong> we mean any collection M into a whole of definite disinct objects m (which we called <strong>elements</strong> of M) of our perception or thought. (Cantor&rsquo;s way)</li>
</ul>
</blockquote>
<p><strong>集合</strong>（set）是由 <u>指定范围</u>内的<u>满足给定条件的所有对象</u>聚集在一起构成的，指定范围内的每一个对象称为这个集合的<strong>元素</strong>（element）。</p>]]></description>
    </item>
    
    <item>
      <title>SSH 公钥配置</title>
      <link>/posts/ssh-public-key/</link>
      <pubDate>Sat, 13 Aug 2022 00:00:00 +0000</pubDate>
      <guid>/posts/ssh-public-key/</guid>
      <description><![CDATA[<p>创建<code>.ssh</code>目录并生成公钥:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="ln">1</span><span class="cl">ssh-keygen -t rsa
</span></span></code></pre></div><p>所有选项全部回车, 使用默认选项即可.</p>
<p>然后切换到用户目录下的<code>.ssh</code>目录:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="ln">1</span><span class="cl"><span class="nb">cd</span> ~/.ssh
</span></span></code></pre></div><p>该目录下默认有三个文件:</p>
<ul>
<li><code>id_rsa</code>: 用户私钥, 不要复制发送给任何人.</li>
<li><code>id_rsa.pub</code>: 公钥, 将里面内容发送给客户端.</li>
<li><code>authorized_keys</code>: 信任的公钥.</li>
</ul>
<p>只需要将<code>id_rsa.pub</code>里的内容以 (<code>ssh-rsa</code>开头的一行内容) 复制到客户端的<code>authorized_keys</code>的目录下即可.</p>]]></description>
    </item>
    
    <item>
      <title>Code Server 部署</title>
      <link>/posts/code-server-deploy/</link>
      <pubDate>Sat, 23 Jul 2022 00:00:00 +0000</pubDate>
      <guid>/posts/code-server-deploy/</guid>
      <description><![CDATA[<ol>
<li>
<p>下载code-server：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="ln">1</span><span class="cl">wget https://github.com/coder/code-server/releases/download/v4.5.1/code-server-4.5.1-linux-amd64.tar.gz
</span></span></code></pre></div><p>可以访问<a href="https://github.com/coder/code-server" title="code-server GitHub 页面" target="_blank" rel="noopener noreferrer">code-server GitHub 页面<i class="fas fa-external-link-square-alt ms-1"></i></a>获取下载连接。</p>
</li>
<li>
<p>解压：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="ln">1</span><span class="cl">tar -zxvf code-server-4.5.1-linux-amd64.tar.gz
</span></span></code></pre></div></li>
<li>
<p>将解压后的文件移动到<code>/opt</code>目录下，并重命名：</p>]]></description>
    </item>
    
    <item>
      <title>搭建 frp 服务</title>
      <link>/posts/frp-deploy/</link>
      <pubDate>Sat, 23 Jul 2022 00:00:00 +0000</pubDate>
      <guid>/posts/frp-deploy/</guid>
      <description><![CDATA[<ol>
<li>
<p>下载frp：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="ln">1</span><span class="cl">wget https://github.com/fatedier/frp/releases/download/v0.44.0/frp_0.44.0_linux_amd64.tar.gz
</span></span></code></pre></div><p>或者访问<a href="https://github.com/fatedier/frp/" title="frp项目" target="_blank" rel="noopener noreferrer">frp项目<i class="fas fa-external-link-square-alt ms-1"></i></a>获取自己需要的版本。</p>
</li>
<li>
<p>解压：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="ln">1</span><span class="cl">tar -zxvf frp_0.44.0_linux_amd64.tar.gz
</span></span></code></pre></div></li>
<li>
<p>进入目录后，配置<code>frps.ini</code>和<code>frpc.ini</code>：</p>]]></description>
    </item>
    
    <item>
      <title>经典查找算法</title>
      <link>/posts/search-algorithm-base/</link>
      <pubDate>Sun, 27 Feb 2022 14:44:00 +0000</pubDate>
      <guid>/posts/search-algorithm-base/</guid>
      <description><![CDATA[<h1 id="二分查找" data-numberify>二分查找<a class="anchor ms-1" href="#二分查找"></a></h1>
<p>二分查找又叫折半查找，是在有序列表的基础上进行查找，每次查找可以筛掉一半的元素。</p>

<h2 id="算法步骤" data-numberify>算法步骤<a class="anchor ms-1" href="#算法步骤"></a></h2>
<p>以升序数列$L[0&hellip;n-1]$为例，假设要查找的数为$x$：</p>]]></description>
    </item>
    
    <item>
      <title>MySQL 环境配置</title>
      <link>/posts/mysql-deploy/</link>
      <pubDate>Sun, 20 Feb 2022 00:00:00 +0000</pubDate>
      <guid>/posts/mysql-deploy/</guid>
      <description><![CDATA[<h1 id="ubuntu" data-numberify>Ubuntu<a class="anchor ms-1" href="#ubuntu"></a></h1>
<p>MySQL 8 安装：</p>
<ol>
<li>
<p>首先更新本地存储库索引：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="ln">1</span><span class="cl">sudo apt update
</span></span></code></pre></div></li>
<li>
<p>从 APT 存储库安装 MySQL：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="ln">1</span><span class="cl">sudo apt install MySQL-server -y
</span></span></code></pre></div></li>
<li>
<p>查看 MySQL 版本，验证是否安装成功：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="ln">1</span><span class="cl">mysql --version
</span></span></code></pre></div></li>
<li>
<p>检查 MySQL 是否正在运行：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="ln">1</span><span class="cl">systemctl status mysql.service
</span></span></code></pre></div></li>
</ol>
<p>如果服务未运行：</p>]]></description>
    </item>
    
    <item>
      <title>Ubuntu 安装 Oh my zsh</title>
      <link>/posts/ubuntu-omz/</link>
      <pubDate>Wed, 26 Jan 2022 00:00:00 +0000</pubDate>
      <guid>/posts/ubuntu-omz/</guid>
      <description><![CDATA[<p>oh-my-zsh主页： <a href="https://ohmyz.sh/" title="https://ohmyz.sh/" target="_blank" rel="noopener noreferrer">https://ohmyz.sh/<i class="fas fa-external-link-square-alt ms-1"></i></a></p>

<h1 id="安装并设置zsh" data-numberify>安装并设置zsh<a class="anchor ms-1" href="#安装并设置zsh"></a></h1>
<p>安装zsh：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="ln">1</span><span class="cl">sudo apt install zsh
</span></span></code></pre></div><p>查看系统中所有的shell：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="ln">1</span><span class="cl">cat /etc/shells
</span></span></code></pre></div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="ln"> 1</span><span class="cl"># /etc/shells: valid login shells
</span></span><span class="line"><span class="ln"> 2</span><span class="cl">/bin/sh
</span></span><span class="line"><span class="ln"> 3</span><span class="cl">/bin/bash
</span></span><span class="line"><span class="ln"> 4</span><span class="cl">/usr/bin/bash
</span></span><span class="line"><span class="ln"> 5</span><span class="cl">/bin/rbash
</span></span><span class="line"><span class="ln"> 6</span><span class="cl">/usr/bin/rbash
</span></span><span class="line"><span class="ln"> 7</span><span class="cl">/bin/dash
</span></span><span class="line"><span class="ln"> 8</span><span class="cl">/usr/bin/dash
</span></span><span class="line"><span class="ln"> 9</span><span class="cl">/usr/bin/tmux
</span></span><span class="line"><span class="ln">10</span><span class="cl">/usr/bin/screen
</span></span><span class="line"><span class="ln">11</span><span class="cl">/bin/zsh
</span></span><span class="line"><span class="ln">12</span><span class="cl">/usr/bin/zsh
</span></span></code></pre></div><p>将zsh设置为默认的shell：</p>]]></description>
    </item>
    
    <item>
      <title>命题逻辑</title>
      <link>/posts/proposition-logic/</link>
      <pubDate>Sun, 23 Jan 2022 02:03:41 +0800</pubDate>
      <guid>/posts/proposition-logic/</guid>
      <description><![CDATA[<h1 id="命题的定义" data-numberify>命题的定义<a class="anchor ms-1" href="#命题的定义"></a></h1>
<p>具有<u>确切真值的陈述句</u>称为<strong>命题</strong>（<strong>proposition</strong>）。命题可以取一个 “值”，称为<strong>真值</strong>。真值只有 “真”（用 “T” or “1” 表示，即 True）和 “假”（用 “F” or “0” 表示，即 False）。</p>]]></description>
    </item>
    
    <item>
      <title>经典字符串匹配</title>
      <link>/posts/string-pattern-algorithm-base/</link>
      <pubDate>Fri, 21 Jan 2022 00:15:00 +0000</pubDate>
      <guid>/posts/string-pattern-algorithm-base/</guid>
      <description><![CDATA[<h1 id="经典字符串匹配" data-numberify>经典字符串匹配<a class="anchor ms-1" href="#经典字符串匹配"></a></h1>

<h1 id="bf暴力匹配算法" data-numberify>BF暴力匹配算法<a class="anchor ms-1" href="#bf暴力匹配算法"></a></h1>
<p>暴力匹配，即Brute Force，简称BF算法。BF算法是一种简单朴素的模式匹配算法，常用于在一个主串S内查找一个子串T的出现位置。</p>]]></description>
    </item>
    
    <item>
      <title>两数交换算法</title>
      <link>/posts/2num-exchange-algorithm/</link>
      <pubDate>Sun, 16 Jan 2022 00:00:00 +0000</pubDate>
      <guid>/posts/2num-exchange-algorithm/</guid>
      <description><![CDATA[<h1 id="临时变量" data-numberify>临时变量<a class="anchor ms-1" href="#临时变量"></a></h1>
<p>通过建立一个临时变量来实现两数交换：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="k">def</span> <span class="nf">swap</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">):</span>
</span></span><span class="line"><span class="ln"> 2</span><span class="cl">    <span class="nb">print</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">)</span>
</span></span><span class="line"><span class="ln"> 3</span><span class="cl">    <span class="n">tmp</span> <span class="o">=</span> <span class="n">x</span>
</span></span><span class="line"><span class="ln"> 4</span><span class="cl">    <span class="n">x</span> <span class="o">=</span> <span class="n">y</span>
</span></span><span class="line"><span class="ln"> 5</span><span class="cl">    <span class="n">y</span> <span class="o">=</span> <span class="n">tmp</span>
</span></span><span class="line"><span class="ln"> 6</span><span class="cl">    <span class="nb">print</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">)</span>
</span></span><span class="line"><span class="ln"> 7</span><span class="cl">    <span class="k">return</span> <span class="n">x</span><span class="p">,</span> <span class="n">y</span>
</span></span><span class="line"><span class="ln"> 8</span><span class="cl">
</span></span><span class="line"><span class="ln"> 9</span><span class="cl"><span class="k">if</span> <span class="vm">__name__</span> <span class="o">==</span> <span class="s1">&#39;__main__&#39;</span><span class="p">:</span>
</span></span><span class="line"><span class="ln">10</span><span class="cl">    <span class="n">swap</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span>
</span></span></code></pre></div><p>缺点：</p>
<p>需要消耗额外的内存。</p>]]></description>
    </item>
    
    <item>
      <title>Python 基础</title>
      <link>/posts/python-base/</link>
      <pubDate>Wed, 12 Jan 2022 00:00:00 +0000</pubDate>
      <guid>/posts/python-base/</guid>
      <description><![CDATA[<h1 id="python-语法" data-numberify>Python 语法<a class="anchor ms-1" href="#python-语法"></a></h1>

<h2 id="注释" data-numberify>注释<a class="anchor ms-1" href="#注释"></a></h2>
<p>Python 的注释风格：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="ln">1</span><span class="cl"><span class="c1"># 行注释</span>
</span></span><span class="line"><span class="ln">2</span><span class="cl">
</span></span><span class="line"><span class="ln">3</span><span class="cl"><span class="s1">&#39;&#39;&#39;
</span></span></span><span class="line"><span class="ln">4</span><span class="cl"><span class="s1">块注释1
</span></span></span><span class="line"><span class="ln">5</span><span class="cl"><span class="s1">&#39;&#39;&#39;</span>
</span></span><span class="line"><span class="ln">6</span><span class="cl">
</span></span><span class="line"><span class="ln">7</span><span class="cl"><span class="s2">&#34;&#34;&#34;
</span></span></span><span class="line"><span class="ln">8</span><span class="cl"><span class="s2">块注释2
</span></span></span><span class="line"><span class="ln">9</span><span class="cl"><span class="s2">&#34;&#34;&#34;</span>
</span></span></code></pre></div><p>注释中的内容将不会被执行。</p>
<hr>

<h2 id="标识符" data-numberify>标识符<a class="anchor ms-1" href="#标识符"></a></h2>
<ul>
<li>
<p>首字母必须是大写或小写的英文字母或者下划线 <code>_</code>。</p>]]></description>
    </item>
    
    <item>
      <title>Python 进阶 — 正则表达式篇</title>
      <link>/posts/python-pattern/</link>
      <pubDate>Wed, 12 Jan 2022 00:00:00 +0000</pubDate>
      <guid>/posts/python-pattern/</guid>
      <description><![CDATA[<h1 id="正则表达式语法--python" data-numberify>正则表达式语法 —— Python<a class="anchor ms-1" href="#正则表达式语法--python"></a></h1>
<p>正则表达式是一个特殊的字符序列，能方便地检查一个字符串是否与某种模式匹配。</p>
<ul>
<li>
<p>正则表达式可以拼接。</p>]]></description>
    </item>
    
    <item>
      <title>vbs 后台运行 bat</title>
      <link>/posts/vbs-run-bat/</link>
      <pubDate>Wed, 12 Jan 2022 00:00:00 +0000</pubDate>
      <guid>/posts/vbs-run-bat/</guid>
      <description><![CDATA[<p>假设有三个 bat 程序需要后台运行（称为 <code>A.bat</code>、<code>B.bat</code>、<code>C.bat</code>）：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="ln">1</span><span class="cl">Set ws = CreateObject(&#34;Wscript.Shell&#34;)
</span></span><span class="line"><span class="ln">2</span><span class="cl">ws.run &#34;cmd /c A.bat&#34;,0
</span></span><span class="line"><span class="ln">3</span><span class="cl">ws.run &#34;cmd /c B.bat&#34;,0
</span></span><span class="line"><span class="ln">4</span><span class="cl">ws.run &#34;cmd /c C.bat&#34;,0
</span></span></code></pre></div>]]></description>
    </item>
    
    <item>
      <title>经典排序算法</title>
      <link>/posts/sorting-algorithm-base/</link>
      <pubDate>Wed, 12 Jan 2022 00:00:00 +0000</pubDate>
      <guid>/posts/sorting-algorithm-base/</guid>
      <description><![CDATA[<h1 id="冒泡排序" data-numberify>冒泡排序<a class="anchor ms-1" href="#冒泡排序"></a></h1>
<p>冒泡排序（Bubble Sort）是一种简单直观的排序算法。</p>
<p>这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。</p>]]></description>
    </item>
    
    <item>
      <title>SQL 语句</title>
      <link>/posts/sql-language/</link>
      <pubDate>Tue, 11 Jan 2022 00:00:00 +0000</pubDate>
      <guid>/posts/sql-language/</guid>
      <description><![CDATA[<h1 id="基本概念" data-numberify>基本概念<a class="anchor ms-1" href="#基本概念"></a></h1>
<p><strong>SQL</strong>（<strong>Structured Query Language</strong>，发音为 sequal）是一种专门用来与数据库沟通的语言。通过 SQL，用户可以对数据库进行各种操作。</p>]]></description>
    </item>
    
  </channel>
</rss>

