精选分类

软件开发

游戏工坊

网络安全

博客搭建

文章列表

8.3k字20 分钟

上篇已经说明账户授权、消息和附件的存储结构,以及文件传输的过程。 这一篇接着讨论数据保存之后的问题:多台设备怎样读取和修改同一份消息,历史记录怎样归档,以及删除后如何恢复或清理。 仍以 OneDrop 1.0.3 为准。 # 多设备同步、冲突与归档 # 消息同步与缓存 # 触发同步的时机 OneDrop 的同步主要由客户端主动拉取。 打开界面、回到前台、手动刷新和发送相关流程都会触发对应的读取,因为没有一个自建服务持续向所有客户端推送消息,这也是无服务器方案的一种妥协。 关闭浏览器以后,也就不能把它当作始终在线的即时消息系统。 界面重新回到前台时,还会检查距离上次同步已经过去多久,避免每次切
15k字36 分钟

《基于 OneDrive 的跨设备传输工具》中,大致介绍了 OneDrop 项目,包括它目前的安装方式和后续计划等内容。 本文为实现部分的一些算法和思路的分享,分成上下两篇。这篇先讲 Microsoft 账户怎样接入,以及文本和文件怎样保存、上传和下载。 下篇接着说明多台设备怎样同步消息,以及冲突、归档、删除和恢复的处理。 OneDrop 不自建服务器,省去了部署和维护一套存储服务的工作,但客户端仍然需要处理消息本身的状态。 比如两台设备可能同时修改一份记录,文件可能已经上传而消息提交失败,删除操作也需要让其他设备知道。 本文以 OneDrop 1.0.3 版本为准,平台入口、共享界面与 O
3.3k字8 分钟

OneDrop 是我做的一个跨设备传输工具,通过用户自己的 OneDrive 在设备之间传递文本和文件。
本文整理一下做它的原因、各个平台的发布情况,以及后续的计划。
实现细节方面的内容,就后面再补充。
相关内容已经整理在《OneDrop 的消息存储与多端同步》的上篇和下篇中。

12k字26 分钟

Git 负责记录版本,GitHub 则提供仓库托管、问题讨论和代码审查。知道如何使用它们是必备的技能。
把代码推上去只是其中一步,后面还会遇到分支怎么分、提交怎么拆、什么时候合并,以及怎样自动检查和发布。
这里,本文将按照进行一次改动并提交到项目中的过程,把这些事情整理一下。

10k字23 分钟

本文记录一下我目前自用的终端主题样式。
Oh My Zsh 是一个管理 Zsh 配置的框架,提供了主题、插件和一些常用配置。
我最初是为了美化终端,才选择了 Zsh 和 Oh My Zsh 这套方案。

虽然官方提供的主题样式很多,但我尝试之后,总觉得大部分太花哨,简洁一些的又不太符合我的审美,所以最终还是自己设计了一个自用的终端主题。

后面我将从现有配置开始,把自定义主题的方法、主题配置中常用的提示符,以及我正在使用的插件整理一下。

7.8k字19 分钟

我试图在 2.0+ 版本中修复 mod: Ciri in Night City - Main Menu Background Replacer,添加对往日之影 Logo 的支持。 Update 1.1.0:v1.0.0 中,载入游戏时的动画消失了,我将其修复,但最后一个动画也会变成被更改的主菜单背景 写在前面:加载动画丢失的问题,归根到底是因为这个原 Mod 对背景的修改手段太粗暴了,而往日之影 Logo 缺失,则是因为这个 Mod 过期了。 如果想修复丢失的加载动画,直接跳到 “找回丢失的加载动画” 阅读就行。 这一节将从头开始构建这个 Mod。 原 Mod 启动效果图,可以看到没有往
2.9k字7 分钟

本文内容会有些许凌乱,因为是 Mod 开发过程中,我对 archive 的一些文件代表的内容的想法。 而且本人没有接触过 3D 动画、游戏制作这方面的内容,描述会存在很多不专业的地方。 # 文件类型和作用 # xbm 这是一种图片类型的文件,对应游戏中出现的一些贴图的资源。 通过 WolvenKit 可以查看图片的内容,比如 expansion_logo.xbm,如下所示: # inkatlas 这是某种代表了对 xbm 图片进行具体 ” 分割 “ 利用的文件。 比如 expansion_logo.xbm 对应的 expansion_logo.inkatlas,内容如下: 再次展开这个
2.2k字5 分钟

Shoka-X 主题做了很多更新,所以趁有空更新一下主题。 因为当初对这个主题自定义的内容不少,所以在这里记录一下主题更新的流程。毕竟最开始的时候,修改了不少这个主题的内容,还是很麻烦的。 为了以后的主题更新着想,能不修改就不修改主题的源文件。 PS:发现了插件功能 🎉,顺便把页脚的一言功能改一改,交个 issue # 安装 Shoka-X 主题的改动不少,而且涉及到对主题文件的修改,因此新建一个文件夹,重新安装。 使用 ShokaX 即食罐头: git clone https://github.com/theme-shoka-x/shokax-c
6.3k字14 分钟

做桌面一言时,我希望能把一言窗口直接放在 Windows 桌面上。为此写了插件 electron-addtodesktop,把桌面窗口操作封装成 attach 和 detach 两个接口,在 Electron 主进程中调用。

这个扩展由 JavaScript 和 C++ 两部分组成。下面从窗口句柄的传递开始,整理桌面嵌入的实现,以及把原生扩展做成 npm 包时需要处理的内容。