<?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>/</link>
    <description>Recent content on </description>
    <generator>Hugo -- gohugo.io</generator>
    <lastBuildDate>Sun, 20 Oct 2024 00:00:00 +0000</lastBuildDate>
    
	<atom:link href="/index.xml" rel="self" type="application/rss+xml" />
    
    
    <item>
      <title>当我想要在 Windows 平板上阅读漫画时</title>
      <link>/posts/when-i-want-to-read-comics-on-a-windows-tablet/</link>
      <pubDate>Sun, 20 Oct 2024 00:00:00 +0000</pubDate>
      
      <guid>/posts/when-i-want-to-read-comics-on-a-windows-tablet/</guid>
      <description>被物欲控制 这个时代，到处都是广告，可能是街头巷尾的海量宣传，也可能是隐藏在各大社交平台的隐形广告
之前有一段时间，老是给我推送电纸书的视频，也是看了很久，了解了很多，关于墨水屏的技术；各大国产厂商文石，掌阅的产品，也了解了一些海外厂商，亚马逊的 Kindle，kobo 等等
我个人的需求大概是既可以使用微信读书，也可以看我本地下载的漫画，所以想要一台8寸左右的电纸书
这个时候，我又刷到了很多 IPad 的视频，我又觉得平板确实是电纸书的上位替代，因为它的功能是电纸书的超集（除了护眼），而且我可能真的需要尝试一下无纸化学习（真的吗），于是我又了解了很多 IPad 产品线的信息，差点就下单 IPad Pro 了
有一天晚上躺在床上想起《搏击俱乐部》，“胡适之啊胡适之！你怎么能如此堕落！“，于是下定决心克制物欲，遂放弃购买新的电子产品，尽量减少花在社交平台上的时间，远离诱惑，这时候想起有一台闲置的 Surface 平板，于是开始折腾
开始折腾 关于 PC 端的微信阅读，我之前已经解决了，感兴趣可以阅读这篇博客
所以主要需要解决的问题是如何在 PC 端阅读漫画
YACReader YACReader 是一个开源的多平台本地漫画阅读器，我先是在 PC 上安装了这个软件，一开始是非常开心的，因为基本上满足我的所有阅读需求，而且非常流畅，但是当我将它放在 Surface 上开始全屏阅读时，发现它并不能支持触屏，这让我很意外
我一开始的解决思路是，设置快捷键，看能不能设置音量键翻页或者映射触屏，音量键翻页手感不佳且会唤出音量修改界面，至于映射触屏好像无法做到
于是开始寻找解决方案，幸运的是 YACReader 官网有一个讨论论坛，不幸的是，我发现早在将近八年前就反馈了这个问题，而且这个帖子的互动也暴露了开源社区常见的问题：开源开发者的时间有限，为爱发电实属不易
这个帖子的评论区有使用者给出了解决办法，比如设置简单的操作逻辑，也有人给出了微软触屏组件的 API，但是
&amp;gt;开发者表示：&amp;rdquo;It is an open source project, why don&amp;rsquo;t you add touch support yourself? It is a task fairly easy to do.&amp;rdquo;
&amp;gt;有使用者表示：&amp;rdquo;If it&amp;rsquo;s a such an easy task why does the original developer not add it himself&amp;hellip;&amp;hellip;&amp;rdquo;</description>
    </item>
    
    <item>
      <title>Algorithm | 前缀和</title>
      <link>/posts/prefix-sum/</link>
      <pubDate>Tue, 04 Jun 2024 00:00:00 +0000</pubDate>
      
      <guid>/posts/prefix-sum/</guid>
      <description>一维前缀和 对于数组 a，定义它的前缀和数组 s 为:
