<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>无风引漩的日常</title>
        <link>https://www.sciroccogti.top/</link>
        <description></description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh-cn</language>
        
        
        
        
        <lastBuildDate>Sun, 20 Apr 2025 12:00:00 +0800</lastBuildDate>
        <atom:link href="https://www.sciroccogti.top/index.xml" rel="self" type="application/rss+xml" /><item>
                <title>日本旅游实用App推荐</title>
                <link>https://www.sciroccogti.top/post/2025-04-20-japan-apps/</link>
                <pubDate>Sun, 20 Apr 2025 12:00:00 +0800</pubDate>
                
                <guid>https://www.sciroccogti.top/post/2025-04-20-japan-apps/</guid>
                <description>&lt;img src="https://cdn.sciroccogti.top/static/img/post/2025-04-20-japan-apps/DSC07771.webp" alt="Featured image of post 日本旅游实用App推荐" /&gt;&lt;p&gt;一转眼从日本旅行回来已经快10个月了，上个月终于做完了&lt;a class=&#34;link&#34; href=&#34;https://www.bilibili.com/video/BV1RyRNYSEP6/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;视频&lt;/a&gt;，虽然为了强行踩点，做成了光速流水账，不过反正也主要是给自己（和其他同行的各位）怀念用的，把大部分还记得的东西塞进去就达到目标了。&lt;/p&gt;






    


&lt;div class=&#34;video-wrapper&#34;&gt;
    &lt;iframe src=&#34;https://player.bilibili.com/player.html?as_wide=1&amp;amp;high_quality=1&amp;amp;page=1&amp;bvid=BV1RyRNYSEP6&#34;
            scrolling=&#34;no&#34;
            frameborder=&#34;no&#34;
            framespacing=&#34;0&#34;
            allowfullscreen=&#34;true&#34;
    &gt;
    &lt;/iframe&gt;
&lt;/div&gt;

&lt;p&gt;作为一个安卓用户，难得出国一次，也额外装了不少 App，直接卸载了有点可惜（，不如记录一下。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://cdn.sciroccogti.top/static/img/post/2025-04-20-japan-apps/Screenshot_2025-04-20-11-20-28-186_com.miui.home-edit.webp&#34;
	width=&#34;1080&#34;
	height=&#34;1054&#34;
	
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;102&#34;
		data-flex-basis=&#34;245px&#34;
	
&gt;&lt;/p&gt;
&lt;h2 id=&#34;1-语言学习类&#34;&gt;1 语言学习类
&lt;/h2&gt;&lt;p&gt;既然是去日本旅游，那还是要学一手日语的，虽然我也就提前了一个月学了一点平假名以及一些常用的日语单词，但是点个菜、问个路也够用了。&lt;/p&gt;
&lt;h3 id=&#34;1-1-多邻国&#34;&gt;1-1 多邻国
&lt;/h3&gt;&lt;p&gt;首先要推荐的肯定是&lt;strong&gt;多邻国&lt;/strong&gt;了，绿色小鸟在线追杀忘了打卡的人（。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;多邻国&lt;/strong&gt;会提供一些系统学习平假名和片假名的课程，还是能快速入门的，起码能读大部分平假名，不过也只是会读，意思是啥就不知道了。
当然平假名本来也就是个音节文字，基于本人多年看番经验，以及日语里的汉字，基本能猜个大概意思。
当实际看到平假名招牌，一点点读出来然后突然理解是什么意思的时候，还是很有成就感的。&lt;/p&gt;
&lt;p&gt;当然，多邻国也有常用单词的课程，再加上艾宾浩斯记忆曲线，对于速成来说还是挺方便的。&lt;/p&gt;
&lt;h3 id=&#34;1-2-nhk-world-japan-简明日语&#34;&gt;1-2 NHK WORLD-JAPAN 简明日语
&lt;/h3&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www3.nhk.or.jp/nhkworld/zh/learnjapanese/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;NHK 简明日语&lt;/a&gt; 实际上是一个网站，只是放了桌面快捷方式。&lt;/p&gt;
&lt;p&gt;这个是真的面向旅游的课程了，全是旅游的对话场景，非常实用。
而且从易到难，循序渐进，也有对话后的难点总结，以及例句，真有点像在系统性学日语了。
唯一的缺点是不能创建账号保存学习进度，只能本地浏览器保存，比较不太可靠。
当然了，要是换了浏览器还没学完，那也差不多已经忘光了（。&lt;/p&gt;
&lt;h2 id=&#34;2-google-全家桶&#34;&gt;2 Google 全家桶
&lt;/h2&gt;&lt;p&gt;安卓手机出国基本就得靠谷歌全家桶了，小米内置 GMS 框架，安装起来还挺方便。&lt;/p&gt;
&lt;h3 id=&#34;2-1-google-翻译及智能镜头&#34;&gt;2-1 Google 翻译及智能镜头
&lt;/h3&gt;&lt;p&gt;试了很多翻译软件，最后发现但凡能连上外网，那最好用的翻译软件就非 Google 翻译莫属。
Google 翻译不单翻译准确，还能给出罗马音，对于我这种半吊子（甚至根本不到半吊子）的日语水平来说，非常顺手。&lt;/p&gt;
&lt;p&gt;当然，安装了谷歌全家桶以后，谷歌翻译也能直接调用智能镜头，拍照翻译菜单、价签十分方便。
其实还有翻译对话，但是每次到用的场合就忘了拿出来用了，都是直接让店员在谷歌翻译里打字了（。&lt;/p&gt;
&lt;h3 id=&#34;2-2-google-maps&#34;&gt;2-2 Google Maps
&lt;/h3&gt;&lt;p&gt;最重要的当然是全知全能的 Google Maps 了。
这次旅行，我们 24年5月18号 就开始规划了，做了一个 Excel、一个流程图和两个Google Maps 的收藏夹，花了整整两周多的时间。
自然，除了APP版的 Google Maps 之外，网页版的 Google Maps 在前期规划的时候更实用。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;说实话，网页版的 Google Maps 比高德、百度地图好用多了，国内这俩的网页版可以说是完全用不了，点一下就要下软件or扫码。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img src=&#34;https://cdn.sciroccogti.top/static/img/post/2025-04-20-japan-apps/%e6%97%a5%e6%9c%ac%e4%ba%a4%e9%80%9a%e6%97%b6%e9%97%b4%e4%b8%8e%e7%a5%a8%e4%bb%b7.webp&#34;
	width=&#34;2099&#34;
	height=&#34;1036&#34;
	
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;202&#34;
		data-flex-basis=&#34;486px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;我们创了两个地图列表，一个是沿途要去的景点列表，另一个是要打卡的圣地巡礼清单，开放给一起去的朋友们，大家可以一起添加。&lt;/p&gt;
&lt;p&gt;一边列清单，一边就在 Google Maps 上规划路线。
日本公共交通在 Google Maps 的上预计时间非常准确，甚至能精确到班次和到站时间，我们也得以实现6月7号的镰仓、8号的伊豆、9号的京都这三天的特种兵行程：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;6月7号从东京出发，逛完镰仓大佛、镰仓高校前、江之岛，再坐电车到热海，到宾馆已经晚上十点了&lt;/li&gt;
&lt;li&gt;6月8号疯狂坐电车，去了大室山、城崎海岸，再坐新干线到京都，到宾馆又是晚上十点多&lt;/li&gt;
&lt;li&gt;6月9号去了二条城、八坂神社、清水寺、伏见稻荷大社，还打卡了京阿尼和京都站，到宾馆仍然是将近十点&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;2-3-google-play&#34;&gt;2-3 Google Play
&lt;/h3&gt;&lt;p&gt;Google Play 由于存在分区，很多日区 App 没法用国区账号下载，所以实际上我用的更多的是 Aurora Store，这个后面再介绍。&lt;/p&gt;
&lt;h2 id=&#34;3-出行&#34;&gt;3 出行
&lt;/h2&gt;&lt;h3 id=&#34;3-1-携程旅行及-agoda&#34;&gt;3-1 携程旅行及 Agoda
&lt;/h3&gt;&lt;p&gt;出乎意料的是，用携程直接订日本酒店体验非常顺利，价格也不错，还有星级之类的，评价也很有参考价值。
选酒店的时候可以直接在地图上选择一个点，显示周围的酒店，信息很全。&lt;/p&gt;
&lt;p&gt;我们在选酒店时关注了离车站的距离、有没有洗衣房、是否为无烟房等。
有早餐的都太贵了，最后都是天天吃便利店的饭团和寿司（。&lt;/p&gt;
&lt;p&gt;Agoda 也是一个很不错的订酒店 App，价格也很实惠，就是界面比较简陋。
但是 Agoda 上能和店家交流，携程上好像不能，这个也是一个优点。&lt;/p&gt;
&lt;p&gt;经过我们的地毯式搜查，基本上这两个 App 就能覆盖绝大多数的酒店，价格上也基本是最低的。&lt;/p&gt;
&lt;h3 id=&#34;3-2-suikakeibo&#34;&gt;3-2 Suikakeibo
&lt;/h3&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://play.google.com/store/apps/details?id=net.mediavrog.ic_card_expensetracker&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Suikakeibo&lt;/a&gt; 是用来读取 Suica 卡的 App，能直接读取 Suica 卡上的余额和消费记录。
对于没有 felica芯片的国行安卓来说，Suica 卡的余额和消费记录只能通过这个 App 来读取了。
不过这个 App 能导出 CSV 格式的消费记录，对于我这种轻微的赛博仓鼠综合症患者来说，也是一个小惊喜。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://cdn.sciroccogti.top/static/img/post/2025-04-20-japan-apps/Screenshot_2025-04-25-23-17-08-485_net.mediavrog.ic_card_expensetracker-edit.webp&#34;
	width=&#34;1162&#34;
	height=&#34;2480&#34;
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Suikakeibo&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;46&#34;
		data-flex-basis=&#34;112px&#34;
	
&gt;
{width=&amp;ldquo;50%&amp;rdquo;}&lt;/p&gt;
&lt;h3 id=&#34;3-3&#34;&gt;3-3
&lt;/h3&gt;
                    &lt;hr/&gt;&lt;em&gt;前往&lt;a href=&#34;https://www.sciroccogti.top/post/2025-04-20-japan-apps/&#34;&gt;网页&lt;/a&gt;以阅读全文。&lt;/em&gt;
                </description>
            </item>
        <item>
                <title>三星Galaxy Watch 5 与国行手机的艰难使用</title>
                <link>https://www.sciroccogti.top/post/2024-04-03-galaxy-watch5/</link>
                <pubDate>Thu, 18 Apr 2024 14:00:00 +0800</pubDate>
                
                <guid>https://www.sciroccogti.top/post/2024-04-03-galaxy-watch5/</guid>
                <description>&lt;img src="https://cdn.sciroccogti.top/static/img/covers/galaxy-watch5-design.jpg" alt="Featured image of post 三星Galaxy Watch 5 与国行手机的艰难使用" /&gt;&lt;p&gt;我是闲鱼买的二手 Galaxy Watch 5 40mm 蓝牙版，500块左右，续航刚好一天多一点。
其实就算是44mm LTE也就这续航了，所以LTE的意义也不是很大。&lt;/p&gt;
&lt;p&gt;能测血压、心电图、身体成分，佩戴也相当无感，而且就500块，要啥自行车。&lt;/p&gt;
&lt;h2 id=&#34;1-初次安装手机软件&#34;&gt;1 初次安装手机软件
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;如有，卸载已安装的所有三星手表相关APP&lt;/li&gt;
&lt;li&gt;从 &lt;a class=&#34;link&#34; href=&#34;https://apps.samsung.cn/gear&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;三星中国官网&lt;/a&gt; 下载 &lt;em&gt;三星智能穿戴App&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;按照App和手表的提示正常操作即可&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;只需要手动给 &lt;em&gt;三星健康&lt;/em&gt; 和 &lt;em&gt;Watch 5 Manager&lt;/em&gt; 自启动权限即可，其它权限如有需要，应用会自己申请的。&lt;/p&gt;
&lt;p&gt;&lt;del&gt;&amp;gt; 无需启用谷歌套件（毕竟是国行）&lt;/del&gt;
建议启用谷歌套件，实测启用后才能正常更新App。&lt;/p&gt;
&lt;h2 id=&#34;2-更新手表系统&#34;&gt;2 更新手表系统
&lt;/h2&gt;&lt;p&gt;安装更新时，直接用手表连接WiFi进行下载和安装，用手机进行安装有概率失败。&lt;/p&gt;
&lt;h2 id=&#34;3-血压和心电图&#34;&gt;3 血压和心电图
&lt;/h2&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/ITDev93/SHM-MOD&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/ITDev93/SHM-MOD&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;4-解决-三星健康-卡在授权页的bug并支持微信步数&#34;&gt;4 解决 &lt;em&gt;三星健康&lt;/em&gt; 卡在授权页的bug并支持微信步数
&lt;/h2&gt;&lt;p&gt;首先根据酷安PanamWebber的教程来设置 &lt;em&gt;三星健康&lt;/em&gt;：&lt;a class=&#34;link&#34; href=&#34;https://www.coolapk.com/feed/44392293&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;关于三星健康步数插件无法同步至微信运动的解决方法&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;ol&gt;
&lt;li&gt;首先，在你手机的&lt;code&gt;download&lt;/code&gt;文件夹下面建立一个名为&lt;code&gt;SamsungHealth&lt;/code&gt;的文件夹，然后在里面再建立一个名为&lt;code&gt;FeatureManagerOn&lt;/code&gt;的文件夹(图一)&lt;/li&gt;
&lt;li&gt;进入三星健康设置→关于三星健康，连续点击版本号直到出现&lt;code&gt;Set&lt;/code&gt;开头的选项(图二)&lt;/li&gt;
&lt;li&gt;将图三的选项改为&lt;code&gt;Dev&lt;/code&gt;，图四划线的选项改为&lt;code&gt;On&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;改完之后返回，之后系统会提示你去设置里面强行停止三星健康，照做就是了，然后再到&lt;a class=&#34;link&#34; href=&#34;https://ecommerce.samsungassistant.cn/index.html#/jd/activity/524/0&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;查看链接&lt;/a&gt;里面去激活插件，权限记得全给，然后按着他的提示来就可以了&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;h3 id=&#34;4-1-微信步数同步插件&#34;&gt;4-1 微信步数同步插件
&lt;/h3&gt;&lt;p&gt;酷安搜索 我的手表没电了 用户来安装修改版的步数同步插件&lt;/p&gt;
&lt;h2 id=&#34;5-三星智能穿戴-提示更新但是无法安装&#34;&gt;5 &lt;em&gt;三星智能穿戴&lt;/em&gt; 提示更新但是无法安装
&lt;/h2&gt;&lt;p&gt;&lt;del&gt;一般来说就是需要更新 &lt;em&gt;Watch 5 Manager&lt;/em&gt; 了。对于 HyperOS 来说似乎不管是关闭 &lt;em&gt;安全守护&lt;/em&gt; 还是 &lt;em&gt;系统优化&lt;/em&gt; 都无法正常安装。这里暂且给一个个人提取的版本：&lt;/del&gt;&lt;/p&gt;
&lt;p&gt;如果无法安装，则可能是没有启用谷歌套件所致。&lt;/p&gt;
&lt;h2 id=&#34;6-其它有用的app&#34;&gt;6 其它有用的App
&lt;/h2&gt;&lt;h3 id=&#34;6-1-wearos-工具箱&#34;&gt;6-1 WearOS 工具箱
&lt;/h3&gt;&lt;p&gt;用来通过无线调试给手表安装Apk，还自带一个应用商店，比较方便：&lt;a class=&#34;link&#34; href=&#34;https://wearosbox.com/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;WearOS 工具箱&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;而工具箱的官网提供的文档也相当实用：&lt;a class=&#34;link&#34; href=&#34;https://help.wearosbox.com/faq/device/samsung.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;三星手表玩表技巧&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;6-2-米屋&#34;&gt;6-2 米屋
&lt;/h3&gt;&lt;p&gt;第三方手表版米家「米屋」：&lt;a class=&#34;link&#34; href=&#34;https://github.com/sky130/MiWu&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;MiWu&lt;/a&gt;&lt;/p&gt;

                    &lt;hr/&gt;&lt;em&gt;前往&lt;a href=&#34;https://www.sciroccogti.top/post/2024-04-03-galaxy-watch5/&#34;&gt;网页&lt;/a&gt;以阅读全文。&lt;/em&gt;
                </description>
            </item>
        <item>
                <title>本站功能</title>
                <link>https://www.sciroccogti.top/features/</link>
                <pubDate>Sun, 23 Jul 2023 21:00:00 +0800</pubDate>
                
                <guid>https://www.sciroccogti.top/features/</guid>
                <description>&lt;h1 id=&#34;本站功能&#34;&gt;本站功能
&lt;/h1&gt;&lt;p&gt;出于安全考虑并不给出对应域名 or IP&lt;/p&gt;
&lt;h2 id=&#34;密码管理器&#34;&gt;密码管理器
&lt;/h2&gt;&lt;p&gt;bitwarden（Docker）：&lt;a class=&#34;link&#34; href=&#34;https://github.com/dani-garcia/vaultwarden&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;dani-garcia/vaultwarden&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;使用方法：用浏览器插件或手机App&lt;/p&gt;
&lt;h2 id=&#34;远程桌面&#34;&gt;远程桌面
&lt;/h2&gt;&lt;p&gt;rustdesk（Docker）：&lt;a class=&#34;link&#34; href=&#34;https://rustdesk.com/docs/en/self-host/install/#docker-examples&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;rustdesk&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;使用方法：在软件中设定 ID 服务器 为本站&lt;/p&gt;

                    &lt;hr/&gt;&lt;em&gt;前往&lt;a href=&#34;https://www.sciroccogti.top/features/&#34;&gt;网页&lt;/a&gt;以阅读全文。&lt;/em&gt;
                </description>
            </item>
        <item>
                <title>多看电纸书pro开荒</title>
                <link>https://www.sciroccogti.top/post/2023-04-23-%E5%B0%8F%E7%B1%B3%E5%A4%9A%E7%9C%8B%E7%94%B5%E7%BA%B8%E4%B9%A6pro/</link>
                <pubDate>Sun, 23 Apr 2023 12:00:00 +0800</pubDate>
                
                <guid>https://www.sciroccogti.top/post/2023-04-23-%E5%B0%8F%E7%B1%B3%E5%A4%9A%E7%9C%8B%E7%94%B5%E7%BA%B8%E4%B9%A6pro/</guid>
                <description>&lt;img src="https://cdn.sciroccogti.top/static/img/covers/epaper.jpg" alt="Featured image of post 多看电纸书pro开荒" /&gt;&lt;h2 id=&#34;安装应用&#34;&gt;安装应用
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;&lt;em&gt;关于&lt;/em&gt; 页点五下版本号开启开发者模式&lt;/li&gt;
&lt;li&gt;连接电脑传输文件&lt;/li&gt;
&lt;li&gt;&lt;em&gt;关于&lt;/em&gt; 页点四下MAC 地址进入应用管理，选择文件管理，安装刚才传输的文件&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;einkbro&#34;&gt;EinkBro
&lt;/h3&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/plateaukao/einkbro&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;EinkBro&lt;/a&gt; 是专为墨水屏设计的浏览器&lt;/p&gt;
&lt;h3 id=&#34;e-ink-launcher&#34;&gt;E-Ink Launcher
&lt;/h3&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/Modificator/E-Ink-Launcher&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;E-Ink Launcher&lt;/a&gt; 这款开源启动器，
相比于多看自带的桌面，默认显示所有应用&lt;/p&gt;
&lt;h3 id=&#34;feedme&#34;&gt;FeedMe
&lt;/h3&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/seazon/FeedMe&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;FeedMe&lt;/a&gt; 是一款开源 RSS 阅读器，支持许多订阅源（譬如 FreshRSS），不过作者先前没打上 Epaper 的 tag，根本搜不到&lt;/p&gt;
&lt;p&gt;FeedMe 虽然有 &lt;a class=&#34;link&#34; href=&#34;https://github.com/seazon/FeedMe/blob/master/doc/zh/eink.md#%E5%85%B6%E4%BB%96&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;电子墨水屏优化&lt;/a&gt;，但是开启后就没有菜单了，还是建议不开启&lt;/p&gt;
&lt;h3 id=&#34;landrop&#34;&gt;LANDrop
&lt;/h3&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://landrop.app/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;LANDrop&lt;/a&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://nga.178.com/read.php?tid=31757086&amp;amp;rand=842&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;NGA 的这篇帖子&lt;/a&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://github.com/zhanghai/MaterialFiles&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;质感文件&lt;/a&gt; 是一款比较简洁的文件管理器，
支持读取 smb 等各类网盘，虽然没适配墨水瓶，但是用起来也没问题&lt;/p&gt;

                    &lt;hr/&gt;&lt;em&gt;前往&lt;a href=&#34;https://www.sciroccogti.top/post/2023-04-23-%E5%B0%8F%E7%B1%B3%E5%A4%9A%E7%9C%8B%E7%94%B5%E7%BA%B8%E4%B9%A6pro/&#34;&gt;网页&lt;/a&gt;以阅读全文。&lt;/em&gt;
                </description>
            </item>
        <item>
                <title>在 ThinkPad X13 Yoga 上配置 Manjaro</title>
                <link>https://www.sciroccogti.top/post/2023-04-16-thinkpad-manjaro/</link>
                <pubDate>Sun, 16 Apr 2023 00:45:00 +0800</pubDate>
                
                <guid>https://www.sciroccogti.top/post/2023-04-16-thinkpad-manjaro/</guid>
                <description>&lt;img src="https://cdn.sciroccogti.top/static/img/covers/manjaro.png" alt="Featured image of post 在 ThinkPad X13 Yoga 上配置 Manjaro" /&gt;&lt;p&gt;之前已经多次 Ubuntu 升级以后笋干爆炸，听说 arch 系因为滚动升级的缘故，避免了这个问题，并且因为有 AUR 的存在，很多冷门软件都有大佬封装好，因此尝试一下。&lt;/p&gt;
&lt;h2 id=&#34;安装&#34;&gt;安装
&lt;/h2&gt;&lt;p&gt;目前来说，在 wayland下使用X11应用时，kde 支持&lt;em&gt;由系统进行缩放&lt;/em&gt;和&lt;em&gt;由应用程序进行缩放&lt;/em&gt;两种缩放模式，选择由应用进行缩放时，支持缩放的应用就会自己缩放，不支持的就不会缩放，这就非常舒适了。
而 gnome 方面则还没有这个功能。
对于目前 wayland 和 x11 青黄不接的情形，kde 显然是更优解。&lt;/p&gt;
&lt;p&gt;分区建议把 ESP 分区挂载为 &lt;code&gt;/boot/efi&lt;/code&gt;，然后新建一个 1GB 的 &lt;code&gt;/boot&lt;/code&gt; 分区用来在不同 Linux 系统间共享 grub。&lt;/p&gt;
&lt;h3 id=&#34;fcitx5&#34;&gt;fcitx5
&lt;/h3&gt;&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt;1&lt;/a&gt;
&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-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo pacman -S fcitx5-im fcitx5-pinyin-zhwiki fcitx5-chinese-addons&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;code-lang&#34;&gt;SH&lt;/div&gt;
    
&lt;/div&gt;&lt;p&gt;新建 &lt;code&gt;/etc/profile.d/fcitx.sh&lt;/code&gt; 并添加：&lt;/p&gt;
&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;2&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#2&#34;&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;3&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#3&#34;&gt;3&lt;/a&gt;
&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-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;XMODIFIERS&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;@im&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;fcitx
&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;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;GTK_IM_MODULE&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;fcitx
&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;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;QT_IM_MODULE&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;fcitx&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;code-lang&#34;&gt;SH&lt;/div&gt;
    
&lt;/div&gt;&lt;blockquote&gt;
&lt;p&gt;在其它的配置文件中修改的环境变量似乎并不生效&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;AUR 中可以安装 &lt;code&gt;fcitx5-pinyin-moegirl&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;wayland&#34;&gt;Wayland
&lt;/h3&gt;&lt;p&gt;目前 wayland 对多屏的缩放支持比X11好，尤其是 kde，支持应用程序自行缩放和系统强制缩放&lt;/p&gt;
&lt;p&gt;但是由于 &lt;a class=&#34;link&#34; href=&#34;https://github.com/electron/electron/issues/33690&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Electron 对 gtk4 的支持半吊子&lt;/a&gt;，导致现在如果用 wayland 打开 vscode 或者 Chromium 系浏览器，无论用什么方法都不能输入中文。因此只能通过 kde 的应用程序自行缩放，来在 xwayland 模式下实现不糊的同时调用 fcitx5。&lt;/p&gt;
&lt;h4 id=&#34;zotero&#34;&gt;zotero
&lt;/h4&gt;&lt;p&gt;参考 &lt;a class=&#34;link&#34; href=&#34;https://rgoswami.me/posts/revisiting-wayland-2021-archlinux/#reference-management&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Revisiting Wayland for ArchLinux&lt;/a&gt;：&lt;/p&gt;
&lt;p&gt;新建 &lt;code&gt;$HOME/.zotero/zotero/$PROFILE/user.js&lt;/code&gt;：&lt;/p&gt;
&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt;1&lt;/a&gt;
&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-js&#34; data-lang=&#34;js&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;user_pref&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;layout.css.devPixelsPerPx&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;2&amp;#39;&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;div class=&#34;code-lang&#34;&gt;JS&lt;/div&gt;
    
&lt;/div&gt;&lt;p&gt;zotero 7.0.0 已经原生支持 wayland 了，只需按照 &lt;a class=&#34;link&#34; href=&#34;https://wiki.archlinux.org/title/Firefox#Wayland&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Firefox#Wayland&lt;/a&gt;，在 &lt;code&gt;~/.config/environment.d/envvars.conf&lt;/code&gt; 中添加：&lt;code&gt;MOZ_ENABLE_WAYLAND=1&lt;/code&gt;&lt;/p&gt;
&lt;h4 id=&#34;字体&#34;&gt;字体
&lt;/h4&gt;&lt;p&gt;kde 下例如 times.ttf 的默认替换字体显示极其奇怪，即便用 &lt;code&gt;ttf-ms-win10-cdn&lt;/code&gt; 安装 &lt;code&gt;Times New Roman&lt;/code&gt;，kde 也还会用别的乖乖的字体替代 times.ttf。解决方法是安装 &lt;code&gt;gsfonts&lt;/code&gt;：&lt;code&gt;sudo pacman -S gsfonts&lt;/code&gt;&lt;/p&gt;
&lt;h2 id=&#34;kde&#34;&gt;KDE
&lt;/h2&gt;&lt;p&gt;KDE 的配置文件位于 &lt;code&gt;~/.config/plasma-org.kde.plasma.desktop-appletsrc&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;推荐安装 &lt;a class=&#34;link&#34; href=&#34;https://store.kde.org/p/1298955/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Plasma Customization Saver&lt;/a&gt; 来备份和管理配置文件&lt;/p&gt;
&lt;p&gt;配置文件语法如下：&lt;/p&gt;
&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;2&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#2&#34;&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;3&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#3&#34;&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;4&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#4&#34;&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;5&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#5&#34;&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;6&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#6&#34;&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;7&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#7&#34;&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;8&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#8&#34;&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;9&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#9&#34;&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;10&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#10&#34;&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;11&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#11&#34;&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;12&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#12&#34;&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;13&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#13&#34;&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;14&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#14&#34;&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;15&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#15&#34;&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;16&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#16&#34;&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;17&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#17&#34;&gt;17&lt;/a&gt;
&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-yaml&#34; data-lang=&#34;yaml&#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;l&#34;&gt;Containments][25]&lt;/span&gt;&lt;span class=&#34;w&#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;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;l&#34;&gt;plugin=org.kde.panel&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;c&#34;&gt;# 容器 25 为面板&lt;/span&gt;&lt;span class=&#34;w&#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;w&#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;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;l&#34;&gt;Containments][25][Applets][26]&lt;/span&gt;&lt;span class=&#34;w&#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;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;l&#34;&gt;immutability=1&lt;/span&gt;&lt;span class=&#34;w&#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;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;l&#34;&gt;plugin=org.kde.plasma.kickoff&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;c&#34;&gt;# 容器 25 的挂件 应用程序启动器&lt;/span&gt;&lt;span class=&#34;w&#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;w&#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;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;l&#34;&gt;Containments][25][Applets][30]&lt;/span&gt;&lt;span class=&#34;w&#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;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;l&#34;&gt;immutability=1&lt;/span&gt;&lt;span class=&#34;w&#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;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;l&#34;&gt;plugin=org.kde.plasma.systemtray&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;c&#34;&gt;# 系统托盘&lt;/span&gt;&lt;span class=&#34;w&#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;w&#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;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;l&#34;&gt;Containments][25][Applets][30][Configuration]&lt;/span&gt;&lt;span class=&#34;w&#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;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;l&#34;&gt;PreloadWeight=55&lt;/span&gt;&lt;span class=&#34;w&#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;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;l&#34;&gt;SystrayContainmentId=31&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;c&#34;&gt;# 系统托盘为容器 31&lt;/span&gt;&lt;span class=&#34;w&#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;w&#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;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;l&#34;&gt;Containments][25][General]&lt;/span&gt;&lt;span class=&#34;w&#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;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;l&#34;&gt;AppletOrder=26;50;51;56;48;30;42&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;c&#34;&gt;# 容器 25 中挂件的排序&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;code-lang&#34;&gt;YAML&lt;/div&gt;
    
&lt;/div&gt;&lt;p&gt;如果不幸写错了配置，可以如下重启：&lt;/p&gt;
&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;2&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#2&#34;&gt;2&lt;/a&gt;
&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-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;kquitapp5 plasmashell
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;kstart plasmashell&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;code-lang&#34;&gt;SH&lt;/div&gt;
    
&lt;/div&gt;&lt;h2 id=&#34;gnome&#34;&gt;GNOME
&lt;/h2&gt;&lt;h3 id=&#34;启用-onedrive&#34;&gt;启用 onedrive
&lt;/h3&gt;&lt;p&gt;在 GNOME 在线账户 使用 Microsoft365（这里不用填用户名密码，直接点登录就行，截至GNOME46）登录后，安装 &lt;code&gt;gvfs-onedrive&lt;/code&gt; 以直接在 nautilus 中访问 onedrive。&lt;/p&gt;
&lt;h3 id=&#34;缩放&#34;&gt;缩放
&lt;/h3&gt;&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt;1&lt;/a&gt;
&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;gsettings &lt;span class=&#34;nb&#34;&gt;set&lt;/span&gt; org.gnome.mutter experimental-features &lt;span class=&#34;s2&#34;&gt;&amp;#34;[&amp;#39;scale-monitor-framebuffer&amp;#39;]&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;div class=&#34;code-lang&#34;&gt;BASH&lt;/div&gt;
    
&lt;/div&gt;&lt;h2 id=&#34;启用-emoji&#34;&gt;启用 emoji
&lt;/h2&gt;&lt;p&gt;如下安装 emoji 字体后，按照 &lt;a class=&#34;link&#34; href=&#34;https://forum.manjaro.org/t/howto-enable-emoji-fonts/36695&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;[HowTo] Enable emoji fonts&lt;/a&gt; 启用。&lt;/p&gt;
&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt;1&lt;/a&gt;
&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;sudo pacman -S noto-fonts-emoji&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;code-lang&#34;&gt;BASH&lt;/div&gt;
    
&lt;/div&gt;
                    &lt;hr/&gt;&lt;em&gt;前往&lt;a href=&#34;https://www.sciroccogti.top/post/2023-04-16-thinkpad-manjaro/&#34;&gt;网页&lt;/a&gt;以阅读全文。&lt;/em&gt;
                </description>
            </item>
        <item>
                <title>拍摄月全食</title>
                <link>https://www.sciroccogti.top/post/2022-11-03-%E6%8B%8D%E6%91%84%E6%9C%88%E5%85%A8%E9%A3%9F/</link>
                <pubDate>Thu, 03 Nov 2022 01:00:00 +0800</pubDate>
                
                <guid>https://www.sciroccogti.top/post/2022-11-03-%E6%8B%8D%E6%91%84%E6%9C%88%E5%85%A8%E9%A3%9F/</guid>
                <description>&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://eclipse.gsfc.nasa.gov/LEdecade/LEdecade2021.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;NASA 月食列表&lt;/a&gt; 可以看到所有月食，
点击对应月食，可以知道月食的预测数据。&lt;/p&gt;
&lt;p&gt;如果月球在地球本影的越深，则 Danjon 值（也就是亮度）越低。
由于月食过程中，月球亮度会不断变化，因此也需要随时调整曝光时间。&lt;/p&gt;
&lt;p&gt;本次月全食我猜 Danjon 值在 3 或者 2。&lt;/p&gt;
&lt;p&gt;在巧摄中，用曝光计算可以算出要用的曝光时间。
&lt;em&gt;EV&lt;/em&gt; 里可以选择不同的月食阶段，而光圈和 ISO 则一般提前设定。
光圈自然是全开，而 ISO 一般不超过 6400。
在月球较亮时，可以数百的 ISO 来拍摄月球细节；
当月食来到中间环节时，月球过暗，曝光时间又不能达到十分之一秒以上（因为月球其实跑得飞快），我们必须拉高 ISO。&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.bilibili.com/video/BV1Y44y1r7v5/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;2021年五月月全食计划思路&lt;/a&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;a class=&#34;link&#34; href=&#34;https://www.autostakkert.com/wp/download/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;AutoStakkert&lt;/a&gt;进行堆栈，
推荐查看 &lt;a class=&#34;link&#34; href=&#34;https://nightskypix.com/how-to-stack-images-of-the-moon/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;使用教程&lt;/a&gt;。&lt;/p&gt;

                    &lt;hr/&gt;&lt;em&gt;前往&lt;a href=&#34;https://www.sciroccogti.top/post/2022-11-03-%E6%8B%8D%E6%91%84%E6%9C%88%E5%85%A8%E9%A3%9F/&#34;&gt;网页&lt;/a&gt;以阅读全文。&lt;/em&gt;
                </description>
            </item>
        <item>
                <title>使用Borg在群晖上备份Ubuntu</title>
                <link>https://www.sciroccogti.top/post/2022-10-21-%E4%BD%BF%E7%94%A8borg%E5%9C%A8%E7%BE%A4%E6%99%96%E4%B8%8A%E5%A4%87%E4%BB%BDubuntu/</link>
                <pubDate>Fri, 21 Oct 2022 12:00:00 +0800</pubDate>
                
                <guid>https://www.sciroccogti.top/post/2022-10-21-%E4%BD%BF%E7%94%A8borg%E5%9C%A8%E7%BE%A4%E6%99%96%E4%B8%8A%E5%A4%87%E4%BB%BDubuntu/</guid>
                <description>&lt;p&gt;群晖自带的 Active Backup for Business 暂不支持 Linux Kernel &amp;gt; 5.10，因此只能找第三方软件备份。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;如果不幸已经安装了 ABfB 并且安装失败，可以看下载的压缩包里的 README 里的卸载方案。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://vorta.borgbase.com/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;vorta&lt;/a&gt; 是 &lt;a class=&#34;link&#34; href=&#34;https://borgbackup.readthedocs.io/en/stable/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Borg&lt;/a&gt; 的客户端可视化管理软件，
而 Borg 在群晖上有 SynoCommunity 提供的套件（其实也就是自动帮你用 pip 装 Borg 罢了），
因此选择了这个方案。&lt;/p&gt;
&lt;h2 id=&#34;安装&#34;&gt;安装
&lt;/h2&gt;&lt;p&gt;客户端安装：&lt;/p&gt;
&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt;1&lt;/a&gt;
&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;sudo apt install vorta&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;code-lang&#34;&gt;BASH&lt;/div&gt;
    
&lt;/div&gt;&lt;p&gt;然后需要设置 ssh 密钥登录，可以看这篇 &lt;a class=&#34;link&#34; href=&#34;https://dryyun.com/2019/01/08/synology-nas-login-with-ssh-key/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;群晖 Nas 使用 SSH Key 实现免密登录&lt;/a&gt;。
其中重启 sshd 环节只要在网页控制台重开 ssh 就行了，不用 &lt;code&gt;synoservicectl&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;另外，&lt;code&gt;authorized_keys&lt;/code&gt; 里要写：&lt;/p&gt;
&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt;1&lt;/a&gt;
&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;command=&amp;#34;/usr/local/bin/borg serve --restrict-to-path /path/to/repo&amp;#34;, ssh-ed25519 AAAA[...]&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&gt;&lt;p&gt;这样 vorta 登录进群晖的时候就可以自动调用 &lt;code&gt;borg serve&lt;/code&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;群晖的 home 目录位于 &lt;code&gt;/volume1/home&lt;/code&gt; 而非 &lt;code&gt;/home&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;

                    &lt;hr/&gt;&lt;em&gt;前往&lt;a href=&#34;https://www.sciroccogti.top/post/2022-10-21-%E4%BD%BF%E7%94%A8borg%E5%9C%A8%E7%BE%A4%E6%99%96%E4%B8%8A%E5%A4%87%E4%BB%BDubuntu/&#34;&gt;网页&lt;/a&gt;以阅读全文。&lt;/em&gt;
                </description>
            </item>
        <item>
                <title>对抗 Intel MKL ICC 的黑魔法防御术</title>
                <link>https://www.sciroccogti.top/post/2022-01-22-icc/</link>
                <pubDate>Sat, 22 Jan 2022 16:45:00 +0800</pubDate>
                
                <guid>https://www.sciroccogti.top/post/2022-01-22-icc/</guid>
                <description>&lt;img src="https://cdn.sciroccogti.top/static/img/covers/oneapi-feat-16x9.jpg" alt="Featured image of post 对抗 Intel MKL ICC 的黑魔法防御术" /&gt;&lt;h1 id=&#34;对抗-intel-mkl-icc-的黑魔法防御术&#34;&gt;对抗 Intel MKL ICC 的黑魔法防御术
