理解 Kotlin 的协变和逆变 协变和逆变 协变和逆变的本质是在处理”类型替换的安全性保证”这个问题 这是类型系统用来保证类型安全的机制 本质上是在处理”什么样的类型替换是安全的”这个问题 协变和逆变提供了明确的规则来判断类型替换的安全性 协变 (out)协变(out)通过限制类型参数只能用在输出位置,从而保证了类型安全 协变关注的是”类型替换的安全性” 协变保证了”子类型可以替换父类型”的里氏替换原则 安全性来自于” 2024-12-19 技术向 Kotlin
VPS 使用 SSH-KEY 登陆 创建文件并设置权限mkdir ~/.ssh touch ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys 之后将本地的公钥复制到authorized_keys 修改SSH配置文件文件位置/etc/ssh/sshd_config 有注释就取消注释,没有就添加,或者直接添加也可以 RSAAuthentication yes PubkeyA 2022-06-07 记录向 vps
bug 解决记录 recyclerview使用notifyItemRangeChanged()导致页面刷新后直接崩溃在调用刷新的函数中调用 recyclerView.scrollToPosition(0) PS: 不要在viewmodel的observe方法中调用 2022-05-24 记录向 bug
FFmpeg 合并多个 mp4 mp4 文件过多的情况下一条条敲命令显然不够优雅, 这里使用 python 来生成 bash 脚本来合并 mp4 编写合并脚本安装 natsort 解决 python 的排序问题 pip3 install natsort 新建一个 concat_sh.py 文件 import os from natsort import natsorted L = [] # 访问 mp4 文件夹 for ro 2021-11-27 记录向 FFmpeg
Debian 11 安装最新 Nginx 网上找到教程大多都是编译安装, 太喜欢折腾了… 直接 apt install nginx 就能安装最新版永远都是最省心的 官方库安装导入密钥wget https://nginx.org/keys/nginx_signing.key apt-key add nginx_signing.key 添加库编辑 /etc/apt/sources.list 文件, 添加 deb http://nginx.o 2021-11-23 记录向 Debian Nginx
FFmpeg 在 macOS 下使用 GPU硬件加速 功能 废话不多说, 直接看例子: ffmpeg -hwaccel videotoolbox -i input.mkv -c:v hevc_videotoolbox -b:v 13M -c:a copy output.mkv -hwaccel videotoolbox 表示使用 macOS 的 videotoolbox 硬件编码器 hevc_videotoolbox 表示使用 hevc 编码器, 要 2021-06-02 记录向 FFmpeg macOS
macOS 美化 iTerm2 方案 今天尝试给 iTerm2 换完主题后发现效果非常不错, 就发到博客上记录一下. 效果图 开始前提开始之前请安装好以下工具: iTerm2 (废话) FiraCode (某些字符需要 powerline patched font 才能显示) Homebrew Git 把 iTerm2 字体改为 FiraCode 安装 Oh My ZshOh My Zsh 是一个开源的 zsh 管理工具, 可以让 2021-05-21 记录向 macOS iTerm2
记一次解决 trustd 占用大量 CPU 的过程 升级 macOS Big Sur 后偶然后发现 trustd 进程一直占用 cpu 高达 99%, 查阅一番后了解到 trustd 是用来管理 HTTPS 以及 App证书, 和钥匙串的. 知道它是干什么的之后解决起来就简单多了, 直接把钥匙串文件 System.keychain 删了即可解决. 备份删除 System.keychain 文件先把 System.keychain 备份到桌面, 2021-05-19 记录向 macOS
在 macOS Big Sur 上关闭平滑字体 将系统更新到 Big Sur 之后, 字体变得很粗, 看起来很模糊. 原因是苹果取消了 系统偏好设置 -> 通用 -> LCD 平滑字体 选项并重新启用了 LCD 平滑字体, 要想关闭也很简单, 在终端输入下列命令 defaults -currentHost write -g AppleFontSmoothing -int 0 重新登录后生效 Note你可以通过调整命令末尾的数字来调 2021-05-07 记录向 macOS
Hexo+Github+VPS 同步方案 在 GitHub 部署完 Hexo, 使用了之后非常喜欢, 博主原来的博客是用 WordPress 搭建的, 众所周知的原因在 WordPress 上使用 MarkDown 写博客是十分的痛苦, 就算是使用插件也有从写到发布的烦恼, 所以干脆就把原来的 WordPress 换成了 Hexo. Hexo 可以直接用 MarkDown 写文章, 写完后只要一条命令就能发布, 可以说是非常的方便和畅快 2021-05-02 技术向 Hexo