s[0] = 0 s[1] = a[0] + a[1] s[2] = a[0] + a[1] + a[2] ......  根据这个定义，有
s[i+1] = s[i] + a[i]  通过前缀和，我们可以把连续子数组的元素和转换成两个前缀和的差
a[left]到a[right] 的元素和等于s[right+1]−s[left]
为什么要定义 s[0]=0，这样做有什么好处？
如果 left=0，要计算的子数组是一个前缀，从 a[0] 到 a[right]，我们要用 s[right+1]减去 s[0]。如果不定义 s[0]=0，就必须特判 left=0的情况了。通过定义 s[0]=0，任意子数组（包括前缀）都可以表示为两个前缀和的差
此外，如果 a 是空数组，定义 s[0]=0 的写法是可以兼容这种情况的
给出如下实现供参考：
class NumArray: def __init__(self, nums: List[int]): self.pre = [0] for v in nums: self.pre.append(self.pre[-1] + v) def sumRange(self, left: int, right: int) -&amp;gt; int: return self.</description>
    </item>
    
    <item>
      <title>宣告---献给遇罗克</title>
      <link>/posts/%E5%AE%A3%E5%91%8A-%E7%8C%AE%E7%BB%99%E9%81%87%E7%BD%97%E5%85%8B/</link>
      <pubDate>Tue, 04 Jun 2024 00:00:00 +0000</pubDate>
      
      <guid>/posts/%E5%AE%A3%E5%91%8A-%E7%8C%AE%E7%BB%99%E9%81%87%E7%BD%97%E5%85%8B/</guid>
      <description>也许最后的时刻到了
我没有留下遗嘱
只留下笔，给我的母亲
我并不是英雄
在没有英雄的年代里
我只想做一个人
宁静的地平线
分开了生者和死者的行列
我只能选择天空
决不跪在地上
以显出刽子手们的高大
好阻挡自由的风
从星星的弹孔里
将流出血红的黎明</description>
    </item>
    
    <item>
      <title>PC微信读书最佳实践</title>
      <link>/posts/the-best-practices-of-wechat-reading-on-pc/</link>
      <pubDate>Wed, 29 May 2024 00:00:00 +0000</pubDate>
      
      <guid>/posts/the-best-practices-of-wechat-reading-on-pc/</guid>
      <description>为什么需要微信读书 我的需求： - 可跨端阅读，保存上次阅读的位置 - 可导入本地图书，我需要阅读专业书籍或其他文本 - 最好可以记录阅读数据 - 最好可以自定义阅读界面，比如字体，字号，行距，段距等
我一开始找了很多 PC 端的阅读器，比如Flow，Sumatra PDF，Koodo Reader，作为阅读器来说他们绝对是合格的，但是有些同步不方便，有些 UI 非常简陋，终究是没有找到一个非常合适的阅读器，或多或少都有一些缺点
而 Web 版的微信读书，优点是可以跨端阅读也可以记录阅读数据，缺点是免费导入的本地图书每月只有3本，也不可以自定义阅读界面，不过综合考虑下来，我觉得在 PC 端上阅读，Web 版的微信读书值得一试
配置微信读书 将网页安装为应用 如果要使用 Web 版的微信读书，每次打开浏览器再使用，是非常麻烦的，不过好在 Edge 中有一个功能，可以将网页安装为应用，非常方便
进入微信读书首页，然后点击右上角三个点，在应用选项中选择“将此站点作为应用安装”，选择创建桌面快捷路径即可
如果你想了解更多，详细可参考这里
其他问题 美化 打开应用后，可以调整窗口大小，使整个页面充满文字，阅读体验接近手机
但是你在右边可能会看到滚动条无法隐藏，这里需要使用一个拓展插件，隐形滚动条，在 Edge 中安装，然后重启 Edge 即可
它会默认在页面顶部显示一个红色的进度条，可以在插件设置中，修改透明度，使其完全不可见
做完以上两件美化，应该说阅读体验就变得可以接受了
导入本地图书 免费导入的本地图书每月只有3本，但在付费会员期间是可以导入无限量图书的，解决办法很简单：充值会员
如果你已经准备好了大量的书籍等待导入，那么可以进行1元7天打卡挑战，挑战成功后可以获得4天会员，会员期间可以无限量导入</description>
    </item>
    
    <item>
      <title>On My Posh 的使用</title>
      <link>/posts/the-usage-of-on-my-posh/</link>
      <pubDate>Sat, 02 Mar 2024 00:00:00 +0000</pubDate>
      
      <guid>/posts/the-usage-of-on-my-posh/</guid>
      <description>本文基于Windows 11 Professional 22H2，低于这个版本的Windows可能需要对Terminal进行额外的更新操作
 前言 在用Helix的时候，突然感觉Windows的终端看起来有点emm..所以就想改变一下外观
