这里介绍的是一种软件实现方案——它可以使没有 M.2 插槽BIOS 不支持 NVMe 协议的台式电脑通过 M.2 to PCIE 转接卡 用上 NVMe 固态硬盘,其原理是:由 U 盘或非 NVMe 硬盘来提供最初的系统引导,借助 Clover 加载 NVMe 驱动之后将后续的系统引导交回给 NVMe 固态硬盘。

阅读全文 »

校验身份证号是否正确

假设身份证号所在单元格是 D5,公式如下:

=IF(D5="","",(IF(MID("10X98765432",MOD(SUMPRODUCT(MID(D5,ROW(INDIRECT("1:17")),1)*2^(18-ROW(INDIRECT("1:17")))),11)+1,1)=MID(D5,18,18),"正确","错误")))

Excel VBA

批量增加行高

Execl 的“自动换行”和“自动调整行高”功能,存在 2 个问题,会导致我们需要手动为每一行调节行高:

  1. 两行的字体之间没有空隙,显得密集,看起来不舒服;
  2. 单元格里文字有多行的时候,由于大部分打印机的打印质量是 200/300/600 DPI, 而电脑显示质量一般是 96 DPI,所以打印出来后可能有部分单元格内容显示不全。

解决方法:批量调节行高,代码如下:

Sub AddRowHeight()

Application.ScreenUpdating = False
rh = InputBox("请输入待增行高值:", , 10)
For i = 1 To ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row
If Application.WorksheetFunction.CountA(Rows(i)) > 0 Then
Rows(i).RowHeight = Rows(i).RowHeight + rh
End If
Next i
Application.ScreenUpdating = True

End Sub
阅读全文 »

升级系统时,有时会出现这个错误信息:

error: vim: signature from "Levente Polyak (anthraxx) <levente@leventepolyak.net>" is unknown trust
:: File /var/cache/pacman/pkg/vim-8.2.0100-1-x86_64.pkg.tar.zst is corrupted (invalid or corrupted package (PGP signature)).
Do you want to delete it? [Y/n]
error: failed to commit transaction (invalid or corrupted package)
Errors occurred, no packages were upgraded.

可以尝试以下步骤:

  1. 更新 archlinux-keyring
1
pacman -Sy archlinux-keyring
  1. 更新所有密钥
1
pacman-key --refresh-keys
阅读全文 »

在地址栏上增加 ?standalone=1&standalone=1 ,假如原来的地址是:

https://www.google.com/intl/zh-CN/chrome/

修改后变成:

https://www.google.com/intl/zh-CN/chrome/?standalone=1

访问修改后的网址,点击下载,这时下载的就是独立安装包了。

启用 Guest 账户方式

  1. 方法一:
    右击 “开始” 按钮 -> 计算机管理 -> 系统工具 -> 本地用户和组 -> 用户 -> 右击 “Guest” 用户 -> 属性 -> 取消勾选 “账户已禁用” 。

  2. 方法二:
    右击 “开始” 按钮 -> 运行 -> 输入 %windir%\system32\secpol.msc /s ,打开本地安全策略 -> 安全设置 -> 本地策略 -> 安全选项 -> 在右侧列表找到“帐户: 来宾帐户状态” -> 双击,选中里面的“已启用”,确定。

阅读全文 »

文件夹别名

在使用 Windows 系统时,会发现部分英文路径中的目录显示的却是中文名(如:显示为“我的文档”真实的文件名为 Documents )。如果我们想建立一个目录放文件,需要使用英文路径,但是为了美观,用中文别名,这又是怎么实现的呢?

在当前目录新建一文件 desktop.ini ,修改其内容如下:

[.ShellClassInfo]
LocalizedResourceName=显示名称

由于系统缓存的关系,文件名未及时改变。用下面的方法让它立刻生效。

右击文件夹 -> 属性 -> 自定义 -> 更改图标;随便选一个图标,然后点击确定。

这时会发现文件名已变成我们要设置的名称,我们刚刚创建的 desktop.ini ,会被设置为“受系统保护的文件”并隐藏起来。

重新打开 desktop.ini ,会发现里面多了一行用来描述图标的。

[.ShellClassInfo]
LocalizedResourceName=显示名称
IconResource=C:\Windows\system32\SHELL32.dll,7

如需恢复默认,可按如下操作恢复。

右击文件夹 -> 属性 -> 自定义 -> 更改图标 -> 还原默认值-> 确定。

阅读全文 »

写好接口给 Java 的小伙伴调用,遇到使用Java发送http或者https请求的需求。和小伙伴在网上遛了一圈,找了很多代码都没能成功发送 Content-Type 为 “application/x-www-form-urlencoded” 的 POST 请求( T_T 可能我们不熟悉 Java )。最后,发现 M1mory 的能用。因此,稍作修改记录下来,方便以后使用。

阅读全文 »

安装

1
2
3
4
5
6
7
8
REPO="xenial"
echo "deb http://ubuntu.kurento.org $REPO kms6" | sudo tee /etc/apt/sources.list.d/kurento.list
wget http://ubuntu.kurento.org/kurento.gpg.key -O - | sudo apt-key add -
apt update
useradd -U -m kurento
apt install -y kurento-media-server-6.0
systemctl start kurento-media-server-6.0
systemctl enable kurento-media-server-6.0
阅读全文 »

文件权限

批量修改当前目录及子目录中的文件夹权限为 775 、文件权限为 664

1
find . -type f -exec chmod 664 {} \+ -o -type d -exec chmod 775 {} \+

find

find 命令中 exec 参数 + 结尾与 ; 结尾有什么区别?

阅读全文 »