&lt;/h1&gt;&lt;p&gt;MKL 和 ICC 可谓是 Intel 的两大黑魔法，又神秘又难用，但确实快。这两年来 Intel 把黑魔法都收归到 OneAPI 旗下，
也做了一些简化安装、使用的操作，于是就整理了一下目前的使用方法。&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.intel.com/content/www/us/en/developer/tools/oneapi/base-toolkit-download.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Base Toolkit 官方下载页&lt;/a&gt;
和 &lt;a class=&#34;link&#34; href=&#34;https://www.intel.com/content/www/us/en/developer/tools/oneapi/hpc-toolkit-download.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;HPC Toolkit 官方下载页&lt;/a&gt;
分别下载两个安装包，其中 HPC Toolkit 需要先安装 Base Toolkit，包含 MKL 和 ICC、ICX（ICC 的 Clang 版）。
这边推荐用 offline 安装方式，下载速度“高达” 1MB/s，比 apt 的 500KB/s 快了很多（&lt;/p&gt;
&lt;p&gt;本地安装的时候，终端窗口要开大点，不然会报错说无法设置为 CLI 模式云云。&lt;/p&gt;
&lt;p&gt;默认会安装到 &lt;code&gt;/opt/intel&lt;/code&gt; 路径下。&lt;/p&gt;
&lt;h2 id=&#34;使用2022-以前版本&#34;&gt;使用（2022 以前版本）
&lt;/h2&gt;&lt;p&gt;个人目前的工作流是 &lt;em&gt;vscode&lt;/em&gt; + &lt;em&gt;cmake&lt;/em&gt;，这应该也是比较常见的工作流，故以下介绍这一工作流的使用方法。&lt;/p&gt;
&lt;p&gt;&lt;em&gt;vscode&lt;/em&gt; 上目前有一个 Intel 官方的 OneAPI 环境配置插件（尽管没什么人用），可以单独为 &lt;em&gt;vscode&lt;/em&gt; 配置环境。
不过作为服务器管理来说，肯定不能要求所有人都使用 vscode，并且如果不配置环境，连 ICC 都找不到，
因此肯定要进行全局配置。&lt;/p&gt;
&lt;p&gt;配置方法倒是很简单，在要启用 OneAPI 的用户的 &lt;code&gt;~/.bashrc&lt;/code&gt; 中加入 &lt;code&gt;source /opt/intel/oneapi/setvars.sh&lt;/code&gt; 即可。&lt;/p&gt;
&lt;h3 id=&#34;cmake-设置&#34;&gt;cmake 设置
&lt;/h3&gt;&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt;1&lt;/a&gt;
&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-cmake&#34; data-lang=&#34;cmake&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;set&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;CMAKE_CXX_FLAGS&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;${CMAKE_CXX_FLAGS} -march=native -fast -ansi-alias -fopenmp -finline -funroll-loops -m64 -fma -mkl&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;div class=&#34;code-lang&#34;&gt;CMAKE&lt;/div&gt;
    
&lt;/div&gt;&lt;h3 id=&#34;vscode-项目配置&#34;&gt;vscode 项目配置
&lt;/h3&gt;&lt;p&gt;&lt;code&gt;.vscode/c_cpp_properties.json&lt;/code&gt;：&lt;/p&gt;
&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;2&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#2&#34;&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;3&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#3&#34;&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;4&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#4&#34;&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;5&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#5&#34;&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;6&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#6&#34;&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;7&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#7&#34;&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;8&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#8&#34;&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;9&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#9&#34;&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;10&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#10&#34;&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;11&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#11&#34;&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;12&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#12&#34;&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;13&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#13&#34;&gt;13&lt;/a&gt;
&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-json&#34; data-lang=&#34;json&#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&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;configurations&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#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;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;nt&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Linux&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;nt&#34;&gt;&amp;#34;compilerPath&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;/opt/intel/oneapi/compiler/latest/linux/bin/icpx&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;nt&#34;&gt;&amp;#34;cStandard&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;gnu11&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;nt&#34;&gt;&amp;#34;cppStandard&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;gnu++14&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;nt&#34;&gt;&amp;#34;intelliSenseMode&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;linux-clang-x64&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;nt&#34;&gt;&amp;#34;compileCommands&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;${workspaceFolder}/build/compile_commands.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;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;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;nt&#34;&gt;&amp;#34;version&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;4&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;div class=&#34;code-lang&#34;&gt;JSON&lt;/div&gt;
    
&lt;/div&gt;&lt;p&gt;注意不要让 cmake 插件接管，即删除 &lt;code&gt;configurationProvider&lt;/code&gt; 配置项。这里只要调用 &lt;em&gt;cmake&lt;/em&gt; 生成的 &lt;code&gt;compile_commands.json&lt;/code&gt; 就能正确设置 intellisense 了。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;.vscode/settings.json&lt;/code&gt;：&lt;/p&gt;
&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;2&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#2&#34;&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;3&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#3&#34;&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;4&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#4&#34;&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;5&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#5&#34;&gt;5&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;6&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#6&#34;&gt;6&lt;/a&gt;
&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-json&#34; data-lang=&#34;json&#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&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;cmake.configureSettings&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#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;nt&#34;&gt;&amp;#34;CMAKE_C_COMPILER&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;icc&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;nt&#34;&gt;&amp;#34;CMAKE_CXX_COMPILER&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;icpc&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;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;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;div class=&#34;code-lang&#34;&gt;JSON&lt;/div&gt;
    
&lt;/div&gt;&lt;p&gt;有意思的是，调用 MKL 的项目用 icx 编译的话容易找不到 vsl 相关的函数定义，但 intellisense 用 icc 又找不到相关库，
所以我们编译使用 icc，intellisense 使用 icx。&lt;/p&gt;
&lt;p&gt;最后要让 &lt;code&gt;F7&lt;/code&gt; 能够调用 icc 的话，就用 &lt;code&gt;Ctrl+Shift+P&lt;/code&gt; 打开 &lt;code&gt;CMake: Edit User-Local CMake Kits&lt;/code&gt;，加入：&lt;/p&gt;
&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;2&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#2&#34;&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;3&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#3&#34;&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;4&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#4&#34;&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;5&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#5&#34;&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;6&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#6&#34;&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;7&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#7&#34;&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;8&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#8&#34;&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;9&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#9&#34;&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;10&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#10&#34;&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;11&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#11&#34;&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;12&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#12&#34;&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;13&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#13&#34;&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;14&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#14&#34;&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;15&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#15&#34;&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;16&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#16&#34;&gt;16&lt;/a&gt;
&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-json&#34; data-lang=&#34;json&#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&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;C++ Intel(R) 64 Compiler Classic&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;nt&#34;&gt;&amp;#34;compilers&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#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;nt&#34;&gt;&amp;#34;C&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;/opt/intel/oneapi/compiler/latest/linux/bin/intel64/icc&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;nt&#34;&gt;&amp;#34;CXX&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;/opt/intel/oneapi/compiler/latest/linux/bin/intel64/icpc&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;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;nt&#34;&gt;&amp;#34;keep&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&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 class=&#34;err&#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;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Clang Intel(R) 64 Compiler Classic&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;nt&#34;&gt;&amp;#34;compilers&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#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;nt&#34;&gt;&amp;#34;C&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;/opt/intel/oneapi/compiler/latest/linux/bin/clang&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;nt&#34;&gt;&amp;#34;CXX&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;/opt/intel/oneapi/compiler/latest/linux/bin/clang++&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;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;nt&#34;&gt;&amp;#34;keep&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&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 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;div class=&#34;code-lang&#34;&gt;JSON&lt;/div&gt;
    
&lt;/div&gt;&lt;p&gt;在底栏选择新增的 Intel kit 即可。&lt;/p&gt;
&lt;h3 id=&#34;调试设置&#34;&gt;调试设置
&lt;/h3&gt;&lt;p&gt;icc 似乎并不支持直接设置 Debug 参数，这里提供针对调试的 cmake 参数：&lt;a class=&#34;link&#34; href=&#34;https://www.nas.nasa.gov/hecc/support/kb/recommended-intel-compiler-debugging-options_92.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;参考 NASA 教程&lt;/a&gt;&lt;/p&gt;
&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt;1&lt;/a&gt;
&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-cmake&#34; data-lang=&#34;cmake&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;set&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;CMAKE_CXX_FLAGS&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;${CMAKE_CXX_FLAGS} -O0 -march=native -fopenmp -mkl&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;div class=&#34;code-lang&#34;&gt;CMAKE&lt;/div&gt;
    
&lt;/div&gt;&lt;p&gt;这样就可以在 &lt;em&gt;vscode&lt;/em&gt; 调试中查看 SIMD 寄存器的值了。&lt;/p&gt;
&lt;h2 id=&#34;使用2022&#34;&gt;使用（2022）
&lt;/h2&gt;&lt;p&gt;2022 的版本中加入了许多对 cmake 的支持，不过尚未仔细研究。&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.intel.com/content/www/us/en/docs/intrinsics-guide/index.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Intel 指令集函数说明&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;注意，有些指令顶着 AVX2 的帽子，但其实是 AVX512，譬如 &lt;code&gt;_mm256_cmpneq_epi8_mask&lt;/code&gt;&lt;/p&gt;
&lt;h2 id=&#34;调试技巧&#34;&gt;调试技巧
&lt;/h2&gt;&lt;p&gt;valgrind 目前版本 &lt;code&gt;3.18.1，2021-10-15&lt;/code&gt; 还只&lt;a class=&#34;link&#34; href=&#34;https://valgrind.org/info/platforms.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;最高支持 AVX2 指令集&lt;/a&gt;，也就是说 AVX512 尚不可用，所以铁报错。&lt;/p&gt;

                    &lt;hr/&gt;&lt;em&gt;前往&lt;a href=&#34;https://www.sciroccogti.top/post/2022-01-22-icc/&#34;&gt;网页&lt;/a&gt;以阅读全文。&lt;/em&gt;
                </description>
            </item>
        <item>
                <title>在全新 ThinkPad X13 Yoga 上配置 Ubuntu</title>
                <link>https://www.sciroccogti.top/post/2021-07-29-setup-thinkpad/</link>
                <pubDate>Thu, 29 Jul 2021 11:45:00 +0800</pubDate>
                
                <guid>https://www.sciroccogti.top/post/2021-07-29-setup-thinkpad/</guid>
                <description>&lt;img src="https://cdn.sciroccogti.top/static/img/covers/thinkpad.webp" alt="Featured image of post 在全新 ThinkPad X13 Yoga 上配置 Ubuntu" /&gt;&lt;h2 id=&#34;bios-调整&#34;&gt;Bios 调整
&lt;/h2&gt;&lt;p&gt;进入 Bios 方法：开机时择机按下 Enter 键，出现菜单后根据指示按下 F1。&lt;/p&gt;
&lt;p&gt;这台笔记本非常奇怪地把 &lt;em&gt;Fn&lt;/em&gt; 键放在了最左下角，而 &lt;em&gt;Ctrl&lt;/em&gt; 则屈居其右。
好在工程师也觉得这很奇怪，因此在 Bios 中预设了交换两者位置的选项：Config-&amp;gt;Keyboard-&amp;gt;Fn and Ctrl Key swap。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.sciroccogti.top/post/2021-07-29-setup-thinkpad/keyboard.webp&#34;
	width=&#34;4032&#34;
	height=&#34;3016&#34;
	
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;133&#34;
		data-flex-basis=&#34;320px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;按照惯例，再把功能键关闭（也就是按下 Fn+F1 才能关闭音量云云）：Config-&amp;gt;Keyboard-&amp;gt;F1-F12 as Primary Function。&lt;/p&gt;
&lt;p&gt;如果要像我一样用 Ventoy 等对安全启动支持不太好的方式安装系统的话，可以提前关闭 &lt;em&gt;Secure Boot&lt;/em&gt;：Security-&amp;gt;Secure Boot。安装完后可以重新开启，并不影响系统正常使用。&lt;/p&gt;
&lt;h2 id=&#34;安装-ubuntu&#34;&gt;安装 Ubuntu
&lt;/h2&gt;&lt;p&gt;本次选用 &lt;em&gt;Ubuntu 20.04.2 LTS&lt;/em&gt;。
考虑到日常使用，因此选择了支持 &lt;a class=&#34;link&#34; href=&#34;https://github.com/zq1997/deepin-wine&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;deepin-wine&lt;/a&gt;较好的版本。诸如 &lt;em&gt;21.04&lt;/em&gt; 等版本目前尚有微信无法打开等问题。&lt;/p&gt;
&lt;p&gt;但由于 &lt;em&gt;ThinkPad X13 Yoga Gen2&lt;/em&gt; 使用了 i7-1165G7，其上的 &lt;em&gt;Xe&lt;/em&gt; 核显并不受 &lt;em&gt;20.04&lt;/em&gt; 支持（废话，20.04 出的时候还没 11 代 U 呢），因此在安装的时候存在分辨率仅有 800x640 的问题。这里只能使用 Tab 键盲猜 &lt;em&gt;下一步&lt;/em&gt; 位置等操作来完成安装步骤。&lt;/p&gt;
&lt;p&gt;此外，由于目前电脑都默认启用 &lt;em&gt;Secure Boot&lt;/em&gt;，而我在用 &lt;a class=&#34;link&#34; href=&#34;https://github.com/ventoy/Ventoy&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Ventoy&lt;/a&gt; 进行安装时始终无法进入安装系统，最终只好在安装时关闭 &lt;em&gt;Secure Boot&lt;/em&gt;，安装完毕后再启用之。后续见 &lt;a class=&#34;link&#34; href=&#34;https://github.com/ventoy/Ventoy/issues/1024&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;[issue]: Failed to secure boot&lt;/a&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;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;2&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#2&#34;&gt;2&lt;/a&gt;
&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;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;div class=&#34;code-lang&#34;&gt;BASH&lt;/div&gt;
    
&lt;/div&gt;&lt;p&gt;然后更新驱动：&lt;/p&gt;
&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;2&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#2&#34;&gt;2&lt;/a&gt;
&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;fwupdmgr get-updates
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;fwupdmgr 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;div class=&#34;code-lang&#34;&gt;BASH&lt;/div&gt;
    
&lt;/div&gt;&lt;p&gt;更新完后记得重启电脑。会进行较长时间的 Bios 自检（不清楚是否是更新驱动导致的）&lt;/p&gt;
&lt;p&gt;启用指纹识别：&lt;/p&gt;
&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt;1&lt;/a&gt;
&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;sudo pam-auth-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;div class=&#34;code-lang&#34;&gt;BASH&lt;/div&gt;
    
&lt;/div&gt;&lt;p&gt;用空格启用指纹，tab 到 &lt;em&gt;确定&lt;/em&gt; 一栏再回车。&lt;/p&gt;
&lt;p&gt;于是就能在 设置-&amp;gt;用户-&amp;gt;指纹 录入指纹了。&lt;/p&gt;
&lt;p&gt;通过 pam，&lt;code&gt;sudo&lt;/code&gt; 时可以用指纹代替密码，非常非常方便。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;此节参考：https://zhuanlan.zhihu.com/p/267160188 &lt;a class=&#34;link&#34; href=&#34;https://www.cnblogs.com/qingchuwudi/p/13359417.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://www.cnblogs.com/qingchuwudi/p/13359417.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;类-windows-hello-的人脸识别&#34;&gt;类 Windows Hello 的人脸识别
&lt;/h2&gt;&lt;p&gt;同样使用红外和相机进行识别，还是很方便的。&lt;/p&gt;
&lt;p&gt;这里使用 &lt;a class=&#34;link&#34; href=&#34;https://github.com/Boltgolt/howdy&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Howdy&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/boltgolt/howdy/issues/533#issuecomment-829116906&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;如何确定 device_path&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;ubuntu-配置&#34;&gt;Ubuntu 配置
&lt;/h2&gt;&lt;p&gt;不显示挂载的硬盘：&lt;/p&gt;
&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt;1&lt;/a&gt;
&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;gsettings &lt;span class=&#34;nb&#34;&gt;set&lt;/span&gt; org.gnome.shell.extensions.dash-to-dock show-mounts false&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;code-lang&#34;&gt;BASH&lt;/div&gt;
    
&lt;/div&gt;&lt;p&gt;添加休眠模式：参考&lt;a class=&#34;link&#34; href=&#34;https://github.com/arelange/gnome-shell-extension-hibernate-status&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;gnome-shell-extension-hibernate-status&lt;/a&gt; 的介绍，并安装&lt;a class=&#34;link&#34; href=&#34;https://extensions.gnome.org/extension/755/hibernate-status-button/&#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;h4 id=&#34;wayland&#34;&gt;Wayland
&lt;/h4&gt;&lt;p&gt;测试下来好像直接用 wayland 就好了，然后开启 分数比例缩放，就既没有鼠标闪烁，又能设置不同缩放比例了，而且 vscode 也不卡。看来 wayland 性能提升很多啊&lt;/p&gt;
&lt;p&gt;某些软件缩放后清晰度下降，可以在 &lt;code&gt;xxx.desktop&lt;/code&gt; 里加上 &lt;code&gt;--enable-features=WaylandWindowDecorations --ozone-platform-hint=auto&lt;/code&gt; 来改善&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;参考 &lt;a class=&#34;link&#34; href=&#34;https://wiki.archlinux.org/title/Wayland#Electron&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ArchLinux Wayland 手册&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;直接原文件会在软件更新时被覆盖，建议把文件从 &lt;code&gt;/usr/share/applications&lt;/code&gt; 或 &lt;code&gt;/var/lib/snapd/desktop/applications/&lt;/code&gt; （snap软件）中复制到 &lt;code&gt;~/.local/share/applications&lt;/code&gt; 里，再进行修改&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;vscode 的话需要把参数写在 &lt;code&gt;~/.config/code-flags.conf&lt;/code&gt; 里面&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;要支持 fctix5，可以在上述参数中附加：&lt;code&gt;--enable-wayland-ime&lt;/code&gt; 或 &lt;code&gt;--gtk-version=4&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;dash-to-dock 在外界屏幕下遇到electron的最大化窗口时会反复横跳，可以通过安装&lt;a class=&#34;link&#34; href=&#34;https://extensions.gnome.org/extension/1873/disable-unredirect-fullscreen-windows/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;该插件&lt;/a&gt;解决。&lt;/p&gt;
&lt;h4 id=&#34;x11&#34;&gt;X11
&lt;/h4&gt;&lt;p&gt;以下的 X11 设置已经弃用&lt;/p&gt;
&lt;p&gt;不同显示器配置不同缩放比例：&lt;/p&gt;
&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt;1&lt;/a&gt;
&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;gsettings &lt;span class=&#34;nb&#34;&gt;set&lt;/span&gt; org.gnome.mutter experimental-features &lt;span class=&#34;s2&#34;&gt;&amp;#34;[&amp;#39;x11-randr-fractional-scaling&amp;#39;]&amp;#34;&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;# 我怀疑只要启用 fractional scaling 就行了&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;code-lang&#34;&gt;BASH&lt;/div&gt;
    
&lt;/div&gt;&lt;p&gt;启用 X11 而非 wayland（不然就没法不同显示器不同缩放比例）：
在 &lt;code&gt;/etc/gdm3/custom.conf&lt;/code&gt; 中设置 &lt;code&gt;WaylandEnable=false&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;解决外接显示器时内置显示器上鼠标闪烁的问题：&lt;a class=&#34;link&#34; href=&#34;https://askubuntu.com/a/1231443/1085627&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;参考&lt;/a&gt;
编辑 &lt;code&gt;/etc/X11/xorg.conf.d/20-intel.conf&lt;/code&gt;&lt;/p&gt;
&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;2&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#2&#34;&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;3&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#3&#34;&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;4&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#4&#34;&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;5&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#5&#34;&gt;5&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;6&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#6&#34;&gt;6&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;7&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#7&#34;&gt;7&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;8&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#8&#34;&gt;8&lt;/a&gt;
&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;Section &amp;#34;Device&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;Identifier &amp;#34;Intel Graphics&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Driver &amp;#34;intel&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Option &amp;#34;AccelMethod&amp;#34; &amp;#34;sna&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Option &amp;#34;TearFree&amp;#34; &amp;#34;true&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;EndSection&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&gt;&lt;h3 id=&#34;gnome-插件&#34;&gt;Gnome 插件
&lt;/h3&gt;&lt;p&gt;声音输出切换：&lt;a class=&#34;link&#34; href=&#34;https://extensions.gnome.org/extension/5135/audio-selector/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Audio-selector&lt;/a&gt;&lt;/p&gt;

                    &lt;hr/&gt;&lt;em&gt;前往&lt;a href=&#34;https://www.sciroccogti.top/post/2021-07-29-setup-thinkpad/&#34;&gt;网页&lt;/a&gt;以阅读全文。&lt;/em&gt;
                </description>
            </item>
        <item>
                <title>科研工具</title>
                <link>https://www.sciroccogti.top/post/2021-05-08-%E7%A7%91%E7%A0%94%E5%B7%A5%E5%85%B7/</link>
                <pubDate>Sat, 08 May 2021 21:00:00 +0800</pubDate>
                
                <guid>https://www.sciroccogti.top/post/2021-05-08-%E7%A7%91%E7%A0%94%E5%B7%A5%E5%85%B7/</guid>
                <description>&lt;h2 id=&#34;zotero&#34;&gt;Zotero
&lt;/h2&gt;&lt;h3 id=&#34;茉莉花&#34;&gt;茉莉花
&lt;/h3&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/l0o0/jasminum&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;l0o0/jasminum&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://ref.scholarcy.com/api/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;这个 api&lt;/a&gt; 可以很方便地把一篇 &lt;code&gt;pdf&lt;/code&gt; 中的参考文献导出为 &lt;code&gt;bibtex&lt;/code&gt;：&lt;/p&gt;
&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt;1&lt;/a&gt;
&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;curl -X POST -F &lt;span class=&#34;s2&#34;&gt;&amp;#34;reference_format=bibtex&amp;#34;&lt;/span&gt; -F &lt;span class=&#34;s2&#34;&gt;&amp;#34;file=@path/to/file.pdf;type=application/pdf&amp;#34;&lt;/span&gt; https://ref.scholarcy.com/api/references/download&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;code-lang&#34;&gt;BASH&lt;/div&gt;
    
&lt;/div&gt;&lt;p&gt;此外还可以使用需要注册的网站 &lt;a class=&#34;link&#34; href=&#34;https://www.scopus.com/search/form.uri#basic&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;scopus&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;drawio&#34;&gt;draw.io
&lt;/h2&gt;&lt;p&gt;现已更名 &lt;em&gt;diagrams.net&lt;/em&gt;：&lt;a class=&#34;link&#34; href=&#34;https://www.diagrams.net/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;官网&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;del&gt;Ubuntu上可以在snap下载：sudo snap install drawio&lt;/del&gt;&lt;/p&gt;
&lt;p&gt;&lt;del&gt;还是别用 snap 版本了，没法读取挂载的硬盘。&lt;/del&gt;&lt;/p&gt;
&lt;p&gt;&lt;del&gt;如果要导出为裁剪好的 pdf，则可以：drawio file.drawio &amp;ndash;crop -x -o file.pdf&lt;/del&gt;&lt;/p&gt;
&lt;p&gt;安装版本有各种问题，譬如数学排版下的pdf裁剪问题，数学排版下的svg导出问题，建议直接网页版。&lt;/p&gt;
&lt;h2 id=&#34;isbn-转-bibtex&#34;&gt;ISBN 转 bibtex
&lt;/h2&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;http://doi-to-bibtex-converter.herokuapp.com/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;这个网站&lt;/a&gt;可以直接把doi、ISBN或者链接转为bibtex，不过ISBN转换的话时间有点问题，这点要注意一下。&lt;/p&gt;
&lt;h2 id=&#34;word-排版&#34;&gt;Word 排版
&lt;/h2&gt;&lt;p&gt;公式编号可以用 &lt;code&gt;#(1.1)&lt;/code&gt; 实现：&lt;/p&gt;
&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt;1&lt;/a&gt;
&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-latex&#34; data-lang=&#34;latex&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;\frac&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;{&lt;/span&gt;2y&lt;span class=&#34;nb&#34;&gt;}{&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;\sigma&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;^&lt;/span&gt;2&lt;span class=&#34;nb&#34;&gt;}&lt;/span&gt; #(1.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;code-lang&#34;&gt;LATEX&lt;/div&gt;
    
&lt;/div&gt;
                    &lt;hr/&gt;&lt;em&gt;前往&lt;a href=&#34;https://www.sciroccogti.top/post/2021-05-08-%E7%A7%91%E7%A0%94%E5%B7%A5%E5%85%B7/&#34;&gt;网页&lt;/a&gt;以阅读全文。&lt;/em&gt;
                </description>
            </item>
        <item>
                <title>Nintendo Switch 使用指北</title>
                <link>https://www.sciroccogti.top/post/2021-05-01-switch/</link>
                <pubDate>Sat, 01 May 2021 22:30:00 +0800</pubDate>
                
                <guid>https://www.sciroccogti.top/post/2021-05-01-switch/</guid>
                <description>&lt;h1 id=&#34;nintendo-switch-使用指北&#34;&gt;Nintendo Switch 使用指北
&lt;/h1&gt;&lt;p&gt;终于，模拟器玩家还是入正了。&lt;/p&gt;
&lt;h2 id=&#34;tv-模式充电器&#34;&gt;TV 模式充电器
&lt;/h2&gt;&lt;p&gt;由于入手的是港版，那个硕大的充电器实在是不能接受。自然就掏出了雪藏多年的倍思 65W 氮化镓充电器。&lt;/p&gt;
&lt;p&gt;不过，switch 的 TV 模式 仅能使用 15V * 2.6A = 39W 的 PD 2.0 模式，这导致氮化镓充电器和底座有时候会鬼畜，
每次重连充电线都是抽奖。。具体充电头评测请见 &lt;a class=&#34;link&#34; href=&#34;https://www.chongdiantou.com/wp/archives/45157.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;充电头网的专业测试&lt;/a&gt;。&lt;/p&gt;
&lt;h2 id=&#34;5ghz-wifi&#34;&gt;5GHz WiFi
&lt;/h2&gt;&lt;p&gt;switch 很顶的只支持 &lt;code&gt;36-48&lt;/code&gt; 信道的 5GHz WiFi，所以导致有些 5GHz WiFi 根本搜不到。&lt;/p&gt;
&lt;h2 id=&#34;网络设置&#34;&gt;网络设置
&lt;/h2&gt;&lt;p&gt;switch 在国内常常难以联机，因此需要进行一些设置。&lt;/p&gt;
&lt;h3 id=&#34;http-代理&#34;&gt;http 代理
&lt;/h3&gt;&lt;p&gt;就跟平常的一样，没什么可说的&lt;/p&gt;
&lt;h3 id=&#34;dns&#34;&gt;DNS
&lt;/h3&gt;&lt;p&gt;http 代理只能解决下载速度问题，而 联机 则最好要修改 DNS。网上有很多 DNS 推荐，我一般就用 Cloudflare 的 &lt;code&gt;1.1.1.1&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;nat-类型&#34;&gt;NAT 类型
&lt;/h3&gt;&lt;p&gt;其实我也不知道这有什么用，但是似乎各类加速器都推荐把 NAT 类型搞到 A。也有人说 NAT A和B都够用了，尚不知是否正确。&lt;/p&gt;
&lt;p&gt;要把 NAT 类型 搞到 A 其实很简单，就是 路由器上把 switch 的端口暴露到公网即可（当然你得是公网路由器，像我宿舍目前 WISP 的套娃路由器就最多到 NAT B）。&lt;/p&gt;
&lt;p&gt;我用 &lt;em&gt;wireshark&lt;/em&gt; 抓了一会包，发现 switch 的 &lt;em&gt;连接测试&lt;/em&gt; 主要由三部分组成：网络类型检测，下载速度测试，上传速度测试。&lt;/p&gt;
&lt;p&gt;&lt;del&gt;理论上，我们只要把网络类型检测所用到的端口暴露出去就可以了。可惜的是 &lt;em&gt;任天堂&lt;/em&gt; 用的是随机端口，因此我们只能范围转发。目前我抓到的最小的端口号是 &lt;code&gt;21424&lt;/code&gt;，最大的是 &lt;code&gt;58603&lt;/code&gt;，范围很广。。不过为了迁就潜在的 其它需求），&lt;/del&gt;（这里的端口似乎并不和 NAT 类型检测直接相关）我就把 switch 的端口转发范围限定在了 &lt;code&gt;50000 ~ 65535&lt;/code&gt;，不出意外的话应该够用了。&lt;/p&gt;
&lt;p&gt;当然，为了能够设置端口转发，自然需要将 switch 的 ip 地址固定下来。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.sciroccogti.top/post/2021-05-01-switch/network.jpg&#34;
	width=&#34;1280&#34;
	height=&#34;720&#34;
	
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;177&#34;
		data-flex-basis=&#34;426px&#34;
	
&gt;&lt;/p&gt;
&lt;h3 id=&#34;配套-clash&#34;&gt;配套 clash
&lt;/h3&gt;&lt;p&gt;说实话到目前我还没有尝试成功。由于宿舍没有宽带，只能用 &lt;em&gt;wisp&lt;/em&gt; 转发校园网 WiFi 信号，导致 NAT 类型最好也只可能是 B。&lt;/p&gt;
&lt;p&gt;据&lt;a class=&#34;link&#34; href=&#34;https://github.com/Dreamacro/clash/issues/971&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;一些大佬&lt;/a&gt;和&lt;a class=&#34;link&#34; href=&#34;https://github.com/vernesong/OpenClash/issues/522&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;另一些大佬测试&lt;/a&gt;，通过使用 clash 的 tun 模式，能够使得 switch 正常进行联机。因此我也进行了一定的探索。&lt;/p&gt;
&lt;p&gt;首先，docker 的 clash 似乎不能处理 UDP；其次，即便我成功跑通了 tun 模式（大概？），switch 仍不能正常联机，不过从先前的完全不能连，变成了现在的连几秒就断（进步了，但是完全没进步）。&lt;/p&gt;
&lt;p&gt;奉上失败的配置文件：&lt;/p&gt;
&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;2&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#2&#34;&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;3&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#3&#34;&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;4&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#4&#34;&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;5&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#5&#34;&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;6&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#6&#34;&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;7&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#7&#34;&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;8&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#8&#34;&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;9&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#9&#34;&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;10&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#10&#34;&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;11&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#11&#34;&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;12&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#12&#34;&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;13&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#13&#34;&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;14&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#14&#34;&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;15&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#15&#34;&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;16&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#16&#34;&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;17&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#17&#34;&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;18&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#18&#34;&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;19&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#19&#34;&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;20&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#20&#34;&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;21&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#21&#34;&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;22&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#22&#34;&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;23&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#23&#34;&gt;23&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;24&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#24&#34;&gt;24&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;25&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#25&#34;&gt;25&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;26&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#26&#34;&gt;26&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;27&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#27&#34;&gt;27&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;28&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#28&#34;&gt;28&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;29&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#29&#34;&gt;29&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;30&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#30&#34;&gt;30&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;31&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#31&#34;&gt;31&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;32&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#32&#34;&gt;32&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;33&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#33&#34;&gt;33&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;34&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#34&#34;&gt;34&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;35&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#35&#34;&gt;35&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;36&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#36&#34;&gt;36&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;37&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#37&#34;&gt;37&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;38&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#38&#34;&gt;38&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;39&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#39&#34;&gt;39&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;40&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#40&#34;&gt;40&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;41&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#41&#34;&gt;41&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;42&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#42&#34;&gt;42&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;43&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#43&#34;&gt;43&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;44&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#44&#34;&gt;44&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;45&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#45&#34;&gt;45&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;46&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#46&#34;&gt;46&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;47&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#47&#34;&gt;47&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;48&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#48&#34;&gt;48&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;49&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#49&#34;&gt;49&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;50&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#50&#34;&gt;50&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;51&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#51&#34;&gt;51&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;52&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#52&#34;&gt;52&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;53&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#53&#34;&gt;53&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;54&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#54&#34;&gt;54&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;55&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#55&#34;&gt;55&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;56&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#56&#34;&gt;56&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;57&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#57&#34;&gt;57&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;58&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#58&#34;&gt;58&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;59&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#59&#34;&gt;59&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;60&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#60&#34;&gt;60&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;61&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#61&#34;&gt;61&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;62&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#62&#34;&gt;62&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;63&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#63&#34;&gt;63&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;64&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#64&#34;&gt;64&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;65&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#65&#34;&gt;65&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;66&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#66&#34;&gt;66&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;67&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#67&#34;&gt;67&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;68&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#68&#34;&gt;68&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;69&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#69&#34;&gt;69&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;70&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#70&#34;&gt;70&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;71&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#71&#34;&gt;71&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;72&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#72&#34;&gt;72&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;73&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#73&#34;&gt;73&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;74&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#74&#34;&gt;74&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;75&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#75&#34;&gt;75&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;76&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#76&#34;&gt;76&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;77&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#77&#34;&gt;77&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;78&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#78&#34;&gt;78&lt;/a&gt;
&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-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;port&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;m&#34;&gt;7890&lt;/span&gt;&lt;span class=&#34;w&#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;w&#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;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;socks-port&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;m&#34;&gt;7891&lt;/span&gt;&lt;span class=&#34;w&#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;w&#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;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;redir-port&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;m&#34;&gt;7892&lt;/span&gt;&lt;span class=&#34;w&#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;w&#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;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;mixed-port&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#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;w&#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;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;allow-lan&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;&lt;span class=&#34;w&#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;w&#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;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;bind-address&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;*&amp;#39;&lt;/span&gt;&lt;span class=&#34;w&#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;w&#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;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;mode&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;rule&lt;/span&gt;&lt;span class=&#34;w&#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;w&#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;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;log-level&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;info&lt;/span&gt;&lt;span class=&#34;w&#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;w&#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;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;ipv6&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;false&lt;/span&gt;&lt;span class=&#34;w&#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;w&#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;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;external-controller&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;m&#34;&gt;0.0.0.0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;9090&lt;/span&gt;&lt;span class=&#34;w&#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;w&#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;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;external-ui&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;yacd&lt;/span&gt;&lt;span class=&#34;w&#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;w&#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;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;interface-name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;br0&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;c&#34;&gt;# unraid 中很坑，必须用 ifconfig 看才能知道真正的网卡，webui 上的是假的&lt;/span&gt;&lt;span class=&#34;w&#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;w&#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;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;hosts&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#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;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;c&#34;&gt;# &amp;#39;*.clash.dev&amp;#39;: 127.0.0.1&lt;/span&gt;&lt;span class=&#34;w&#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;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;c&#34;&gt;# &amp;#39;.dev&amp;#39;: 127.0.0.1&lt;/span&gt;&lt;span class=&#34;w&#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;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;c&#34;&gt;# &amp;#39;alpha.clash.dev&amp;#39;: &amp;#39;::1&amp;#39;&lt;/span&gt;&lt;span class=&#34;w&#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;w&#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;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;profile&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#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;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;store-selected&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;&lt;span class=&#34;w&#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;w&#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;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;dns&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#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;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;enable&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;&lt;span class=&#34;w&#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;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;listen&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;m&#34;&gt;0.0.0.0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;53&lt;/span&gt;&lt;span class=&#34;w&#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;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;c&#34;&gt;# ipv6: false # when the false, response to AAAA questions will be empty&lt;/span&gt;&lt;span class=&#34;w&#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;w&#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;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;default-nameserver&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#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;w&#34;&gt;    &lt;/span&gt;- &lt;span class=&#34;m&#34;&gt;114.114.114.114&lt;/span&gt;&lt;span class=&#34;w&#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;w&#34;&gt;    &lt;/span&gt;- &lt;span class=&#34;m&#34;&gt;1.2.4.8&lt;/span&gt;&lt;span class=&#34;w&#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;w&#34;&gt;    &lt;/span&gt;- &lt;span class=&#34;m&#34;&gt;8.8.8.8&lt;/span&gt;&lt;span class=&#34;w&#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;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;enhanced-mode&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;redir-host&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;c&#34;&gt;# or fake-ip&lt;/span&gt;&lt;span class=&#34;w&#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;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;fake-ip-range&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;m&#34;&gt;198.168.0.1&lt;/span&gt;&lt;span class=&#34;l&#34;&gt;/24&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;c&#34;&gt;# Fake IP addresses pool CIDR&lt;/span&gt;&lt;span class=&#34;w&#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;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;c&#34;&gt;# use-hosts: true # lookup hosts and return IP record&lt;/span&gt;&lt;span class=&#34;w&#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;w&#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;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;c&#34;&gt;# Hostnames in this list will not be resolved with fake IPs&lt;/span&gt;&lt;span class=&#34;w&#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;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;c&#34;&gt;# i.e. questions to these domain names will always be answered with their&lt;/span&gt;&lt;span class=&#34;w&#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;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;c&#34;&gt;# real IP addresses&lt;/span&gt;&lt;span class=&#34;w&#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;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;c&#34;&gt;# fake-ip-filter:&lt;/span&gt;&lt;span class=&#34;w&#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;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;c&#34;&gt;#   - &amp;#39;*.lan&amp;#39;&lt;/span&gt;&lt;span class=&#34;w&#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;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;c&#34;&gt;#   - localhost.ptlogin2.qq.com&lt;/span&gt;&lt;span class=&#34;w&#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;w&#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;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;c&#34;&gt;# Supports UDP, TCP, DoT, DoH. You can specify the port to connect to.&lt;/span&gt;&lt;span class=&#34;w&#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;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;c&#34;&gt;# All DNS questions are sent directly to the nameserver, without proxies&lt;/span&gt;&lt;span class=&#34;w&#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;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;c&#34;&gt;# involved. Clash answers the DNS question with the first result gathered.&lt;/span&gt;&lt;span class=&#34;w&#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;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;nameserver&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#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;w&#34;&gt;    &lt;/span&gt;- &lt;span class=&#34;m&#34;&gt;114.114.114.114&lt;/span&gt;&lt;span class=&#34;w&#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;w&#34;&gt;    &lt;/span&gt;- &lt;span class=&#34;m&#34;&gt;1.2.4.8&lt;/span&gt;&lt;span class=&#34;w&#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;w&#34;&gt;    &lt;/span&gt;- &lt;span class=&#34;m&#34;&gt;1.1.1.1&lt;/span&gt;&lt;span class=&#34;w&#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;w&#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;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;c&#34;&gt;# This is a countermeasure against DNS pollution attacks.&lt;/span&gt;&lt;span class=&#34;w&#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;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;fallback-filter&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#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;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;geoip&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;&lt;span class=&#34;w&#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;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;ipcidr&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#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;w&#34;&gt;      &lt;/span&gt;&lt;span class=&#34;c&#34;&gt;# - 240.0.0.0/4&lt;/span&gt;&lt;span class=&#34;w&#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;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;c&#34;&gt;# domain:&lt;/span&gt;&lt;span class=&#34;w&#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;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;c&#34;&gt;#   - &amp;#39;+.google.com&amp;#39;&lt;/span&gt;&lt;span class=&#34;w&#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;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;c&#34;&gt;#   - &amp;#39;+.facebook.com&amp;#39;&lt;/span&gt;&lt;span class=&#34;w&#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;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;c&#34;&gt;#   - &amp;#39;+.youtube.com&amp;#39;&lt;/span&gt;&lt;span class=&#34;w&#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;w&#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;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;tun&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#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;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;enable&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;&lt;span class=&#34;w&#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;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;stack&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;system&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;c&#34;&gt;# or gvisor&lt;/span&gt;&lt;span class=&#34;w&#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;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;c&#34;&gt;# dns-hijack:&lt;/span&gt;&lt;span class=&#34;w&#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;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;c&#34;&gt;#   - 8.8.8.8:53&lt;/span&gt;&lt;span class=&#34;w&#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;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;c&#34;&gt;#   - tcp://8.8.8.8:53&lt;/span&gt;&lt;span class=&#34;w&#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;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;auto-route&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;c&#34;&gt;# auto set global route&lt;/span&gt;&lt;span class=&#34;w&#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;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;auto-detect-interface&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;false&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;c&#34;&gt;# Linux 下必须为 false&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;code-lang&#34;&gt;YAML&lt;/div&gt;
    
&lt;/div&gt;
                    &lt;hr/&gt;&lt;em&gt;前往&lt;a href=&#34;https://www.sciroccogti.top/post/2021-05-01-switch/&#34;&gt;网页&lt;/a&gt;以阅读全文。&lt;/em&gt;
                </description>
            </item>
        <item>
                <title>LDPC笔记</title>
                <link>https://www.sciroccogti.top/post/2021-03-26-ldpc/</link>
                <pubDate>Fri, 26 Mar 2021 15:00:00 +0800</pubDate>
                
                <guid>https://www.sciroccogti.top/post/2021-03-26-ldpc/</guid>
                <description>&lt;h1 id=&#34;ldpc&#34;&gt;LDPC
