noice.nvim在cmdline中的光标自动滚动到最前面的bug
前言最新把 neovim 升级到最新版本0.11.1,lazyvim 升级到14.x。然后不出意外就挂了好几个 plugin。其中 noice.nvim 是影响比较小的但比较膈应人的。 bug描述 当在cmdline模式输入命令的时候光标总是会莫名其妙的滚动到最前面。我本来以为是noice.nvim的问题,但是经过测试,发现只有在itermn2的非全屏模式下才会出现,全屏模式或者其他终端模拟器则不会出现类似的问题。 解决好在bug: Cursor jumps in cmdline - 4.5.0中有小哥也遇到过类似的问题,他在iTerm2中禁用”由会话触发的窗口调整大小”功能解决了这个问题(设置路径:Settings > Profiles > [我的配置文件] > Terminal > 勾选”Disable session-initiated window resizing”),然后就好了。 其他在https://superuser.com/questions/113944/how-to-prevent-screen-from-resizing-my...
在windows系统中如何给rust如何配置字节源
rust中如何配置字节源前言本文的目的是在windows上安装或更新rust的时候通过配置字节的国内源来提高安装/更新速度。非windows系统就可以直接参考rsproxy 配置说明在powershell中设置 Rustup 镜像 12$ENV:RUSTUP_DIST_SERVER='https://rsproxy.cn'$ENV:RUSTUP_UPDATE_ROOT='https://rsproxy.cn/rustup' 安装或者更新Rust 如果是安装rust,直接点击rust-init.exe 如果是更新rust,直接运行rustup update命令 1rustup update 设置 crates.io 镜像在当前用户的主目录(以我本地为例:D:\Users\daming)下的.cargo文件夹中创建config文件。 12345678910[source.crates-io]replace-with = 'rsproxy-sparse'[source.rsproxy]registry = &qu...
使用apache commons-csv读写csv文件
使用apache commons-csv读写csv文件前言本文的目的是使用apache commons-csv读写csv文件。 定义实体Worker是通过ai随机定义的一个java类型: 12345678910111213141516171819202122232425262728public class Worker { private String id; private String employeeNumber; private int version; private String lastName; private String firstName; private String gender; private String department; private String position; private LocalDate hireDate; private String email; private String phoneNumber; private String sta...
在k3s中配置私有镜像仓库
前言本文的目的是实现在k3s中可以访问使用docker部署registry。 部署registry启动一个一次性容器用于创建账号密码.密码文件路径以/root/registry/htpasswd为例,账号密码以admin和12345678为例. 123docker run --rm --entrypoint \ htpasswd httpd:2 -Bbn \ admin 12345678 > ./registry/htpasswd 编写docker compose的yaml文件用于启动registry。 123456789101112131415161718192021222324services: registry: image: registry:2 container_name: registry volumes: # - ./config.yml:/etc/docker/registry/config.yml - ./htpasswd:/auth/htpasswd - ./...
在armbian上使用snap安装neovim
概述最近搞了一台armbian的机子,想在上面安装neovim,但是发现apt上的nvim版本太低了,只有0.4.0好像。经过一番的搜索,发现Snaps可以满足我的要求。 Snaps介绍Snaps是由Canonical提供的跨分发包管理系统的工具.Snaps 基本上是一个与其依赖项和库一起编译的应用程序——为应用程序运行提供了一个沙盒环境。它们安装起来更容易、更快捷,可以接收最新更新,并且不受操作系统和其他应用程序的限制。 安装Snaps使用apt安装Snap; 1sudo apt install snapd 安装neovim使用snap安装neovim: 1sudo snap install --classic nvim 检查一下noevim的版本: 1nvim --version 输出如下: 1234NVIM v0.10.4Build type: RelWithDebInfoLuaJIT 2.1.1713484068Run "nvim -V1 -v" for more info 参考资料 如何在各种 Linux 发行版中安装和使用 Snap
在k8s中如何强制删除处于Terminating状态的namesapce
概述在k3s中删除一个namespace十分简单,就是一个命令的事儿: 1kubectl delete ns ${namespace} 但是可能存在删除失败或者namespace一直处于Terminating状态的话,那么上面的命令可能行不通。这里介绍两种实用的解决方案去帮助我们解决。 注意: 这两种方案可能存在错误删除的情况,请谨慎操作。 强制删除kubectl提供force和grace-period=0两个参数帮助我们强制删除namespace: 1kubectl delete ns ${namespace} --force --grace-period=0 说明: –force:强制删除资源,跳过正常的删除流程。 –grace-period=0:立即删除资源,不等待任何清理操作。 使用Kubernetes API 删除获取处于Terminating状态的namespace: 1kubectl get ns |grep Terminating |awk {'print $1'...
Spring Security 中基于用户信息的动态密码加密
Spring Security 中基于用户信息的动态密码加密前言通过自定义 Spring Security 的 DaoAuthenticationProvider,可以实现根据用户信息的不同,动态切换不同的密码加密方式。这种方法允许您根据用户的角色、组或其他属性,选择最合适的加密算法,从而提高安全性或满足特定的业务需求。 DaoAuthenticationProviderDaoAuthenticationProvider是用于实现用户名密码的登陆AuthenticationProvider,通过自定义实现additionalAuthenticationChecks方法可以实现从UserDetails获取一个字段从而动态获取密码加密服务。 实现自定义DaoAuthenticationProvider: 1234567891011121314151617181920212223242526272829303132333435363738394041@Componentpublic class HotelerAuthenticationProvider extends DaoAuthe...
2024年度总结
2024年度总结对我来说,2024年是一个特别有意义的一年。8月24号,我美丽又可爱的宝宝出生了,体验到了初为人父的喜悦;10月7号,国庆节刚过,公司人事就开邮件通知我我的岗位被取消了。 初为人父的喜悦孩子的出生时间其实挺意外的。由于老婆在9月初有一场很重要的考试,所以不能耽搁,所以原来计划在20号去医院打催产素的,结果因为报告晚了一天,然后就被通知不用打催产素,已经开始见红了。不过开宫口的速度很慢,过两天还是上催产素了。我记得那个时候我在家里呆着,医院我有丈母娘陪着,反正又不可能那么急着生出来,我就回家先好好休息,打算第二天过去。结果第二天我丈母娘就通知我让我赶紧过去签字给我老婆打催产素。一波三折,到最后这个催产素还是打上去了。在6号待产室,晚上6点06分,7斤2两,我可爱的儿子就这样子平平安安的出生了。说实话,我并没有在第一时间听到孩子的哭声,相反这个小家伙睡的死死的。我伸过去看看了他,第一感觉他好丑啊,头型怪怪的,有点拉长的样子。听医生说,刚出生的小宝宝通常产道的挤压,出来的时候头多多少少会有点拉长的样子,等长大点就好了。 孩子的出生,对我来说是一个特殊的人生里程碑,从这一...
script标签中的defer和async
浏览器中script标签中的defer和async有什么区别,优缺点是什么,应用场景是什么?在 HTML 中,<script> 标签的 defer 和 async 属性用于控制脚本的加载和执行方式,尤其是在处理 JavaScript 文件时。它们之间的主要区别和应用场景如下: 1. defer 功能:脚本在文档解析完成后执行,但在 DOMContentLoaded 事件之前执行。 加载顺序:defer 脚本会按照它们在文档中的出现顺序加载并执行。 应用场景:适用于依赖于 DOM 完全加载的脚本,或者需要按顺序执行多个脚本的情况。 优点: 确保 DOM 元素在脚本执行时已存在,避免了因元素未加载而导致的错误。 不会阻塞 HTML 的解析,可以提高页面加载性能。 示例:12<script src="script1.js" defer></script><script src="script2.js" defer></script> 2. async 功能:脚本会在下载完成后立即执...
css的模拟面试
css变量是什么CSS 变量(也称为自定义属性)是 CSS 中用于定义可重用值的特性。它们使用 -- 前缀定义,可以在整个样式表中被引用和复用,从而提高代码的灵活性和可维护性。 1. 定义 CSS 变量CSS 变量通常在 :root 选择器中定义,这样它们可以在整个文档中使用: 12345:root { --primary-color: #3498db; --font-size: 16px; --spacing: 1rem;} 以上定义的 --primary-color、--font-size 和 --spacing 就是 CSS 变量。 2. 使用 CSS 变量CSS 变量使用 var() 函数进行引用: 12345button { background-color: var(--primary-color); font-size: var(--font-size); padding: var(--spacing);} 在这里,var(--primary-color) 引用了之前定义的变量 --primary-colo...
