首页
关于
推荐
百度一下
Search
1
欢迎使用 Typecho
311 阅读
2
ubuntu向日葵安装
274 阅读
3
RSA 密钥生成
267 阅读
4
frp 安装配置
261 阅读
5
grade 下载地址
222 阅读
默认分类
typecho
Java
Android
Web前端
openssl
Linux
版本管理
登录
Search
爱琴海笨鱼
累计撰写
8
篇文章
累计收到
1
条评论
首页
栏目
默认分类
typecho
Java
Android
Web前端
openssl
Linux
版本管理
页面
关于
推荐
百度一下
搜索到
8
篇与
的结果
2025-07-16
CSS之MP4背景动态缩放
需求项目上要求用一个视频做背景, 给到的文件是一个4k的若干秒视频,webui设计图1080p, 且没有提供个其他分辨率资料, 故根据屏幕分辨率动态缩放<template> <div class="index-root"> <div class="index-video-bg"> <video autoplay muted loop :style="getVideoScale()"> <source src="@/assets/video/bg_4k.mp4" type="video/mp4"> 您的浏览器不支持视频标签。 </video> </div> </div> </template>.index-root { display: flex; flex-direction: column; position: relative; overflow: hidden; height: 100vh; width: 100vw; justify-content: center; .index-video-bg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden; z-index: 0; video { min-width: 100%; min-height: 100%; width: auto; height: auto; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); object-fit: cover; } } }computed: { getVideoScale() { return () => { if (this.videoScale && this.videoScale > 0) { return 'transform: translate(-50%, -50%) scale(' + this.videoScale + ');'; } return ''; }; }, }, mounted() { const screenWidth = window.screen.width; const screenHeight = window.screen.height; let number1 = screenWidth / 3840; let number2 = screenHeight / 2156; if (number1 < 1.0 || number2 < 1.0) { this.videoScale = Math.max(number1, number2); } },大致流程便是如此, 实际使用还需要完善一些其他逻辑!!!
2025年07月16日
1 阅读
1 评论
0 点赞
2025-07-15
SSH免密连接(密钥对认证)
前言2台主机间文件同步需求介绍rsync 是一种高效的文件同步工具,广泛用于 Linux 系统中。它可以在本地计算机与远程计算机之间,或者两个本地目录之间同步文件。rsync 的一个显著特点是它仅传输变化的文件部分,这种增量备份方式大大提高了数据传输的效率# 安装 sudo apt update sudo apt install rsync # 运行 rsync -avz --progress --delete 用户名@远程服务器地址:/远程/路径/ /本地/路径/ # 直接运行, 输入yes, 输入远程主机密码即可 rsync -avz --progress --delete aqhby@192.168.0.106:/opt/1panel/apps/gogs/gogs/data/git/gogs-repositories/ /opt/1panel/apps/gogs/gogs/data/git/gogs-repositories/ -a:归档模式(archive)递归复制目录及其子目录。保留文件的所有属性(如权限、时间戳、所有者等)。等价于 -rlptgoD(递归、链接、权限、时间、组、所有者、设备文件)。-v:详细模式(verbose)显示同步过程的详细信息,包括复制的文件名、进度等。-z:压缩传输(compress)在传输过程中对文件进行压缩,减少网络传输量,适合远程同步。--progress:显示进度实时显示每个文件的传输进度(已传输字节、速度、完成百分比)。--delete:删除目标多余文件使目标目录与源目录完全一致,删除目标中不存在于源的文件。注意:此参数需谨慎使用,可能导致数据丢失!免密同步配置为了实现免密传输,可以通过生成和配置 SSH 密钥来避免每次同步时输入密码如果想要rsync免密同步 则需要进行 rsync 配置原理:client (你面前的机器) 有私钥 .ssh/id_rsaserver(被连的机器) 的~/.ssh/[authorized_keys] 存着本机的公钥(最先在本机上存在于.ssh/id_rsa.pub), 就可以免密登陆根据这个原理, 手动复制粘贴就行. 下面是用命令减少手工劳动的办法:首先,在本地主机上生成 SSH 密钥。使用以下命令:# 这条命令将会生成一个 RSA 类型的 2048 位的密钥对。你可以根据需要选择其他类型和位数 ssh-keygen -t rsa -b 2048 # 或者 ssh-keygen # 遇到 Enter passphrase 时; 不要输入。如果输入, 连接时会被要求 密钥密码 输入密码复制本地 .ssh/id_rsa.pub 内容, 粘贴在 server .ssh/authorized_keys 文件中; 注意!!! 一条记录只占一行 将公钥复制到远程主机 将生成的公钥复制到远程主机上,可以使用 ssh-copy-id 命令:# 用户名@远程主机 ssh-copy-id aqhby@192.168.1.106也可以手动复制再次运行, 则不再提示输入密码rsync -avz --progress --delete aqhby@192.168.0.106:/opt/1panel/apps/gogs/gogs/data/git/gogs-repositories/ /opt/1panel/apps/gogs/gogs/data/git/gogs-repositories/
2025年07月15日
2 阅读
0 评论
1 点赞
2025-07-15
git 删除历史提交文件
前言在软件开发中,有时候因为各种原因忘记完善 .gitignore 文件导致提交了很多不必提交的文件, 后期编译导致大量的文件发生变更提交。针对这种情况,需要从git所有提交中删除这些变更。介绍如果你想从 Git 仓库的所有提交历史中删除特定文件,可以使用 git filter-repo 工具(推荐)或 git filter-branch(较旧的方法)。这将重写整个提交历史,因此请确保在操作前备份仓库或创建一个新分支操作为了数据安全, 建议操作前备份数据!!!使用 git filter-repo(t推荐)首先安装 git filter-repo(如果尚未安装),然后执行以下命令:# 安装 git filter-repo(根据你的系统选择合适的安装方式) # Ubuntu/Debian: sudo apt-get install git-filter-repo # macOS (Homebrew): brew install git-filter-repo # Windows (Git for Windows): git filter-repo --version # 通常已包含 # 从所有提交中删除指定文件或目录 git filter-repo --invert-paths --path path/to/file1 --path path/to/dir/ # 示例:删除所有提交中的 secrets.txt 和 logs/ 目录 git filter-repo --invert-paths --path secrets.txt --path logs/ # 强制推送至远程仓库(注意:这会覆盖远程历史) git push origin --force --all 使用 git filter-branch(旧方法)如果无法使用 git filter-repo,可以使用 git filter-branch(但性能较差):# 从所有提交中删除指定文件, 文件夹需要带 -r git filter-branch --force --index-filter 'git rm -r --cached --ignore-unmatch path/to/file' \ --prune-empty --tag-name-filter cat -- --all # 强制推送至远程仓库 git push origin --force --all处理复杂路径(含空格或特殊字符) 如果路径中包含空格或特殊字符,需要用双引号或转义字符处理:git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch "path/to/my dir" path/to/file\ with\ space.txt' \ --prune-empty --tag-name-filter cat -- --all操作后的清理无论使用哪种方法,操作后都应执行以下命令清理残留对象并减小仓库体积:git for-each-ref --format='delete %(refname)' refs/original | git update-ref --stdin git reflog expire --expire=now --all git gc --prune=now --aggressive 错误处理fatal: delete refs/original/refs/heads/doorFace_dual_xct: expected SP but got: ?问题原因 git for-each-ref 默认输出原始引用名,若引用名中包含空格、问号等特殊字符,会破坏 git update-ref 期望的命令格式(delete )。解决方案 使用更健壮的引用名处理方式,避免特殊字符干扰:# 使用 --shell 选项确保引用名被正确转义 git for-each-ref --shell --format='delete %(refname)' refs/original | sh 备选方案如果上述方法仍有问题,可以手动查看并删除 refs/original/ 下的引用:# 查看所有 refs/original/ 引用 git show-ref | grep refs/original/ # 手动删除(逐个执行,替换 <refname> 为实际引用名) git update-ref -d refs/original/<refname> 操作实例建议操作之前将所有.gitignore完善, 然后提交。确保缓存区无数据。# 第一步 git filter-branch --force --index-filter 'git rm -r --cached --ignore-unmatch .idea/ app/src/main/protogen/ \ app/src/generated/ app/src/main/java/com/aqhby/doorface/facehelper/facedb/autogen/ app/release/ app/.cxx/' \ --prune-empty --tag-name-filter cat -- --all # 第二步 git show-ref | grep refs/original/ # 第三步 git update-ref -d refs/original/refs/heads/doorFace_Dual_xct git update-ref -d refs/original/refs/heads/master git update-ref -d refs/original/refs/remotes/origin/doorFace_Dual_xct git update-ref -d refs/original/refs/remotes/origin/doorFace_xct_branch git update-ref -d refs/original/refs/remotes/origin/master # 第四步 # 安全清理引用 git for-each-ref --shell --format='delete %(refname)' refs/original | sh # 清除 reflog 并垃圾回收 git reflog expire --expire=now --all git gc --prune=now --aggressive # 查看历史提交文件, 文件已经不存在。 结束
2025年07月15日
2 阅读
0 评论
0 点赞
2024-01-09
grade 下载地址
grade下载地址
2024年01月09日
222 阅读
0 评论
0 点赞
2023-11-29
ubuntu向日葵安装
向日葵远程软件安装概括# 1. 下载 # 2. 安装, sudo dpkg -i sunxxx.deb # 3. 如果依赖错误 sudo apt-get install -f -y 或者 sudo apt install -f -y # 4.如果第三步出错就更新源 sudo apt-get update sudo apt-get upgrade # 然后重新执行 sudo apt-get install -f -y1. 下载进入 官网点击 立即下载 后选择对应自己的linux版本, 此处我选择的是ubuntu有图形版本 和 命令行版本, 命令行版本 不支持发起远控, 此处我们下载 图形版本下载完成后2. 安装打开 ubuntu terminal, (快捷键 Ctrl+Alt+T)# 切换root su # 安装 dpkg -i SunloginClient_11.0.1.44968_amd64.deb # 或者直接 sudo 安装 sudo dpkg -i SunloginClient_11.0.1.44968_amd64.deb 如下如所示,已经安装成功启动向日葵软件/usr/local/sunlogin/bin/sunloginclient或者直接搜索启动安装失败处理安装时如果出现下面类似情况原因及解决方法缺少依赖包,使用命令sudo apt-get install -f -y 即可解决并完成deb的安装 若使用 sudo apt-get install -f -y 出现下图提示原因软件源未更新,使用命令sudo apt-get update更新;之后再次输入sudo apt-get install -f -y 完成安装
2023年11月29日
274 阅读
0 评论
0 点赞
1
2