&lt;/h1&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://developer.aliyun.com/article/739523&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;LDPC 码的基本原理 | 带你读《5G-NR信道编码》之七&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;LDPC相对于 turbo 码的优势就在于&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;没有低权重码字：码字的hamming距得以增大，获得更小的误码率&lt;/li&gt;
&lt;li&gt;低复杂度的交互式解码：使用简单的校验 网格&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ldpc码可以是系统码也可以是非系统码，关键看你是如何编码的。换句话说，同样的校验矩阵可以用作系统码也可以用作非系统码。这主要根据 G 矩阵的产生方式。&lt;/p&gt;
&lt;h2 id=&#34;构造-ldpc&#34;&gt;构造 LDPC
&lt;/h2&gt;&lt;p&gt;LDPC 码的校验阵为稀疏矩阵 A，即 0 的数量远大于 1。&lt;/p&gt;
&lt;p&gt;通常用 $(n, t_c, t_r)$ 来描述一个 LDPC 码，其中 $n$ 为分组长度，$t_c$ 为各列码重，$t_r$ 为各行码重，且 $t_r&amp;gt;t_c$。&lt;/p&gt;
&lt;p&gt;有 $r=1-\frac{t_c}{t_r}$&lt;/p&gt;
&lt;p&gt;还需检验有效性：令 $\rho$ 代表 A 中 1 的密度，则可得 $t_c=\rho(n-k), t_r=\rho n$，其中 n - k 为 A 的行数，n 为列数（譬如分段长）
故有 $\frac{t_c}{t_r}=1-\frac{k}{n}$&lt;/p&gt;
&lt;p&gt;overhead（OH，开销）$=(n-k)/k$&lt;/p&gt;
&lt;h2 id=&#34;规则-ldpc-和非规则-ldpc&#34;&gt;规则 LDPC 和非规则 LDPC
&lt;/h2&gt;&lt;p&gt;LDPC 码可以用二分图表示，其中有两种节点：变量节点 和 校验节点&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;规则 LDPC：每个校验节点连接的变量节点数（3）一致，每个变量节点连接的校验节点数（2）也一致；即：每行有 3 个非零元素，每列有 2 个非零元素&lt;/li&gt;
&lt;li&gt;非规则 LDPC：每个节点的自由度可以不一样，但是需要满足：
&lt;ul&gt;
&lt;li&gt;变量节点自由度$\lambda(x)=\sum^{d_v}_{i=2}\lambda_ix^{i-1}$&lt;/li&gt;
&lt;li&gt;校验节点自由度$\rho(x)=\sum^{d_c}_{i=2}\rho_ix^{i-1}$
系数$\lambda_i$和$\rho_i$分别表示自由度为$i$的从变量节点和校验节点发出的边数所占的比例&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;然而实际上非规则 LDPC 更灵活，更常用&lt;/p&gt;
&lt;h2 id=&#34;置信传播&#34;&gt;置信传播
&lt;/h2&gt;&lt;blockquote&gt;
&lt;p&gt;原文链接：https://blog.csdn.net/sinat_38151275/article/details/98102699&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;译码过程是在变量节点和校验节点之间传递信息。每个变量节点告诉它所连接的校验节点“我认为该变量是什么”，而校验节点告诉它所连接的变量节点“我认为该变量应该是什么”。经过反复的消息传递后，变量节点和校验节点不断改变自己对各个变量是什么的看法，最终能形成一个满足校验方程的码字，这就是译码的结果。如果经过充分的迭代后仍然不能形成一个满足校验方程的码字，则译码器宣布它无法译出这个码字，即译码失败。&lt;/p&gt;
&lt;h2 id=&#34;min-sum&#34;&gt;Min-Sum
&lt;/h2&gt;&lt;p&gt;Min：VN到CN，Sum：CN到VN&lt;/p&gt;
&lt;p&gt;公式前提：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;三比特校验式：$L_1{\boxplus}L_2{\boxplus}L_3=0{\rightarrow}L_1{\boxplus}L_2=L_3$&lt;/li&gt;
&lt;li&gt;似然比输出：$L_3=L_1\boxplus{L_2}=\log\frac{P(x_3=+1)}{P(x_3=+1)}=\log\frac{1+e^{L_1}e^{L_2}}{e^{L_1}+e^{L_2}}$&lt;/li&gt;
&lt;li&gt;$\boxplus$运算：$L_1\boxplus0=0,L_1\boxplus\pm\infty=L_1$&lt;/li&gt;
&lt;li&gt;最小和近似：$L_{3}=\operatorname{sgn}\left(L_{1}\right) \cdot \operatorname{sgn}\left(L_{2}\right) \cdot \min \left(\left|L_{1}\right|,\left|L_{2}\right|\right) +\log \left(1+e^{-\left|L_{1}+L_{2}\right|}\right)-\log \left(1+e^{-\left|L_{1}-L_{2}\right|}\right) \ \approx \operatorname{sgn}\left(L_{1}\right) \cdot \operatorname{sgn}\left(L_{2}\right) \cdot \min \left(\left|L_{1}\right|,\left|L_{2}\right|\right)$&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;BP算法校验节点计算：
$$
r_{m n}^{k}=\sum_{n^{\prime} \in B(m) \backslash n}^\boxplus q^{k-1} n^{\prime} m
$$&lt;/p&gt;
&lt;p&gt;MS算法校验节点计算：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;校验节点对于变量节点i，输出除i以外的其它变量节点的最小和近似。如图中，$-0.17=sgn(3.57){\cdot}sgn(-0.17){\cdot}min{|3.57|,|-0.17|}$
$$
r_{m n, MS}^{k}=\left(\prod_{n^{\prime} \in B(m) \backslash n} \operatorname{sgn}\left(L_{n^{\prime} m}^{k-1}\right)\right) \min &lt;em&gt;{n^{\prime} \in B(m) \backslash n}\left|q&lt;/em&gt;{n^{\prime} m}^{k-1}\right|
$$&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;变量节点计算：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;变量节点将上一次迭代中从各校验节点接收到的值与自身值相加。如图中，$6.17=-0.80-0.17+3.57+3.40+0.17$&lt;/li&gt;
&lt;li&gt;本次迭代中，变量节点向校验节点j输出的值是上式计算出的值减去上次校验节点j向本变量节点输出的值。如图中，$6.34=6.17-(-0.17)$&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;MS算法初始化计算：（与信道噪声方差$\sigma^2$无关）
$$q^0_{nm}=y_n$$&lt;/p&gt;
&lt;p&gt;迭代直到与H相乘为0&lt;/p&gt;
&lt;p&gt;下图以发送全零信息为例，绿色为0，红色为1&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.sciroccogti.top/post/2021-03-26-ldpc/post/2021-03-26-ldpc/min-sum.png&#34;
	width=&#34;1090&#34;
	height=&#34;688&#34;
	
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;158&#34;
		data-flex-basis=&#34;380px&#34;
	
&gt;&lt;/p&gt;
&lt;h2 id=&#34;nms&#34;&gt;NMS
&lt;/h2&gt;&lt;p&gt;Normalized Min-Sum，似乎是直接在 $L$ 上除以一个大于1的系数即可，而这个系数貌似是定死的。后期演变为ANMS（自动NMS），能够自动调整这个系数。&lt;/p&gt;
&lt;h2 id=&#34;spa&#34;&gt;SPA
&lt;/h2&gt;&lt;p&gt;（其实应该先讲 SPA 再讲 MS 的）&lt;/p&gt;
&lt;p&gt;MS 与 SPA 唯一不同点就在于校验节点的计算。实质上，MS 是 SPA 的简化版，它将 SPA 中的非线性的 $tanh$、$atanh$ 的运算转换为了简单的取最小值。&lt;/p&gt;
&lt;p&gt;SPA 的校验节点计算：
$$
r_{m n, SPA}^{k}=2\times\operatorname{atanh}\left(\prod_{n^{\prime} \in B(m) \backslash n} \operatorname{tanh}\left(\frac{L_{n^{\prime} m}^{k-1}}{2}\right)\right)
$$&lt;/p&gt;
&lt;h3 id=&#34;复杂度分析&#34;&gt;复杂度分析
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;校验节点：$O(K\cdot d_c)$&lt;/li&gt;
&lt;li&gt;变量节点：$O(N\cdot d_v)$&lt;/li&gt;
&lt;li&gt;校验式检验：$O(N\cdot K)$&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;若提前终止：$O(N\cdot K\cdot i)$&lt;/p&gt;
&lt;p&gt;不提前终止：$O(i\cdot N\cdot d_v)+O(i\cdot K\cdot d_c)+O(N\cdot K)$&lt;/p&gt;
&lt;p&gt;一个校验节点与 $d_c$ 个变量节点相连，一个变量节点与 $d_v$ 个校验节点相连&lt;/p&gt;
&lt;h2 id=&#34;常见常识&#34;&gt;常见常识
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;编码后的信噪比：$\frac{E_s}{N_0} = \frac{E_b}{N_0} * rate,rate=\frac{K}{N}$&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;nb-ldpc&#34;&gt;NB-LDPC
&lt;/h2&gt;&lt;p&gt;多元 LDPC 也即是在 $\mathbf{GF}(q),q=2^{p},p&amp;gt;1$ 的有限域下实现的 LDPC。&lt;/p&gt;
&lt;h3 id=&#34;gfq&#34;&gt;GFq
&lt;/h3&gt;&lt;p&gt;有限域，又叫 伽罗瓦域（Galois Field）&lt;/p&gt;
&lt;p&gt;以 $\mathbf{GF}(4)$ 为例，有限域由 $0,1,\alpha,\alpha^2$ 组成。在 LDPC 中，通常用 0，1，2，3 这四个十进制数来表示。&lt;/p&gt;
&lt;p&gt;有限域的计算法则如下：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;$\alpha^2=\alpha+1$&lt;/li&gt;
&lt;li&gt;系数 mod 2&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;以简单的加法为例：
$1+\alpha^2=1+\alpha+1=\alpha+2=\alpha$&lt;/p&gt;
&lt;p&gt;由此便可得到如下两表（取自&lt;a class=&#34;link&#34; href=&#34;https://zh.wikipedia.org/wiki/%E6%9C%89%E9%99%90%E5%9F%9F#%E4%B8%80%E4%BA%9B%E5%B0%8F%E5%9E%8B%E7%9A%84%E6%9C%89%E9%99%90%E5%9F%9F&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;维基百科&lt;/a&gt;）&lt;/p&gt;
&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;2&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#2&#34;&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;3&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#3&#34;&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;4&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#4&#34;&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;5&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#5&#34;&gt;5&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;6&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#6&#34;&gt;6&lt;/a&gt;
&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 1 2 3       ·| 0 1 2 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; 0 | 0 1 2 3       0 | 0 0 0 0
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; 1 | 1 0 3 2       1 | 0 1 2 3
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; 2 | 2 3 0 1       2 | 0 2 3 1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; 3 | 3 2 1 0       3 | 0 3 1 2&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&gt;&lt;p&gt;所以这些运算常常用查找表来实现，速度快，也很直观。&lt;/p&gt;
&lt;h4 id=&#34;到底是怎么回事&#34;&gt;到底是怎么回事！
&lt;/h4&gt;&lt;blockquote&gt;
&lt;p&gt;参考 &lt;a class=&#34;link&#34; href=&#34;https://blog.csdn.net/cys861214/article/details/88195262&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;伽罗华域(Galois Field，GF，有限域)&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;好吧，前面的都没讲通，归根结底 $\mathbf{GF}(q)$ 就是 $n=\log_2{q}$ 位二进制数，加减法和乘除法都没有进位（也就是模2）。
遇到结果溢出时，就用 &lt;em&gt;本原多项式&lt;/em&gt; 把它化归到 n 位内，形成健全的有限域。&lt;/p&gt;
&lt;p&gt;那么什么是本原多项式呢？本原多项式可以理解为模2下的素多项式，即：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;不能因式分解&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;列表参考百度百科列出的如下图片：
&lt;img src=&#34;https://www.sciroccogti.top/post/2021-03-26-ldpc/post/2021-03-26-ldpc/baidu.jpeg&#34;
	width=&#34;2608&#34;
	height=&#34;1448&#34;
	
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;180&#34;
		data-flex-basis=&#34;432px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;重新回到前面 $\mathbf{GF}(4)$ 的例子中。
显然，&lt;code&gt;0 = 00, 1 = 01, 2 = 10, 3 = 11&lt;/code&gt;，那么，&lt;code&gt;1 + 3 = 01 + 11 = 10 = 2&lt;/code&gt; 就理解得通了（不就是直接异或吗喂喂！）；
而减法其实就是加法，因为异或本身就是它自己的逆运算；
再看乘法，&lt;code&gt;2 * 3 = 10 * 11 = 100 + 10 = 11 + 10 = 01 = 1&lt;/code&gt;，其中 &lt;code&gt;100 = 11&lt;/code&gt; 是根据本原多项式 $x^3 + x + 1$ 得到的。&lt;/p&gt;
&lt;h4 id=&#34;为什么我看到的和你说的不一样&#34;&gt;为什么我看到的和你说的不一样！
&lt;/h4&gt;&lt;p&gt;因为实际应用的时候，具体一个十进制数究竟代表哪个多元域的数，有不同的实现方式。&lt;/p&gt;
&lt;p&gt;一种方法是 十进制数 $d$ 代表 $\alpha^{d-1}$，$d=0$ 时代表 $0$。这种方法被称为 &lt;em&gt;Power&lt;/em&gt; 表示，常在论文中使用。
而还有一种所谓 &lt;em&gt;Vector&lt;/em&gt; 表示，也叫 &lt;em&gt;多项式&lt;/em&gt; 表示，经常在以 &lt;em&gt;MATLAB&lt;/em&gt; 为主的代码实现中使用。这种方法以下图中第三栏中向量的最左为低位，最右为高位，所以 $\alpha^9=10$
上一节中由于使用的是 $\mathbf{GF}(4)$，两种方法是一致的。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.sciroccogti.top/post/2021-03-26-ldpc/post/2021-03-26-ldpc/GF16.jpg&#34;
	width=&#34;725&#34;
	height=&#34;800&#34;
	
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;90&#34;
		data-flex-basis=&#34;217px&#34;
	
&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Power&lt;/em&gt; 表示的加法需要查表，或者转换到 &lt;em&gt;Vector&lt;/em&gt; 后异或；而乘法则直接相加&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Vector&lt;/em&gt; 表示的加法直接异或，乘法则同样用查表或者转换到 &lt;em&gt;Power&lt;/em&gt; 后相加&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;有限域带来的麻烦&#34;&gt;有限域带来的麻烦
&lt;/h3&gt;&lt;p&gt;引入有限域后，许多原本理所应当的操作变得不直观起来。以下会按照 编码-调制解调-解码 来一一观察。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;编码&lt;/strong&gt;：
改用有限域后，由于生成矩阵一般都使用有限域表示，所以信息序列也需要用有限域表示。至于二进制和有限域之间如何转换，只要前后一致即可。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;调制解调&lt;/strong&gt;：
一般使用高阶调制，即一个有限域符号与调制的一个星座点对应，这样性能最好；而如果仍使用 BPSK 等二元调制，则需要将码字转回二元进行调制。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;解码&lt;/strong&gt;
解码时，若使用的二元调制，就要先算出各比特的 LLR，再合成有限域符号的 LLR。而高阶调制则可以直接生成符号 LLR。&lt;/p&gt;
&lt;p&gt;$$LLR(b)=\log\frac{Pr(b=0|r=(x,y))}{Pr(b=1|r=(x,y))}$$&lt;/p&gt;
&lt;p&gt;AWGN 下的 LLR 计算可以参考 &lt;a class=&#34;link&#34; href=&#34;https://www.mathworks.com/help/comm/ug/digital-modulation.html#brc6yjx&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Matlab 文档&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;qspa&#34;&gt;QSPA
&lt;/h3&gt;&lt;p&gt;QSPA，顾名思义，多元下的 SPA。&lt;/p&gt;
&lt;p&gt;本质上与 SPA 完全一直，区别在于 LLR 有 Q 个。也就是说，&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;先前校验节点到变量节点相连的边上只传递一个值，现在则要传递 Q 个，每个对应一个 GF&lt;/li&gt;
&lt;li&gt;从变量节点到校验节点也是如此&lt;/li&gt;
&lt;li&gt;初始化时，正如上文中 &lt;strong&gt;解码&lt;/strong&gt; 部分所言，也须用 Q 个有限域符号的 LLR 初始化&lt;/li&gt;
&lt;li&gt;每次迭代结束后，从变量节点获取值时，选取 Q 个值中最大的那个所对应的 GF 符号，作为该节点的结果，来进行校验&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;ems&#34;&gt;EMS
&lt;/h3&gt;&lt;p&gt;Extended Min-Sum：使用了配置集的最小和算法。配置集本质就是用于减少搜索范围，即 每个变量节点只有最大的（最可信的） $n_{max}$ 个值可选，而非 GF 个&lt;/p&gt;
&lt;p&gt;第一步，将各校验节点的各多元域符号值（共 $m\times{GF}$ 个）初始化为 0，变量节点的各符号值（共 $n\times{GF}$ 个）初始化为各符号的 LLR。&lt;/p&gt;
&lt;p&gt;第二步，开始迭代：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;遍历各个校验节点
&lt;ol&gt;
&lt;li&gt;遍历校验节点相连的各变量节点
&lt;ul&gt;
&lt;li&gt;对于各多元域符号（共 $GF$ 个），计算 遍历到的变量节点 减去 上次本校验节点向该变量节点输出的值（与 B-LDPC 一致）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;再次遍历校验节点相连的各变量节点（不含要输出到的变量节点）
&lt;ul&gt;
&lt;li&gt;选出上一步中该变量节点得到的值（$GF$ 个）中 最大的 $n_{max}$ 个 中的一个&lt;/li&gt;
&lt;li&gt;将这些值对应的多元域符号 与对应的校验向量相乘，得到要输出的变量节点的多元域符号（这样使得这组变量节点的符号一定满足校验）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;根据上一步中选中的各变量节点的多元域符号得到变量节点所对应的值，将其求和&lt;/li&gt;
&lt;li&gt;对于当前的变量节点的各个符号，取这一符号满足的所有配置集产生的和中最小的，将其作为输出&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;下图为一个校验节点中，计算向变量节点 5 输出的值 时的情况。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.sciroccogti.top/post/2021-03-26-ldpc/post/2021-03-26-ldpc/EMS.png&#34;
	width=&#34;753&#34;
	height=&#34;450&#34;
	
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;167&#34;
		data-flex-basis=&#34;401px&#34;
	
&gt;&lt;/p&gt;
&lt;h4 id=&#34;配置集&#34;&gt;配置集
&lt;/h4&gt;&lt;p&gt;尽管前文说到配置集只在每个变量节点最大的 $n_{max}$ 中选取，但是实际上，为了保证能够对每个符号都能得到至少一个配置集，就需要在这种 &lt;em&gt;真正的&lt;/em&gt; 配置集之外，再补充一个集合。
这一集合，限制 除了一个变量节点可以随意选外，其它每个变量节点都必须选其最大值。也就是说，这个集合拥有$(d-1) * (q-1) + 1$个，其中 $d-1$ 是指涉及的变量节点为当前校验节点度数减去当前变量节点，$q-1$是自由选取的变量节点可选的符号范围，$+1$ 是要补充 重复计算的 每个变量节点都选最大值的情况。&lt;/p&gt;
&lt;h3 id=&#34;t-ems&#34;&gt;T-EMS
&lt;/h3&gt;&lt;p&gt;T-EMS 相对于 EMS，缩小了配置集，解长码时更有优势。&lt;/p&gt;
&lt;p&gt;首先需要将 LLR 差分化，即套用如下公式：&lt;/p&gt;
&lt;p&gt;$$\Delta U_{p c}\left[\eta_{p}=x+\beta_{p}^{(1)}\right]=U_{p c}\left[\beta_{p}^{(1)}\right]-U_{p c}[x], \quad x \in G F(q)$$&lt;/p&gt;
&lt;p&gt;其中，$\beta_p^{(1)}$ 表示变量节点中最可信（最大）的 LLR 的下标。注意，赋值对象的下标为 $\eta_{p}=x+\beta_{p}^{(1)}$。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.sciroccogti.top/post/2021-03-26-ldpc/post/2021-03-26-ldpc/TEMS1.png&#34;
	width=&#34;699&#34;
	height=&#34;490&#34;
	
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;142&#34;
		data-flex-basis=&#34;342px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;以上图中 $U_2$ 为例，$\beta_p^{(1)}=1$，$U_2[0]=U[1]-U[1]=65-65=0$，$U_2[1]=U[1]-U[0]=65-60=5$，$U_2[\alpha]=U[1]-U[\alpha^2]=65-40=25$，便得到下图。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.sciroccogti.top/post/2021-03-26-ldpc/post/2021-03-26-ldpc/TEMS2.png&#34;
	width=&#34;614&#34;
	height=&#34;473&#34;
	
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;129&#34;
		data-flex-basis=&#34;311px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;由于是与最可信的做减法，因此差分后的值越小就越可信。那么目前最可信的就是第一行。&lt;/p&gt;
&lt;p&gt;我们在每行（除第一行外）中选取最小的 $n_r$ 个，就构成了 TEMS 的配置集，也就是上图中蓝框的 10 个。
TEMS 的配置集中有 $d_c-1+n_r(q-1)=10$ 个&lt;/p&gt;
&lt;p&gt;然后类似地选取配置集中总和最小的，求出对应 VN 的 GF 上的值。不过此时的 GF 还需要逆差分：&lt;/p&gt;
&lt;p&gt;$$V_{c p}\left[\beta=\eta-\beta_{\max }+\beta_{p}^{(0)}\right]=-\Delta V_{c p}[\eta], \eta \in \mathrm{GF}(q), p=1 \cdots d_{c}$$&lt;/p&gt;
&lt;h2 id=&#34;分块-ldpc&#34;&gt;分块 LDPC
&lt;/h2&gt;&lt;p&gt;$z_f$：分块大小，又称 lifting size&lt;/p&gt;
&lt;p&gt;ratio：$z_f/n_b$&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;$n_6$：重量为 6 的列数（基矩阵）&lt;/li&gt;
&lt;li&gt;$n_2$：一般为 m-1，因为矩阵最右一般是 m-1 x m 的双对角矩阵，且列重为 2 的列越少越好&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;圈四：基矩阵中有一块 2x2 的部分都非 -1&lt;/p&gt;
&lt;p&gt;打孔：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;不传输，故收到的似然比直接置为 0（y = 0 or 1 等概）&lt;/li&gt;
&lt;li&gt;码率要把打孔的去掉&lt;/li&gt;
&lt;li&gt;打孔的列一般都是列重很高，因为译码时极易恢复&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;sc-ldpc&#34;&gt;SC-LDPC
&lt;/h2&gt;&lt;p&gt;空间耦合 LDPC&lt;/p&gt;

                    &lt;hr/&gt;&lt;em&gt;前往&lt;a href=&#34;https://www.sciroccogti.top/post/2021-03-26-ldpc/&#34;&gt;网页&lt;/a&gt;以阅读全文。&lt;/em&gt;
                </description>
            </item>
        <item>
                <title>把NUC变成NAS</title>
                <link>https://www.sciroccogti.top/post/2021-03-08-nuc-nas/</link>
                <pubDate>Mon, 08 Mar 2021 12:30:00 +0800</pubDate>
                
                <guid>https://www.sciroccogti.top/post/2021-03-08-nuc-nas/</guid>
                <description>&lt;img src="https://cdn.sciroccogti.top/static/img/covers/nas.jpg" alt="Featured image of post 把NUC变成NAS" /&gt;&lt;h1 id=&#34;把-nuc-变成-nas&#34;&gt;把 NUC 变成 NAS
&lt;/h1&gt;&lt;h2 id=&#34;前言&#34;&gt;前言
&lt;/h2&gt;&lt;p&gt;笔者先前一直使用的是铁威马家的F2-220，说实话这货性价比不错，￥1300的价格，x86架构的J1800，并且铁威马的系统和服务都挺到位，一步步看着 TOS 系统逐渐完善起来感觉还是很棒的。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.sciroccogti.top/post/2021-03-08-nuc-nas/post/2021-03-08-nuc-nas/f2-220.webp&#34;
	width=&#34;430&#34;
	height=&#34;430&#34;
	
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;100&#34;
		data-flex-basis=&#34;240px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;不过，J1800 的性能实在是太过羸弱，备份点文件就会轻松拉满CPU占用。而且由于学生党的笔者需要频繁在宿舍和家里往返，这个体积不小的机器，说不带吧，用不了各种内网服务实在是难受；说带吧，不仅带着麻烦，还怕颠坏了硬盘。而20年突如其来的疫情让我与 F2-220 分隔半年，更让我感受到了便携化 NAS 的必要性。所以就决定要换个轻巧的 NAS。&lt;/p&gt;
&lt;h2 id=&#34;硬件选择&#34;&gt;硬件选择
&lt;/h2&gt;&lt;p&gt;然而新NAS的选择却十分棘手，因为通常来看，便携性和安全性是势不两立的存在。当时笔者共有以下几个选项：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;有3.5硬盘位的itx主机
&lt;ul&gt;
&lt;li&gt;因为itx主机本身就不可能达到迷你主机那样的轻薄，因此索性让主机内部装载硬盘会比较合理。这样也就相当于纯粹提升了NAS性能，而完全舍弃了便携性提升。不过可能可以选择ECC内存，而且电源也很可靠，所以安全性应该是最高的。&lt;/li&gt;
&lt;li&gt;性能：★★★&lt;/li&gt;
&lt;li&gt;便携：☆☆☆&lt;/li&gt;
&lt;li&gt;安全：★★★&lt;/li&gt;
&lt;li&gt;价格：&amp;gt;￥1600（A320M主板+速龙200GE+8G内存+酷鱼MGP+电源+散热器）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;有2.5或3.5硬盘位的迷你主机+硬盘盒
&lt;ul&gt;
&lt;li&gt;迷你主机的CPU性能基本在下图范围内（50%~100%），而上面itx方案里的200GE性能大约是175%，所以性能一般。但是也比F2-220的J1800要强不少，而且小巧的机身，也极具可玩性。USB硬盘盒是我比较纠结的点，因为硬盘盒往往供电不稳，速度受限（一般是USB3.0的5Gbps）。&lt;/li&gt;
&lt;li&gt;性能：★☆☆&lt;/li&gt;
&lt;li&gt;便携：★★★&lt;/li&gt;
&lt;li&gt;安全：★☆☆&lt;/li&gt;
&lt;li&gt;价格：￥1290（NUC5i3RYH+双盘位USB3.0阵列盒）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;大厂 NAS
&lt;ul&gt;
&lt;li&gt;就以F2-220为例&lt;/li&gt;
&lt;li&gt;性能：☆☆☆&lt;/li&gt;
&lt;li&gt;便携：★☆☆&lt;/li&gt;
&lt;li&gt;安全：★★★&lt;/li&gt;
&lt;li&gt;价格：￥1300&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;最终我还是选择了闲鱼￥790 入手 NUC5i3RYH。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.sciroccogti.top/post/2021-03-08-nuc-nas/post/2021-03-08-nuc-nas/NUC5.jpg&#34;
	width=&#34;1200&#34;
	height=&#34;900&#34;
	
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;133&#34;
		data-flex-basis=&#34;320px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;这台NUC的CPU是1k内迷你主机里中上水平的Corei3 5010U，有一个支持NGFF或PCIEx4（好像是老款nvme？）的m.2槽，还有一个2.5的SATA硬盘位。外部有4个USB3.0，主板还留有一个8pin USB2.0x2接口。主板上还惊喜地留有一个F_PANEL，一个AUX辅助电源，以及一个惊为天人的 NFC接口（虽然我也不知道咋用）。&lt;/p&gt;
&lt;p&gt;以下是我找到的相关文档：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.intel.com/content/www/us/en/products/docs/boards-kits/nuc/nuc-kit-nuc5i3ryh-brief.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;NUC5i3RYH产品介绍&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.intel.com/content/dam/support/us/en/documents/motherboards/desktop/sb/nucreplaceablelids.pdf&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;NUC5i3RYH可换顶盖&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.intel.cn/content/www/cn/zh/support/articles/000006820/intel-nuc.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;NUC系列图纸&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;软件选择&#34;&gt;软件选择
&lt;/h2&gt;&lt;h3 id=&#34;操作系统&#34;&gt;操作系统
&lt;/h3&gt;&lt;p&gt;目前的NAS可用的操作系统非常丰富，在此罗列一下我当时考虑过的几种：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;群晖：&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;群晖显然是最成功的NAS操作系统，从各种方面来说都是很好的选择。不过我不喜欢用破解版的系统，指不定哪天就被封了？因此并没有选用黑群晖。&lt;/li&gt;
&lt;/ul&gt;
&lt;ol start=&#34;2&#34;&gt;
&lt;li&gt;TrueNAS：&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;TureNAS就是FreeNAS的套壳版，有基于FreeBSD的普通版，也有基于Debian的Scale版（目前还在Beta中）。由于我不可避免的会用到Docker，因此就在虚拟机上体验了一下TrueNAS Scale。说实话，体验非常好，漂亮的WebUI，加上成熟而简便的硬盘管理，以及浓厚的社区文化，都很合我意。但是在进行深入调研后，我发现TrueNAS坚持的zfs成了绊脚石。根据&lt;a class=&#34;link&#34; href=&#34;https://www.truenas.com/community/threads/ecc-vs-non-ecc-ram-and-zfs.15449/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;这篇文章&lt;/a&gt;记述，不使用ECC内存的zfs很可能导致灾难性问题。虽然据说zfs创始人指出&lt;a class=&#34;link&#34; href=&#34;https://arstechnica.com/civis/viewtopic.php?p=26303271#p26303271&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;zfs对于ECC的依赖和其他操作系统是一样的&lt;/a&gt;，但我认为这十分牵强，创始人的意思应该是ECC远比zfs重要。既然这样，考虑到我不可能上ECC内存，那zfs也绝不可能使用了。&lt;/li&gt;
&lt;/ul&gt;
&lt;ol start=&#34;3&#34;&gt;
&lt;li&gt;OpenMedaiVault：&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;OMV估计是最适合我的NAS系统了，尽管其UI朴素地离谱，但是功能似乎健全。然而在我的试用中，OMV5的插件生态极其恶劣，好评如潮的可视化Docker插件甚至都没有支持。因此我最终选择了直接使用我非常熟悉的Ubuntu Desktop。&lt;/li&gt;
&lt;/ul&gt;
&lt;ol start=&#34;4&#34;&gt;
&lt;li&gt;Unraid：&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;Unraid是最近好像很火的收费NAS系统，不过我从头到尾没看见官方对于安全技术的介绍，作为一个NAS系统，似乎太不专业了。游戏性介绍倒是很多。。。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;好的，绕了一大圈，我最终选择了不是NAS系统的Ubuntu Desktop作为NAS系统（笑。&lt;/p&gt;
&lt;h3 id=&#34;nas应用&#34;&gt;NAS应用
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;NextCloud：一个几乎全功能的云盘系统，集网盘、备份、WebDAV于一身，基本实现了我对NAS的大部分需求。&lt;/li&gt;
&lt;li&gt;Transmission：PT下载，懂的都懂。&lt;/li&gt;
&lt;li&gt;Emby：Upnp多媒体服务器。我没有使用其开源版本Jellyfins，是因为Jellyfins好像不能显示我硬盘上大多数视频的封面图。相比之下，Emby的免费功能简单便捷，而且绝对够用了。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;遇到的问题&#34;&gt;遇到的问题
&lt;/h2&gt;&lt;h3 id=&#34;电源键一键关机&#34;&gt;电源键一键关机
&lt;/h3&gt;&lt;p&gt;最终采用这一解决方法：&lt;a class=&#34;link&#34; href=&#34;https://unix.stackexchange.com/a/473626/459642&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;StackExchange&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;nextcloud-无法访问应用商店&#34;&gt;Nextcloud 无法访问应用商店
&lt;/h3&gt;&lt;p&gt;在 nextcloud 配置文件中的 &lt;code&gt;config/config.php&lt;/code&gt; 中：&lt;/p&gt;
&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt;1&lt;/a&gt;
&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-php&#34; data-lang=&#34;php&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;proxy&amp;#39;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;http://ip:7890&amp;#39;&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;# ip 为 NAS 的局域网 ip
&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;code-lang&#34;&gt;PHP&lt;/div&gt;
    
&lt;/div&gt;&lt;h2 id=&#34;unraid&#34;&gt;UNRAID
&lt;/h2&gt;&lt;p&gt;结果同步文件的时候不小心把系统盘爆满了，直接 Ubuntu 开机不能。一气之下决定上 Unraid。&lt;/p&gt;
&lt;h3 id=&#34;一些教程&#34;&gt;一些教程
&lt;/h3&gt;&lt;h4 id=&#34;proxy&#34;&gt;Proxy
&lt;/h4&gt;&lt;p&gt;编辑 &lt;code&gt;/boot/config/go&lt;/code&gt;:&lt;/p&gt;
&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;2&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#2&#34;&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;3&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#3&#34;&gt;3&lt;/a&gt;
&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;&lt;span class=&#34;nv&#34;&gt;http_proxy&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;http://server:port &lt;span class=&#34;nv&#34;&gt;https_proxy&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;http://server:port /usr/local/sbin/emhttp &lt;span class=&#34;p&#34;&gt;&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 class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;export http_proxy=\&amp;#34;http://server:port\&amp;#34;&amp;#34;&lt;/span&gt; &amp;gt;&amp;gt; /root/.bash_profile
&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;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;export https_proxy=\&amp;#34;http://server:port\&amp;#34;&amp;#34;&lt;/span&gt; &amp;gt;&amp;gt; /root/.bash_profile&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;code-lang&#34;&gt;BASH&lt;/div&gt;
    
&lt;/div&gt;&lt;h4 id=&#34;有用的东西&#34;&gt;有用的东西
&lt;/h4&gt;&lt;p&gt;插件：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://gitee.com/BlueBuger/community.applications/raw/master/plugins/community.applications.plg&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://gitee.com/BlueBuger/community.applications/raw/master/plugins/community.applications.plg&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/dlandon/unassigned.devices/raw/master/unassigned.devices.plg&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/dlandon/unassigned.devices/raw/master/unassigned.devices.plg&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;APP:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Nerd Pack
&lt;ul&gt;
&lt;li&gt;Python3 # 通过 Nerd Pack 安装&lt;/li&gt;
&lt;li&gt;pip&lt;/li&gt;
&lt;li&gt;python-setuptools
&lt;ul&gt;
&lt;li&gt;docker-compose # 通过 pip 安装&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Unassigned Devices Plus (Addon)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;网络配置&#34;&gt;网络配置
&lt;/h2&gt;&lt;p&gt;我现在才知道内网ip已经不仅限于&lt;a class=&#34;link&#34; href=&#34;https://www.sciroccogti.top/2020/08/11/%E8%AE%A1%E7%BD%91/cn-0/#ipv4-%E7%BC%96%E5%9D%80&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;传统的三段了&lt;/a&gt;，
&lt;code&gt;100.64.0.0/10&lt;/code&gt;已经被用于&lt;a class=&#34;link&#34; href=&#34;https://tools.ietf.org/html/rfc6598&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;运营商NAT&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;因此，&lt;code&gt;100.64.*.*~100.127.*.*&lt;/code&gt; 都不再是公网地址了&lt;/p&gt;
&lt;h2 id=&#34;最终的归宿白群晖&#34;&gt;最终的归宿：白群晖
&lt;/h2&gt;&lt;p&gt;unraid 用了不久后就感觉各类客户端严重缺失，所以还是刷了黑群晖。&lt;/p&gt;
&lt;p&gt;其实黑群晖连续用了半年没什么问题，直到7.0.1升级 7.1.0 的时候升级失败，然后降级也不行。于是果断入手 DS720+。结果到手以后才发现这个贴：&lt;a class=&#34;link&#34; href=&#34;http://www.gebi1.com/thread-263483-1-1.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;重新安装DSM。不损坏数据的另外一种方法！&lt;/a&gt;，简单说就是降级群晖可以通过格式化每个硬盘的第一个分区来实现。我虽然之前就知道这个操作，但是由于我只是删除了分区，没有格式化，导致没法降级，只能重新安装。。。于是就用这个操作把数据盘救活了（我就一个机械硬盘+一块 NGFF 的 SSD）。不过也不打算退货了，白群晖还是相当省心的。&lt;/p&gt;
&lt;p&gt;重点在于，重装群晖以后，所有的 Docker 容器都还在，尽管系统分区被格式化了，但是只要重新安装 Docker 套件，所有容器就会正常运行，相当惊喜！&lt;/p&gt;
&lt;h3 id=&#34;用-ssd-缓存当存储空间&#34;&gt;用 SSD 缓存当存储空间
&lt;/h3&gt;&lt;p&gt;DS720+ 有两个 nvme 硬盘位，全拿来当缓存也太亏了。刚好台式机上换下来一块 500G 的，插上去当下载盘正合适。&lt;/p&gt;
&lt;p&gt;这里参考了 &lt;a class=&#34;link&#34; href=&#34;https://www.xiaocaicai.com/2021/05/ds920-%E5%B0%86ssd%E7%BC%93%E5%AD%98%E7%9B%98%E5%BD%93%E7%A1%AC%E7%9B%98%E4%BD%BF%E7%94%A8&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;DS920+ 将ssd缓存盘当硬盘使用&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;重启后，进入存储管理器，点击在线重组。重组后若提示损毁，可以尝试再次重启。&lt;/p&gt;
&lt;p&gt;要注意的是，群晖里的 Basic 模式似乎就是单硬盘的 RAID1。&lt;/p&gt;
&lt;h3 id=&#34;其他&#34;&gt;其他
&lt;/h3&gt;&lt;p&gt;文件上传慢可能是没开放 samba 的 445 端口（存疑）&lt;/p&gt;

                    &lt;hr/&gt;&lt;em&gt;前往&lt;a href=&#34;https://www.sciroccogti.top/post/2021-03-08-nuc-nas/&#34;&gt;网页&lt;/a&gt;以阅读全文。&lt;/em&gt;
                </description>
            </item>
        <item>
                <title>Flutter开坑笔记</title>
                <link>https://www.sciroccogti.top/post/2021-01-03-flutter/</link>
                <pubDate>Sun, 03 Jan 2021 13:00:00 +0800</pubDate>
                
                <guid>https://www.sciroccogti.top/post/2021-01-03-flutter/</guid>
                <description>&lt;img src="https://cdn.sciroccogti.top/static/img/covers/flutter-logo.jpg" alt="Featured image of post Flutter开坑笔记" /&gt;&lt;h1 id=&#34;flutter-开坑笔记&#34;&gt;Flutter 开坑笔记
&lt;/h1&gt;&lt;h2 id=&#34;安装&#34;&gt;安装
&lt;/h2&gt;&lt;p&gt;跟着官方教程走就行&lt;/p&gt;
&lt;p&gt;务必安装 &lt;em&gt;Android Studio&lt;/em&gt;！不然就是自己找麻烦。&lt;/p&gt;
&lt;h3 id=&#34;ubuntu&#34;&gt;Ubuntu
&lt;/h3&gt;&lt;p&gt;最简单的安装方法：&lt;/p&gt;
&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt;1&lt;/a&gt;
&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;sudo snap install flutter --classic&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;code-lang&#34;&gt;BASH&lt;/div&gt;
    