On My Posh是一款全平台终端提示符个性化工具，简要地讲，它可以让你的终端（那个黑框框，或者蓝框框）变得稍微好看一点
配置 下载与安装 （建议使用网络工具进行以下操作）
方法一：使用winget进行安装
Windows一直缺乏一个完善的官方包管理系统，微软商店也因为一些众所周知的原因不是很好用，不过2020年微软推出了winget，也算是填补了这一点
使用Power Shell 运行以下命令安装Oh My Posh
winget install JanDeDobbeleer.OhMyPosh -s winget  方法二：进入微软商店搜索On My Posh进行下载
然后下载作者推荐的MesloLGM NF字体，下载后解压，全选右键点击安装即可自动安装
进行配置 在Terminal中按ctrl + ,打开配置文件，点击左下角打开JSON文件，找到profiles-defaults，修改为如下代码：
&amp;quot;defaults&amp;quot;: { &amp;quot;colorScheme&amp;quot;: &amp;quot;Campbell&amp;quot;, //颜色方案 &amp;quot;font&amp;quot;: { &amp;quot;face&amp;quot;: &amp;quot;MesloLGM NF&amp;quot; //字体 }, &amp;quot;opacity&amp;quot;: 100 //不透明度 },  新建Terminal，输入notepad $profile使用笔记本打开配置文件，输入以下配置信息，并保存
[System.Console]::OutputEncoding=[System.Text.Encoding]::GetEncoding(65001) # 配置默认编码 oh-my-posh init pwsh --config &amp;quot;$env:POSH_THEMES_PATH\material.omp.json&amp;quot; | Invoke-Expression # 配置oh-my-posh的theme  完成后新建Terminal即可看到焕然一新的终端</description>
    </item>
    
    <item>
      <title>如何在一台电脑上使用两个Github账号</title>
      <link>/posts/how-to-use-two-github-accounts-on-one-computer/</link>
      <pubDate>Sat, 28 Oct 2023 00:00:00 +0000</pubDate>
      
      <guid>/posts/how-to-use-two-github-accounts-on-one-computer/</guid>
      <description>原因 很简单，两个账号的用途不一样，不想让两个账号的TimeLine互相污染
理论上来说可以每次手动删除本地的SSH信息，然后切换账号，但这样做有很多缺点：
 需要很多人工操作 如果遇到需要两个账号交替提交代码的情况就会非常折磨
  于是就有了这篇文章
原理 我一开始的打算是生成两个SSH密钥，然后手动配置不同repo中的账户信息，但实际上Github只会默认找到一个固定的SSH进行连接
SSH密钥决定了用户是否有权限访问一个GitHub账号下的repo，本地repo的设置决定了GitHub中commit记录的用户，Github只连接一个固定的SSH决定了我们在正常情况下只能用一个账号
所以问题的核心在于，如何让GitHub基于某种条件，连接不同的SSH，而这个条件对于我们来说是可控的
实际操作 生成密钥 根据两个账号的信息，生成两对密钥
按照自己的命名规则，放置在~/.ssh路径下
分别将这两对密钥加入到对应的 GitHub 账户中
编辑配置 编辑~/.ssh/config文件，若无则新建
（Host名称和id_rsa_one和id_rsa_two名称自定义即可）
# First Host github_one Hostname ssh.github.com IdentityFile ~/.ssh/id_rsa_one # Second Host github_two Hostname ssh.github.com IdentityFile ~/.ssh/id_rsa_two  修改配置后在终端使用如下命令检查配置是否正确
 ssh -T git@github_one ssh -T git@github_two  若返回Hi xxx! You&#39;ve successfully authenticated, but GitHub does not provide shell access.则配置成功
配置repo 之后只需要在添加远程仓库的时候，使用自己设置的Host即可，如：
git remote add origin git@github_one:xxx/xxx.git  实际上就是设置远程仓库时使用不同的 Host 名称，查找~/.</description>
    </item>
    
  </channel>
</rss>