Xheldon Blog

The Answer to Life, the Universe and Everything is...

免费使用私有仓库发布 GitHub Pages

前言 最近研究了下 Github Pages 配合 Github Actions,觉得很适合自己的个人博客的场景,遂有此文。 我的博客之前是直接在源码放在 repo 中,使用 Github Pages 提供的默认的 Jekyll,然后设置自定义域名。但是这样有以下几个问题: 无法隐藏源码。你的 _post 目录下的文章可以随意的复制然后放到别的地方当作他们自己的内容。 无法隐...

博客优化技巧

前言 早些时候写过一篇 关于本博客域名优化配置的几点说明 ,其中的有些方法手段已经不用了,同时又新增了其他一些方法并将其应用到本 Jekyll 的博客, 其中有些细节需要注意,遂有此文。 CDN 服务 之前关于 CDN 的服务是 使用百度 cdn 服务和七牛静态资源托管 , 将 img.xheldon.com 解析到七牛云上,然后再在七牛云上增加相关静态资源。但是由于一些众所周知的原因...

「译」ProseMirror 中的协同编辑实现

翻译中没有弄明白的我就不翻译了,直接贴相应原文,等我搞明白了再翻译,以免误人子弟贻笑大方。

本博文描述了被使用在 ProseMirror 中的协同编辑技术。而对于 ProseMirror 的介绍,你可以查看这里 协同编辑的问题 一个实时协同编辑系统表示可能有多人在同时对相同的文档进行编辑。该系统保证文档保持同步–某个用户的对文档的更改会被发送给其他用户,并将这些更改显示在他们的文档中。 由于通过任何类型的网络中传输这些更改都是需要时间的,因此此类系统的复杂性在于它们处理并发更...

我的数字生活

“21 世纪最重要的是不要浪费时间在没有意义的事情上”

前言 生活在一个数字时代, 见过太多低效率, 难用的软件/服务, 浪费时间不说, 还浪费精力(比如生气/着急/退款之类的耗费精力的事情), 也因此免不了踩过不少坑. 因此一直想跟大家分享一些我日常生活使用软件方面的一些经验和拙见. 另外人各有爱, 加上是在少数派的处女文, 因此如果有一些跟贵站气质不符的地方还请多指教. 笔记 Notion 得益于 Notion 强大的导出功能,已...

2020元旦日本行

“日本真的是一个神奇的国家” 媳妇儿说

前言 跟媳妇儿在一起之后,俩人从来没有出国玩儿过。她倒是经常出国浪,我是一次国也没出过,因此我们就计划趁着元旦时候出去浪一把,于是选择了离我们最近的日本,先去刷刷国外旅游的经验,为以后去欧洲度蜜月做铺垫。 买机票的时候是提前了好几个月的,因此当时还没有疫情,从日本回来之后感觉国外旅游体验比国内好多了,还想着以后能去欧洲玩儿。疫情之后想起这事儿,还觉得还好元旦去了国外旅游了一趟,不然未来几...

使用 Sinon 测试 ES6 模块

最近一周在修补前人的测试, 使用到了 Sinon, 遇到了一些问题, 因此记录一下

前言 下面说的虽然只有 Sinon 的 spy 接口, 但是对于 stub 等接口也同样适用 测试用到了 Mocha Sinon Chai 库/框架, 这里不做介绍 spy 一个单独导出的模块 有如下模块 foo.js, 导出一个 foo 函数 1 2 3 export function foo { return 'foo'; } 有如下一个模块 bar...

从 Evernote 转移到苹果自带备忘录

前言 我对笔记类应用有洁癖, 同类应用只允许存在一个, 而且需要满足我以下要求, 如果恰好跟你的需求不一样, 那不用往下看了: 大公司出品 苹果平台上稳定同步速度快(不用 PC 不考虑) 笔记可迁移, 通用性好 美观大方排版棒 1/2 优先级最高, 如果非常能满足 1/2 的要求, 3/4 可以忽略 家庭共享协作 Evernote 不是不好, 而是在”苹果倒...

JavaScript 中的数据结构和算法

前言 虽然知道自己很努力, 也进入过大公司. 但是一直以来自己在计算机科学的基础方面都很薄弱, 因为自己并不是科班出身, 因此很希望能够通过后天弥补拉近与科班出身同学的差距, 因此作为程序员的三大梦(语言/算法/图形)之一, 数据结构和算法一直是我心头的一个心病, 总是在空闲的时间逛一些技术社区的时候被一些标题党的数据和算法相关标题吸引进去, 点进去看后又空洞无物. 因此终于下定决心要好好...

Linux 下的文件权限备忘

本文是当初在学习 Linux 基础的时候写的一篇博客, 从旧的 WordPress 博客迁移而来

前言 经常使用命令行的同学会看到一些文件之前有这样一些字符 -rw-r--r-- 共十位, 这代表了不同用户组对当前文件/文件夹操作权限. 如: 1 2 3 4 drwxr-xr-x 9 x staff 288 9 25 23:37 . drwxr-xr-x 15 x staff 480 9 24 23:48 .. drwxr-xr-x 16 x staff ...

正确理解 C 语言中的指针

本文是当初学习 C 语言时写过的一篇博客, 从老的 WordPress 博客中恢复过来的

前言 新手在学习 C 语言的时候常常对指针有些困惑, 下面就说说我对指针的理解. 先弄清楚几个问题 变量的本质 变量的本质是一个指向某个内存地址的名称表示. 编译后的目标代码中并没有变量名字, 编译器在编译阶段会将变量名字和和其表示的内存地址建立一个映射表, 记录变量类型/名称/地址. 当声明一个变量的时候,实际上就是在向操作系统申请一段内存地址; 赋值的时候, 就是在向这个地址填...