&lt;/div&gt;&lt;p&gt;升级 &lt;em&gt;Dart SDK&lt;/em&gt;：&lt;/p&gt;
&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt;1&lt;/a&gt;
&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;flutter 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;div class=&#34;code-lang&#34;&gt;BASH&lt;/div&gt;
    
&lt;/div&gt;&lt;h4 id=&#34;注意事项&#34;&gt;注意事项
&lt;/h4&gt;&lt;p&gt;系统设置里不走代理的加上 &lt;code&gt;127.0.0.1&lt;/code&gt;，不然无法调试&lt;/p&gt;
&lt;p&gt;遇到&lt;code&gt;android license status unknown&lt;/code&gt;则运行&lt;code&gt;flutter doctor --android-licenses&lt;/code&gt;；&lt;/p&gt;
&lt;p&gt;截至 2021-01-03 &lt;em&gt;flutter doctor&lt;/em&gt; 尚不支持 &lt;code&gt;Java11&lt;/code&gt;，须安装旧版本；而编译代码需要 &lt;code&gt;Java11&lt;/code&gt; 及以上的版本。。吐了
对于 Ubuntu：&lt;/p&gt;
&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;2&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#2&#34;&gt;2&lt;/a&gt;
&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;sudo apt install openjdk-8-jre openjdk-11-jdk
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo update-alternatives --config java&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;code-lang&#34;&gt;BASH&lt;/div&gt;
    
&lt;/div&gt;&lt;p&gt;然后重启终端！（之前一直没重启终端卡了好久）&lt;/p&gt;
&lt;p&gt;若提示找不到 &lt;em&gt;sdkmanager&lt;/em&gt; 则在 &lt;em&gt;Android Studio&lt;/em&gt; 里安装 &lt;em&gt;Android SDK Command-line Tools&lt;/em&gt;&lt;/p&gt;
&lt;h3 id=&#34;windows&#34;&gt;Windows
&lt;/h3&gt;&lt;p&gt;要设置三个环境变量：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;ANDROID_SDK_ROOT&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;FLUTTER_STORAGE_BASE_URL&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;PUB_HOSTED_URL&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;项目&#34;&gt;项目
&lt;/h2&gt;&lt;p&gt;前端直接参考 &lt;a class=&#34;link&#34; href=&#34;https://docs.flutter.dev/development/ui/widgets&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Widgets&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;添加依赖：在 pubspec.yaml 的 dependencies 下添加，并 &lt;code&gt;flutter pub get&lt;/code&gt;&lt;/p&gt;
&lt;h2 id=&#34;material-3&#34;&gt;Material 3
&lt;/h2&gt;&lt;p&gt;截至 2022-08-10，flutter 默认仍不会启用 material 3。适配进度在此查看：&lt;a class=&#34;link&#34; href=&#34;https://github.com/flutter/flutter/issues/91605&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;☂️ Bring Material 3 to Flutter
&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;要尝试 material 3，需在 &lt;code&gt;main()&lt;/code&gt; 中给主题设置属性：&lt;/p&gt;
&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;2&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#2&#34;&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;3&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#3&#34;&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;4&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#4&#34;&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;5&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#5&#34;&gt;5&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;6&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#6&#34;&gt;6&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;7&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#7&#34;&gt;7&lt;/a&gt;
&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-dart&#34; data-lang=&#34;dart&#34;&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;n&#34;&gt;MaterialApp&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;nl&#34;&gt;title:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;_title&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;nl&#34;&gt;theme:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ThemeData&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;nl&#34;&gt;useMaterial3:&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&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;nl&#34;&gt;home:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;MyStatefulWidget&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;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;div class=&#34;code-lang&#34;&gt;DART&lt;/div&gt;
    
&lt;/div&gt;&lt;p&gt;&lt;em&gt;Material&lt;/em&gt; 中，有一个 &lt;code&gt;elevation&lt;/code&gt; 概念，也就是元素高度，主要体现在元素阴影上。&lt;/p&gt;

                    &lt;hr/&gt;&lt;em&gt;前往&lt;a href=&#34;https://www.sciroccogti.top/post/2021-01-03-flutter/&#34;&gt;网页&lt;/a&gt;以阅读全文。&lt;/em&gt;
                </description>
            </item>
        <item>
                <title>算法概论笔记</title>
                <link>https://www.sciroccogti.top/post/2020-10-14-%E7%AE%97%E6%B3%95%E6%A6%82%E8%AE%BA/</link>
                <pubDate>Wed, 14 Oct 2020 12:00:00 +0800</pubDate>
                
                <guid>https://www.sciroccogti.top/post/2020-10-14-%E7%AE%97%E6%B3%95%E6%A6%82%E8%AE%BA/</guid>
                <description>&lt;h1 id=&#34;算法概论&#34;&gt;算法概论
&lt;/h1&gt;&lt;h2 id=&#34;序言&#34;&gt;序言
&lt;/h2&gt;&lt;h3 id=&#34;时间复杂度&#34;&gt;时间复杂度
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;常数项可忽略&lt;/li&gt;
&lt;li&gt;当 a &amp;gt; b 时，$n^a$ 支配 $n^b$&lt;/li&gt;
&lt;li&gt;任何指数项支配任何多项式项&lt;/li&gt;
&lt;li&gt;任何多项式项支配对数项：n 支配 $(logn)^3$&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;$e^{\frac{1}{2}\ln{n}}$ 比 $5^{\ln{n}}$ 小&lt;/p&gt;
&lt;p&gt;一个事实：在大 $\Theta$ 符号意义下，当几何级数（$c^k$）严格递减（c&amp;lt;1）时，几何级数的可以简化为首项；当级数严格递增（c&amp;gt;1）时，几何级数的和可以简化为末项；当级数保持不变时（c为1），几何级数的和可以简化为项数。&lt;/p&gt;
&lt;h4 id=&#34;复杂度分析小窍门&#34;&gt;复杂度分析小窍门
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;若两段算法分别有复杂度$T_1(n)=O(f_1(n))$和$T_2(n)=O(f_2(n))$，则
&lt;ul&gt;
&lt;li&gt;$T_1(n)+T_2(n)=max(O(f_1(n)), O(f_2(n)))$&lt;/li&gt;
&lt;li&gt;$T_1(n){\times}T_2(n)=O(f_1(n){\times}f_2(n))$&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;若 $T(n)$ 是关于 $n$ 的 $k$ 阶多项式，那么 $T(n)=\Theta(n^k)$&lt;/li&gt;
&lt;li&gt;一个 &lt;code&gt;for&lt;/code&gt; 循环的时间复杂度等于循环次数乘以循环体代码的复杂度&lt;/li&gt;
&lt;li&gt;&lt;code&gt;if-else&lt;/code&gt; 结构的复杂度取决于 &lt;code&gt;if&lt;/code&gt; 的条件判断复杂度和两个分支部分的复杂度，总体复杂度取三者中最大&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;==通常，将问题整体数学化后再进行算法设计，可以极大地优化复杂度==&lt;/p&gt;
&lt;h2 id=&#34;数字的算法&#34;&gt;数字的算法
&lt;/h2&gt;&lt;h3 id=&#34;常见运算的复杂度&#34;&gt;常见运算的复杂度
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;加法：$O(n)$&lt;/li&gt;
&lt;li&gt;乘法：日常：$O(n^2)$，分治+Gauss：$O(n^{1.59}$，快速 FT&lt;/li&gt;
&lt;li&gt;模：
&lt;ul&gt;
&lt;li&gt;模的加法：$O(n)$&lt;/li&gt;
&lt;li&gt;模的乘法：$O(n^2)$&lt;/li&gt;
&lt;li&gt;模的除法：$O(n^3)$：先用辗转相除法求出除数的逆元，再乘之&lt;/li&gt;
&lt;li&gt;模的指数：$O(n^3)$：$x^y mod z=(x^{y/2})^2 mod z$&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;最大公因数：$O(n^3)$：更相减损法：$gcd(x, y)=gcd(x-y, y)$&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;数论&#34;&gt;数论
&lt;/h3&gt;&lt;h4 id=&#34;替代准则&#34;&gt;替代准则
&lt;/h4&gt;&lt;p&gt;若有 $x{\equiv}x&amp;rsquo;(mod N)$ 和 $y{\equiv}y&amp;rsquo;(mod N)$ 成立，
则有：$x+y{\equiv}x&amp;rsquo;+y&amp;rsquo;(mod N)$ 和 $xy{\equiv}x&amp;rsquo;y&amp;rsquo;(mod N)$&lt;/p&gt;
&lt;h4 id=&#34;euclid-规则更相减损法&#34;&gt;Euclid 规则（更相减损法）
&lt;/h4&gt;&lt;p&gt;若 $x$ 和 $y$ 是正整数，且有 $x{\geq}y$，则 $gcd(x, y)=gcd(x mod y, y)$&lt;/p&gt;
&lt;p&gt;故：$gcd(x, y)=gcd(x-y, y)$&lt;/p&gt;
&lt;h4 id=&#34;扩展-euclid-规则辗转相除法&#34;&gt;扩展 Euclid 规则（辗转相除法）
&lt;/h4&gt;&lt;p&gt;若 $d$ 整除 $a$ 和 $b$，同时存在整数 $x$ 和 $y$，使得 $d=sx+by$ 成立，
那么一定有 $d=gcd(a,b)$&lt;/p&gt;
&lt;p&gt;故
$$d=gcd(a,b)=gcd(b,a mod b)=bx&amp;rsquo;+(a mod b)y&amp;rsquo;$$
$$=bx&amp;rsquo;+(a-\lfloor\frac{a}{b}\rfloor{b})y&amp;rsquo;=ay&amp;rsquo;+b(x&amp;rsquo;-\lfloor\frac{a}{b}\rfloor{y&amp;rsquo;})$$&lt;/p&gt;
&lt;p&gt;即 $d=ax+by$，其中 $x=y&amp;rsquo;$ 且 $y=x&amp;rsquo;-\lfloor\frac{a}{b}\rfloor{y&amp;rsquo;}$&lt;/p&gt;
&lt;h4 id=&#34;模的除法定理&#34;&gt;模的除法定理
&lt;/h4&gt;&lt;p&gt;对于任意的 $a mod N$，$a$ 有一个模 $N$ 的乘法逆元，当且仅当 $a$ 与 $N$ 互素。&lt;/p&gt;
&lt;h4 id=&#34;fermat-小定理&#34;&gt;Fermat 小定理
&lt;/h4&gt;&lt;p&gt;若 $p$ 为一个素数，则对任意 $1\leq{a}&amp;lt;p$，有 $a^{p-1}\equiv1(mod p)$&lt;/p&gt;
&lt;p&gt;如果把后面的结论作为条件，则 $p$ 大概率为素数&lt;/p&gt;
&lt;h4 id=&#34;lagrange-素数定理&#34;&gt;Lagrange 素数定理
&lt;/h4&gt;&lt;p&gt;令 $\pi(x)$ 为 $\leq{x}$ 的素数的个数，则有 $\pi(x)\approx\frac{x}{ln(x)}$&lt;/p&gt;
&lt;p&gt;一个随机 n 位长的数字为素数的概率约为 $\frac{1}{ln(2^n)}\approx\frac{1.44}{n}$&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;ol&gt;
&lt;li&gt;Monte Carlo 算法：运行快，结果大概率正确&lt;/li&gt;
&lt;li&gt;Las Vegas 算法：结果准确，运行大概率快&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;通用散列表&#34;&gt;通用散列表
&lt;/h3&gt;&lt;p&gt;对于任意四个系数 $a_1,\dots,a_4\in{0,1,\dots,n-1}$，记 $a=(a_1,a_2,a_3,a_4)$，
定义散列函数 $h_a(x_1,\dots,x_4)=\sum^4_{i=1}a_i\cdot{x_i}mod n$&lt;/p&gt;
&lt;p&gt;若系数 $a=(a_1,a_2,a_3,a_4)$ 为随机均匀选取，则有
$$Pr{h_a(x_1,\dots,x_4)=h_a(y_1,\dots,y_4)}=\frac{1}{n}$$
，即两个数据别名相同的概率&lt;/p&gt;
&lt;p&gt;通常把 $h_a(x_1,\dots,x_4)$ 称为 $x$ 的别名&lt;/p&gt;
&lt;p&gt;散列表应用步骤：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;将散列表的大小 n 定为一个素数，其比将要存在该表中的期望数据项数目稍大，一般为两倍左右&lt;/li&gt;
&lt;li&gt;设所有数据项取值范围为 $N=n^k$&lt;/li&gt;
&lt;li&gt;每个数据项可以视为一个关于模 n 操作的 k 元组，而 $H={h_a:a\in{0,\dots,n-1}^k}$ 即为一个通用散列函数族&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;由于系数（即散列函数族）为随机均匀选取时，两个数据别名相同的概率很小，
故散列表性能很好，几乎为线性，而且空间复杂度也很小&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;插播一条高数：$n!\geq\frac{n!}{(n/2)!}\geq\frac{n}{2}^\frac{n}{2}$&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;分治算法&#34;&gt;分治算法
&lt;/h2&gt;&lt;h3 id=&#34;乘法&#34;&gt;乘法
&lt;/h3&gt;&lt;p&gt;$$xy: O(n^2)$$
$$xy=(2^{n/2}x_H+x_L)(2^{n/2}y_H+y_L)$$
$$=2^nx_Hy_H+2^{n/2}(x_Hy_L+x_Ly_H)+x_Ly_L:$$
$$O(n^{ln3}),$$
$$with x_Hy_L+x_Ly_H=(x_H+x_L)(y_H+y_L)-x_Hy_H-x_Ly_L$$&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;插播一条高数：$O(3^{\log_2n})=O(n^{\log_23})$&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&#34;递推式&#34;&gt;递推式
&lt;/h3&gt;&lt;p&gt;分治算法通常遵循：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;对于规模为 n 的问题，先递归地求解 a 个规模为 n/b 的子问题&lt;/li&gt;
&lt;li&gt;然后在 $O(n^d)$ 时间内将子问题的解合并起来&lt;/li&gt;
&lt;li&gt;故运行时间为 $T(n)=aT(\lceil{n/b}\rceil)+O(n^d)$
&lt;ol&gt;
&lt;li&gt;若 $d&amp;gt;\log_ba, T(n)=O(n^d)$&lt;/li&gt;
&lt;li&gt;若 $d=\log_ba, T(n)=O(n^d\log{n})$&lt;/li&gt;
&lt;li&gt;若 $d&amp;lt;\log_ba, T(n)=O(n^{\log_ba})$&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;又称 &lt;strong&gt;主定理&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;合并排序&#34;&gt;合并排序
&lt;/h3&gt;&lt;p&gt;$O(n\log{n})$&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;将数列分为前后两部分，递归地对每一部分进行排序（最终每部分都为单元素数列）&lt;/li&gt;
&lt;li&gt;将两个排好的有序数列 $x[1&amp;hellip;k], y[1&amp;hellip;l]$ 合并为新数列 $z$
&lt;ol&gt;
&lt;li&gt;新数列的第 1 个为 $x[1], y[1]$ 中小的&lt;/li&gt;
&lt;li&gt;类似第一步进行递归&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;寻找中项&#34;&gt;寻找中项
&lt;/h3&gt;&lt;p&gt;将寻找中位数抽象为更一般的：寻找第 k 小的数&lt;/p&gt;
&lt;p&gt;在数列中，随机选取一个数 v，并将数列分为 $&amp;gt;v, =v, &amp;lt;v$ 三个子列，则第 k 小的数一定落在其中一个子列中，且每个子列的长度已知。故只需搜索一个子列即可。&lt;/p&gt;
&lt;p&gt;该算法依赖于 v 的好坏，平均为 $O(n)$，最差为 $\Theta(n^2)$&lt;/p&gt;
&lt;p&gt;快排与之思路一致&lt;/p&gt;
&lt;h3 id=&#34;矩阵乘法&#34;&gt;矩阵乘法
&lt;/h3&gt;&lt;p&gt;$$XY=\begin{bmatrix}A&amp;amp;B\C&amp;amp;D\end{bmatrix}\begin{bmatrix}E&amp;amp;F\G&amp;amp;H\end{bmatrix}$$
$$=\begin{bmatrix}AE+BG&amp;amp;AF+BH\CE+DG&amp;amp;CF+DH\end{bmatrix}$$
$$=\begin{bmatrix}P_5+P_4-P_2+P_6&amp;amp;P_1+P_2\P_3+P_4&amp;amp;P_1+P_5-P_3-P_7\end{bmatrix}$$&lt;/p&gt;
&lt;p&gt;其中&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;$P_1=A(F-H)$&lt;/li&gt;
&lt;li&gt;$P_2=(A+B)H$&lt;/li&gt;
&lt;li&gt;$P_3=(C+D)E$&lt;/li&gt;
&lt;li&gt;$P_4=D(G-E)$&lt;/li&gt;
&lt;li&gt;$P_5=(A+D)(E+H)$&lt;/li&gt;
&lt;li&gt;$P_6=(B-D)(G+H)$&lt;/li&gt;
&lt;li&gt;$P_7=(A-C)(E+F)$&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;则 $T(n)=7T(n/2)+O(n^2)$，最终复杂度为 $O(n^{\log_27})$&lt;/p&gt;
&lt;h3 id=&#34;快速-fourier-变换&#34;&gt;快速 Fourier 变换
&lt;/h3&gt;&lt;p&gt;以多项式相乘为出发点&lt;/p&gt;
&lt;h4 id=&#34;性质&#34;&gt;性质
&lt;/h4&gt;&lt;p&gt;一个 d 次 多项式被其在任意 d+1 个不同点处的取值所唯一确定。&lt;/p&gt;
&lt;p&gt;常见例子：两点确定一条直线&lt;/p&gt;
&lt;h4 id=&#34;多项式相乘的分治实现&#34;&gt;多项式相乘的分治实现
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;要计算 d 次多项式 $A(x)$ 与 $B(x)$ 的乘积 $C(x)$，先选取 n 个点 $x_0, x_1,\dots,x_{n-1}$，其中 $n\geq2d+1$;&lt;/li&gt;
&lt;li&gt;对每个点 $x_k$，计算 $A(x_k)$ 和 $B(x_k)$&lt;/li&gt;
&lt;li&gt;对每个点 $x_k$，计算 $C(x_k)=A(x_k)B(x_k)$&lt;/li&gt;
&lt;li&gt;插值得到 $C(x)=c_0+c_1x+\dots+c_{2d}x^{2d}$&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;快速 Fourier 中，将这 n 个点选取为：
$$\pm{x_0},\pm{x_1},\dots,\pm{x_{\frac{n}{2}-1}}$$&lt;/p&gt;
&lt;p&gt;这利用了 $x_i$ 的偶次幂 等于 $-x_i$ 的偶次幂来减少运算&lt;/p&gt;
&lt;p&gt;故
$$A(x_i)=A_e(x_i^2)+x_iA_o(x_i^2)$$
$$A(-x_i)=A_e(x_i^2)-x_iA_o(x_i^2)$$&lt;/p&gt;
&lt;p&gt;如此，计算时间缩短一半&lt;/p&gt;
&lt;p&gt;若能递归使用，即 使用同样的方法计算 $A_e$ 和 $A_o$，则能得到 $O(n\log{n})$，其中须取复数 $x_i$，则生成的新的自变量中存在相反对，可以作为下次的自变量&lt;/p&gt;
&lt;p&gt;这就得到了快速 Fourier 算法：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;function $FFT(A,\omega)$&lt;/li&gt;
&lt;li&gt;Input: n 次 $A(x)$ 的系数表达，其中 n 是 2 的幂，$\omega$ 是单位元 1 的 n 次方根&lt;/li&gt;
&lt;li&gt;Output: $A(x)$ 的值表达：$A(\omega^0),\dots,A(\omega^{n-1})$&lt;/li&gt;
&lt;li&gt;算法见书 P74&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;插值&#34;&gt;插值
&lt;/h4&gt;&lt;p&gt;FFT：从系数表达到值表达：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;lt;值&amp;gt; = FFT(&amp;lt;系数&amp;gt;, $\omega$)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;插值：从值表达到系数表达：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;lt;系数&amp;gt; = $\frac{1}{n}$FFT(&amp;lt;系数&amp;gt;, $\omega^{-1}$)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;学不下去了，下一章！&lt;/p&gt;

                    &lt;hr/&gt;&lt;em&gt;前往&lt;a href=&#34;https://www.sciroccogti.top/post/2020-10-14-%E7%AE%97%E6%B3%95%E6%A6%82%E8%AE%BA/&#34;&gt;网页&lt;/a&gt;以阅读全文。&lt;/em&gt;
                </description>
            </item>
        <item>
                <title>神经网络学习笔记</title>
                <link>https://www.sciroccogti.top/post/2020-09-10-%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C/</link>
                <pubDate>Thu, 10 Sep 2020 15:45:00 +0800</pubDate>
                
                <guid>https://www.sciroccogti.top/post/2020-09-10-%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C/</guid>
                <description>&lt;img src="https://cdn.sciroccogti.top/static/img/covers/nn.jpg" alt="Featured image of post 神经网络学习笔记" /&gt;&lt;h1 id=&#34;神经网络学习笔记&#34;&gt;神经网络学习笔记
&lt;/h1&gt;&lt;h2 id=&#34;基础&#34;&gt;基础
&lt;/h2&gt;&lt;h3 id=&#34;外文缩写&#34;&gt;外文缩写
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;SGD：stochastic gradient descent，随机梯度下降&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;常见概念&#34;&gt;常见概念
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;$l_1$ norm：1-范数，$|X|&lt;em&gt;1=\sum^n&lt;/em&gt;{i=1}|x_i|$&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;$l_2$ norm：2-范数，$|X|&lt;em&gt;2=\sqrt{\sum^n&lt;/em&gt;{i=1}|x_i|^2}=\sqrt{X^HX}$&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;logits：一般指 softmax 层之前的层&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;softmax：把数据归一化到 [0, 1]，且和为 1，可以当作概率&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;softmax = tf.exp(logits) / tf.reduce_sum(tf.exp(logits), axis, keepdims=True)&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;2&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#2&#34;&gt;2&lt;/a&gt;
&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;gt;&amp;gt;&amp;gt; tf.nn.softmax([-1, 0., 1.])
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;[0.0900, 0.2458, 0.6652]&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&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;自编码器 AutoEncoder：从输入中提取的向量与输入可以有物理关系，因此可以通过从向量还原输入，来测试效果&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;嵌入层 embedding layer：将词语等元素编码&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;显变量：能直接观测的，有对应“标准答案”的变量，即可以对齐的变量；反之为隐变量&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;简单的单层感知机&#34;&gt;简单的单层感知机
&lt;/h3&gt;&lt;p&gt;模型：$y_j=f(\sum_iw_ix_i-\theta_j)$，$f$ 为激活函数，$w$ 为权重，$x$ 为输入，$\theta$ 为阈值，$y$ 为输出&lt;/p&gt;
&lt;p&gt;学习规则：$\Delta{w_i}=\eta(y-\hat{y})x_i$，$\hat{y}$ 为当前输出，$\eta$ 为学习率（一般极小）&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;算了，自己看西瓜书 P101 5.3 误差逆传播算法 吧&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h4 id=&#34;流程&#34;&gt;流程
&lt;/h4&gt;&lt;p&gt;输入：训练集 $D={(x_k,y_k)}^m_{k=1}$，学习率 $\eta$&lt;/p&gt;
&lt;p&gt;过程：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;在 (0, 1) 范围內随机初始化网络中所有连接权和阈值&lt;/li&gt;
&lt;li&gt;repeat
&lt;ol&gt;
&lt;li&gt;for all $(x_k,y_k)\in{D}$ do
&lt;ol&gt;
&lt;li&gt;根据当前参数和 $y_j=f(\sum_iw_ix_i-\theta_j)$ 计算当前样本输出 $\hat{y}$&lt;/li&gt;
&lt;li&gt;计算输出层神经元梯度项 $g_j=\hat{y}^k_j(1-\hat{y}^k_j)(y^k_j-\hat{y}^k_j)$&lt;/li&gt;
&lt;li&gt;计算隐藏层神经元梯度项 $e_h=b_h(1-b_h)\sum^l_{j=1}w_{hj}g_j$&lt;/li&gt;
&lt;li&gt;计算连接权增量 $\Delta{w_{hj}}=\eta{g_j}b_h$ 和 $\Delta{v_{ih}}=\eta{e_h}x_i$；以及阈值增量 $\Delta{\theta_j}=-\eta{g_j}$ 和 $\Delta{\gamma_h}=-\eta{e_h}$&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;end for&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;until 达到停止调节&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;输出：连接权与阈值确定的多层前馈神经网络&lt;/p&gt;
&lt;h3 id=&#34;避免陷入局部极小&#34;&gt;避免陷入局部极小
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;用多种初值训练网络，取其中误差最小的解&lt;/li&gt;
&lt;li&gt;使用&lt;strong&gt;模拟退火&lt;/strong&gt;，即在每一步都以一定概率接受比当前解更差的结果。这一概率会逐步减小&lt;/li&gt;
&lt;li&gt;使用&lt;strong&gt;随机梯度下降&lt;/strong&gt;，即在计算梯度时加入了随机因素，使得陷入局部极小时也可能获得非零梯度&lt;/li&gt;
&lt;li&gt;遗传算法（什么鬼&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;
&lt;p&gt;模拟退火是 是否接收这个结果的时候加入随机，随机梯度是 计算梯度的时候选取随机的部分样本而非所有样本。随机梯度下降实际上主要用于加快计算&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;loss&#34;&gt;Loss
&lt;/h2&gt;&lt;p&gt;交叉熵：https://pytorch.org/docs/stable/generated/torch.nn.CrossEntropyLoss.html?highlight=crossentropy#torch.nn.CrossEntropyLoss&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;target 为下标 y 时，只和预测值 pred[y] 的值有关&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;常用结论&#34;&gt;常用结论
&lt;/h3&gt;&lt;p&gt;学习率 $\eta\in(0,1)$ 控制算法每轮迭代的更新步长，一般先大后小。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;过大容易振荡&lt;/li&gt;
&lt;li&gt;过小则收敛慢，容易陷入局部最优解&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;缓解过拟合：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;早停&lt;/strong&gt;：启用验证集，当训练集误差降低但测试集误差升高时停止训练&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;正则化&lt;/strong&gt;：让误差目标函数加上一个用于描述网络复杂度的函数，例如连接权和阈值的平方和，这将使得训练更倾向于较小的连接权和阈值，让输出更光滑
&lt;ul&gt;
&lt;li&gt;正则化是对学习算法的修改，旨在减少泛化误差而非训练误差&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;两个相连的全连接层，前者的输入维度与后者的输出维度相同（即看起来好像转了一圈啥也没干），实际上起到了自编码器的作用&lt;/p&gt;
&lt;h3 id=&#34;nlp&#34;&gt;NLP
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;词袋模型&lt;/strong&gt; one-hot：有n个词，就建立 1*n 的向量，这句话里有 2 个第 i 个词，那么第 i 位就为 2&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;词向量&lt;/strong&gt;：x*n，表示n个词分别与 x 个维度的相关性（概率），这里的维度可以理解为一种属性（譬如是男是女是不是商品），queen 这个词的 女 的维度的概率就很高。实际上维度并没有实际意义，都是深度学习自己设置的&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;代码相关&#34;&gt;代码相关
&lt;/h3&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.csdn.net/littlehaes/article/details/103828130&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;pytroch中ctx和self的区别&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;在写 Pytorch 的网络的 Class 时，建议同时写 &lt;code&gt;__init__()&lt;/code&gt; 和 &lt;code&gt;forward()&lt;/code&gt;，这样能够连贯地完成网络结构&lt;/p&gt;
&lt;p&gt;&lt;code&gt;nn.Sequential&lt;/code&gt; 是简单的顺序网络架构，架构在 &lt;code&gt;super().__init__()&lt;/code&gt;  中直接定义；&lt;code&gt;nn.Module&lt;/code&gt; 是自由度极高的网络架构&lt;/p&gt;
&lt;p&gt;&lt;code&gt;nn.Identity&lt;/code&gt; 是输入层&lt;/p&gt;
&lt;p&gt;设 i 是前一层神经元个数，j 是后一层，则权重是 i*j 个，bias 是 j 个&lt;/p&gt;
&lt;p&gt;pytorch 中要注意常数可以直接用python的float，或者记得关闭求梯度，否则容易显存持续增长&lt;/p&gt;

                    &lt;hr/&gt;&lt;em&gt;前往&lt;a href=&#34;https://www.sciroccogti.top/post/2020-09-10-%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C/&#34;&gt;网页&lt;/a&gt;以阅读全文。&lt;/em&gt;
                </description>
            </item>
        <item>
                <title>通信原理笔记</title>
                <link>https://www.sciroccogti.top/post/2020-09-03-%E9%80%9A%E4%BF%A1%E5%8E%9F%E7%90%86/</link>
                <pubDate>Thu, 03 Sep 2020 15:30:00 +0800</pubDate>
                
                <guid>https://www.sciroccogti.top/post/2020-09-03-%E9%80%9A%E4%BF%A1%E5%8E%9F%E7%90%86/</guid>
                <description>&lt;img src="https://cdn.sciroccogti.top/static/img/covers/5G.webp" alt="Featured image of post 通信原理笔记" /&gt;&lt;h1 id=&#34;通信原理笔记&#34;&gt;通信原理笔记&lt;/h1&gt;
&lt;p&gt;BPSK 和 QPSK 在 相同 &lt;span class=&#34;math inline&#34;&gt;\(E_b/N_0\)&lt;/span&gt; 下的性能一致&lt;/p&gt;
&lt;p&gt;&lt;span class=&#34;math inline&#34;&gt;\(E_b/N_0=\frac{1}{2Rm\sigma^2}, E_s/N_0=\frac{1}{2\sigma^2}\)&lt;/span&gt;，其中 &lt;span class=&#34;math inline&#34;&gt;\(m\)&lt;/span&gt; 为 &lt;span class=&#34;math inline&#34;&gt;\(\log{}\)&lt;/span&gt;单符号比特数，例如 QPSK 和 BPSK 中，相同 &lt;span class=&#34;math inline&#34;&gt;\(E_b/N_0\)&lt;/span&gt; 下, &lt;span class=&#34;math inline&#34;&gt;\(\sqrt{2}\sigma_{QPSK}=\sigma_{BPSK}\)&lt;/span&gt;，所以 QPSK 的&lt;span class=&#34;math inline&#34;&gt;\(E_s/N_0\)&lt;/span&gt;是 BPSK 的两倍，故 相同 &lt;span class=&#34;math inline&#34;&gt;\(E_s/N_0\)&lt;/span&gt; 下 BPSK 的性能比 QPSK 的好 3dB。&lt;/p&gt;
&lt;p&gt;&lt;span class=&#34;math inline&#34;&gt;\(c = [b|m] = m [P|I_k] = m G\)&lt;/span&gt;，G 为生成矩阵，b 为校验位，m 为信息位，c 为码字&lt;/p&gt;
&lt;p&gt;校验矩阵 &lt;span class=&#34;math inline&#34;&gt;\(H = [I_{n-k}|P^T]\)&lt;/span&gt;&lt;/p&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;信道状态信息：接收端评估 CSI 并将其量化反馈给发送端。包含 信道矩阵，信号散射，环境衰弱，距离衰弱 等&lt;/li&gt;
&lt;li&gt;均衡：大概是根据估计的信道矩阵，在接收端恢复信号的幅度（除以信道矩阵）&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;外文缩写&#34;&gt;外文缩写&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;BP：置信传播 or 反向传播&lt;/li&gt;
&lt;li&gt;CSI：信道状态信息&lt;/li&gt;
&lt;li&gt;FDD：频分双工&lt;/li&gt;
&lt;li&gt;MMSE：最小均方误差&lt;/li&gt;
&lt;li&gt;BCJR：一种定义在网格图上的用来最大化纠错编码的后验概率的算法，主要用于卷积编码。&lt;/li&gt;
&lt;li&gt;LLR： Log-Likelihood Ratio&lt;/li&gt;
&lt;li&gt;BLER：Block Error Rate&lt;/li&gt;
&lt;li&gt;MDS：maximum distance separable code，极大距离可分码&lt;/li&gt;
&lt;li&gt;ML：maximum likelihood&lt;/li&gt;
&lt;li&gt;NCG：net coding gain，净编码增益，BER 为一定水平时（譬如 &lt;span class=&#34;math inline&#34;&gt;\(10^{-15}\)&lt;/span&gt;）时，有 FEC 相较于无 FEC 带来的 SNR 的提升&lt;/li&gt;
&lt;li&gt;BDMA: Beam Division Multiple Access，波束分多址&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;g-缩写&#34;&gt;5G 缩写&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;SSB：Synchronization Signal and PBCH block，由主同步信号(Primary Synchronization Signals, 简称PSS)、辅同步信号(SSS)、PBCH三部分共同组成&lt;/li&gt;
&lt;li&gt;PDCCH：物理下行控制信道&lt;/li&gt;
&lt;li&gt;PDSCH：物理下行共享信道&lt;/li&gt;
&lt;li&gt;CSI-RS：信道状态指示参考信号&lt;/li&gt;
&lt;li&gt;PRACH：物理随机接入信道&lt;/li&gt;
&lt;li&gt;PUCCH：物理上行控制信道&lt;/li&gt;
&lt;li&gt;PUSCH：物理上行共享信道&lt;/li&gt;
&lt;li&gt;SRS：Sounding Reference Signal，探测参考信号&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;生词表&#34;&gt;生词表&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;interleaver：交织器&lt;/li&gt;
&lt;li&gt;permute：排列&lt;/li&gt;
&lt;/ul&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;LDPC 与 Turbo 码都属于 compound code（系列码）&lt;/p&gt;
&lt;h3 id=&#34;turbo-码&#34;&gt;Turbo 码&lt;/h3&gt;
&lt;p&gt;&lt;a href=&#34;https://zhuanlan.zhihu.com/p/23112534&#34;&gt;Turbo 码: 一个辉煌时代的落幕&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;要想尽可能逼近香农信道容量的理论极限，就要不停增大线性分组码的码字长度，以至于最大似然解码器的计算复杂度不断提升，最终物理上都不可能实现这样的解码器。&lt;/p&gt;
&lt;p&gt;Turbo 的编码器非常简单，由两个并行的卷积码编码器组成。所谓卷积码，即输出为输入和一段已知序列的卷积。与其对应的分组码则是将序列分段，每段序列和编码矩阵相乘得到输出序列（在后续发展中，Turbo 码也拥有了分组码版本）。在 Turbo 码中，输入序列 在进入第二个编码器时须经过一个交织器 (Interleaver)，用于将序列打乱。两个编码器的输出(Output I 和 II)共同作为校验信息添加到信息序列(Systematic output)之后，对抗信道引起的错误。&lt;/p&gt;
&lt;p&gt;Turbo 码 使用伪随机交织器，其目的是： 1. 将 一半的turbo码中 容易产生的错误 与 另一半中 不太可能产生的错误绑定 2. 在遇到匹配错误的解码时仍能有稳定的表现，这种错误的解码在信道统计信息未知或错误时常见。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;turbo.png&#34; /&gt;此处 output 就是 parity&lt;/p&gt;
&lt;p&gt;值得注意的是，Turbo码的强大主要来源于其解码器。从下图 Turbo 码解码器中可以看到，整个解码过程与编码过程形成对应关系，信息序列 (Systematic data) 和相应的校验序列 (Parity 1 and 2) 分别输入两个解码器，而后各自的输出经过一个减法运算并通过交织和解交织( Deinterleaver) 后反馈给另一个解码器。 &lt;strong&gt;Turbo 的核心正是这一减法和反馈，图中由红线标注。这一小小的连线堪称上帝之手，它将解码技术，甚至是信息理论推向了一个新的时代。&lt;/strong&gt; 为什么要做减法呢? 因为输出信息被分解为内信息 (intrinsic information) 和外信息 (extrinsic information)，通过减法从输出信息中取出外信息并将其反馈给另一个解码器。&lt;strong&gt;在迭代解码过程中，接收信息错误不断地被纠正，最后无限逼近香农极限。整个解码过程信息在两个极为简单的解码器间不断地轮转，像一台无比强大的涡轮机，因而得名Turbo。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;turbo2.png&#34; /&gt;&lt;/p&gt;
&lt;h4 id=&#34;rsc-码&#34;&gt;RSC 码&lt;/h4&gt;
&lt;p&gt;RSC（recursive systematic convolutional）码&lt;/p&gt;
&lt;h4 id=&#34;ldpc&#34;&gt;LDPC&lt;/h4&gt;
&lt;p&gt;由于篇幅过长，单开一篇：&lt;a href=&#34;https://www.sciroccogti.top/2021/03/26/2021-03-26-LDPC/&#34;&gt;LDPC 笔记&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;喷泉码&#34;&gt;喷泉码&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;摘自维基百科&lt;/em&gt;：&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;喷泉码&lt;/strong&gt;（也称为&lt;strong&gt;无码率抹除码&lt;/strong&gt;）是一类抹除码，这种编码能够从一组给定的源符号序列中产生一串不限长度的编码符号序列，在理想情况下，从编码符号序列中获得大小和源符号相同或稍大的任意子集，便可恢复源符号。术语“喷泉”或“无码率”是指此类编码不表现出固定的编码率。&lt;/p&gt;
&lt;p&gt;最优的喷泉码应当能够从任意 k 个编码符号中恢复出 k 个源符号（每个 source block 中 有 k 个 source symbol）。喷泉码被认为具有高效的编解码算法，能以高概率从任意 k’ 个编码符号恢复 k 个源符号（k’ 仅稍大于 k）。&lt;/p&gt;
&lt;p&gt;LT 码是第一种实际可用的喷泉码。随后提出的 Raptor 码和在线码加入了输入符号的预编码阶段，从而实现了编解码的线性时间复杂度。&lt;/p&gt;
&lt;p&gt;喷泉码可灵活适用于固定编码率或无法先验确定出固定编码率的地方，及需要高效编解码大量数据之处。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;absolute overhead：δ 为接收到的多余的符号数，即 m - k，其中 m 为接收到的符号数，k 为发送的符号数&lt;/li&gt;
&lt;li&gt;relative overhead：&lt;span class=&#34;math inline&#34;&gt;\(\epsilon=\frac{\delta}{k}\)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;lt-码&#34;&gt;LT 码&lt;/h3&gt;
&lt;p&gt;LT：Luby Transform&lt;/p&gt;
&lt;p&gt;LT 码是非系统的喷泉码，其编码先根据一个&lt;em&gt;度分布函数&lt;/em&gt;产生一个&lt;em&gt;随机度数值 d&lt;/em&gt;，随后从大小为 K &lt;em&gt;信源符号&lt;/em&gt;集合中随机且不重复地抽取 d 个信源符号，最后将抽出的 d 个信源符号&lt;em&gt;异或&lt;/em&gt;求和得到一个&lt;em&gt;编码符号&lt;/em&gt;。&lt;/p&gt;
&lt;p&gt;LT 码就由度分布来定义&lt;/p&gt;
&lt;p&gt;LT 码的译码通常采用复杂度较低的置信传播算法，在接收端 BP 算法先根据编码信息生成 Tanner 图，随后信息在变量节点和校验节点间&lt;strong&gt;不断流动&lt;/strong&gt;并且消除无用的边，最后恢复出全部 K 个变量节点的值。&lt;/p&gt;
&lt;p&gt;LT 也可使用高斯消去进行译码&lt;/p&gt;
&lt;h4 id=&#34;随机线性喷泉码&#34;&gt;随机线性喷泉码&lt;/h4&gt;
&lt;p&gt;LRFC：Linear Random Fountain Codes&lt;/p&gt;
&lt;p&gt;随机线性喷泉码可以由给定的 K 个信源符号编出任意多的编码符号，其生成矩阵是一个半无限的随机二进制矩阵，即编码矩阵中随机等概的出现 0 和 1。将原始信源符号向量 t 与生成矩阵 G 相乘即得到编码符号向量 e： &lt;span class=&#34;math display&#34;&gt;\[e_{[0:\infty]}=G_{[\infty\times{K}]}\cdot{t_{[0:K-1]}}\]&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;编码符号被封装成数据包送入删除信道中传输，其中部分数据包被删除，接收端一直接收数据包，直到成功接收 N’ 个。发送端传输每个编码数据包前会在数据包上添加一个&lt;em&gt;编码符号标识&lt;/em&gt;（Encoding Symbol Identity, ESI），接收端根据 ESI &lt;strong&gt;使用相同的随机数发生器&lt;/strong&gt;，就可获知生成该编码数据包的全部随机信息。额外添加传输的 ESI 相对于数据包长度只增加很小的开销。如果 &lt;span class=&#34;math inline&#34;&gt;\(N&amp;#39; &amp;lt; K\)&lt;/span&gt;，接收端没有收到足够多的信息，不可能恢复全部的原始发送信息。当 &lt;span class=&#34;math inline&#34;&gt;\(N&amp;#39;\geq{K}\)&lt;/span&gt; 时，只要接收的编码数据包构成的随机矩阵中含有一个 &lt;span class=&#34;math inline&#34;&gt;\(K\times{K}\)&lt;/span&gt; 维的可逆子矩阵 G’，就可成功译码： &lt;span class=&#34;math display&#34;&gt;\[t_{[0:K-1]}=G&amp;#39;^{-1}_{[K\times{K}]}\cdot{e&amp;#39;}_{[0:N&amp;#39;-1]}\]&lt;/span&gt; 其中 e’ 是接收到的 N’ 个编码符号的向量。&lt;/p&gt;
&lt;h3 id=&#34;raptor-码&#34;&gt;Raptor 码&lt;/h3&gt;
&lt;p&gt;&lt;img src=&#34;Raptor.png&#34; /&gt;&lt;/p&gt;
&lt;p&gt;Raptor 码首先使用常规的&lt;em&gt;高码率线性分组码&lt;/em&gt;对信源符号进行一次&lt;em&gt;预编码&lt;/em&gt;得到&lt;em&gt;中间符号&lt;/em&gt;， 再对中间符号使用一个具有很小平均度数的 LT 码进行编码， 接收端在接收到一定数量的 Raptor 码数据包后首先恢复出中间符号，然后再得到最终的&lt;em&gt;信源符号&lt;/em&gt;。&lt;/p&gt;
&lt;p&gt;编码器分为两个部分，分别是预编码器和 LT 编码器，两者都可用一个生成矩阵表示。其中 t 为 K 个信源符号组成的向量，在 t 的前面添加 (S +H) 个全零符号，就得到了编码器的输入符号向量 d： &lt;span class=&#34;math display&#34;&gt;\[d_{[0:L-1]}=[z^T_{[0:S+H-1]}t^T_{[0:K-1]}]^T\]&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;记预编码器的编码矩阵为 A ，将 d 与 A 的逆矩阵相乘就得到了预编码生成的中间符号向量 c &lt;span class=&#34;math display&#34;&gt;\[c_{[0:L-1]}=A^{-1}_{[L\times{L}]}\cdot{d_{[0:L-1]}}\]&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;raptor码主要思想是把待发送的文件分成同样长度的 K 组，称为 K 个输入符号，每一组长度可能只有 1 bit，也可能有数百乃至数千比特。Raptor 码的编码过程由预编码过程和 LT 码 的编码过程组成，预编码过程将原始输入单元通过某种传统的纠错码转换为中间编码校验单元，然后将中间编码校验单元作为 LT 码 的输入单元进行编码，这样在 Raptor 码的解码过程中利用 LT 码技术解码只需要恢复固定比例的中间编码校验单元，再利用传统纠错码的解码性质就可以恢复所有的输入单元。根据中间编码校验单元所处的层次可以划分为单层校验预编码技术和多层校验预编码技术。&lt;/p&gt;
&lt;h2 id=&#34;删除信道&#34;&gt;删除信道&lt;/h2&gt;
&lt;h3 id=&#34;ber&#34;&gt;BER&lt;/h3&gt;
&lt;p&gt;二进制删除信道&lt;/p&gt;
&lt;p&gt;信道容量：&lt;span class=&#34;math inline&#34;&gt;\(C=1-\sigma [bits/channel use]\)&lt;/span&gt;，其中 &lt;span class=&#34;math inline&#34;&gt;\(\sigma\)&lt;/span&gt; 为 发0收E的概率&lt;/p&gt;
&lt;h3 id=&#34;qer&#34;&gt;QER&lt;/h3&gt;
&lt;p&gt;Q 进制删除信道，即词典为 0~Q-1和E&lt;/p&gt;
&lt;p&gt;信道容量：&lt;span class=&#34;math inline&#34;&gt;\(C=1-\sigma [symbols/channel use]\)&lt;/span&gt;，&lt;span class=&#34;math inline&#34;&gt;\(C_b=log_2(q)C [bits/channel use]\)&lt;/span&gt;&lt;/p&gt;
&lt;h3 id=&#34;pec&#34;&gt;PEC&lt;/h3&gt;
&lt;p&gt;Packet 删除信道，即输入为一个 L 个符号组成的数组&lt;/p&gt;
&lt;p&gt;信道容量：&lt;span class=&#34;math inline&#34;&gt;\(C=1-\sigma [symbols/channel use]\)&lt;/span&gt;，&lt;span class=&#34;math inline&#34;&gt;\(C_b=LC [bits/channel use]\)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;PEC 编码器接收 k 个包，生成 n 个包，来使得每个数据帧都被一个删除码保护（？）； 接收端先在物理层对各包进行校验（使用包内CRC），并丢弃出错的包，然后从剩余包中解码出 k 个源数据包。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;PEC.png&#34; /&gt;&lt;/p&gt;
&lt;h2 id=&#34;交织&#34;&gt;交织&lt;/h2&gt;
&lt;p&gt;交织器用于将不同包中的数据交织，这可能可以弱化无线通信中的突发错误（burst error），使其逆转为普通的随机错误。&lt;/p&gt;
&lt;p&gt;突发错误：由信道衰落（譬如信号受到强烈干扰）等导致的集中的错误。与随机错误不同的是，突发错误往往集中在一段时间，而随机错误则十分均匀。&lt;/p&gt;
&lt;p&gt;如下图所示，一种颜色代表一个数据包（packet）。 &lt;img src=&#34;interleave.png&#34; /&gt;&lt;/p&gt;
&lt;p&gt;交织会优化下降区，平层差距不大。&lt;/p&gt;
&lt;h2 id=&#34;ofdm&#34;&gt;OFDM&lt;/h2&gt;
&lt;p&gt;子载波数=DFT 点数&lt;/p&gt;
&lt;p&gt;LS： &lt;span class=&#34;math display&#34;&gt;\[H_{LS}=\frac{Y_{pilot}}{X_{pilot}}=\frac{H\cdot X_{pilot}}{X_{pilot}}\]&lt;/span&gt;&lt;/p&gt;
&lt;h3 id=&#34;mmse&#34;&gt;MMSE&lt;/h3&gt;
&lt;p&gt;设 LS 估计为 &lt;span class=&#34;math inline&#34;&gt;\(\tilde{H}\)&lt;/span&gt;，MMSE 估计为 &lt;span class=&#34;math inline&#34;&gt;\(\hat{H}\)&lt;/span&gt;，且 &lt;span class=&#34;math inline&#34;&gt;\(\hat{H}=W\tilde{H}\)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;有 MMSE 信道估计的 MSE 为 &lt;span class=&#34;math inline&#34;&gt;\(E\left\{\|H-\hat{H}\|^2\right\}\)&lt;/span&gt;，要使其最小，则 &lt;span class=&#34;math inline&#34;&gt;\(e=H-\hat{H}\)&lt;/span&gt; 与 &lt;span class=&#34;math inline&#34;&gt;\(\tilde{H}\)&lt;/span&gt; 正交，则有&lt;/p&gt;
&lt;p&gt;&lt;span class=&#34;math display&#34;&gt;\[
\begin{aligned}
E\left\{\boldsymbol{e} \tilde{\boldsymbol{H}}^{\mathrm{H}}\right\}&amp;amp;=E\left\{(\boldsymbol{H}-\hat{\boldsymbol{H}}) \tilde{\boldsymbol{H}}^{\mathrm{H}}\right\} \\
&amp;amp; =E\left\{(\boldsymbol{H}-\boldsymbol{W} \tilde{\boldsymbol{H}}) \tilde{\boldsymbol{H}}^{\mathrm{H}}\right\} \\
&amp;amp; =E\left\{\boldsymbol{H} \tilde{\boldsymbol{H}}^{\mathrm{H}}\right\}-\boldsymbol{W} E\left\{\tilde{\boldsymbol{H}} \tilde{\boldsymbol{H}}^{\mathrm{H}}\right\} \\
&amp;amp; =R_{H \tilde{H}^{\mathrm{H}}}-\boldsymbol{W R _ { \tilde { H } \tilde { H } }}=0
\end{aligned}
\]&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;求解得：&lt;span class=&#34;math inline&#34;&gt;\(W=R_{H\tilde{H}^H}R_{\tilde{H}\tilde{H}}^{-1}\)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;其中，&lt;span class=&#34;math inline&#34;&gt;\(R_{\tilde{H}\tilde{H}}\)&lt;/span&gt; 为 &lt;span class=&#34;math inline&#34;&gt;\(\tilde{H}\)&lt;/span&gt; 的自相关矩阵，即：&lt;/p&gt;
&lt;p&gt;&lt;span class=&#34;math display&#34;&gt;\[
\begin{aligned}
\boldsymbol{R}_{\tilde{\boldsymbol{H}} \tilde{\boldsymbol{H}}} &amp;amp; =E\left\{\tilde{\boldsymbol{H}} \tilde{\boldsymbol{H}}^{\mathrm{H}}\right\} \\
&amp;amp; =E\left\{\boldsymbol{X}^{-1} \boldsymbol{Y}\left(\boldsymbol{X}^{-1} \boldsymbol{Y}\right)^{\mathrm{H}}\right\} \\
&amp;amp; =E\left\{\left(\boldsymbol{H}+\boldsymbol{X}^{-1} \boldsymbol{Z}\right)\left(\boldsymbol{H}+\boldsymbol{X}^{-1} \boldsymbol{Z}\right)^{\mathrm{H}}\right\} \\
&amp;amp; =E\left\{\boldsymbol{H} \boldsymbol{H}^{\mathrm{H}}+\boldsymbol{X}^{-1} \boldsymbol{Z} \boldsymbol{H}^{\mathrm{H}}+\boldsymbol{H} \boldsymbol{Z}^{\mathrm{H}}\left(\boldsymbol{X}^{-1}\right)^{\mathrm{H}}+\boldsymbol{X}^{-1} \boldsymbol{Z} \boldsymbol{Z}^{\mathrm{H}}\left(\boldsymbol{X}^{-1}\right)^{\mathrm{H}}\right\} \\
&amp;amp; =E\left\{\boldsymbol{H} \boldsymbol{H}^{\mathrm{H}}\right\}+E\left\{\boldsymbol{X}^{-1} \boldsymbol{Z} \boldsymbol{Z}^{\mathrm{H}}\left(\boldsymbol{X}^{-1}\right)^{\mathrm{H}}\right\} \\
&amp;amp; =E\left\{\boldsymbol{H} \boldsymbol{H}^{\mathrm{H}}\right\}+\frac{\sigma_z^2}{\sigma_x^2} \boldsymbol{I}
\end{aligned}
\]&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;由此，MMSE 的估计值为： &lt;span class=&#34;math display&#34;&gt;\[H_{MMSE}=R_{H\tilde{H}}(R_{HH}+\frac{\sigma^2_z}{\sigma^2_x}I)^{-1}\tilde{H}\]&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&#34;math inline&#34;&gt;\(R_{H\tilde{H}}\)&lt;/span&gt; 和 &lt;span class=&#34;math inline&#34;&gt;\(R_{HH}\)&lt;/span&gt; 中的元素满足： &lt;span class=&#34;math display&#34;&gt;\[
E\left\{h_{k, l} \tilde{h}_{k^{\prime}, l}^*\right\}=E\left\{h_{k, l} h_{k^{\prime}, l^{\prime}}^*\right\}=r_{\mathrm{f}}\left[k-k^{\prime}\right] r_{\mathrm{t}}\left[l-l^{\prime}\right]
\]&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;其中， &lt;span class=&#34;math inline&#34;&gt;\(k, l\)&lt;/span&gt; 分别表示子载波（频率）和 OFDM 符号（时间）的编号。在一个呈指数衰减的多径功率时延谱（PDP）中，频域相关 &lt;span class=&#34;math inline&#34;&gt;\(r_f[k]=\frac{1}{1+j2\pi\tau_{rms}k\Delta f}\)&lt;/span&gt;，&lt;span class=&#34;math inline&#34;&gt;\(\Delta f=1/T_{sub}\)&lt;/span&gt; 为子载波间隔，&lt;span class=&#34;math inline&#34;&gt;\(T_{sub}\)&lt;/span&gt; 为 FFT 窗的长度&lt;/p&gt;
&lt;p&gt;为了准确估计数据经历的信道，一般会让导频分散在数据中，有块状导频（部分时刻只传导频）、梳状导频（部分频率只传导频）和离散导频（只在部分时刻且部分频率传导频）。 信道估计中会用插值来根据导频点的信道响应，估计出数据点的信道响应。&lt;/p&gt;
&lt;h3 id=&#34;lmmse&#34;&gt;LMMSE&lt;/h3&gt;
&lt;p&gt;&lt;span class=&#34;math display&#34;&gt;\[H_{MMSE}=R_{HH}(R_{HH}+\frac{\beta}{SNR}I)^{-1}\tilde{H}\]&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;其中，&lt;span class=&#34;math inline&#34;&gt;\(\beta\)&lt;/span&gt; 为调制类型参数，为各星座点能量的均方，当采用 QPSK 调制时，&lt;span class=&#34;math inline&#34;&gt;\(\beta=1\)&lt;/span&gt;，采用 16QAM 时，&lt;span class=&#34;math inline&#34;&gt;\(\beta=17/9\)&lt;/span&gt;&lt;/p&gt;
&lt;h3 id=&#34;信道&#34;&gt;信道&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;相干：频域&lt;/li&gt;
&lt;li&gt;相关：时域（可以这样简单理解）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;若 Path Gain 为 0.5 和 0.3 ，延时为 1 和 2，那信道冲激响应为： &lt;span class=&#34;math display&#34;&gt;\[h(t) = 0.5 * \delta(t - 1) + 0.3 * \delta(t - 2)\]&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;PDP：Power Delay Profile，功率时延分布，描述了接收信号的平均功率在每一径上的分布，其中各径的功率用该径功率与第一径的比值表示。&lt;/p&gt;
&lt;p&gt;例：ITU-R 步行A模型&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr class=&#34;header&#34;&gt;
&lt;th&gt;抽头&lt;/th&gt;
&lt;th&gt;时延(ns)&lt;/th&gt;
&lt;th&gt;平均功率(dB)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr class=&#34;odd&#34;&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;0.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class=&#34;even&#34;&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;110&lt;/td&gt;
&lt;td&gt;-9.7&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class=&#34;odd&#34;&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;190&lt;/td&gt;
&lt;td&gt;-19.2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class=&#34;even&#34;&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;410&lt;/td&gt;
&lt;td&gt;-22.8&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;每个抽头有一个时延；信道长度 L 为最大时延+1；&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://blog.csdn.net/forest_LL/article/details/129689370&#34;&gt;信道估计中的导频结构&lt;/a&gt;&lt;/p&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;h4 id=&#34;mimo-ofdm&#34;&gt;MIMO-OFDM&lt;/h4&gt;
&lt;p&gt;每个天线有K个子载波，DFT点数也为K&lt;/p&gt;
&lt;h4 id=&#34;相关-mimo-衰落信道&#34;&gt;相关 MIMO 衰落信道&lt;/h4&gt;
&lt;p&gt;&lt;span class=&#34;math display&#34;&gt;\[H=\Theta_{Rx}^{1/2}A_{iid}\Theta_{Tx}^{1/2}\]&lt;/span&gt; 其中 &lt;span class=&#34;math inline&#34;&gt;\(\Theta_{Rx}\)&lt;/span&gt; 为 &lt;span class=&#34;math inline&#34;&gt;\(M\times M\)&lt;/span&gt;的接收天线相关矩阵，A 为 &lt;span class=&#34;math inline&#34;&gt;\(M\times N\)&lt;/span&gt; 的瑞利衰落信道&lt;/p&gt;
&lt;p&gt;相关 MIMO 信道系数：&lt;span class=&#34;math inline&#34;&gt;\(\tilde{A}_l=\sqrt{P_lCa_l}\)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;瑞利衰落信道：&lt;code&gt;H=(randn(1,L)+j*randn(1,L)).*sqrt(Power/2)&lt;/code&gt;，L 为信道实现数（径数，抽头数），Power 为多径增益（线性）&lt;/p&gt;
&lt;h3 id=&#34;多天线分集&#34;&gt;多天线分集&lt;/h3&gt;
&lt;p&gt;所谓分集，就是多个天线发送相同数据，综合利用多路信道&lt;/p&gt;
&lt;p&gt;合并天线数据有三种方法： 1. 选择合并（selection combining） 2. 最大比合并（maximal ratio combining） 3. 等增益合并（equal gain combing）&lt;/p&gt;
&lt;h2 id=&#34;频率与带宽&#34;&gt;频率与带宽&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;5GHz 有 23个信道，2.4GHz 有3个&lt;/li&gt;
&lt;li&gt;5GHz 的带宽为20or40or80MHz，2.4GHz 的为 20MHz&lt;/li&gt;
&lt;li&gt;因此 5GHz&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;带宽：信道占用的频率范围&lt;/p&gt;
&lt;p&gt;时域信号越宽（门函数），频域信号越窄（sinc）；因此如果带宽太窄，就会时域信号太宽，就没法高速发送数据了&lt;/p&gt;
&lt;h2 id=&#34;经验之谈&#34;&gt;经验之谈&lt;/h2&gt;
&lt;p&gt;BCH 码在 1w 码长下基本纠正 4bit 错误&lt;/p&gt;

                    &lt;hr/&gt;&lt;em&gt;前往&lt;a href=&#34;https://www.sciroccogti.top/post/2020-09-03-%E9%80%9A%E4%BF%A1%E5%8E%9F%E7%90%86/&#34;&gt;网页&lt;/a&gt;以阅读全文。&lt;/em&gt;
                </description>
            </item>
        <item>
                <title>实用的 GitHub 项目集合</title>
                <link>https://www.sciroccogti.top/post/2020-04-09-useful-github/</link>
                <pubDate>Thu, 09 Apr 2020 18:13:49 +0800</pubDate>
                
                <guid>https://www.sciroccogti.top/post/2020-04-09-useful-github/</guid>
                <description>&lt;h2 id=&#34;网页类&#34;&gt;网页类
