序言

最近准备重装笔记本的系统,因此要备份文件,存到台式机里。我将要备份的文件夹压缩,通过 Windows 自带的文件夹共享(局域网共享),传输这些压缩包。

但是,传输过程却非常艰难。有的压缩包有 10 几个 GB,传了一分钟,网速就没了,之后就开始报超时之类的错误。更离谱的是,有个压缩包在两台电脑上摘要算法的结果不同。

显然,windows SMB 协议既不能保证速度,也不能保证数据正确性,于是我开始寻找更加好用的局域网传输软件。它,就是本文的主角 —— LocalSend

阅读全文 »

序言

随着 Markdown 的普及,使用传统文本编辑器写作的效率显得低下,尤其表现在一些复杂语法,比如插入表格,或者插入图片。

Typora 作为业界知名的 Markdown 编辑器,除了著名的『即时渲染』,也拥有很多方便书写 Markdown 的功能,比如插入图片时的自动保存:往一个 Markdown 文件(文本文件)中粘贴一张图片,该图片便会自动保存到指定路径,并且自动在 Markdown 中建立好引用。

对于经常用 Markdown 记笔记的我来说,这一功能应该成为业界的标准。但是,另一款常用的编辑器 —— VS Code —— 对这一功能的支持并不好。当然,我们也不应该苛求这样一款免费、通用的编辑器能够面面俱到。

需求

对于经常记笔记的用户,截图并插入 Markdown 是一个常见的需求。在这一操作的背后,有两个方面关乎着用户体验:1️⃣ 截图工具 2️⃣Markdown 编辑器。

在截图工具一致的情况下,Markdown 编辑器是决定用户体验的关键因素。下面我将展开介绍 3 种编辑器是如何插入图片的。

阅读全文 »

序言

Nvidia VSR (Video Super Resolution) 通过 AI 技术优化视频的画面质量,主要表现在锐化低分辨率的视频上。该技术最初只支持 Chrome 和 Edge 浏览器。

如何在本地视频播放器中体验这项技术?PotPlayer 最近发布了相关更新,支持了该技术。

PotPlayer 是目前数一数二的视频播放器,也是我的主力播放器。趁着这次更新,我来记录一下如何在 PotPlayer 上使用 Nvidia Super Resolution.

浏览器开启 VSR

本小节先介绍一下如何让 Chrome 和 Edge 浏览器使用 Nvidia Super Resolution。

阅读全文 »

序言

MySQL 支持 JSON 类型的字段。相比字符串类型的字段, JSON 类型有如下好处:

  • 自动检查 JSON 语法是否正确
  • 底层支持快速存取 JSON 中的元素。不需要将整个 字符串 全部读取出来,再解析成 JSON 对象

在逻辑上,JSON 与 POJO 无异。Spring MVC 已经实现了 Controller 层两者的自动转化,这体现在请求参数和返回值上。那么,Repository 层如何实现两者的自动转换呢?

本文展示了通过使用 MyBatis-Plus,无侵入式地实现持久层 JSON 与 POJO 的自动映射(ORM, Object Relational Mapping)

案例演示

数据库表

阅读全文 »

序言

控制器方法( handler )中负责请求参数校验。

传统的写法是在每个方法的开头对所有请求参数进行校验,如果存在参数不满足条件,则抛出异常,或者提前返回错误。

Validation API 提供了一系列的注解,通过将这些注解标记在 entity 类的属性上,Spring MVC 会根据这些注解的语义,自动完成请求参数校验。如果参数不满足条件,则抛出异常。这节省了开发者手动校验请求参数的麻烦。

负责自动参数校验的类实际上是由 Spring Boot 自动装配导入的,因此我们要使用对应的 starter 依赖。

案例演示

依赖

阅读全文 »
0%