&lt;/h2&gt;&lt;h4 id=&#34;turndown&#34;&gt;turndown
&lt;/h4&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/domchristie/turndown&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;turndown&lt;/a&gt;：
An HTML to Markdown converter written in JavaScript&lt;/p&gt;
&lt;h4 id=&#34;m3u8-downloader&#34;&gt;m3u8-downloader
&lt;/h4&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/Momo707577045/m3u8-downloader&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;m3u8-downloader&lt;/a&gt;：
m3u8 视频在线提取工具&lt;/p&gt;
&lt;h2 id=&#34;包类&#34;&gt;包类
&lt;/h2&gt;&lt;h4 id=&#34;img2pdf&#34;&gt;img2pdf
&lt;/h4&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/josch/img2pdf&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;img2pdf&lt;/a&gt;：A Python package to convert imgs to pdf&lt;/p&gt;
&lt;h4 id=&#34;pikepdf&#34;&gt;pikepdf
&lt;/h4&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/pikepdf/pikepdf&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;pikepdf&lt;/a&gt;：A Python package to merge or split pdfs&lt;/p&gt;
&lt;h2 id=&#34;软件类&#34;&gt;软件类
&lt;/h2&gt;&lt;h4 id=&#34;mooc_downloader&#34;&gt;Mooc_Downloader
&lt;/h4&gt;&lt;p&gt;&lt;del&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/PyJun/Mooc_Downloader&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Mooc_Downloader&lt;/a&gt;：&lt;/del&gt;
&lt;del&gt;学无止下载器，慕课下载器，Mooc下载，中国大学下载，爱课程下载，网易云课堂下载，学堂在线下载；&lt;/del&gt;
这个作者竟然开始收费，真的是绝了。还好还有新的项目：&lt;a class=&#34;link&#34; href=&#34;https://github.com/xixixixixiao/mooc-downloader&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;mooc-downloader&lt;/a&gt;
支持视频，课件同时下载&lt;/p&gt;
&lt;h4 id=&#34;docker-easyconnect&#34;&gt;docker-easyconnect
&lt;/h4&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/Hagb/docker-easyconnect&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;docker-easyconnect&lt;/a&gt;：
&lt;del&gt;让该死的狗屎 EasyConnect 运行在无敌可爱的 docker 下的神器&lt;/del&gt;
使深信服（Sangfor）开发的非自由的代理软件 EasyConnect 运行在 docker 中，并提供 socks5 服务&lt;/p&gt;
&lt;h4 id=&#34;茉莉花&#34;&gt;茉莉花
&lt;/h4&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/l0o0/jasminum&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;茉莉花&lt;/a&gt;：一个简单的 Zotero 中文插件，能够让 Zotero 支持检索中文文献，非常强悍&lt;/p&gt;
&lt;h4 id=&#34;go-file&#34;&gt;go-file
&lt;/h4&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/songquanpeng/go-file&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;go-file&lt;/a&gt;：基于 Go 的文件分享工具。本质上是go写的轻量级网盘&lt;/p&gt;
&lt;h2 id=&#34;脚本类&#34;&gt;脚本类
&lt;/h2&gt;&lt;h4 id=&#34;run_fiosh&#34;&gt;run_fio.sh
&lt;/h4&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://gist.github.com/sennajox/3667757&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;run_fio.sh&lt;/a&gt;
Linux 下调用 fio 进行硬盘测速&lt;/p&gt;

                    &lt;hr/&gt;&lt;em&gt;前往&lt;a href=&#34;https://www.sciroccogti.top/post/2020-04-09-useful-github/&#34;&gt;网页&lt;/a&gt;以阅读全文。&lt;/em&gt;
                </description>
            </item>
        <item>
                <title>让你的 Ubuntu 看起来像 Mac</title>
                <link>https://www.sciroccogti.top/post/2020-04-02-turn-ubuntu-to-mac/</link>
                <pubDate>Thu, 02 Apr 2020 18:30:00 +0800</pubDate>
                
                <guid>https://www.sciroccogti.top/post/2020-04-02-turn-ubuntu-to-mac/</guid>
                <description>&lt;h1 id=&#34;让你的-ubuntu-看起来像-mac&#34;&gt;让你的 Ubuntu 看起来像 Mac
&lt;/h1&gt;&lt;p&gt;参考教程：&lt;a class=&#34;link&#34; href=&#34;https://zhuanlan.zhihu.com/p/63584709&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;史上最良心的 Ubuntu desktop 美化优化指导(1)&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;在 Ubuntu 18.04 测试通过&lt;/p&gt;
&lt;h2 id=&#34;安装美化必要的工具&#34;&gt;安装美化必要的工具
&lt;/h2&gt;&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;2&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#2&#34;&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;3&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#3&#34;&gt;3&lt;/a&gt;
&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;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 gnome-tweaks
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt install chrome-gnome-shell&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;code-lang&#34;&gt;BASH&lt;/div&gt;
    
&lt;/div&gt;&lt;p&gt;打开 &lt;code&gt;https://extensions.gnome.org/&lt;/code&gt; ，根据提示安装 Firefox 浏览器的 gnome 扩展（事实证明 Chrome 系支持更好）&lt;/p&gt;
&lt;h3 id=&#34;安装主题&#34;&gt;安装主题
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://extensions.gnome.org/extension/19/user-themes/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;User Themes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/vinceliuice/WhiteSur-gtk-theme&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;WhiteSur 主题&lt;/a&gt;：
建议源码安装以获得最新更新。WhiteSur 主题目前自带 &lt;code&gt;tweak.sh&lt;/code&gt; 来提供 firefox、dash-to-dock、锁屏 gdm 的对应风格主题&lt;/li&gt;
&lt;li&gt;&lt;del&gt;&lt;a class=&#34;link&#34; href=&#34;https://extensions.gnome.org/extension/1251/blyr/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;模糊效果 blyr 插件&lt;/a&gt;&lt;/del&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;安装图标&#34;&gt;安装图标
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/vinceliuice/WhiteSur-icon-theme&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;WhiteSur 图标&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;安装光标&#34;&gt;安装光标
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/vinceliuice/WhiteSur-cursors&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;WhiteSur 光标&lt;/a&gt;：目前好像大小不对劲&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;更换-dock&#34;&gt;更换 dock
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;~~&lt;a class=&#34;link&#34; href=&#34;https://extensions.gnome.org/extension/307/dash-to-dock/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Dash to Dock&lt;/a&gt;~~Dash to Dock 目前对 Gnome 40 支持不好，推荐用 &lt;a class=&#34;link&#34; href=&#34;https://extensions.gnome.org/extension/3730/floating-dock/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Floating Dock&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;以上文件安装后均需在 &lt;em&gt;tweaks&lt;/em&gt; 软件中设置，如图：
&lt;img src=&#34;https://www.sciroccogti.top/post/2020-04-02-turn-ubuntu-to-mac/post/2020-04-02-turn-ubuntu-to-mac/tweaks.png&#34;
	width=&#34;865&#34;
	height=&#34;613&#34;
	
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;141&#34;
		data-flex-basis=&#34;338px&#34;
	
&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://www.gnome-look.org/p/1009320/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Darwin Plymouth&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;由于这是一个老款主题，需要修改其中路径。&lt;/p&gt;
&lt;p&gt;解压缩后，修改其中的文件 &lt;code&gt;darwin.plymouth&lt;/code&gt;，将 &lt;code&gt;/lib&lt;/code&gt; 替换为 &lt;code&gt;/usr/share&lt;/code&gt;：&lt;/p&gt;
&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;2&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#2&#34;&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;3&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#3&#34;&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;4&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#4&#34;&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;5&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#5&#34;&gt;5&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;6&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#6&#34;&gt;6&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;7&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#7&#34;&gt;7&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;8&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#8&#34;&gt;8&lt;/a&gt;
&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;[Plymouth Theme]
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Name=Darwin OS X Plymouth
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Description=A Plymouth of OS X Yosemite
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ModuleName=script
&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;[script]
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ImageDir=/usr/share/plymouth/themes/darwin
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ScriptFile=/usr/share/plymouth/themes/darwin/darwin.script&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&gt;&lt;p&gt;复制到 &lt;code&gt;/usr/share/plymouth/themes/darwin&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;运行：&lt;/p&gt;
&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;2&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#2&#34;&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;3&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#3&#34;&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;4&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#4&#34;&gt;4&lt;/a&gt;
&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;sudo update-alternatives --install /usr/share/plymouth/themes/default.plymouth default.plymouth /usr/share/plymouth/themes/darwin/darwin.plymouth &lt;span class=&#34;m&#34;&gt;100&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo update-alternatives --config default.plymouth
&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;sudo update-initramfs -u&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;code-lang&#34;&gt;BASH&lt;/div&gt;
    
&lt;/div&gt;&lt;h3 id=&#34;自动深色模式&#34;&gt;自动深色模式
&lt;/h3&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://extensions.gnome.org/extension/2236/night-theme-switcher/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;night theme switcher&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;自动切换终端配色：&lt;a class=&#34;link&#34; href=&#34;https://gitlab.com/rmnvgr/nightthemeswitcher-gnome-shell-extension/-/issues/33&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;参考此处&lt;/a&gt;，注销后登录即可生效。&lt;/p&gt;

                    &lt;hr/&gt;&lt;em&gt;前往&lt;a href=&#34;https://www.sciroccogti.top/post/2020-04-02-turn-ubuntu-to-mac/&#34;&gt;网页&lt;/a&gt;以阅读全文。&lt;/em&gt;
                </description>
            </item>
        <item>
                <title>完整建站历程</title>
                <link>https://www.sciroccogti.top/post/2020-02-03-server/</link>
                <pubDate>Mon, 03 Feb 2020 20:07:28 +0800</pubDate>
                
                <guid>https://www.sciroccogti.top/post/2020-02-03-server/</guid>
                <description>&lt;h1 id=&#34;完整建站历程&#34;&gt;完整建站历程
&lt;/h1&gt;&lt;p&gt;眼见着弟兄们都搭起了自己的个人网站，我也按捺不住手痒，入坑搭网站，走起！&lt;/p&gt;
&lt;p&gt;！！注意：本页环境均为 &lt;em&gt;Ubuntu18.04&lt;/em&gt;&lt;/p&gt;
&lt;h2 id=&#34;初试github-pages--jekyll&#34;&gt;初试：Github Pages + Jekyll
&lt;/h2&gt;&lt;p&gt;这个组合是最简单的、最适合新手入门的，只要会使用 &lt;em&gt;github&lt;/em&gt; 和 &lt;em&gt;markdown&lt;/em&gt; ，就完全没压力。&lt;/p&gt;
&lt;p&gt;可能有同学会在安装本地 &lt;em&gt;nodejs&lt;/em&gt; 的 &lt;em&gt;jekyll&lt;/em&gt; 模块的步骤上遇到问题。
事实上，我从头到尾都没有在本地预览过（没错，这个本机的 &lt;em&gt;jekyll&lt;/em&gt; 模块只是用来给你预览的）。
反正主题也是抄的，文字是 &lt;em&gt;markdown&lt;/em&gt; 写的也能直接预览，其它的一些小设定多试几次就好了。&lt;/p&gt;
&lt;p&gt;如果你从没接触过网站搭建，甚至连 &lt;em&gt;linux&lt;/em&gt; 都没摸过，那显然用 &lt;em&gt;Github Pages&lt;/em&gt; + &lt;em&gt;Jekyll&lt;/em&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/MoeNetwork/Tieba-Cloud-Sign&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;贴吧一键签到&lt;/a&gt;，做&lt;a class=&#34;link&#34; href=&#34;https://github.com/dani-garcia/bitwarden_rs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;密码保管箱&lt;/a&gt;，做云盘。
于是就到阿里云买了一个（一开始是和同学合用的，后来我嫌他占用了80端口，很烦躁，就自己单飞了😂&lt;/p&gt;
&lt;p&gt;然而还是从静态博客开始，改用 &lt;em&gt;Hugo&lt;/em&gt; 。
其实这跟 &lt;em&gt;Jekyll&lt;/em&gt; 没区别，甚至文档更少、更乱（但是想抄同学主题🙃）。
不过之前 &lt;em&gt;Github Pages&lt;/em&gt; 做的工作，就得自己完成了。&lt;/p&gt;
&lt;h3 id=&#34;使用内网穿透工具-frp&#34;&gt;使用内网穿透工具 frp
&lt;/h3&gt;&lt;p&gt;有了服务器上的稳定ip地址后，我就可以把宿舍里的NAS映射出来了。&lt;/p&gt;
&lt;p&gt;这时候自然选用久负盛名的 &lt;em&gt;frp&lt;/em&gt; 来实现内网穿透了。&lt;/p&gt;
&lt;p&gt;这里提一下花生壳。
花生壳虽然部分免费，并且许多功能也集成在了NAS里，非常方便，但是对于已经有财力购买服务器的我来说，实属束缚。
不过，由于NAS的 &lt;em&gt;Linux&lt;/em&gt; 并非完全放开，只能运行有限的命令，因此我只好曲线救国，修改了内置的花生壳的自启动命令来自启动 &lt;em&gt;frp&lt;/em&gt; 。&lt;/p&gt;
&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;2&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#2&#34;&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;3&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#3&#34;&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;4&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#4&#34;&gt;4&lt;/a&gt;
&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-ini&#34; data-lang=&#34;ini&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# frps.ini，在服务器上&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;[common]&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;na&#34;&gt;bind_port&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;aaaa&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;na&#34;&gt;vhost_http_port&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;bbbb&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;code-lang&#34;&gt;INI&lt;/div&gt;
    
&lt;/div&gt;&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt;1&lt;/a&gt;
&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-ini&#34; data-lang=&#34;ini&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# frpc.ini，在内网主机上，暂缺&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;code-lang&#34;&gt;INI&lt;/div&gt;
    
&lt;/div&gt;&lt;h3 id=&#34;使用静态博客系统-hugo&#34;&gt;使用静态博客系统 Hugo
&lt;/h3&gt;&lt;p&gt;基本上就是&lt;code&gt;hugo new xxx.md&lt;/code&gt;或者&lt;code&gt;hugo new xxx/&lt;/code&gt;以及&lt;code&gt;hugo -s ./&lt;/code&gt;这几条命令，别的就看选用的主题的要求了。&lt;/p&gt;
&lt;h3 id=&#34;使用web服务器-caddy&#34;&gt;使用web服务器 Caddy
&lt;/h3&gt;&lt;p&gt;在我转入使用自己的服务器后，就开始摸索使用 &lt;em&gt;LAMP&lt;/em&gt; 或者 &lt;em&gt;LNMP&lt;/em&gt; 。
然而，无论是 &lt;em&gt;Apache&lt;/em&gt; 还是 &lt;em&gt;Nginx&lt;/em&gt; 对于新用户都非常不友好，各种RTFM和STFW都无济于事。
在咨询同学后，隔壁大佬推荐我用 &lt;em&gt;Caddy&lt;/em&gt; 入门。&lt;/p&gt;
&lt;p&gt;不得不说，真香。
仅需一个文件一个命令就能完成所有的任务&lt;/p&gt;
&lt;p&gt;（教程暂缺）&lt;/p&gt;
&lt;p&gt;但是 &lt;em&gt;Caddy&lt;/em&gt; 的自启动我却始终摸不透，无法启用。
同时，当要搭建的网站多起来的时候，入门级的 &lt;em&gt;Caddy&lt;/em&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;h3 id=&#34;使用web服务器-apache2&#34;&gt;使用web服务器 Apache2
&lt;/h3&gt;&lt;p&gt;再次咨询同学后，我转身推开 &lt;em&gt;Apache&lt;/em&gt; 的大门。&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Apache&lt;/em&gt; 功能非常完善，但是使用起来也十分复杂，更何况教程并不多。
不过，使用&lt;code&gt;sudo apt install apache2&lt;/code&gt;安装 &lt;em&gt;apache2&lt;/em&gt; 后，只需在&lt;code&gt;/etc/apache2&lt;/code&gt;内修改配置文件，就能够实现想要的功能。
（别忘了&lt;code&gt;sudo service apache2 restart&lt;/code&gt;）&lt;/p&gt;
&lt;p&gt;以下给出我的配置文件（以&lt;code&gt;/etc/apache2&lt;/code&gt;为根目录）&lt;/p&gt;
&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;2&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#2&#34;&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;3&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#3&#34;&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;4&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#4&#34;&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;5&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#5&#34;&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;6&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#6&#34;&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;7&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#7&#34;&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;8&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#8&#34;&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;9&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#9&#34;&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;10&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#10&#34;&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;11&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#11&#34;&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;12&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#12&#34;&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;13&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#13&#34;&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;14&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#14&#34;&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;15&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#15&#34;&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;16&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#16&#34;&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;17&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#17&#34;&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;18&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#18&#34;&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;19&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#19&#34;&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;20&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#20&#34;&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;21&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#21&#34;&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;22&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#22&#34;&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;23&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#23&#34;&gt;23&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;24&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#24&#34;&gt;24&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;25&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#25&#34;&gt;25&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;26&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#26&#34;&gt;26&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;27&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#27&#34;&gt;27&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;28&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#28&#34;&gt;28&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;29&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#29&#34;&gt;29&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;30&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#30&#34;&gt;30&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;31&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#31&#34;&gt;31&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;32&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#32&#34;&gt;32&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;33&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#33&#34;&gt;33&lt;/a&gt;
&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;c1&#34;&gt;# apache2.conf&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;DefaultRuntimeDir&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;APACHE_RUN_DIR&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;PidFile&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;APACHE_PID_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 class=&#34;n&#34;&gt;Timeout&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;300&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;KeepAlive&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;On&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;MaxKeepAliveRequests&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;100&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;KeepAliveTimeout&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;5&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;User&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;APACHE_RUN_USER&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;Group&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;APACHE_RUN_GROUP&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;HostnameLookups&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Off&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;ErrorLog&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;APACHE_LOG_DIR&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;error&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;log&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;LogLevel&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;warn&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;IncludeOptional&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;mods&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;enabled&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&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;IncludeOptional&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;mods&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;enabled&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/*.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;conf&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;Include&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ports&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;conf&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;o&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;ne&#34;&gt;Directory&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;/&amp;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;Options&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;FollowSymLinks&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;AllowOverride&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;None&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;Require&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;all&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;denied&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;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;ne&#34;&gt;Directory&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;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;o&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;ne&#34;&gt;Directory&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;&amp;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;AllowOverride&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;None&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;Require&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;all&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;granted&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;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;ne&#34;&gt;Directory&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;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;# /var/www 是lamp示例文件所在地&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;&amp;lt;&lt;/span&gt;&lt;span class=&#34;ne&#34;&gt;Directory&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;var&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;www&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&amp;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;Options&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Indexes&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;FollowSymLinks&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;AllowOverride&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;None&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;Require&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;all&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;granted&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;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;ne&#34;&gt;Directory&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;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;code-lang&#34;&gt;CONF&lt;/div&gt;
    
&lt;/div&gt;&lt;p&gt;下面这个配置文件借鉴自&lt;a class=&#34;link&#34; href=&#34;https://help.aliyun.com/document_detail/98727.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;阿里云教程&lt;/a&gt;&lt;/p&gt;
&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;2&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#2&#34;&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;3&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#3&#34;&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;4&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#4&#34;&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;5&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#5&#34;&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;6&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#6&#34;&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;7&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#7&#34;&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;8&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#8&#34;&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;9&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#9&#34;&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;10&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#10&#34;&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;11&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#11&#34;&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;12&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#12&#34;&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;13&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#13&#34;&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;14&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#14&#34;&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;15&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#15&#34;&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;16&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#16&#34;&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;17&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#17&#34;&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;18&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#18&#34;&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;19&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#19&#34;&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;20&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#20&#34;&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;21&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#21&#34;&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;22&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#22&#34;&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;23&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#23&#34;&gt;23&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;24&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#24&#34;&gt;24&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;25&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#25&#34;&gt;25&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;26&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#26&#34;&gt;26&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;27&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#27&#34;&gt;27&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;28&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#28&#34;&gt;28&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;29&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#29&#34;&gt;29&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;30&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#30&#34;&gt;30&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;31&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#31&#34;&gt;31&lt;/a&gt;
&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;c1&#34;&gt;# sites-enabled/000-default.conf&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;# https代理，借鉴自https://help.aliyun.com/document_detail/98727.html&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;&amp;lt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;VirtualHost&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;mi&#34;&gt;80&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;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;ServerName&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;sciroccogti&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;top&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;ServerAdmin&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;webmaster&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;@&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;localhost&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;DocumentRoot&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;var&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;www&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;html&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;ErrorLog&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;APACHE_LOG_DIR&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;error&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;log&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;CustomLog&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;APACHE_LOG_DIR&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;access&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;log&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;combined&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;# 自动转发到https&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;RewriteEngine&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;on&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;RewriteCond&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;SERVER_PORT&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;443&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;n&#34;&gt;RewriteRule&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;o&#34;&gt;.*&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;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;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;SERVER_NAME&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;1&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;L&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;R&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;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;VirtualHost&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;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;o&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;VirtualHost&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;mi&#34;&gt;443&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;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;ServerName&lt;/span&gt;   &lt;span class=&#34;n&#34;&gt;www&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;sciroccogti&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;top&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;#修改为申请证书时绑定的域名www.YourDomainName1.com。&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;DocumentRoot&lt;/span&gt;  &lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;var&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;www&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;html&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;SSLEngine&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;on&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;SSLProtocol&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;all&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;SSLv2&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;SSLv3&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;# 添加SSL协议支持协议，去掉不安全的协议。&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;SSLCipherSuite&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;HIGH&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;RC4&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;MD5&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;aNULL&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;eNULL&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;NULL&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;DH&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;EDH&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;EXP&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;MEDIUM&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;SSLHonorCipherOrder&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;on&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;SSLCertificateFile&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;cert&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;domain&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;name1_public&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;crt&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;# 将domain name1_public.crt替换成您证书文件名。&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;SSLCertificateKeyFile&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;cert&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;domain&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;name1&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;key&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;# 将domain name1.key替换成您证书的密钥文件名。&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;SSLCertificateChainFile&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;cert&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;domain&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;name1_chain&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;crt&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;# 将domain name1_chain.crt替换成您证书的密钥文件名；证书链开头如果有#字符，请删除。&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;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;VirtualHost&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;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;code-lang&#34;&gt;CONF&lt;/div&gt;
    
&lt;/div&gt;&lt;p&gt;下面这个配置文件借鉴自&lt;a class=&#34;link&#34; href=&#34;https://github.com/dani-garcia/bitwarden_rs/wiki/Proxy-examples&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Bitwarden_rs Wiki&lt;/a&gt;，用于下一节中的密码管理器 &lt;em&gt;Bitwarden_rs&lt;/em&gt;&lt;/p&gt;
&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;2&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#2&#34;&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;3&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#3&#34;&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;4&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#4&#34;&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;5&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#5&#34;&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;6&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#6&#34;&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;7&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#7&#34;&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;8&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#8&#34;&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;9&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#9&#34;&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;10&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#10&#34;&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;11&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#11&#34;&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;12&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#12&#34;&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;13&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#13&#34;&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;14&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#14&#34;&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;15&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#15&#34;&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;16&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#16&#34;&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;17&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#17&#34;&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;18&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#18&#34;&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;19&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#19&#34;&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;20&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#20&#34;&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;21&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#21&#34;&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;22&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#22&#34;&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;23&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#23&#34;&gt;23&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;24&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#24&#34;&gt;24&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;25&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#25&#34;&gt;25&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;26&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#26&#34;&gt;26&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;27&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#27&#34;&gt;27&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;28&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#28&#34;&gt;28&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;29&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#29&#34;&gt;29&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;30&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#30&#34;&gt;30&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;31&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#31&#34;&gt;31&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;32&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#32&#34;&gt;32&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;33&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#33&#34;&gt;33&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;34&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#34&#34;&gt;34&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;35&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#35&#34;&gt;35&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;36&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#36&#34;&gt;36&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;37&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#37&#34;&gt;37&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;38&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#38&#34;&gt;38&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;39&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#39&#34;&gt;39&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;40&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#40&#34;&gt;40&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;41&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#41&#34;&gt;41&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;42&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#42&#34;&gt;42&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;43&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#43&#34;&gt;43&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;44&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#44&#34;&gt;44&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;45&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#45&#34;&gt;45&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;46&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#46&#34;&gt;46&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;47&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#47&#34;&gt;47&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;48&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#48&#34;&gt;48&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;49&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#49&#34;&gt;49&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;50&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#50&#34;&gt;50&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;51&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#51&#34;&gt;51&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;52&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#52&#34;&gt;52&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;53&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#53&#34;&gt;53&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;54&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#54&#34;&gt;54&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;55&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#55&#34;&gt;55&lt;/a&gt;
&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;# sites-enabled/password.conf
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&amp;lt;VirtualHost *:80&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    # 正常的http反向代理部分
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	ServerName password.sciroccogti.top
&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;    ProxyRequests off
&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;    &amp;lt;proxy http://a.b.c.d:xxx&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        ProxyPass http://password.sciroccogti.top
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        ProxyPassReverse http://password.sciroccogti.top
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        Order Allow,Deny
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        Allow from all
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &amp;lt;/proxy&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;    ProxyPass / &amp;#34;http://a.b.c.d:xxx/&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    ProxyPassReverse / &amp;#34;http://a.b.c.d:xxx/&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;	ServerAdmin webmaster@localhost
&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;	ErrorLog ${APACHE_LOG_DIR}/error.log
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	CustomLog ${APACHE_LOG_DIR}/access.log combined
&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
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    RewriteEngine on
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    RewriteCond %{SERVER_PORT} !^443$
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    RewriteRule ^(.*)$ https://%{SERVER_NAME}$1 [L,R]
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&amp;lt;/VirtualHost&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;&amp;lt;VirtualHost *:443&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    # https反向代理部分
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    ServerName      password.sciroccogti.top
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    #修改为申请证书时绑定的域名www.YourDomainName1.com。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    ProxyRequests Off
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    ProxyPreserveHost On
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    ProxyPass / &amp;#34;http://a.b.c.d:8080/&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;    SSLEngine on   
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    SSLProtocol all -SSLv2 -SSLv3 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    # 添加SSL协议支持协议，去掉不安全的协议。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
&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;    SSLHonorCipherOrder on
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    SSLCertificateFile cert/domain name1_public.crt
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    # 将domain name1_public.crt替换成您证书文件名。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    SSLCertificateKeyFile cert/domain name1.key
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    # 将domain name1.key替换成您证书的密钥文件名。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    SSLCertificateChainFile cert/domain name1_chain.crt
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    # 将domain name1_chain.crt替换成您证书的密钥文件名；证书链开头如果有#字符，请删除。
&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;    # 用于开启websocket通知
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    #RewriteEngine On
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    #RewriteCond %{HTTP:Upgrade} =websocket [NC]
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    #RewriteRule /notifications/hub(.*) ws://47.103.78.58:3012/$1 [P,L]
&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;&amp;lt;/VirtualHost&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;div class=&#34;code-lang&#34;&gt;CONF&lt;/div&gt;
    
&lt;/div&gt;&lt;h3 id=&#34;使用密码管理器-bitwarden_rs&#34;&gt;使用密码管理器 Bitwarden_rs
&lt;/h3&gt;&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;2&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#2&#34;&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;3&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#3&#34;&gt;3&lt;/a&gt;
&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;docker pull bitwardenrs/server: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 bitwarden   -e &lt;span class=&#34;nv&#34;&gt;WEBSOCKET_ENABLED&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;true&lt;/span&gt;   -v /path/to/bw-data/:/data/   -p xxx:80   -p 3012:3012   bitwardenrs/server:latest
&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;# xxx：自定义端口，一般为80；3012：开启浏览器推送功能&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;code-lang&#34;&gt;BASH&lt;/div&gt;
    
&lt;/div&gt;&lt;p&gt;&lt;em&gt;Bitwarden_rs&lt;/em&gt; 是用 &lt;em&gt;Rust&lt;/em&gt; 重写的 &lt;em&gt;Bitwarden&lt;/em&gt; ，这个版本的 &lt;em&gt;Docker&lt;/em&gt; 容器不仅内存占用小，而且功能全面，直接实现了原本的高级功能。
美中不足的是，必须开启https才能在 &lt;em&gt;chrome&lt;/em&gt; 浏览器以及 &lt;em&gt;iOS&lt;/em&gt; 客户端使用。
（并未测试原版镜像）&lt;/p&gt;
&lt;p&gt;！友情提示：使用https的时候记得开启服务器的443端口！
（我搞了一整天没开启https，结果发现是443没开。。其实 &lt;em&gt;apache&lt;/em&gt; 配置容错度没那么小的）&lt;/p&gt;
&lt;h4 id=&#34;更新bitwarden_rs-已更名为-vaultwarden&#34;&gt;更新：Bitwarden_rs 已更名为 vaultwarden
&lt;/h4&gt;&lt;p&gt;相关公告见此：&lt;a class=&#34;link&#34; href=&#34;https://github.com/dani-garcia/vaultwarden/discussions/1642&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Project renamed to vaultwarden&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;因此启动命令改为&lt;/p&gt;
&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;2&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#2&#34;&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;3&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#3&#34;&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;4&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#4&#34;&gt;4&lt;/a&gt;
&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;sudo docker run -d --name vaultwarden -e &lt;span class=&#34;nv&#34;&gt;WEBSOCKET_ENABLED&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;true&lt;/span&gt; -v /path/to/bw-data/:/data/ -p xxx:80  -p 3012:3012  vaultwarden/server:latest
&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;# /path/to/bw-data/：自定义数据路径，一般为/bw-data/&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;# xxx：自定义端口，一般为80&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;# 3012：开启浏览器推送功能&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;code-lang&#34;&gt;BASH&lt;/div&gt;
    
&lt;/div&gt;&lt;p&gt;备份命令为：&lt;/p&gt;
&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;2&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#2&#34;&gt;2&lt;/a&gt;
&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;docker &lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; -o vaultwarden-xxx.tar vaultwarden &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;docker run --rm --volumes-from vaultwarden -v &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;pwd&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;:/backup vaultwarden/server tar cvf /backup/bw-data.tar /data &lt;span class=&#34;c1&#34;&gt;# 备份volume&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;code-lang&#34;&gt;BASH&lt;/div&gt;
    
&lt;/div&gt;&lt;h3 id=&#34;nginx&#34;&gt;Nginx
&lt;/h3&gt;&lt;p&gt;最近需要使用 gzip 功能，但是 Apache 配置实在太难了！&lt;/p&gt;
&lt;h4 id=&#34;安装&#34;&gt;安装
&lt;/h4&gt;&lt;p&gt;&lt;code&gt;sudo apt install nginx&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;配置文件位于：&lt;code&gt;/etc/nginx&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;修改完配置后：&lt;code&gt;sudo nginx -s reload&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;同样附上来自阿里云的示例（自己加上了 404 配置）&lt;/p&gt;
&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;2&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#2&#34;&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;3&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#3&#34;&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;4&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#4&#34;&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;5&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#5&#34;&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;6&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#6&#34;&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;7&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#7&#34;&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;8&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#8&#34;&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;9&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#9&#34;&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;10&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#10&#34;&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;11&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#11&#34;&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;12&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#12&#34;&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;13&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#13&#34;&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;14&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#14&#34;&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;15&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#15&#34;&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;16&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#16&#34;&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;17&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#17&#34;&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;18&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#18&#34;&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;19&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#19&#34;&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;20&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#20&#34;&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;21&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#21&#34;&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;22&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#22&#34;&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;23&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#23&#34;&gt;23&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;24&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#24&#34;&gt;24&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;25&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#25&#34;&gt;25&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;26&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#26&#34;&gt;26&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;27&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#27&#34;&gt;27&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;28&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#28&#34;&gt;28&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;29&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#29&#34;&gt;29&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;30&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#30&#34;&gt;30&lt;/a&gt;
&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;server {
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    listen 443 ssl;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    #配置HTTPS的默认访问端口为443。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    #如果未在此处配置HTTPS的默认访问端口，可能会造成Nginx无法启动。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    #如果您使用Nginx 1.15.0及以上版本，请使用listen 443 ssl代替listen 443和ssl on。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    server_name yourdomain.com; #需要将yourdomain.com替换成证书绑定的域名。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    root html;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    index index.html index.htm;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    ssl_certificate cert/cert-file-name.pem;  #需要将cert-file-name.pem替换成已上传的证书文件的名称。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    ssl_certificate_key cert/cert-file-name.key; #需要将cert-file-name.key替换成已上传的证书密钥文件的名称。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    ssl_session_timeout 5m;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
&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;    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #表示使用的TLS协议的类型。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    ssl_prefer_server_ciphers on;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    location / {
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        root html;  #站点目录。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        index index.html index.htm;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        error_page 404 404.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;server {
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    listen 80;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    server_name yourdomain.com; #需要将yourdomain.com替换成证书绑定的域名。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    rewrite ^(.*)$ https://$host$1; #将所有HTTP请求通过rewrite指令重定向到HTTPS。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    location / {
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        index index.html index.htm;
&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;div class=&#34;code-lang&#34;&gt;CONF&lt;/div&gt;
    
&lt;/div&gt;
                    &lt;hr/&gt;&lt;em&gt;前往&lt;a href=&#34;https://www.sciroccogti.top/post/2020-02-03-server/&#34;&gt;网页&lt;/a&gt;以阅读全文。&lt;/em&gt;
                </description>
            </item>
        <item>
                <title>HTML笔记</title>
                <link>https://www.sciroccogti.top/post/2019-10-23-html/</link>
                <pubDate>Wed, 23 Oct 2019 08:00:00 +0800</pubDate>
                
                <guid>https://www.sciroccogti.top/post/2019-10-23-html/</guid>
                <description>&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://developer.mozilla.org/zh-CN/docs/Learn/HTML&#34;  title=&#34;MDN&#34;
     target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;学习HTML：指南与教程&lt;/a&gt;&lt;/p&gt;
&lt;h1 id=&#34;介绍&#34;&gt;介绍
&lt;/h1&gt;&lt;h2 id=&#34;html入门&#34;&gt;HTML入门
&lt;/h2&gt;&lt;h3 id=&#34;元素&#34;&gt;元素
&lt;/h3&gt;&lt;p&gt;用来包围内容，譬如&lt;code&gt;&amp;lt;p&amp;gt;哈哈&amp;lt;/p&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;块级元素&lt;/strong&gt;：生成单独一行，譬如&lt;code&gt;&amp;lt;p&amp;gt;&amp;lt;/p&amp;gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;内联元素&lt;/strong&gt;：通常在块级元素中，譬如&lt;code&gt;&amp;lt;em&amp;gt;&amp;lt;/em&amp;gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;空元素&lt;/strong&gt;：仅有标签，不含内容，譬如&lt;code&gt;&amp;lt;img src=&amp;quot;1.jpg&amp;quot;&amp;gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;属性&#34;&gt;属性
&lt;/h3&gt;&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt;1&lt;/a&gt;
&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-html&#34; data-lang=&#34;html&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;p&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;class&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;editor-note&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;haha&lt;span class=&#34;p&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;p&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;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;code-lang&#34;&gt;HTML&lt;/div&gt;
    
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;诸如&lt;code&gt;class&lt;/code&gt;就是一个属性；&lt;/li&gt;
&lt;li&gt;属性前须有空格，属性与属性值用&lt;code&gt;=&lt;/code&gt;相联且不能空格（好像其实也可以空格）；&lt;/li&gt;
&lt;li&gt;单引号或双引号均可，但请保持一致；不要省略引号，虽然也能省略&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;布尔属性&lt;/strong&gt;：属性值必须与属性名相同或留空，譬如&lt;code&gt;disabled=&amp;quot;disabled&amp;quot;&lt;/code&gt;，&lt;code&gt;disabled&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;空白&#34;&gt;空白
&lt;/h3&gt;&lt;p&gt;&lt;em&gt;内容&lt;/em&gt; 中的连续空白会被省略为一个空格&lt;/p&gt;
&lt;h3 id=&#34;实体引用&#34;&gt;实体引用
&lt;/h3&gt;&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;原义&lt;/th&gt;
          &lt;th&gt;字符引用&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;&amp;lt;&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;&amp;amp;lt;&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;&amp;gt;&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;&amp;amp;gt;&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;&amp;quot;&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;&amp;amp;quot;&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;&#39;&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;&amp;amp;apos;&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;&amp;amp;&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;&amp;amp;amp;&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;完整列表：&lt;a class=&#34;link&#34; href=&#34;https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references&#34;  title=&#34;Wikipedia&#34;
     target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;XML和HTML字符实体引用列表&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;注释&#34;&gt;注释
&lt;/h3&gt;&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt;1&lt;/a&gt;
&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-html&#34; data-lang=&#34;html&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;&amp;lt;!-- &amp;lt;p&amp;gt;我在注释内！&amp;lt;/p&amp;gt; --&amp;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;code-lang&#34;&gt;HTML&lt;/div&gt;
    
&lt;/div&gt;&lt;h2 id=&#34;head&#34;&gt;&lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt;
&lt;/h2&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;code&gt;&amp;lt;title&amp;gt;&lt;/code&gt;：页面标题&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;&amp;lt;h1&amp;gt;&lt;/code&gt;是大标题，会显示在页面中，但&lt;code&gt;&amp;lt;title&amp;gt;&lt;/code&gt;不会&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&#34;元数据&#34;&gt;元数据
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;编码&lt;/strong&gt;：&lt;code&gt;&amp;lt;meta charset=&amp;quot;utf-8&amp;quot;&amp;gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;name&lt;/code&gt;和&lt;code&gt;content&lt;/code&gt;&lt;/strong&gt;：&lt;code&gt;&amp;lt;meta name=&amp;quot;author&amp;quot; content=&amp;quot;Chris Mills&amp;quot;&amp;gt;&lt;/code&gt;，&lt;code&gt;&amp;lt;meta name=&amp;quot;description&amp;quot; content=&amp;quot;a note&amp;quot;&amp;gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;图标&#34;&gt;图标
&lt;/h3&gt;&lt;p&gt;&lt;code&gt;&amp;lt;link rel=&amp;quot;shortcut icon&amp;quot; href=&amp;quot;favicon.ico&amp;quot; type=&amp;quot;image/x-icon&amp;quot;&amp;gt; &lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;css和javascript&#34;&gt;CSS和JavaScript
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;CSS&lt;/strong&gt;：&lt;code&gt;&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;a.css&amp;quot;&amp;gt;&lt;/code&gt;，一般置于头部&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;JS&lt;/strong&gt;：&lt;code&gt;&amp;lt;script src=&amp;quot;a.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;/code&gt;，一般置于&lt;code&gt;&amp;lt;/body&amp;gt;&lt;/code&gt;前&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;主语言&#34;&gt;主语言
&lt;/h3&gt;&lt;p&gt;&lt;code&gt;&amp;lt;html lang=&amp;quot;en-US&amp;quot;&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;h2 id=&#34;文字处理基础&#34;&gt;文字处理基础
&lt;/h2&gt;
                    &lt;hr/&gt;&lt;em&gt;前往&lt;a href=&#34;https://www.sciroccogti.top/post/2019-10-23-html/&#34;&gt;网页&lt;/a&gt;以阅读全文。&lt;/em&gt;
                </description>
            </item>
        <item>
                <title>WebGL笔记</title>
                <link>https://www.sciroccogti.top/post/2019-10-08-webglnotes/</link>
                <pubDate>Tue, 08 Oct 2019 08:00:00 +0800</pubDate>
                
                <guid>https://www.sciroccogti.top/post/2019-10-08-webglnotes/</guid>
                <description>&lt;h1 id=&#34;webgl&#34;&gt;WebGL
&lt;/h1&gt;&lt;ol&gt;
&lt;li&gt;现在不再支持立即绘制&lt;/li&gt;
&lt;li&gt;支持GPU&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;用回调函数构造显示函数&lt;/p&gt;
&lt;h2 id=&#34;基本结构&#34;&gt;基本结构
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;描述页面（HTML）&lt;/li&gt;
&lt;li&gt;定义着色器（HTML）&lt;/li&gt;
&lt;li&gt;计算或指定数据（JS）&lt;/li&gt;
&lt;li&gt;发送数据至GPU（JS）&lt;/li&gt;
&lt;li&gt;绘制（JS）&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;html&#34;&gt;HTML
&lt;/h3&gt;&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;2&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#2&#34;&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;3&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#3&#34;&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;4&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#4&#34;&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;5&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#5&#34;&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;6&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#6&#34;&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;7&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#7&#34;&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;8&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#8&#34;&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;9&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#9&#34;&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;10&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#10&#34;&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;11&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#11&#34;&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;12&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#12&#34;&gt;12&lt;/a&gt;
&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-html&#34; data-lang=&#34;html&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cp&#34;&gt;&amp;lt;!DOCTYPE html&amp;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;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;html&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;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;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;head&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;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;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;script&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;id&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;“webgl”&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;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;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;script&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;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;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;head&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;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;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;body&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;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;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;canvas&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;id&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;“glcanvas”&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;width&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;“512”&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;FUCK IE
&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;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;canvas&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;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;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;body&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;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;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;html&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;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;code-lang&#34;&gt;HTML&lt;/div&gt;
    
&lt;/div&gt;&lt;h3 id=&#34;webgl-照相机&#34;&gt;WebGL 照相机
&lt;/h3&gt;&lt;p&gt;正交视图：x、y、z三轴在[-1, 1]间的立方体内默认投影到z=0的投影屏幕上。&lt;/p&gt;
&lt;h3 id=&#34;视窗&#34;&gt;视窗
&lt;/h3&gt;&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt;1&lt;/a&gt;
&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-Javascript&#34; data-lang=&#34;Javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;glViewport&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;y&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;w&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;h&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;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
    
    &lt;div class=&#34;code-lang&#34;&gt;JAVASCRIPT&lt;/div&gt;
    
&lt;/div&gt;&lt;h2 id=&#34;着色器&#34;&gt;着色器
&lt;/h2&gt;&lt;p&gt;应用程序定义vPosition&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;顶点着色器&lt;/li&gt;
&lt;li&gt;片元着色器&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;数据类型&#34;&gt;数据类型
&lt;/h2&gt;&lt;p&gt;基础：int，float，bool&lt;/p&gt;
&lt;p&gt;数组：vec3&lt;/p&gt;
&lt;p&gt;矩阵：mat3&lt;/p&gt;
&lt;p&gt;结构体：&lt;/p&gt;
&lt;h3 id=&#34;修饰符&#34;&gt;修饰符
&lt;/h3&gt;&lt;p&gt;&lt;code&gt;const&lt;/code&gt;：&lt;/p&gt;
&lt;p&gt;&lt;code&gt;attribute&lt;/code&gt;：由应用程序传入，可以逐顶点&lt;/p&gt;
&lt;p&gt;&lt;code&gt;uniform&lt;/code&gt;：着色器中无法修改&lt;/p&gt;
&lt;h3 id=&#34;命名规范&#34;&gt;命名规范
&lt;/h3&gt;&lt;p&gt;传入到顶点着色器的：v开头&lt;/p&gt;
&lt;p&gt;Varying变量：f开头&lt;/p&gt;

                    &lt;hr/&gt;&lt;em&gt;前往&lt;a href=&#34;https://www.sciroccogti.top/post/2019-10-08-webglnotes/&#34;&gt;网页&lt;/a&gt;以阅读全文。&lt;/em&gt;
                </description>
            </item>
        <item>
                <title>Archives</title>
                <link>https://www.sciroccogti.top/page/archives/</link>
                <pubDate>Tue, 28 May 2019 00:00:00 +0000</pubDate>
                
                <guid>https://www.sciroccogti.top/page/archives/</guid>
                <description>
                    &lt;hr/&gt;&lt;em&gt;前往&lt;a href=&#34;https://www.sciroccogti.top/page/archives/&#34;&gt;网页&lt;/a&gt;以阅读全文。&lt;/em&gt;
                </description>
            </item>
        <item>
                <title>Markdown For SEUITE</title>
                <link>https://www.sciroccogti.top/post/2019-03-29-markdownreference/</link>
                <pubDate>Fri, 29 Mar 2019 13:30:00 +0800</pubDate>
                
                <guid>https://www.sciroccogti.top/post/2019-03-29-markdownreference/</guid>
                <description>&lt;h1 id=&#34;markdown-for-seuite&#34;&gt;Markdown For SEUITE
&lt;/h1&gt;&lt;h2 id=&#34;概览&#34;&gt;概览
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Markdown&lt;/strong&gt; 由&lt;a class=&#34;link&#34; href=&#34;http://daringfireball.net/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Daring Fireball&lt;/a&gt;设计而成；这里是 &lt;a class=&#34;link&#34; href=&#34;http://daringfireball.net/projects/markdown/syntax&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;原指南&lt;/a&gt;。不过，各个编辑器和解析器的&lt;strong&gt;Markdown&lt;/strong&gt;语法都有所不同。&lt;strong&gt;SEUITE&lt;/strong&gt;选用 &lt;a class=&#34;link&#34; href=&#34;https://help.github.com/articles/github-flavored-markdown/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;GitHub Flavored Markdown&lt;/a&gt;为标准。&lt;/p&gt;
&lt;h2 id=&#34;块元素&#34;&gt;块元素
&lt;/h2&gt;&lt;h3 id=&#34;段落与换行符&#34;&gt;段落与换行符
&lt;/h3&gt;&lt;p&gt;Markdown 中，一个&lt;strong&gt;段落&lt;/strong&gt;是指数行连续的文本，而空行被用来划分&lt;strong&gt;段落&lt;/strong&gt;。然而在 SEUITE 里，你无需空行，直接换行即可划分出一个新的&lt;strong&gt;段落&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;同时按下&lt;code&gt;Shift&lt;/code&gt; + &lt;code&gt;Return&lt;/code&gt;可以创建单个换行符，以实现换行而不分段。而在大多数其它的 markdown 解析器中，这种单个换行符会被忽略，你可以在行末空两格，或插入&lt;code&gt;&amp;lt;br/&amp;gt;&lt;/code&gt;来实现换行而不分段。&lt;/p&gt;
&lt;h3 id=&#34;标题&#34;&gt;标题
&lt;/h3&gt;&lt;p&gt;我们在行首使用1到6个&lt;code&gt;#&lt;/code&gt;号来标记标题，依次对应1至6级标题。例如：&lt;/p&gt;
&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;2&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#2&#34;&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;3&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#3&#34;&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;4&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#4&#34;&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;5&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#5&#34;&gt;5&lt;/a&gt;
&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-markdown&#34; data-lang=&#34;markdown&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;gh&#34;&gt;# 这是1级标题
&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;gh&#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;gu&#34;&gt;## 这是2级标题
&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;gu&#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;###### 这是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;div class=&#34;code-lang&#34;&gt;MARKDOWN&lt;/div&gt;
    
&lt;/div&gt;&lt;p&gt;在 SEUITE 中，输入&lt;code&gt;#&lt;/code&gt;后接标题内容，并按下&lt;code&gt;Return&lt;/code&gt;，即可新建一个标题。&lt;/p&gt;
&lt;h3 id=&#34;块引用&#34;&gt;块引用
&lt;/h3&gt;&lt;p&gt;Markdown 使用电子邮件样式的&lt;code&gt;&amp;gt;&lt;/code&gt;符来标记&lt;strong&gt;块引用&lt;/strong&gt;。它们表示为：&lt;/p&gt;
&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;2&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#2&#34;&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;3&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#3&#34;&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;4&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#4&#34;&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;5&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#5&#34;&gt;5&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;6&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#6&#34;&gt;6&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;7&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#7&#34;&gt;7&lt;/a&gt;
&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-markdown&#34; data-lang=&#34;markdown&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;&amp;gt; &lt;/span&gt;&lt;span class=&#34;ge&#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;ge&#34;&gt;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;&amp;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;&lt;/span&gt;&lt;span class=&#34;ge&#34;&gt;&amp;gt; 这是第二段。Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.
&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;ge&#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&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&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;div class=&#34;code-lang&#34;&gt;MARKDOWN&lt;/div&gt;
    
&lt;/div&gt;&lt;p&gt;在 SEUITE 中，输入&lt;code&gt;&amp;gt;&lt;/code&gt;后接你的引用内容将会生成一个引用块，SEUITE 会为你插入一个正确的&lt;code&gt;&amp;gt;&lt;/code&gt;或换行符。若要在引用内嵌入另一个引用，只需输入两级&lt;code&gt;&amp;gt;&lt;/code&gt;。&lt;/p&gt;
&lt;h3 id=&#34;列表&#34;&gt;列表
&lt;/h3&gt;&lt;p&gt;输入&lt;code&gt;* 列表项1&lt;/code&gt;将创建无序列表，其中&lt;code&gt;*&lt;/code&gt;可以用&lt;code&gt;+&lt;/code&gt;或&lt;code&gt;-&lt;/code&gt;替换。&lt;/p&gt;
&lt;p&gt;输入&lt;code&gt;1. 列表项1&lt;/code&gt;将创建有序列表。它们的 markdown 代码如下：&lt;/p&gt;
&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;2&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#2&#34;&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;3&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#3&#34;&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;4&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#4&#34;&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;5&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#5&#34;&gt;5&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;6&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#6&#34;&gt;6&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;7&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#7&#34;&gt;7&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;8&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#8&#34;&gt;8&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;9&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#9&#34;&gt;9&lt;/a&gt;
&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-markdown&#34; data-lang=&#34;markdown&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;gu&#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;gu&#34;&gt;&lt;/span&gt;&lt;span class=&#34;k&#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;*&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;*&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;gu&#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;gu&#34;&gt;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;1.&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;2.&lt;/span&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;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
    
    &lt;div class=&#34;code-lang&#34;&gt;MARKDOWN&lt;/div&gt;
    
&lt;/div&gt;&lt;h3 id=&#34;任务列表&#34;&gt;任务列表
&lt;/h3&gt;&lt;p&gt;任务列表是有&lt;code&gt;[ ]&lt;/code&gt;（未完成）或&lt;code&gt;[x]&lt;/code&gt;（已完成）标记的列表。例如：&lt;/p&gt;
&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;2&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#2&#34;&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;3&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#3&#34;&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;4&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#4&#34;&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;5&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#5&#34;&gt;5&lt;/a&gt;
&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-markdown&#34; data-lang=&#34;markdown&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#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;- [ ]&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;- [ ]&lt;/span&gt; 支持正常的**格式**，&lt;span class=&#34;ni&#34;&gt;@提及&lt;/span&gt;，引用&lt;span class=&#34;ni&#34;&gt;#1234&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;- [ ]&lt;/span&gt; 未完成项
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;- [x] 已完成项&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;code-lang&#34;&gt;MARKDOWN&lt;/div&gt;
    
&lt;/div&gt;&lt;p&gt;只需单击项目前的框即可更改&lt;em&gt;已完成/未完成&lt;/em&gt;状态&lt;/p&gt;
&lt;h3 id=&#34;围栏式代码块&#34;&gt;（围栏式）代码块
&lt;/h3&gt;&lt;p&gt;SEUITE 仅支持 &lt;a class=&#34;link&#34; href=&#34;https://help.github.com/articles/github-flavored-markdown/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;GitHub Flavored Markdown&lt;/a&gt; 中的代码围栏，而不支持 markdown 中原生的代码块。&lt;/p&gt;
&lt;p&gt;使用代码围栏非常简单：输入```符并回车。可以在```后写上语言标识符以开启语法高亮。&lt;/p&gt;
&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt;1&lt;/a&gt;
&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-markdown&#34; data-lang=&#34;markdown&#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;div class=&#34;code-lang&#34;&gt;MARKDOWN&lt;/div&gt;
    
&lt;/div&gt;&lt;h3 id=&#34;数学公式块&#34;&gt;数学公式块
&lt;/h3&gt;&lt;p&gt;你可以用 &lt;strong&gt;MathJax&lt;/strong&gt; 来渲染 &lt;em&gt;$L^AT_EX$&lt;/em&gt;。&lt;/p&gt;
&lt;p&gt;输入&lt;code&gt;$$&lt;/code&gt;并回车来添加数学表达式，这将启用一个支持 &lt;em&gt;$TeX/L^AT_EX$&lt;/em&gt; 的输入区。例如：&lt;/p&gt;
&lt;p&gt;$$
\mathbf{V}_1 \times \mathbf{V}_2 =  \begin{vmatrix}
\mathbf{i} &amp;amp; \mathbf{j} &amp;amp; \mathbf{k} \
\frac{\partial X}{\partial u} &amp;amp;  \frac{\partial Y}{\partial u} &amp;amp; 0 \
\frac{\partial X}{\partial v} &amp;amp;  \frac{\partial Y}{\partial v} &amp;amp; 0 \
\end{vmatrix}
$$&lt;/p&gt;
&lt;p&gt;在 markdown 代码中，数学公式块由一对&lt;code&gt;$$&lt;/code&gt;标记：&lt;/p&gt;
&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;2&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#2&#34;&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;3&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#3&#34;&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;4&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#4&#34;&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;5&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#5&#34;&gt;5&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;6&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#6&#34;&gt;6&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;7&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#7&#34;&gt;7&lt;/a&gt;
&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-markdown&#34; data-lang=&#34;markdown&#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;\mathbf{V}_1 \times \mathbf{V}_2 =  \begin{vmatrix}
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;\mathbf{i} &amp;amp; \mathbf{j} &amp;amp; \mathbf{k} \\
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;\frac{\partial X}{\partial u} &amp;amp;  \frac{\partial Y}{\partial u} &amp;amp; 0 \\
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;\frac{\partial X}{\partial v} &amp;amp;  \frac{\partial Y}{\partial v} &amp;amp; 0 \\
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;\end{vmatrix}
&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;div class=&#34;code-lang&#34;&gt;MARKDOWN&lt;/div&gt;
    
&lt;/div&gt;&lt;p&gt;更多详情请见 &lt;a class=&#34;link&#34; href=&#34;http://support.SEUITE.io/Math/&#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;输入 &lt;code&gt;| 标题一  | 标题二 |&lt;/code&gt; 并按 &lt;code&gt;Return&lt;/code&gt; 键将会新建一个两列的表格。&lt;/p&gt;
&lt;p&gt;在表格被创建后，将光标移至表格上会打开表格工具栏，你可以在其中调整表格，对齐或删除表格。你也可以用内容菜单来复制和添加。删除单个列/行。&lt;/p&gt;
&lt;p&gt;表格的完整语法如下所示，不过由于 SEUITE 将会自动生成表格的 markdown 代码，你无需理解代码的全部细节。&lt;/p&gt;
&lt;p&gt;在markdown源代码中，它们像这样：&lt;/p&gt;
&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;2&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#2&#34;&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;3&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#3&#34;&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;4&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#4&#34;&gt;4&lt;/a&gt;
&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-markdown&#34; data-lang=&#34;markdown&#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;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
    
    &lt;div class=&#34;code-lang&#34;&gt;MARKDOWN&lt;/div&gt;
    
&lt;/div&gt;&lt;p&gt;你还可以在表格中使用行内的 markdown ，诸如链接、粗体、斜体或删除线。&lt;/p&gt;
&lt;p&gt;还有，通过在标题行中使用&lt;code&gt;:&lt;/code&gt;，可以设定该列的对齐方式：左对齐，右对齐，或居中：&lt;/p&gt;
&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;2&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#2&#34;&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;3&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#3&#34;&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;4&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#4&#34;&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;5&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#5&#34;&gt;5&lt;/a&gt;
&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-markdown&#34; data-lang=&#34;markdown&#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;| 第三栏是 | 啰嗦的文字~ | $1600 |
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;| 第二栏是 | 中心格      |   $12 |
&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;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
    
    &lt;div class=&#34;code-lang&#34;&gt;MARKDOWN&lt;/div&gt;
    
&lt;/div&gt;&lt;p&gt;最左侧的冒号表示左对齐的列; 最右侧的冒号表示右对齐的列; 两边都有一个冒号表示居中的列。&lt;/p&gt;
&lt;h3 id=&#34;footnotes&#34;&gt;Footnotes
&lt;/h3&gt;&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;2&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#2&#34;&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;3&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#3&#34;&gt;3&lt;/a&gt;
&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-markdown&#34; data-lang=&#34;markdown&#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;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
    
    &lt;div class=&#34;code-lang&#34;&gt;MARKDOWN&lt;/div&gt;
    
&lt;/div&gt;&lt;p&gt;将生成：&lt;/p&gt;
&lt;p&gt;你可以像这样创建脚注[^脚注]。
[ ^脚注 ]：这是&lt;strong&gt;脚注&lt;/strong&gt;的&lt;em&gt;文本&lt;/em&gt;。&lt;/p&gt;
&lt;p&gt;将鼠标悬停在“脚注”上标上可查看脚注的内容。&lt;/p&gt;
&lt;h3 id=&#34;分割线&#34;&gt;分割线
&lt;/h3&gt;&lt;p&gt;在空行上输入&lt;code&gt;***&lt;/code&gt;或&lt;code&gt;---&lt;/code&gt;并按&lt;code&gt;Return&lt;/code&gt;将会绘制一条分割线：&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&#34;yaml-头信息&#34;&gt;YAML 头信息
&lt;/h3&gt;&lt;p&gt;SEUITE 现在支持 &lt;a class=&#34;link&#34; href=&#34;http://jekyllrb.com/docs/frontmatter/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;YAML头信息&lt;/a&gt;。在文档顶部输入&lt;code&gt;---&lt;/code&gt;并按&lt;code&gt;Return&lt;/code&gt;来引入元数据块，或者在 SEUITE 的顶部菜单栏也可以插入元数据块。&lt;/p&gt;
&lt;h3 id=&#34;目录-toc&#34;&gt;目录 (TOC)
&lt;/h3&gt;&lt;p&gt;输入&lt;code&gt;[toc]&lt;/code&gt;并按&lt;code&gt;Return&lt;/code&gt;键将会生成一个“目录”块，它将提取全文的所有标题，并且能够自动更新。&lt;/p&gt;
&lt;h2 id=&#34;span-元素&#34;&gt;Span 元素
&lt;/h2&gt;&lt;p&gt;Span 元素将在输入后即刻解析并呈现。当光标移至这些 span 元素上时将会把它们展开为 markdown 源码。以下是各个 span 元素的语法解释。&lt;/p&gt;
&lt;h3 id=&#34;链接&#34;&gt;链接
&lt;/h3&gt;&lt;p&gt;Markdown支持两种链接样式：内联和参考。&lt;/p&gt;
&lt;p&gt;在这两种样式中，链接文本都由[方括号]分隔。&lt;/p&gt;
&lt;p&gt;要创建内联链接，请在链接文本的结束方括号后紧跟一组普通括号，并将你想要链接指向的URL，以及链接的可选标题放在括号内。例如：&lt;/p&gt;
&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;2&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#2&#34;&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;3&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#3&#34;&gt;3&lt;/a&gt;
&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-markdown&#34; data-lang=&#34;markdown&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;这是[&lt;span class=&#34;nt&#34;&gt;示例&lt;/span&gt;](&lt;span class=&#34;na&#34;&gt;http://example.com/ &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&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;[&lt;span class=&#34;nt&#34;&gt;该链接&lt;/span&gt;](&lt;span class=&#34;na&#34;&gt;http://example.net/&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;code-lang&#34;&gt;MARKDOWN&lt;/div&gt;
    
&lt;/div&gt;&lt;p&gt;会生成：&lt;/p&gt;
&lt;p&gt;这是&lt;a class=&#34;link&#34; href=&#34;http://example.com/&#34;  title=&#34;标题&#34;
     target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;示例&lt;/a&gt;内联链接。(&lt;code&gt;&amp;lt;p&amp;gt;示例 &amp;lt;a href=&amp;quot;http://example.com/&amp;quot; title=&amp;quot;标题&amp;quot;&amp;gt;&lt;/code&gt;)&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;http://example.net/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;该链接&lt;/a&gt; 没有标题属性。(&lt;code&gt;&amp;lt;p&amp;gt;&amp;lt;a href=&amp;quot;http://example.net/&amp;quot;&amp;gt;该链接&amp;lt;/a&amp;gt;没有&lt;/code&gt;)&lt;/p&gt;
&lt;h4 id=&#34;页内跳转链接&#34;&gt;页内跳转链接
&lt;/h4&gt;&lt;p&gt;&lt;strong&gt;你可以将跳转目标指向标题&lt;/strong&gt;, 这将创建一个书签，允许你在单击后跳转到该部分。例如：&lt;/p&gt;
&lt;p&gt;按住&lt;code&gt;⌘&lt;/code&gt;(在Windows上：&lt;code&gt;Ctrl&lt;/code&gt;)的同时单击&lt;a class=&#34;link&#34; href=&#34;#%e5%9d%97%e5%85%83%e7%b4%a0&#34; &gt;此链接&lt;/a&gt;将会跳转至标题&lt;code&gt;块元素&lt;/code&gt;。若想知道如何书写，请将光标移至链接或单击链接，同时按下&lt;code&gt;⌘&lt;/code&gt;来将链接展开为 markdown 源码。&lt;/p&gt;
&lt;h4 id=&#34;参考链接&#34;&gt;参考链接
&lt;/h4&gt;&lt;p&gt;参考样式链接使用第二组方括号，在其中放置你选择的标签以标识链接：&lt;/p&gt;
&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt;1&lt;/a&gt;
&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-markdown&#34; data-lang=&#34;markdown&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;这是[一个示例][id]参考样式链接&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;code-lang&#34;&gt;MARKDOWN&lt;/div&gt;
    
&lt;/div&gt;&lt;p&gt;随后，在文档中的任一位置，你可以单独在一行上定义链接标签，如下所示：&lt;/p&gt;
&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt;1&lt;/a&gt;
&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-markdown&#34; data-lang=&#34;markdown&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;[id]: http://example.com/  &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;div class=&#34;code-lang&#34;&gt;MARKDOWN&lt;/div&gt;
    
&lt;/div&gt;&lt;p&gt;在SEUITE中，它们将被渲染为：&lt;/p&gt;
&lt;p&gt;这是&lt;a class=&#34;link&#34; href=&#34;http://example.com/&#34;  title=&#34;可选标题&#34;
     target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;一个示例&lt;/a&gt;参考样式链接&lt;/p&gt;
&lt;p&gt;隐式链接名称快捷方式允许你省略链接的名称，在这种情况下，链接文本本身将用作名称。只需使用一组空的方括号——例如，将“Google”一词链接到 google.com 网站，可以简写为：&lt;/p&gt;
&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt;1&lt;/a&gt;
&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-markdown&#34; data-lang=&#34;markdown&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;[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;code-lang&#34;&gt;MARKDOWN&lt;/div&gt;
    
&lt;/div&gt;&lt;p&gt;随后定义链接：&lt;/p&gt;
&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt;1&lt;/a&gt;
&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-markdown&#34; data-lang=&#34;markdown&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;[Google]: http://google.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;div class=&#34;code-lang&#34;&gt;MARKDOWN&lt;/div&gt;
    
&lt;/div&gt;&lt;p&gt;在SEUITE中，单击该链接将展开它以进行编辑，同时，&lt;code&gt;⌘&lt;/code&gt;+单击将在Web浏览器中打开超链接。&lt;/p&gt;
&lt;h3 id=&#34;网址&#34;&gt;网址
&lt;/h3&gt;&lt;p&gt;SEUITE允许你将URL作为链接插入，由 &amp;lt;尖括号&amp;gt; 包围。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&amp;lt;i@SEUITE.io&amp;gt;&lt;/code&gt; 显示为&lt;a class=&#34;link&#34; href=&#34;mailto:i@SEUITE.io&#34; &gt;i@SEUITE.io&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;SEUITE还会自动链接标准网址。 例如： &lt;a class=&#34;link&#34; href=&#34;https://www.google.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;www.google.com&lt;/a&gt; 。&lt;/p&gt;
&lt;h3 id=&#34;图片&#34;&gt;图片
&lt;/h3&gt;&lt;p&gt;图像具有与链接类似的语法，但它们在链接前需要额外的&lt;code&gt;！&lt;/code&gt;。插入图像的语法如下所示：&lt;/p&gt;
&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;2&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#2&#34;&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;3&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#3&#34;&gt;3&lt;/a&gt;
&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-markdown&#34; data-lang=&#34;markdown&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;![&lt;span class=&#34;nt&#34;&gt;替代文字&lt;/span&gt;](&lt;span class=&#34;na&#34;&gt;/path/to/img.jpg&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;nt&#34;&gt;替代文字&lt;/span&gt;](&lt;span class=&#34;na&#34;&gt;/path/to/img.jpg &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;div class=&#34;code-lang&#34;&gt;MARKDOWN&lt;/div&gt;
    
&lt;/div&gt;&lt;p&gt;你可以使用拖放操作来从图像文件或Web浏览器插入图像。你可以通过单击图片来修改 markdown 源代码。如果使用拖放操作添加的图像与你当前编辑的文档位于同一目录或子目录中，则将使用相对路径。&lt;/p&gt;
&lt;p&gt;如果你使用 markdown 搭建网站，你可能需要在头信息中用参数&lt;code&gt;SEUITE-root-url&lt;/code&gt;为你的本地预览指定一个 URL 前缀。例如，在头信息中输入&lt;code&gt;SEUITE-root-url:/User/Abner/Website/SEUITE.io/&lt;/code&gt;，然后在 SEUITE 中&lt;code&gt;![alt](/blog/img/test.png)&lt;/code&gt;将会被当作`&lt;img src=&#34;file:///User/Abner/Website/SEUITE.io/blog/img/test.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;alt&#34;
	
	
&gt;。&lt;/p&gt;
&lt;p&gt;更多详情请见&lt;a class=&#34;link&#34; href=&#34;https://support.SEUITE.io/Images/&#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;Markdown 把星号(&lt;code&gt;*&lt;/code&gt;)以及下划线(&lt;code&gt;_&lt;/code&gt;)作为强调的标记。被一对&lt;code&gt;*&lt;/code&gt; &lt;code&gt;_&lt;/code&gt;包围的文本在编译时会由HTML 标记&lt;code&gt;&amp;lt;em&amp;gt;&lt;/code&gt;包围例如：&lt;/p&gt;
&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;2&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#2&#34;&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;3&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#3&#34;&gt;3&lt;/a&gt;
&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-markdown&#34; data-lang=&#34;markdown&#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;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
    
    &lt;div class=&#34;code-lang&#34;&gt;MARKDOWN&lt;/div&gt;
    
&lt;/div&gt;&lt;p&gt;生成：&lt;/p&gt;
&lt;p&gt;&lt;em&gt;单对星号&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;单对下划线&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;GFM会忽略代码和名称单词中常见的下划线，像这样：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;wow_great_stuff&lt;/p&gt;
&lt;p&gt;do_this_and_do_that_and_another_thing.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;使用反斜杠来避免星号或下划线被编译为强调标记：&lt;/p&gt;
&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt;1&lt;/a&gt;
&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-markdown&#34; data-lang=&#34;markdown&#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;div class=&#34;code-lang&#34;&gt;MARKDOWN&lt;/div&gt;
    
&lt;/div&gt;&lt;p&gt;SEUITE 推荐使用&lt;code&gt;*&lt;/code&gt;作为强调标记。&lt;/p&gt;
&lt;h3 id=&#34;加粗&#34;&gt;加粗
&lt;/h3&gt;&lt;p&gt;一对双&lt;code&gt;*&lt;/code&gt;或&lt;code&gt;_&lt;/code&gt;会使得它们包围的内容在编译时由HTML标签&lt;code&gt;&amp;lt;strong&amp;gt;&lt;/code&gt;标记，例如：&lt;/p&gt;
&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;2&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#2&#34;&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;3&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#3&#34;&gt;3&lt;/a&gt;
&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-markdown&#34; data-lang=&#34;markdown&#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;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
    
    &lt;div class=&#34;code-lang&#34;&gt;MARKDOWN&lt;/div&gt;
    
&lt;/div&gt;&lt;p&gt;output:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;双星号&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;双下划线&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;SEUITE推荐使用&lt;code&gt;**&lt;/code&gt;作为加粗标记。&lt;/p&gt;
&lt;h3 id=&#34;代码&#34;&gt;代码
&lt;/h3&gt;&lt;p&gt;用一对 ` 包围&lt;strong&gt;行内代码&lt;/strong&gt;来显示它。与预格式化的代码块不同，行内代码不会分段。例如：&lt;/p&gt;
&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt;1&lt;/a&gt;
&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-markdown&#34; data-lang=&#34;markdown&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Use the &lt;span class=&#34;sb&#34;&gt;`printf()`&lt;/span&gt; function.&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;code-lang&#34;&gt;MARKDOWN&lt;/div&gt;
    
&lt;/div&gt;&lt;p&gt;将生成：&lt;/p&gt;
&lt;p&gt;Use the &lt;code&gt;printf()&lt;/code&gt; function.&lt;/p&gt;
&lt;h3 id=&#34;删除线&#34;&gt;删除线
&lt;/h3&gt;&lt;p&gt;GFM 加入了用来显示删除线的语法，而原生 markdown 并没有。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;~~Mistaken text.~~&lt;/code&gt;显示为&lt;del&gt;Mistaken text.&lt;/del&gt;&lt;/p&gt;
&lt;h3 id=&#34;下划线&#34;&gt;下划线
&lt;/h3&gt;&lt;p&gt;下划线由原始 HTML 实现。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&amp;lt;u&amp;gt;Underline&amp;lt;/u&amp;gt;&lt;/code&gt;显示为&lt;!-- raw HTML omitted --&gt;Underline&lt;!-- raw HTML omitted --&gt;.&lt;/p&gt;
&lt;p&gt;###表情符号&amp;#x1f604;&lt;/p&gt;
&lt;p&gt;用&lt;code&gt;:emoji:&lt;/code&gt;来输入表情符号.&lt;/p&gt;
&lt;p&gt;你可以用&lt;code&gt;ESC&lt;/code&gt;键启用表情符号的自动补全建议，也可以在首选项中开启它来自动触发。同时，也支持直接输入 UTF-8 的表情符号，请至菜单栏中的&lt;code&gt;Edit&lt;/code&gt; -&amp;gt; &lt;code&gt;Emoji &amp;amp; Symbols&lt;/code&gt;浏览。&lt;/p&gt;
&lt;h3 id=&#34;行内数学公式&#34;&gt;行内数学公式
&lt;/h3&gt;&lt;p&gt;要使用此功能，请先在&lt;code&gt;Preference&lt;/code&gt; -&amp;gt; &lt;code&gt;Markdown&lt;/code&gt;中启用它。随后，用&lt;code&gt;$&lt;/code&gt;来包围 TeX 代码。例如：&lt;code&gt;$\lim_{x \to \infty} \exp(-x) = 0$&lt;/code&gt;会渲染为$\lim_{x \to \infty} \exp(-x) = 0$&lt;/p&gt;
&lt;p&gt;要开启行内数学公式的行内预览，请输入&lt;code&gt;$&lt;/code&gt;后按&lt;code&gt;ESC&lt;/code&gt;，再输入 TeX代码。&lt;/p&gt;
&lt;p&gt;更多详情请见&lt;a class=&#34;link&#34; href=&#34;http://support.SEUITE.io/Math/&#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;要使用此功能，请先在&lt;code&gt;Preference&lt;/code&gt; -&amp;gt; &lt;code&gt;Markdown&lt;/code&gt;中启用它。随后，使用&lt;code&gt;~&lt;/code&gt;来包围想要下标的文本。例如：&lt;code&gt;H~2~O&lt;/code&gt;，&lt;code&gt;X~long\ text~/&lt;/code&gt;。&lt;/p&gt;
&lt;h3 id=&#34;上标&#34;&gt;上标
&lt;/h3&gt;&lt;p&gt;要使用此功能，请先在&lt;code&gt;Preference&lt;/code&gt; -&amp;gt; &lt;code&gt;Markdown&lt;/code&gt;中启用它。随后，使用&lt;code&gt;^&lt;/code&gt;来包围想要下标的文本。例如：&lt;code&gt;X^2^&lt;/code&gt;。&lt;/p&gt;
&lt;h3 id=&#34;高亮&#34;&gt;高亮
&lt;/h3&gt;&lt;p&gt;要使用此功能，请先在&lt;code&gt;Preference&lt;/code&gt; -&amp;gt; &lt;code&gt;Markdown&lt;/code&gt;中启用它。随后，使用&lt;code&gt;==&lt;/code&gt;来包围想要下标的文本。例如：&lt;code&gt;==highlight==&lt;/code&gt;。&lt;/p&gt;
&lt;h2 id=&#34;html&#34;&gt;HTML
&lt;/h2&gt;&lt;p&gt;你可以使用 HTML 来实现纯 markdown 不支持的格式。例如，使用&lt;code&gt;&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;this text is red&amp;lt;/span&amp;gt;&lt;/code&gt;来添加红字。&lt;/p&gt;
&lt;h3 id=&#34;嵌入内容&#34;&gt;嵌入内容
&lt;/h3&gt;&lt;p&gt;有些网站提供基于iframe的嵌入代码，你也可以将其粘贴到SEUITE中。 例如：&lt;/p&gt;
&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt;1&lt;/a&gt;
&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-Markdown&#34; data-lang=&#34;Markdown&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&amp;lt;iframe height=&amp;#39;265&amp;#39; scrolling=&amp;#39;no&amp;#39; title=&amp;#39;Fancy Animated SVG Menu&amp;#39; src=&amp;#39;http://codepen.io/jeangontijo/embed/OxVywj/?height=265&amp;amp;theme-id=0&amp;amp;default-tab=css,result&amp;amp;embed-version=2&amp;#39; frameborder=&amp;#39;no&amp;#39; allowtransparency=&amp;#39;true&amp;#39; allowfullscreen=&amp;#39;true&amp;#39; style=&amp;#39;width: 100%;&amp;#39;&amp;gt;&amp;lt;/iframe&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;div class=&#34;code-lang&#34;&gt;MARKDOWN&lt;/div&gt;
    
&lt;/div&gt;&lt;h3 id=&#34;视频&#34;&gt;视频
&lt;/h3&gt;&lt;p&gt;你可以使用&lt;code&gt;&amp;lt;video&amp;gt;&lt;/code&gt; HTML 标签来嵌入视频。例如：&lt;/p&gt;
&lt;div class=&#34;codeblock&#34;&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; id=&#34;1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#1&#34;&gt;1&lt;/a&gt;
&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-Markdown&#34; data-lang=&#34;Markdown&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&amp;lt;video src=&amp;#34;xxx.mp4&amp;#34; /&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;div class=&#34;code-lang&#34;&gt;MARKDOWN&lt;/div&gt;
    
&lt;/div&gt;&lt;h3 id=&#34;其它html支持&#34;&gt;其它HTML支持
&lt;/h3&gt;&lt;p&gt;更多详情请见&lt;a class=&#34;link&#34; href=&#34;http://support.typora.io/HTML/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;此处&lt;/a&gt;.&lt;/p&gt;

                    &lt;hr/&gt;&lt;em&gt;前往&lt;a href=&#34;https://www.sciroccogti.top/post/2019-03-29-markdownreference/&#34;&gt;网页&lt;/a&gt;以阅读全文。&lt;/em&gt;
                </description>
            </item>
        <item>
                <title>常用笔微评测</title>
                <link>https://www.sciroccogti.top/post/2019-3-25-pen-test/</link>
                <pubDate>Mon, 25 Mar 2019 23:30:00 +0800</pubDate>
                
                <guid>https://www.sciroccogti.top/post/2019-3-25-pen-test/</guid>
                <description>&lt;p&gt;&lt;strong&gt;实在找不到合适的头图了！有推荐请以各种方式联系我！&lt;/strong&gt;&lt;del&gt;欢迎单品牌笔的摆拍（引战）&lt;/del&gt;&lt;/p&gt;
&lt;h1 id=&#34;常用笔微评测更新中&#34;&gt;常用笔微评测（更新中）
&lt;/h1&gt;&lt;p&gt;其实之前就有在做，但是都没有发出来，只是在 &lt;em&gt;印象笔记&lt;/em&gt; 上自己记一笔。&lt;/p&gt;
&lt;p&gt;然而现在也很懒。。就直接整理成小小的懒懒的表格啦&lt;/p&gt;
&lt;p&gt;由于是个人网站暂时不想make it public，也暂时想不到别的更新方法，想提建议or新增内容就在下方评论吧！&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;笔芯价格斜体表示适配性较差，删除线表示适配性极差，&lt;code&gt;-&lt;/code&gt;表示无专用替芯。&lt;/li&gt;
&lt;li&gt;价格参考&lt;a class=&#34;link&#34; href=&#34;https://lianxinbg.tmall.com/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;联新办公&lt;/a&gt;，取合理零售价位&lt;/li&gt;
&lt;/ul&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;品牌&lt;/th&gt;
          &lt;th&gt;类型&lt;/th&gt;
          &lt;th&gt;型号&lt;/th&gt;
          &lt;th&gt;笔芯评价&lt;/th&gt;
          &lt;th&gt;笔壳评价&lt;/th&gt;
          &lt;th&gt;整笔价格&lt;/th&gt;
          &lt;th&gt;替芯价格&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;百乐&lt;/td&gt;
          &lt;td&gt;中性笔&lt;/td&gt;
          &lt;td&gt;P500&lt;/td&gt;
          &lt;td&gt;流畅，偏细，后程乏力。&lt;/td&gt;
          &lt;td&gt;不可换芯，轻。&lt;/td&gt;
          &lt;td&gt;￥8&lt;/td&gt;
          &lt;td&gt;-&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;百乐&lt;/td&gt;
          &lt;td&gt;中性笔&lt;/td&gt;
          &lt;td&gt;G-2&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;百乐&lt;/td&gt;
          &lt;td&gt;中性笔&lt;/td&gt;
          &lt;td&gt;juice(老)&lt;/td&gt;
          &lt;td&gt;阻尼大，易损。&lt;/td&gt;
          &lt;td&gt;舒适纤细，手胶易老化。&lt;/td&gt;
          &lt;td&gt;￥4.5&lt;/td&gt;
          &lt;td&gt;￥6&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;百乐&lt;/td&gt;
          &lt;td&gt;中性笔&lt;/td&gt;
          &lt;td&gt;juice(新)&lt;/td&gt;
          &lt;td&gt;&lt;del&gt;无0.5，&lt;/del&gt;（因此）划纸。&lt;/td&gt;
          &lt;td&gt;较重，低重心，手胶黏&lt;/td&gt;
          &lt;td&gt;￥7.5&lt;/td&gt;
          &lt;td&gt;￥11&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;百乐&lt;/td&gt;
          &lt;td&gt;中性笔&lt;/td&gt;
          &lt;td&gt;Hitec&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;百乐&lt;/td&gt;
          &lt;td&gt;中性笔&lt;/td&gt;
          &lt;td&gt;V5RT&lt;/td&gt;
          &lt;td&gt;很流畅，过粗。&lt;/td&gt;
          &lt;td&gt;适配性较差。&lt;/td&gt;
          &lt;td&gt;￥12&lt;/td&gt;
          &lt;td&gt;￥6&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;百乐&lt;/td&gt;
          &lt;td&gt;圆珠笔&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;斑马&lt;/td&gt;
          &lt;td&gt;中性笔&lt;/td&gt;
          &lt;td&gt;JJ15&lt;/td&gt;
          &lt;td&gt;阻尼大，后程乏力。&lt;/td&gt;
          &lt;td&gt;握笔不舒适，晃动。&lt;/td&gt;
          &lt;td&gt;￥5&lt;/td&gt;
          &lt;td&gt;￥4&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;斑马&lt;/td&gt;
          &lt;td&gt;中性笔&lt;/td&gt;
          &lt;td&gt;Airfit&lt;/td&gt;
          &lt;td&gt;过粗，洇墨;速干。&lt;/td&gt;
          &lt;td&gt;假防疲劳。&lt;/td&gt;
          &lt;td&gt;￥15&lt;/td&gt;
          &lt;td&gt;-&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;斑马&lt;/td&gt;
          &lt;td&gt;多功能&lt;/td&gt;
          &lt;td&gt;J3J2&lt;/td&gt;
          &lt;td&gt;流畅，偏短。&lt;/td&gt;
          &lt;td&gt;笔壳:舒适纤细，手胶寿命短&lt;/td&gt;
          &lt;td&gt;￥20&lt;/td&gt;
          &lt;td&gt;（￥7）&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;斑马&lt;/td&gt;
          &lt;td&gt;多功能&lt;/td&gt;
          &lt;td&gt;B4SA1&lt;/td&gt;
          &lt;td&gt;流畅，偏短，自动铅易损。&lt;/td&gt;
          &lt;td&gt;粗，切换卡顿&lt;/td&gt;
          &lt;td&gt;￥28&lt;/td&gt;
          &lt;td&gt;（￥7）&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;三菱&lt;/td&gt;
          &lt;td&gt;中性笔&lt;/td&gt;
          &lt;td&gt;UM-115&lt;/td&gt;
          &lt;td&gt;流畅，偏细，后程乏力&lt;/td&gt;
          &lt;td&gt;舒适，手胶易松&lt;/td&gt;
          &lt;td&gt;￥5&lt;/td&gt;
          &lt;td&gt;￥4&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

                    &lt;hr/&gt;&lt;em&gt;前往&lt;a href=&#34;https://www.sciroccogti.top/post/2019-3-25-pen-test/&#34;&gt;网页&lt;/a&gt;以阅读全文。&lt;/em&gt;
                </description>
            </item>
        <item>
                <title>大学生工作岗位选择倾向调查</title>
                <link>https://www.sciroccogti.top/post/2019-03-19-wj/</link>
                <pubDate>Tue, 19 Mar 2019 09:30:00 +0800</pubDate>
                
                <guid>https://www.sciroccogti.top/post/2019-03-19-wj/</guid>
                <description>&lt;!-- raw HTML omitted --&gt;

                    &lt;hr/&gt;&lt;em&gt;前往&lt;a href=&#34;https://www.sciroccogti.top/post/2019-03-19-wj/&#34;&gt;网页&lt;/a&gt;以阅读全文。&lt;/em&gt;
                </description>
            </item>
        <item>
                <title>一些无用的学习笔记</title>
                <link>https://www.sciroccogti.top/post/2019-02-14-note/</link>
                <pubDate>Thu, 14 Feb 2019 19:00:00 +0800</pubDate>
                
                <guid>https://www.sciroccogti.top/post/2019-02-14-note/</guid>
                <description>&lt;h1 id=&#34;电类部分学科及计算机语言个人学习笔记集合&#34;&gt;电类部分学科及计算机语言个人学习笔记集合
&lt;/h1&gt;&lt;p&gt;最近尝试使用&lt;code&gt;.markdown&lt;/code&gt;来记一些笔记，感觉还不错，so拿出来分享&amp;amp;存储。&lt;/p&gt;
&lt;p&gt;&lt;del&gt;应该会更新的吧2333&lt;/del&gt;不知不觉更新了半年辽，如有勘误欢迎评论指出！（PS：评论可使用&lt;a class=&#34;link&#34; href=&#34;cn.gravatar.com&#34; &gt;Gravatar&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://www.sciroccogti.top/assets/Note/Circuit.html&#34;  title=&#34;在线浏览Circuit.html&#34;
    &gt;html版&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.sciroccogti.top/assets/Note/Circuit.pdf&#34;  title=&#34;下载Circuit.pdf&#34;
    &gt;pdf版&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://www.sciroccogti.top/assets/Note/Signals&amp;amp;Systems.html&#34;  title=&#34;在线浏览Signals&amp;amp;Systems.html&#34;
    &gt;html版&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;强烈建议用思维导图来记忆各公式间的联系~&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.sciroccogti.top/assets/Note/Signals&amp;amp;Systems1.pdf&#34;  title=&#34;下载Signals&amp;amp;Systems1.pdf&#34;
    &gt;pdf版（第一页）&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.sciroccogti.top/assets/Note/Signals&amp;amp;Systems2.pdf&#34;  title=&#34;下载Signals&amp;amp;Systems2.pdf&#34;
    &gt;pdf版（第二页）&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;markdown&#34;&gt;Markdown
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;markdown&lt;/strong&gt;是非常强大、简单易学的文本标记语言，参考&lt;a class=&#34;link&#34; href=&#34;https://guides.github.com/features/mastering-markdown/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;strong&gt;Github Flavored Markdown&lt;/strong&gt;的官方教程&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://sciroccogti.github.io/2019/03/29/MarkdownReference.html&#34;  title=&#34;在线浏览Markdown手册&#34;
     target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;博主为SEUITE翻译的 Markdown 手册&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.sciroccogti.top/assets/Note/MarkDown.html&#34;  title=&#34;在线浏览MarkDown.html&#34;
    &gt;html版&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://www.sciroccogti.top/assets/Note/AC/AC-0.html&#34;  title=&#34;在线浏览AC-0.html&#34;
    &gt;html版-小结&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.sciroccogti.top/assets/Note/AC/AC-0.pdf&#34;  title=&#34;下载AC-0.pdf&#34;
    &gt;pdf版-小结&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.sciroccogti.top/assets/Note/AC/AC-1.html&#34;  title=&#34;在线浏览AC-1.html&#34;
    &gt;html版-上&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.sciroccogti.top/assets/Note/AC/AC-2.html&#34;  title=&#34;在线浏览AC-2.html&#34;
    &gt;html版-中&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.sciroccogti.top/assets/Note/AC/AC-3.html&#34;  title=&#34;在线浏览AC-3.html&#34;
    &gt;html版-中&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.sciroccogti.top/assets/Note/AC/AC-1.pdf&#34;  title=&#34;下载AC-1.pdf&#34;
    &gt;pdf版-上&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.sciroccogti.top/assets/Note/AC/AC-2.pdf&#34;  title=&#34;下载AC-2.pdf&#34;
    &gt;pdf版-中&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.sciroccogti.top/assets/Note/AC/AC-3.pdf&#34;  title=&#34;下载AC-3.pdf&#34;
    &gt;pdf版-下&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;电磁场&#34;&gt;电磁场
&lt;/h2&gt;&lt;p&gt;可以用思维导图来记忆各公式间的联系~不过最好是自己画啦，以下是我画的（画到最后快疯了）&lt;/p&gt;

                    &lt;hr/&gt;&lt;em&gt;前往&lt;a href=&#34;https://www.sciroccogti.top/post/2019-02-14-note/&#34;&gt;网页&lt;/a&gt;以阅读全文。&lt;/em&gt;
                </description>
            </item>
        <item>
                <title>常用工具软件</title>
                <link>https://www.sciroccogti.top/post/2018-11-10-%E5%B8%B8%E7%94%A8%E5%B7%A5%E5%85%B7%E8%BD%AF%E4%BB%B6/</link>
                <pubDate>Sat, 10 Nov 2018 18:00:00 +0800</pubDate>
                
                <guid>https://www.sciroccogti.top/post/2018-11-10-%E5%B8%B8%E7%94%A8%E5%B7%A5%E5%85%B7%E8%BD%AF%E4%BB%B6/</guid>
                <description>&lt;h2 id=&#34;7zip&#34;&gt;7zip
&lt;/h2&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.7-zip.org&#34;  title=&#34;官网&#34;
     target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;7-Zip&lt;/a&gt;是一款&lt;strong&gt;Windows&lt;/strong&gt;平台上完全免费而且开源的&lt;strong&gt;压缩软件&lt;/strong&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://www.7-zip.org/a/7z1806.exe&#34;  title=&#34;x64&#34;
     target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;官网下载&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;qbittorent&#34;&gt;qbittorent
&lt;/h2&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;http://qbittorrent.org/&#34;  title=&#34;官网&#34;
     target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;qbittorrent&lt;/a&gt;是一款新的轻量级BitTorrent客户端，可运行于几乎有桌面操作系统，它简单易用，具备漂亮的外观，功能强大。BT么，你们懂的。&lt;/p&gt;
&lt;h3 id=&#34;下载-1&#34;&gt;下载
&lt;/h3&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;http://qbittorrent.org/download.php&#34;  title=&#34;多平台&#34;
     target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;官网下载&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;rufus&#34;&gt;rufus
&lt;/h2&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://rufus.ie/&#34;  title=&#34;官网&#34;
     target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;rufus&lt;/a&gt;是一款实用的自启动u盘制作工具。&lt;em&gt;rufus&lt;/em&gt;界面很简洁，而且完全免安装，解压就可以马上用了。在功能上，用户可以通过&lt;em&gt;rufus&lt;/em&gt;快速制作linux系统或者windows启动u盘，但是要注意的是在这之前你需要把重要资料备份到电脑中，因为格式化后什么都找不回来了。&lt;/p&gt;
&lt;h3 id=&#34;操作步骤&#34;&gt;操作步骤
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;下载操作系统的iso镜像文件。&lt;/li&gt;
&lt;li&gt;把U盘连接电脑，运行这个软件，在&lt;code&gt;device&lt;/code&gt;的下拉菜单中选择u盘所在的盘符。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;create a bootable disk using&lt;/code&gt;：后面选择&lt;code&gt;iso image&lt;/code&gt;，在点击后面的图标选择&lt;code&gt;iso&lt;/code&gt;镜像文件。&lt;/li&gt;
&lt;li&gt;点击“start”，软件就会对U盘进行格式化、制作可启动u盘的操作。&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;下载-2&#34;&gt;下载
&lt;/h3&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/pbatard/rufus/releases/download/v3.4/rufus-3.4.exe&#34;  title=&#34;x64&#34;
     target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;官网下载&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;screentogif&#34;&gt;ScreenToGif
&lt;/h2&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/NickeManarin/ScreenToGif&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;此工具&lt;/a&gt;允许您实时记录选定的屏幕区域、摄像头或绘图。之后，您可以编辑并保存为&lt;code&gt;gif&lt;/code&gt;或视频。&lt;/p&gt;
&lt;h3 id=&#34;下载-3&#34;&gt;下载
&lt;/h3&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/NickeManarin/ScreenToGif/releases&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;官网下载&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;paragon-extfs&#34;&gt;Paragon ExtFS
&lt;/h2&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.paragon-software.com/business/extfs-for-windows/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Paragon ExtFS&lt;/a&gt;是一款可以让用户在windows下可轻松地从ExtFS分区中导入或导出文档，并可直接查看媒体文件的工具，支持Ext2/Ext3/Ext4分区，用户使用此工具可轻松地访问和查看linux分区下文件，并且支持查看媒体文件和文档导入导出，是一款非常不错的跨平台系统访问工具。Paragon ExtFS支持win、mac等操作系统，只要将你的硬盘分区extfs进入你的电脑就可以读取和修改的Linux分区的任何媒体。&lt;/p&gt;
&lt;h3 id=&#34;下载-4&#34;&gt;下载
&lt;/h3&gt;&lt;p&gt;此软件并非免费软件，故暂不提供下载链接。&lt;/p&gt;
&lt;h2 id=&#34;adobe-flash&#34;&gt;Adobe Flash
&lt;/h2&gt;&lt;p&gt;Adobe Flash Player 从 30 版本开始，中国大陆地区用户只能使用 2144 提供的特供版：后台存在广告服务、弹出广告窗口、捆绑流氓软件的行为。&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;https://github.com/Sciroccogti/Sciroccogti.github.io/releases/download/v1.19.3/Flash.Player.PPAPI.32.0.0.156.exe&#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://www.repaik.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;睿派克技术论坛&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;rightmenumgr&#34;&gt;RightMenuMgr
&lt;/h2&gt;&lt;p&gt;RightMenuMgr 是一款强大的右键菜单管理工具，提供“文件”、“文件夹”、“磁盘”等几乎所有地方的右键菜单管理， RightMenuMgr 附加提供了 IE 右键菜单管理。并且 RightMenuMgr 还允许你自己添加自定义右键菜单，十分之方便！&lt;/p&gt;
&lt;h3 id=&#34;下载-5&#34;&gt;下载
&lt;/h3&gt;&lt;p&gt;没找到官网，只能从小众软件转载了：&lt;a class=&#34;link&#34; href=&#34;https://www.appinn.com/rightmenumgr/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;小众软件&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;ventory&#34;&gt;Ventory
&lt;/h2&gt;&lt;p&gt;该工具最主要的优点就是不需要频繁格盘，用户仅仅只需要将 ISO 格式镜像文件拖放到U盘中即可实现快速装机。&lt;/p&gt;
&lt;p&gt;例如我们将Windows 10、微PE (Wepe)、Windows 7、Ubuntu、Deepin等多个镜像同时放到U盘分区中保存。&lt;/p&gt;
&lt;p&gt;要想进行装机的话只需要连接U盘，随后系统会自动启动Ventoy然后该软件会罗列U盘中可以检测到的所有镜像。&lt;/p&gt;
&lt;p&gt;用户想要安装什么系统直接在Ventoy菜单中选择什么镜像即可 , U盘也无需格式化因此可以当做平时存文件使用。&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.ventoy.net/cn/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;官网&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;微pe&#34;&gt;微PE
&lt;/h2&gt;&lt;p&gt;一款纯净的 PE 工具。可以直接安装到电脑、U盘，也可以生成 ISO（譬如配合 Ventory 使用）&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;http://www.wepe.com.cn/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;官网&lt;/a&gt;&lt;/p&gt;

                    &lt;hr/&gt;&lt;em&gt;前往&lt;a href=&#34;https://www.sciroccogti.top/post/2018-11-10-%E5%B8%B8%E7%94%A8%E5%B7%A5%E5%85%B7%E8%BD%AF%E4%BB%B6/&#34;&gt;网页&lt;/a&gt;以阅读全文。&lt;/em&gt;
                </description>
            </item>
        <item>
                <title>LabVIEW安装教程</title>
                <link>https://www.sciroccogti.top/post/2018-10-28-labview/</link>
                <pubDate>Sun, 28 Oct 2018 15:00:00 +0800</pubDate>
                
                <guid>https://www.sciroccogti.top/post/2018-10-28-labview/</guid>
                <description>&lt;img src="https://cdn.sciroccogti.top/static/img/covers/labview.webp" alt="Featured image of post LabVIEW安装教程" /&gt;&lt;h1 id=&#34;labview安装教程&#34;&gt;LabVIEW安装教程
&lt;/h1&gt;&lt;p&gt;本文均以 LabVIEW 2018 为例。&lt;/p&gt;
&lt;h2 id=&#34;下载&#34;&gt;下载
&lt;/h2&gt;&lt;p&gt;首先使用浏览器访问&lt;a class=&#34;link&#34; href=&#34;http://www.ni.com/zh-cn/shop/labview/download.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;官网下载地址&lt;/a&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;在&lt;em&gt;电子邮件地址&lt;/em&gt;一栏填入自己的电子邮箱；&lt;/li&gt;
&lt;li&gt;在&lt;em&gt;新用户&lt;/em&gt;中的&lt;em&gt;应用领域&lt;/em&gt;下拉栏中，选中&lt;em&gt;工科课程教学&lt;/em&gt;，并勾选&lt;em&gt;我​同意​NI​的​隐私​权​声明&lt;/em&gt;；&lt;/li&gt;
&lt;li&gt;点击&lt;em&gt;下载&lt;/em&gt;。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&#34;https://www.sciroccogti.top/LabVIEW/01.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;若使用宿舍宽带，约在10分钟后即可下载完成。&lt;/p&gt;
&lt;h2 id=&#34;解压&#34;&gt;解压
&lt;/h2&gt;&lt;p&gt;打开下载得到的&lt;code&gt;2018LV-WinChn.exe&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;出现以下界面，点击&lt;em&gt;确定&lt;/em&gt;。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.sciroccogti.top/LabVIEW/02.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;此时进入自解压器界面，点击&lt;em&gt;Browse&amp;hellip;&lt;em&gt;选择想要解压安装程序的位置。然后点击&lt;/em&gt;Unzip&lt;/em&gt;。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.sciroccogti.top/LabVIEW/03.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;看到如下界面即表示解压成功。点击&lt;em&gt;确定&lt;/em&gt;。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.sciroccogti.top/LabVIEW/04.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;h2 id=&#34;安装&#34;&gt;安装
&lt;/h2&gt;&lt;p&gt;随后出现用户账户控制的系统弹窗，点击&lt;em&gt;是&lt;/em&gt;。&lt;/p&gt;
&lt;p&gt;进入安装程序。&lt;em&gt;下一步&lt;/em&gt;。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.sciroccogti.top/LabVIEW/05.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;进入&lt;em&gt;用户信息&lt;/em&gt;界面，直接选择&lt;em&gt;下一步&lt;/em&gt;。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.sciroccogti.top/LabVIEW/06.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;进入&lt;em&gt;序列号&lt;/em&gt;界面，直接选择&lt;em&gt;下一步&lt;/em&gt;。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.sciroccogti.top/LabVIEW/07.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;进入&lt;em&gt;目标目录&lt;/em&gt;界面，选择自己想要安装 NI配套软件 以及 LabVIEW 2018 的位置后，选择&lt;em&gt;下一步&lt;/em&gt;。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.sciroccogti.top/LabVIEW/08.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;进入&lt;em&gt;功能&lt;/em&gt;界面，直接选择&lt;em&gt;下一步&lt;/em&gt;。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.sciroccogti.top/LabVIEW/09.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;进入&lt;em&gt;产品通知&lt;/em&gt;界面，直接选择&lt;em&gt;下一步&lt;/em&gt;。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.sciroccogti.top/LabVIEW/10.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;接下来会有数十秒的&lt;em&gt;正在联系服务器&lt;/em&gt;进度条，之后出现以下界面。直接选择&lt;em&gt;下一步&lt;/em&gt;。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.sciroccogti.top/LabVIEW/11.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;进入&lt;em&gt;许可协议&lt;/em&gt;界面，选择&lt;em&gt;我接受上述2条许可协议&lt;/em&gt;，点击&lt;em&gt;下一步&lt;/em&gt;。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.sciroccogti.top/LabVIEW/12.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;重复上一条。&lt;/p&gt;
&lt;p&gt;进入&lt;em&gt;开始安装&lt;/em&gt;界面，直接选择&lt;em&gt;下一步&lt;/em&gt;。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.sciroccogti.top/LabVIEW/13.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;此过程约需15分钟.&lt;/p&gt;
&lt;p&gt;随后弹出&lt;em&gt;安装LabVIEW硬件支持&lt;/em&gt;界面，直接选择&lt;em&gt;不需要支持&lt;/em&gt;。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.sciroccogti.top/LabVIEW/14.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;进入&lt;em&gt;安装完成&lt;/em&gt;界面，直接选择&lt;em&gt;下一步&lt;/em&gt;。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.sciroccogti.top/LabVIEW/15.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;弹出&lt;em&gt;NI更新服务&lt;/em&gt;，根据个人需要点击&lt;em&gt;是&lt;/em&gt;或&lt;em&gt;否&lt;/em&gt;。（建议：否）&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.sciroccogti.top/LabVIEW/16.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;弹出请求重启的界面，根据个人需要选择。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.sciroccogti.top/LabVIEW/17.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;在LabVIEW俱乐部群内文件中下载&lt;code&gt;NI License Activator.exe&lt;/code&gt;并打开。&lt;/p&gt;
&lt;p&gt;在每一项上右击，选择&lt;em&gt;Activate&amp;hellip;&lt;/em&gt;。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.sciroccogti.top/LabVIEW/18.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;至此，全部操作结束。&lt;/p&gt;

                    &lt;hr/&gt;&lt;em&gt;前往&lt;a href=&#34;https://www.sciroccogti.top/post/2018-10-28-labview/&#34;&gt;网页&lt;/a&gt;以阅读全文。&lt;/em&gt;
                </description>
            </item>
        <item>
                <title>MATLAB 与 Simulink 安装和破解指南</title>
                <link>https://www.sciroccogti.top/post/2018-10-11-matlab/</link>
                <pubDate>Thu, 11 Oct 2018 15:00:00 +0800</pubDate>
                
                <guid>https://www.sciroccogti.top/post/2018-10-11-matlab/</guid>
                <description>&lt;img src="https://www.mathworks.com/content/mathworks/www/en/products/matlab/jcr:content/mainParsys/band_copy_copy_12162/backgroundImage.adapt.full.low.jpg/1538071286879.jpg" alt="Featured image of post MATLAB 与 Simulink 安装和破解指南" /&gt;&lt;h1 id=&#34;matlab-与-simulink-安装和破解指南&#34;&gt;MATLAB 与 Simulink 安装和破解指南
&lt;/h1&gt;&lt;h2 id=&#34;目录&#34;&gt;目录
&lt;/h2&gt;&lt;p&gt;&lt;!-- raw HTML omitted --&gt;MATLAB &amp;amp; Simulink 安装和破解指南&lt;!-- raw HTML omitted --&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;!-- raw HTML omitted --&gt;写在指南之前&lt;!-- raw HTML omitted --&gt;&lt;/li&gt;
&lt;li&gt;&lt;!-- raw HTML omitted --&gt;下载和解压&lt;!-- raw HTML omitted --&gt;&lt;/li&gt;
&lt;li&gt;&lt;!-- raw HTML omitted --&gt;安装&lt;!-- raw HTML omitted --&gt;
&lt;ol&gt;
&lt;li&gt;&lt;!-- raw HTML omitted --&gt;东南大学MATLAB正版化&lt;!-- raw HTML omitted --&gt;&lt;/li&gt;
&lt;li&gt;&lt;!-- raw HTML omitted --&gt;不使用正版MATLAB&lt;!-- raw HTML omitted --&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;!-- raw HTML omitted --&gt;破解&lt;!-- raw HTML omitted --&gt;&lt;/li&gt;
&lt;li&gt;&lt;!-- raw HTML omitted --&gt;常见问题 FAQ&lt;!-- raw HTML omitted --&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;写在指南之前&#34;&gt;写在指南之前
&lt;/h2&gt;&lt;p&gt;本指南需要最基本的计算机使用知识，如找到并打开&lt;em&gt;指定的&lt;/em&gt;文件夹、复制 &amp;amp; 粘贴、覆盖文件、单击下一步和使用搜索引擎等，同时需安装 &lt;a class=&#34;link&#34; href=&#34;https://www.7-zip.org&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;7-Zip&lt;/a&gt;、&lt;a class=&#34;link&#34; href=&#34;http://www.winrar.com.cn&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;WinRAR&lt;/a&gt;、&lt;a class=&#34;link&#34; href=&#34;https://cn.bandisoft.com/bandizip&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Bandizip&lt;/a&gt;或&lt;a class=&#34;link&#34; href=&#34;http://www.peazip.org&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;PeaZip&lt;/a&gt;等解压缩程序中的至少一个并懂得如何使用。如果遇到了无法理解的词汇，请使用百度进行搜索。&lt;/p&gt;
&lt;p&gt;本文选用&lt;code&gt;MATLAB R2018a&lt;/code&gt;的&lt;code&gt;Windows&lt;/code&gt;版本为示例。一份这样的安装包可以在&lt;a class=&#34;link&#34; href=&#34;https://pan.baidu.com/s/1zRLrmkt3sp3ikqfCCtnX3w&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;这里&lt;/a&gt;找到，而其他版本的安装包可以从&lt;a class=&#34;link&#34; href=&#34;http://zijingbt.njuftp.org/stats.html?id=106787&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;紫荆站&lt;/a&gt;、&lt;a class=&#34;link&#34; href=&#34;https://www.52pojie.cn/thread-713048-1-1.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;52 破解&lt;/a&gt;、&lt;a class=&#34;link&#34; href=&#34;http://mirror.seu.edu.cn/matlab/&#34;  title=&#34;需接入东南大学内网&#34;
     target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;东南大学&lt;/a&gt;和&lt;a class=&#34;link&#34; href=&#34;https://www.baidu.com/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;百度&lt;/a&gt;等网站获取。在校园网环境下安装的同学可以选择从校内 FTP 下载安装文件以获得更快的下载速度，目前已知可用的校内 FTP 包括&lt;a class=&#34;link&#34; href=&#34;ftp://114.212.165.143/software/study/Science_soft/MATLAB/MATLAB2018a/win/&#34; &gt;匡院学术部 FTP&lt;/a&gt;、&lt;a class=&#34;link&#34; href=&#34;ftp://114.212.165.143/software/study/Science_soft/MATLAB/MATLAB2018a/win/&#34; &gt;徐扬大佬维护的 FTP1&lt;/a&gt; 和&lt;a class=&#34;link&#34; href=&#34;ftp://114.212.165.143/software/study/Science_soft/MATLAB/MATLAB2018a/win/&#34; &gt;徐扬大佬维护的 FTP2&lt;/a&gt;（截止2018/9/16，学术部 FTP 中的软件还是 2016b 版本，请酌情选择）。其他版本 MATLAB 的安装方式与此版本相似，可以参考安装包所附的&lt;code&gt;Readme&lt;/code&gt;文档和本指南进行安装和破解。&lt;/p&gt;
&lt;p&gt;本指南只适用于 64 位的 Windows 系统，并已经在数十台装有 64 位版本 Windows 10 的计算机上得到了成功验证。&lt;strong&gt;除非安装者知道自己在做什么或者有足够理由，否则不建议改变本文所述的安装破解步骤。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;本指南仅用于学习交流，笔者原则上不鼓励使用盗版软件。在科研工作中如果需要使用 MATLAB 也必须购买正版。在&lt;a class=&#34;link&#34; href=&#34;https://ww2.mathworks.cn/store&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;这里&lt;/a&gt;可以买到正版的 MATLAB，而例如&lt;!-- raw HTML omitted --&gt;东南大学&lt;!-- raw HTML omitted --&gt;等高校也购买了正版MATLAB。&lt;/p&gt;
&lt;h2 id=&#34;下载和解压&#34;&gt;下载和解压
&lt;/h2&gt;&lt;p&gt;一份文中所用的安装包可以在&lt;a class=&#34;link&#34; href=&#34;https://pan.baidu.com/s/1iwDGx25O4sK_hk4vCBvtTQ&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;这里&lt;/a&gt;下载。在下载百度网盘文件时推荐使用&lt;a class=&#34;link&#34; href=&#34;https://github.com/iikira/BaiduPCS-Go&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;BaiduPCS-Go&lt;/a&gt;、&lt;a class=&#34;link&#34; href=&#34;https://www.pandownload.com/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;PanDownload&lt;/a&gt;或&lt;a class=&#34;link&#34; href=&#34;https://www.speedpan.com/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;SpeedPan&lt;/a&gt;等第三方百度网盘下载软件或者&lt;a class=&#34;link&#34; href=&#34;https://pan.baidu.com/download&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;百度网盘客户端&lt;/a&gt;进行下载。下载后，请将&lt;code&gt;R2018a_win64_dvd1.iso&lt;/code&gt;和&lt;code&gt;R2018a_win64_dvd2.iso&lt;/code&gt;进行解压，并将内容拷贝至同一文件夹中。拷贝后的结果如下图所示：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.sciroccogti.top/MATLAB/01.jpg&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;当然，你也可以使用虚拟光驱软件进行挂载，但是虚拟光驱的使用较为麻烦，且经常出错。挂载虚拟光驱操作为右击&lt;code&gt;.iso&lt;/code&gt;文件并选择挂载（WIN10等系统往往已经自动挂载）。&lt;strong&gt;注意&lt;/strong&gt;：挂载操作可能会在后续安装过程中被再次要求，请牢记方法，本教程不再赘述。&lt;/p&gt;
&lt;p&gt;**请确保&lt;code&gt;.dvd1&lt;/code&gt;和&lt;code&gt;.dvd2&lt;/code&gt;两个文件位于同一文件夹中。**别忘了下载和解压&lt;code&gt;MATLAB R2018a Win64 Crack.zip&lt;/code&gt;，解压后应当还会有以下文件：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.sciroccogti.top/MATLAB/02.jpg&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;h2 id=&#34;安装&#34;&gt;安装
&lt;/h2&gt;&lt;p&gt;打开 setup.exe，在选择允许此应用对系统进行修改 后，会弹出以下窗口：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.sciroccogti.top/MATLAB/03.jpg&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;h3 id=&#34;东南大学matlab正版化&#34;&gt;东南大学MATLAB正版化
&lt;/h3&gt;&lt;p&gt;如果要使用东南大学提供的正版 MATLAB，请参考&lt;a class=&#34;link&#34; href=&#34;http://nic.seu.edu.cn/2015/0617/c13097a126957/page.htm&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;东南大学MATLAB最终用户安装手册&lt;/a&gt;和&lt;a class=&#34;link&#34; href=&#34;http://nic.seu.edu.cn/2018/0521/c8846a217127/page.htm&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;东南大学MATLAB License到期更新指南&lt;/a&gt;，并请忽略&lt;!-- raw HTML omitted --&gt;破解教程&lt;!-- raw HTML omitted --&gt;。&lt;/p&gt;
&lt;h3 id=&#34;不使用正版matlab&#34;&gt;不使用正版MATLAB
&lt;/h3&gt;&lt;p&gt;选择&lt;em&gt;使用文件安装密钥&lt;/em&gt;，点击下一步。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.sciroccogti.top/MATLAB/04.jpg&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;选择&lt;em&gt;是&lt;/em&gt;，点击下一步。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.sciroccogti.top/MATLAB/05.jpg&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;选择&lt;em&gt;我已有我的许可证文件安装密钥&lt;/em&gt;，在输入框中输入&lt;code&gt;09806-07443-53955-64350-21751-41297&lt;/code&gt;（如果你在安装
其他版本，你往往可以在破解包中的&lt;code&gt;readme.txt&lt;/code&gt;中找到对应版本的安装密钥），点击下一步。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.sciroccogti.top/MATLAB/06.jpg&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;点击&lt;em&gt;浏览&lt;/em&gt;并在弹出窗口中选择安装目录（安装目录中不能有中文），或直接点击下一步。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.sciroccogti.top/MATLAB/07.jpg&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;选择要安装的组件。请确保你所需要的组件已被勾选，或者保险起见，勾选全部组件。&lt;strong&gt;注意&lt;/strong&gt;：如果有 License Manager 选项，请务必勾选之。点击下一步。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.sciroccogti.top/MATLAB/08.jpg&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;最后一次对要安装的部分进行确认。点击&lt;em&gt;安装&lt;/em&gt;开始安装。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.sciroccogti.top/MATLAB/09.jpg&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;请等待直到安装完成。这一过程可能会持续 10 分钟或者更久，视硬盘读写速度和安装组件大小而定。若过程中弹出显示着&lt;em&gt;弹出 dvd1 并插入 dvd2&lt;/em&gt;的窗口，此时请到&lt;em&gt;此电脑&lt;/em&gt;弹出驱动中的&lt;em&gt;dvd1&lt;/em&gt;，并按之前介绍的方法挂载&lt;em&gt;dvd2&lt;/em&gt;。 出现以下窗口后，点击下一步。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.sciroccogti.top/MATLAB/10.jpg&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;至此，安装结束。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.sciroccogti.top/MATLAB/11.jpg&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;h2 id=&#34;破解&#34;&gt;破解
&lt;/h2&gt;&lt;p&gt;安装完毕后，可以开始破解步骤。 找到 MATLAB 的启动程序&lt;code&gt;matlab.exe&lt;/code&gt;（一般在安装目录的&lt;code&gt;bin&lt;/code&gt;文件夹下）并打开，在选择允许&lt;em&gt;此应用对系统进行修改&lt;/em&gt;后，会弹出以下窗口：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.sciroccogti.top/MATLAB/12.jpg&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;选择在&lt;em&gt;不使用 Internet 的情况下手动激活&lt;/em&gt;，点击下一步。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.sciroccogti.top/MATLAB/13.jpg&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;选择&lt;em&gt;输入许可证文件的完整路径 (包括文件名)&lt;/em&gt;，点击浏览，找到&lt;code&gt;MATLAB R2018a Win64 Crack&lt;/code&gt;文件夹下的&lt;code&gt;license_standalone.lic&lt;/code&gt;，点击下一步，激活完成。 在激活后，将&lt;code&gt;MATLAB R2018a Win64 Crack&lt;/code&gt;文件夹下的&lt;code&gt;bin&lt;/code&gt;文件夹复制到安装路径，并覆盖安装路径下的&lt;code&gt;bin&lt;/code&gt;文件夹，即可完成破解。之后，打开安装路径下&lt;code&gt;bin&lt;/code&gt;文件夹中的&lt;code&gt;matlab.exe&lt;/code&gt;，即可开始使用 MATLAB。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.sciroccogti.top/MATLAB/14.jpg&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;h2 id=&#34;常见问题-faq&#34;&gt;常见问题 FAQ
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Q：出现以下报错怎么办？&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.sciroccogti.top/MATLAB/15.jpg&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;A：执行破解的最后一步，即 “将&lt;code&gt;MATLAB R2018a Win64 Crack&lt;/code&gt;文件夹下的&lt;code&gt;bin&lt;/code&gt;文件夹复制到安装路径，并覆盖安装路径下的&lt;code&gt;bin&lt;/code&gt;文件夹”。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Q：出现以下报错怎么办？&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.sciroccogti.top/MATLAB/16.jpg&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;A：此 bug 原因尚不明确，复现次数较少。如果出现，请按以下步骤进行。如果在某步尝试中成功打开了 MATLAB的界面，说明安装完成，之后也不会出现这一报错。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;删除 安装目录&lt;code&gt;\bin\win64\netapi32.dll&lt;/code&gt;，管理员身份运行同目录下&lt;code&gt;activate_matlab.exe&lt;/code&gt;，之后试着打开&lt;code&gt;matlab.exe&lt;/code&gt;；&lt;/li&gt;
&lt;li&gt;重新将&lt;code&gt;MATLAB R2018a Win64 Crack&lt;/code&gt;文件夹下的&lt;code&gt;bin&lt;/code&gt;文件夹复制到安装路径，并覆盖安装路径下的&lt;code&gt;bin&lt;/code&gt;文件夹，此后将&lt;code&gt;license_standalone.lic&lt;/code&gt;复制到&lt;code&gt;安装目录\lincenses&lt;/code&gt;文件夹下，之后试着打开&lt;code&gt;matlab.exe&lt;/code&gt;；&lt;/li&gt;
&lt;li&gt;将&lt;code&gt;安装目录\lincenses&lt;/code&gt;文件夹下&lt;code&gt;license_standalone.lic&lt;/code&gt;改名为&lt;code&gt;license_&amp;lt;你的设备名称&amp;gt;_968398_R2018a.lic&lt;/code&gt;，设备名称可以在&lt;em&gt;计算机 - 系统属性&lt;/em&gt;下查看，之后试着打开&lt;code&gt;matlab.exe&lt;/code&gt;；&lt;/li&gt;
&lt;li&gt;删除 MATLAB 安装目录，重新安装。
如果遇到这一问题，请将以上尝试的结果反馈给我们。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Q：出现 “请弹出 dvd1 并插入 dvd2” 的窗口，我弹出了 dvd1，也挂载了 dvd2，也没用，怎么办？&lt;/p&gt;
&lt;p&gt;A：玄学问题。请取消安装，按照本文方法（解压光盘映像文件）重新安装。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Q：我是 32 位系统。&lt;/p&gt;
&lt;p&gt;A：MATLAB 早已停止了对 32 位系统的支持。如果实在是换不了 64 位系统，去安装 MATLAB R2015a 吧，那个有32 位版本的。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Q：Linux 系统怎么安装？&lt;/p&gt;
&lt;p&gt;A：既然选择了 Linux 系统，就要有折腾 Linux 系统的觉悟。在&lt;a class=&#34;link&#34; href=&#34;https://pan.baidu.com/s/1YmTuh7fD0XttDPCRxV1PGg&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;这里&lt;/a&gt;可以找到一份 Linux 系统下 MATLAB 的安装包，你可以自己摸索着安装（安装过程是类似的，也可以在网上找到教程）。安装之后&lt;code&gt;Matlab 2018a Linux64 Crack.tar.gz&lt;/code&gt;文件中有破解相关的说明。不要高兴的太早，很多 Linux 系统的发行版都会出现库问题和 jre 字体问题，这些都可以在谷歌得到解决。我的 Manjaro 格式化之前装了一份 MATLAB，但是被我格了。不然我就截图晒你一脸了。🙃&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Q：Mac OS X 怎么安装？&lt;/p&gt;
&lt;p&gt;A：我手（mai）头（bu）没（qi）有 Mac 电脑，欢迎 Mac 用（you）户（qian）增（ren）补（song）本（wo）指（yi）南（tai）。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Q：我装完了。但我一点都不会用。&lt;/p&gt;
&lt;p&gt;A：你可以在命令行窗口（就是打开 MATLAB 最中间的那个）随便输点什么体验体验，比如 2*5 之类的。同时，MATLAB 提供了详尽的&lt;a class=&#34;link&#34; href=&#34;https://ww2.mathworks.cn/help/matlab/index.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;官方文档&lt;/a&gt;，在 MATLAB 软件中也可随时浏览。各种 MATLAB 书籍（我推荐郑智波翻译，David McMahon 编著的《MATLAB 揭秘》和谢中华编著的《MATLAB 从零到进阶》）和&lt;a class=&#34;link&#34; href=&#34;https://icourse163.org&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;MOOC&lt;/a&gt;等的网上教程也是不错的选择。如果你是南京大学学生，欢迎参加匡院学术部和开物社举办的软件学习讲座，你可以加入群聊&lt;code&gt;674580668&lt;/code&gt;以了解详情。讲座每年都会举办，其中一场会讲解 MATLAB 的入门知识并提供进一步学习的指导。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;

                    &lt;hr/&gt;&lt;em&gt;前往&lt;a href=&#34;https://www.sciroccogti.top/post/2018-10-11-matlab/&#34;&gt;网页&lt;/a&gt;以阅读全文。&lt;/em&gt;
                </description>
            </item>
        <item>
                <title>VS安装教程</title>
                <link>https://www.sciroccogti.top/post/2018-10-05-vs/</link>
                <pubDate>Fri, 05 Oct 2018 23:00:00 +0800</pubDate>
                
                <guid>https://www.sciroccogti.top/post/2018-10-05-vs/</guid>
                <description>&lt;img src="https://cdn.sciroccogti.top/static/img/covers/visual-studio-hero-banner.jpg" alt="Featured image of post VS安装教程" /&gt;&lt;h1 id=&#34;vs安装教程&#34;&gt;VS安装教程
&lt;/h1&gt;&lt;h2 id=&#34;安装顺序建议&#34;&gt;安装顺序建议
&lt;/h2&gt;&lt;h3 id=&#34;大一&#34;&gt;大一
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;为适配&lt;!-- raw HTML omitted --&gt;Visual C++6.0&lt;!-- raw HTML omitted --&gt;，建议先安装&lt;em&gt;VS2010&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;但是！！！&lt;/strong&gt; &lt;em&gt;VS2010&lt;/em&gt;试用期仅有30天，由于大二的缘故（在下一栏解释），建议先安装&lt;!-- raw HTML omitted --&gt;Visual C++2010 Express&lt;!-- raw HTML omitted --&gt;（&lt;!-- raw HTML omitted --&gt;除非你能破解&lt;!-- raw HTML omitted --&gt;）&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;大二短学期&#34;&gt;大二短学期
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;为适配可能会遇到的MFC学习，建议安装&lt;!-- raw HTML omitted --&gt;Visual Studio 2010&lt;!-- raw HTML omitted --&gt;&lt;/li&gt;
&lt;li&gt;若已安装Visual C++2010 Express，建议先行卸载&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;注意&lt;/strong&gt;：Visual Studio 2010仅有30天试用期，因此请勿提前安装（&lt;!-- raw HTML omitted --&gt;除非你能破解&lt;!-- raw HTML omitted --&gt;）&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;之后&#34;&gt;之后
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;推荐使用&lt;!-- raw HTML omitted --&gt;Visual Studio 最新版本&lt;!-- raw HTML omitted --&gt;&lt;/li&gt;
&lt;li&gt;如果是非Windows平台，推荐使用&lt;a class=&#34;link&#34; href=&#34;https://www.jetbrains.com/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;JetBrains全家桶&lt;/a&gt;，在此不再赘述&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;visual-c60&#34;&gt;Visual C++6.0
&lt;/h2&gt;&lt;p&gt;为表示对VC6.0的鄙视、不屑和不推荐，故不写教程🙃&lt;/p&gt;
&lt;h2 id=&#34;visual-c2010-express&#34;&gt;Visual C++2010 Express
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;下载链接：&lt;a class=&#34;link&#34; href=&#34;https://pan.baidu.com/s/1nj0YWsiMLNVf8qW1wBC5-g&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;百度网盘&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;提取码: &lt;code&gt;n8td&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;启动&#34;&gt;启动
&lt;/h3&gt;&lt;p&gt;感谢予笙同学的反馈！&lt;/p&gt;
&lt;p&gt;本程序安装完后，不会自动创建快捷方式，请在安装目录下，进入&lt;code&gt;\Common7\IDE\&lt;/code&gt;，如图，此处可见&lt;code&gt;VCExpress.exe&lt;/code&gt;，双击即可启动~&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.sciroccogti.top/VS/0.jpg&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;h2 id=&#34;visual-studio-2010&#34;&gt;Visual Studio 2010
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;下载链接：&lt;a class=&#34;link&#34; href=&#34;https://pan.baidu.com/s/1Fe84F-eMc4cdgNQ6Ap_CtQ&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;百度网盘&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;提取码: &lt;code&gt;ve5h&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;网传破解方法失效&#34;&gt;网传破解方法（失效
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;方法一：在控制面版的在卸载向导中输入序列号
&lt;code&gt;YCFHQ-9DWCY-DKV88-T2TMH-G7BHP&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;方法二：
&lt;ol&gt;
&lt;li&gt;解压&lt;code&gt;.iso&lt;/code&gt;后找到&lt;code&gt;setup\setup.sdb&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;用&lt;em&gt;记事本&lt;/em&gt;打开，找到：&lt;code&gt;[Product Key]YR3W8FCM2B7BKF9HMQFTCH7WK&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;将其替换成：&lt;code&gt;YCFHQ9DWCYDKV88T2TMHG7BHP&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;visual-studio最新版本&#34;&gt;Visual Studio最新版本
&lt;/h2&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://visualstudio.microsoft.com/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;微软官网&lt;/a&gt;下载安装&lt;em&gt;Community版本&lt;/em&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;注意：使用学生身份【即教育邮箱（东南大学：seu邮箱，可在&lt;a class=&#34;link&#34; href=&#34;https://my.seu.edu.cn&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;信息门户&lt;/a&gt;内访问）】可以使用数年的&lt;em&gt;Pro版本&lt;/em&gt;，但实质与&lt;em&gt;Community版本&lt;/em&gt;差别不大&lt;/p&gt;
&lt;/blockquote&gt;

                    &lt;hr/&gt;&lt;em&gt;前往&lt;a href=&#34;https://www.sciroccogti.top/post/2018-10-05-vs/&#34;&gt;网页&lt;/a&gt;以阅读全文。&lt;/em&gt;
                </description>
            </item>
        <item>
                <title>About</title>
                <link>https://www.sciroccogti.top/page/about/</link>
                <pubDate>Fri, 05 Oct 2018 22:00:00 +0800</pubDate>
                
                <guid>https://www.sciroccogti.top/page/about/</guid>
                <description>&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://1drv.ms/b/s!AjrAeqZd99XDgoxALPh1tfMAKefLRw?e=wXIscS&#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;ul&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;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;时间&lt;/th&gt;
          &lt;th&gt;内容&lt;/th&gt;
          &lt;th&gt;奖项&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;17-18学年&lt;/td&gt;
          &lt;td&gt;LabVIEW俱乐部宣传部，青年志愿者协会宣传部&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;2017-10-11~11-10&lt;/td&gt;
          &lt;td&gt;创新体验竞赛&lt;/td&gt;
          &lt;td&gt;校级三等奖&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;2017-10-15~12-25&lt;/td&gt;
          &lt;td&gt;智能车竞赛&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;2017-10-21&lt;/td&gt;
          &lt;td&gt;李文正图书馆整理&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;2017-10-21&lt;/td&gt;
          &lt;td&gt;鼓楼区图书馆整理&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;2017-11-03&lt;/td&gt;
          &lt;td&gt;江南梦模联安理会志愿者&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;2017-11-10&lt;/td&gt;
          &lt;td&gt;爱心卡贴发放志愿者&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;2017-11-29&lt;/td&gt;
          &lt;td&gt;李文正图书馆整理&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;2017-12-13~2018-02-25&lt;/td&gt;
          &lt;td&gt;跨年晚会宣传组&lt;/td&gt;
          &lt;td&gt;优秀志愿者&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;2018-04-15&lt;/td&gt;
          &lt;td&gt;全国大学生英语竞赛&lt;/td&gt;
          &lt;td&gt;全国三等奖&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;2018-04-29~05-02&lt;/td&gt;
          &lt;td&gt;结构竞赛&lt;/td&gt;
          &lt;td&gt;校级优秀奖&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;2018-05-12~05-16&lt;/td&gt;
          &lt;td&gt;数模校赛&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;18-19学年&lt;/td&gt;
          &lt;td&gt;LabVIEW俱乐部宣传部部长，Robocup校队&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;2018-09-25~10-20&lt;/td&gt;
          &lt;td&gt;Robocup Kidsize校赛&lt;/td&gt;
          &lt;td&gt;校级二等奖&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;2018-10-21~2019-03-10&lt;/td&gt;
          &lt;td&gt;智能车竞赛&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;2019-04-14&lt;/td&gt;
          &lt;td&gt;全国大学生英语竞赛&lt;/td&gt;
          &lt;td&gt;全国二等奖&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;2019-05-16~05-20&lt;/td&gt;
          &lt;td&gt;数模校赛&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;2019-07-01~09-08&lt;/td&gt;
          &lt;td&gt;中国机器人大赛先进视觉3D测量&lt;/td&gt;
          &lt;td&gt;全国三等奖&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;19-20学年&lt;/td&gt;
          &lt;td&gt;042177学习委员，智能车校队&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;2019-04-01~2020-08-12&lt;/td&gt;
          &lt;td&gt;融合图像、声音和手语信息的视频标注&lt;/td&gt;
          &lt;td&gt;省级优秀&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;2019-09-20~10-20&lt;/td&gt;
          &lt;td&gt;Robocup Kidsize校赛&lt;/td&gt;
          &lt;td&gt;负责培训、裁判&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;2019-10-20~07-30&lt;/td&gt;
          &lt;td&gt;智能车竞赛&lt;/td&gt;
          &lt;td&gt;校级一等奖&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;2020-05&lt;/td&gt;
          &lt;td&gt;基于深度学习的足球机器人视觉识别方法&lt;/td&gt;
          &lt;td&gt;论文二作&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;2020-05-20&lt;/td&gt;
          &lt;td&gt;一种融合图像和声音信息的视频标注方法&lt;/td&gt;
          &lt;td&gt;专利二作&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;2020-06-23&lt;/td&gt;
          &lt;td&gt;Foldest文件夹一键整理软件&lt;/td&gt;
          &lt;td&gt;软件著作权&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;2020-07-31~08-25&lt;/td&gt;
          &lt;td&gt;智能车华东赛&lt;/td&gt;
          &lt;td&gt;省级二等奖&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;20-21学年&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;2020-08-18~10-23&lt;/td&gt;
          &lt;td&gt;2020年全国人工智能大赛 AI+无线通信&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;2020-11&lt;/td&gt;
          &lt;td&gt;融合图像与声音信息的视频标注&lt;/td&gt;
          &lt;td&gt;论文二作&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;2020-11-12~11-15&lt;/td&gt;
          &lt;td&gt;2020RoboCup 机器人世界杯中国赛季军&lt;/td&gt;
          &lt;td&gt;全国二等奖&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;2020-12-10&lt;/td&gt;
          &lt;td&gt;本科生单项奖&lt;/td&gt;
          &lt;td&gt;社会实践优秀奖&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;2021-01-25~2021-05-14&lt;/td&gt;
          &lt;td&gt;参与某公司Raptor Code相关项目，负责并行加速和算法优化&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;2021-04-17&lt;/td&gt;
          &lt;td&gt;东南大学无锡校友会教育奖励基金&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;21-22学年&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;2021-09-23~&lt;/td&gt;
          &lt;td&gt;参与国家重点研发计划面向6G开放的仿真与原型验证平台，负责cuda函数封装至MATLAB&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;2021-09-28~2022-11&lt;/td&gt;
          &lt;td&gt;参与校企合作低复杂度LDPC 编译码研究项目，负责SIMD加速和算法复现及优化&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;2022-03-01&lt;/td&gt;
          &lt;td&gt;偶然被SegmentFault 思否评为&lt;a class=&#34;link&#34; href=&#34;https://segmentfault.com/a/1190000041478447&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;2021中国开源码力榜&lt;/a&gt;前百开发者:&lt;a class=&#34;link&#34; href=&#34;https://github.com/OpenSourceWin/OpenSourceWin.github.io/blob/175734a692c565aa3aab967905ddbd7b5e7f6902/source/Sciroccogti/index.md&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Sciroccogti&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;2022-05-31&lt;/td&gt;
          &lt;td&gt;参与校企合作无线AI创新技术合作研究，负责优化信道估计、算法研发&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;22-23学年&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;2023-01-05~09-16&lt;/td&gt;
          &lt;td&gt;东南大学GitLab站长（首任），组织开发维护小组部署和维护校内GitLab站&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;2023-05-29~07-05&lt;/td&gt;
          &lt;td&gt;2023 华为杯 无线通信算法菁英赛&lt;/td&gt;
          &lt;td&gt;三等奖&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;2023-06-28~09-01&lt;/td&gt;
          &lt;td&gt;华为上海研究所MBB研究部实习&lt;/td&gt;
          &lt;td&gt;问天社区月度优秀贡献奖&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

                    &lt;hr/&gt;&lt;em&gt;前往&lt;a href=&#34;https://www.sciroccogti.top/page/about/&#34;&gt;网页&lt;/a&gt;以阅读全文。&lt;/em&gt;
                </description>
            </item>
        <item>
                <title>BD网盘无限速配置方法</title>
                <link>https://www.sciroccogti.top/post/2018-10-05-bd%E7%BD%91%E7%9B%98%E6%97%A0%E9%99%90%E9%80%9F%E9%85%8D%E7%BD%AE%E6%96%B9%E6%B3%95/</link>
                <pubDate>Fri, 05 Oct 2018 22:00:00 +0800</pubDate>
                
                <guid>https://www.sciroccogti.top/post/2018-10-05-bd%E7%BD%91%E7%9B%98%E6%97%A0%E9%99%90%E9%80%9F%E9%85%8D%E7%BD%AE%E6%96%B9%E6%B3%95/</guid>
                <description>&lt;img src="https://cdn.sciroccogti.top/static/img/covers/baidupan.jpg" alt="Featured image of post BD网盘无限速配置方法" /&gt;&lt;h1 id=&#34;proxyee-down-安装教程&#34;&gt;Proxyee Down 安装教程
&lt;/h1&gt;&lt;h2 id=&#34;下载链接&#34;&gt;下载链接
&lt;/h2&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://dl.lancdn.com/landian/software/Proxyee/Win/Proxyee%20Down.3.03.windows.x64.zip&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;蓝点网-x64&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;初始配置&#34;&gt;初始配置
&lt;/h2&gt;&lt;h3 id=&#34;1---解压在你喜欢的位置后双击proxyee-downexe&#34;&gt;1.   解压在你喜欢的位置后，双击&lt;em&gt;Proxyee Down.exe&lt;/em&gt;
&lt;/h3&gt;&lt;p&gt;&lt;img src=&#34;https://img.lancdn.com/landian/2018/09/50578-1.png&#34;
	width=&#34;722&#34;
	height=&#34;375&#34;
	
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;192&#34;
		data-flex-basis=&#34;462px&#34;
	
&gt;&lt;/p&gt;
&lt;h3 id=&#34;2---进入程序后点击扩展管理-安装&#34;&gt;2.   进入程序后，点击扩展管理-&amp;gt;安装
&lt;/h3&gt;&lt;p&gt;&lt;img src=&#34;https://img.lancdn.com/landian/2018/09/50578-2.png&#34;
	width=&#34;726&#34;
	height=&#34;289&#34;
	
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;251&#34;
		data-flex-basis=&#34;602px&#34;
	
&gt;&lt;/p&gt;
&lt;h3 id=&#34;3---安全警告中-是&#34;&gt;3.   安全警告中-&amp;gt;是
&lt;/h3&gt;&lt;p&gt;&lt;img src=&#34;https://img.lancdn.com/landian/2018/09/50578-3.png&#34;
	width=&#34;725&#34;
	height=&#34;428&#34;
	
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;169&#34;
		data-flex-basis=&#34;406px&#34;
	
&gt;&lt;/p&gt;
&lt;h3 id=&#34;4---关闭全局代理尤其是酸酸乳用户因为会替代酸酸乳配置&#34;&gt;4.   关闭全局代理（尤其是&lt;em&gt;酸酸乳&lt;/em&gt;用户，因为会替代酸酸乳配置）
&lt;/h3&gt;&lt;h3 id=&#34;5---按照下图说明下载并启用扩展&#34;&gt;5.   按照下图说明下载并启用扩展
&lt;/h3&gt;&lt;p&gt;&lt;img src=&#34;https://img.lancdn.com/landian/2018/09/50578-4.png&#34;
	width=&#34;1004&#34;
	height=&#34;386&#34;
	
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;260&#34;
		data-flex-basis=&#34;624px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;若您是火狐浏览器用户：（我懒得写了）&lt;a class=&#34;link&#34; href=&#34;https://www.landiannews.com/archives/50580.html&#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;h3 id=&#34;打开全局代理开关&#34;&gt;打开全局代理开关
&lt;/h3&gt;&lt;h3 id=&#34;打开任意一个百度网盘页面此时你应当能看见pd下载按钮&#34;&gt;打开任意一个百度网盘页面，此时你应当能看见&lt;em&gt;PD下载&lt;/em&gt;按钮
&lt;/h3&gt;&lt;p&gt;&lt;img src=&#34;https://img.lancdn.com/landian/2018/09/50578-7.png&#34;
	width=&#34;794&#34;
	height=&#34;403&#34;
	
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;197&#34;
		data-flex-basis=&#34;472px&#34;
	
&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;酸酸乳&lt;/em&gt;用户请注意：若要保证酸酸乳和&lt;em&gt;Proxyee Down&lt;/em&gt;不冲突，你需要安装一个chrome插件：&lt;a class=&#34;link&#34; href=&#34;https://github.com/proxyee-down-org/proxyee-down/wiki/%E5%AE%89%E8%A3%85%E6%89%A9%E5%B1%95#%E4%BD%BF%E7%94%A8-switchyomega-%E6%8E%A5%E7%AE%A1%E4%BB%A3%E7%90%86&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Proxy SwitchyOmega&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;原因：&lt;em&gt;Proxyee Down&lt;/em&gt;使用&lt;code&gt;MITM&lt;/code&gt;(中间人攻击)技术实现的，使用&lt;a class=&#34;link&#34; href=&#34;https://github.com/monkeyWie/proxyee&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;proxyee&lt;/a&gt;框架拦截和修改&lt;code&gt;HTTP&lt;/code&gt;或&lt;code&gt;HTTPS&lt;/code&gt;的请求和响应报文，从而实现对应的扩展脚本注入。&lt;/p&gt;
&lt;/blockquote&gt;

                    &lt;hr/&gt;&lt;em&gt;前往&lt;a href=&#34;https://www.sciroccogti.top/post/2018-10-05-bd%E7%BD%91%E7%9B%98%E6%97%A0%E9%99%90%E9%80%9F%E9%85%8D%E7%BD%AE%E6%96%B9%E6%B3%95/&#34;&gt;网页&lt;/a&gt;以阅读全文。&lt;/em&gt;
                </description>
            </item>
        <item>
                <title>Categories</title>
                <link>https://www.sciroccogti.top/page/categories/</link>
                <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
                
                <guid>https://www.sciroccogti.top/page/categories/</guid>
                <description>
                    &lt;hr/&gt;&lt;em&gt;前往&lt;a href=&#34;https://www.sciroccogti.top/page/categories/&#34;&gt;网页&lt;/a&gt;以阅读全文。&lt;/em&gt;
                </description>
            </item>
        <item>
                <title>Friends</title>
                <link>https://www.sciroccogti.top/page/links/</link>
                <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
                
                <guid>https://www.sciroccogti.top/page/links/</guid>
                <description>
                    &lt;hr/&gt;&lt;em&gt;前往&lt;a href=&#34;https://www.sciroccogti.top/page/links/&#34;&gt;网页&lt;/a&gt;以阅读全文。&lt;/em&gt;
                </description>
            </item>
        <item>
                <title>Search</title>
                <link>https://www.sciroccogti.top/page/search/</link>
                <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
                
                <guid>https://www.sciroccogti.top/page/search/</guid>
                <description>
                    &lt;hr/&gt;&lt;em&gt;前往&lt;a href=&#34;https://www.sciroccogti.top/page/search/&#34;&gt;网页&lt;/a&gt;以阅读全文。&lt;/em&gt;
                </description>
            </item>
        <item>
                <title>Tags</title>
                <link>https://www.sciroccogti.top/page/tags/</link>
                <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
                
                <guid>https://www.sciroccogti.top/page/tags/</guid>
                <description>
                    &lt;hr/&gt;&lt;em&gt;前往&lt;a href=&#34;https://www.sciroccogti.top/page/tags/&#34;&gt;网页&lt;/a&gt;以阅读全文。&lt;/em&gt;
                </description>
            </item>
        
    </channel>
</rss>
