编码备忘录
发表于更新于
字数总计:1.4k阅读时长:6分钟阅读量:
Ubuntu右上角网络图标消失
1 2 3
| sudo service NetworkManager stop sudo rm /var/lib/NetworkManager/NetworkManager.state sudo service NetworkManager start
|
参考:Ubuntu22.04右上角网络图标消失
textarea增加tab缩进
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| <n-input type="textarea" @keydown.tab.prevent="addTab"/> <script setup> function addTab(event) { const { selectionStart, selectionEnd } = event.target; const value = info.value.content;
info.value.content = value.substring(0, selectionStart) + ' ' + value.substring(selectionEnd);
nextTick(() => { event.target.selectionStart = event.target.selectionEnd = selectionStart + 2; }); } </script>
|
参考:Js textarea 支持tab缩进
固定大小vmdk、vdi扩容
进入VirtualBox安装目录
1 2 3 4 5 6 7 8
| # vmdk转换成vdi VBoxManage.exe clonehd source.vmdk target.vdi --format VDI # 创建新虚拟介质,大小为扩容后需要的大小 VBoxManage.exe createhd -filename "D:\vx\docker1\server2008r2_810g" -size 151920 -format VDI -variant Standard # 克隆命令 VBoxManage.exe clonehd "D:\vx\docker1\docker1.vdi" "D:\vx\docker1\server2008r2_810g.vdi" --existing # vdi转换成vmdk VBoxManage.exe clonehd source.vdi target.vmdk --format VMDK
|
参考:
- vdi转vmdk VirtualBox与VMware硬盘格式转换及使用方法
- virtualBox 常用命令行操作
- VirtualBox扩容失败-Progress state: VBOX_E_NOT_SUPPORTED Resizing to new size 16231956480 is not yet
VM虚拟机无法CV文件
1、确认安装 open-vm-tools-desktop
1
| sudo apt install open-vm-tools-desktop
|
2、登录系统时,右下角设置选择 xorg 显示服务
参考:解决无法往 VMware 虚拟机复制粘贴文件的问题
Vue3父子组件传值双向绑定
父组件:
1 2 3 4
| <QRCode v-model:showModal="showModal"></QRCode> <script setup> const showModal = ref(false); </script>
|
子组件:
1 2 3 4 5 6 7 8 9 10 11 12 13
| <n-modal v-model:show="localShowModal"></n-modal> <script setup> const props = defineProps(['showModal']); const emit = defineEmits(['update:showModal']); const localShowModal = computed({ get(){ return props.showModal; }, set(value){ emit('update:showModal', value); } }); </script>
|
Vite配置@符路径
vite.config.js1 2 3 4 5 6 7 8 9 10 11
| import {resolve} from "path" export default defineConfig({ resolve: { alias: [ { find: '@', replacement: resolve(__dirname, "src") } ] }, });
|
参考:在vite项目配置src路径别名为 “@”
Vite低版本浏览器兼容
安装 plugin-legacy 和 terser 压缩器1 2
| npm install @vitejs/plugin-legacy -D npm add -D terser
|
vite.config.js1 2 3 4 5 6 7 8 9 10 11 12 13 14
| import legacy from '@vitejs/plugin-legacy' export default defineConfig({ plugins: [ vue(), legacy({ targets: ['defaults', 'not IE 11'], modernPolyfills: true }), ] })
|
app.vue 中添加1 2 3 4 5 6 7 8 9 10 11 12 13 14
| !(function (t) { function e() { var e = this || self; (e.globalThis = e), delete t.prototype._T_; } "object" != typeof globalThis && (this ? e() : (t.defineProperty(t.prototype, "_T_", { configurable: !0, get: e, }), _T_)); })(Object);
|
参考:vite项目低版本浏览器兼容性问题
Vite环境变量
新建 .env 和 .env.local
1
| VITE_API_BASE_URL=http://127.0.0.1:3000
|
import.meta.env
使用环境变量
1
| import.meta.env.VITE_API_BASE_URL
|
参考:
- 环境变量和模式
- vite中环境变量的使用与配置(非常详细)
node项目环境变量
package.json1 2 3 4
| "scripts": { "start": "node ./bin/www", "dev": "set NODE_ENV=development&& nodemon ./bin/www" },
|
安装 dotenv,区分开发和生产环境
1 2 3 4 5 6
| const dotenv = require('dotenv') if(process.env.NODE_ENV === "development"){ dotenv.config({ path: ".env.local" }); }else{ dotenv.config(); }
|
新建 .env 和 .env.local
1
| MODB_URL=mongodb://127.0.0.1:27017/
|
使用环境变量
开启/关闭Hyper-v
执行命令后重启电脑1 2 3 4
| # 开启 bcdedit /set hypervisorlaunchtype auto # 关闭 bcdedit /set hypervisorlaunchtype off
|
SSH相关
SSH的小问题那可太多了,这里记录一下
no hostkey alg
该错误表示 SSH 客户端在尝试连接远程主机时,没有找到匹配的主机密钥算法。这通常是由于远程主机和客户端之间的配置不匹配导致的。
解决办法1 2 3 4 5
| vim /etc/ssh/sshd_config # 添加一行: HostKeyAlgorithms +ssh-rsa,ssh-dss #重启sshd服务 service sshd restart
|
免密登陆配置
将本地公钥添加到服务器的 ~/.ssh/authorized_keys
文件中
配置使用密钥登陆
1 2 3 4 5 6 7 8
| Host qcqx HostName 8.******* Port 22 User root ForwardAgent yes PreferredAuthentications publickey IdentityFile "C:\Users\64507\.ssh\test.rsa" IdentitiesOnly yes
|
修改 /etc/ssh/sshd_config
文件
1 2 3 4 5
| PubkeyAuthentication yes RSAAuthentication yes AuthorizedKeysFile .ssh/authorized_keys StrictModes no PubkeyAcceptedAlgorithms +ssh-rsa
|
ssh配置免密码登录至Linux—已配置密钥仍无法登陆等问题
ssh-rsa not in PubkeyAcceptedAlgorithms
ssh-rsa已被弃用,事实上,出于安全原因默认禁用,应该避免。使用rsa-sha2-256或rsa-sha2-512代替
修改 /etc/ssh/sshd_config
文件
1
| PubkeyAcceptedAlgorithms +ssh-rsa
|
SSH server gives “userauth_pubkey: key type ssh-rsa not in PubkeyAcceptedAlgorithms [preauth]” when connecting with Putty
win下ssh找不到config和密钥
window下,ssh会去找 HOME
环境变量下的 .ssh 文件夹。需要确保该环境变量存在。
为火狐单独写CSS
任何以以 @-moz- 开头的规则都是 Gecko 引擎特定的规则,而不是标准规则
url-prefix(url) 规则将包含的样式规则应用于 URL 以其开头的任何页面。不带 URL 参数使用时,适用于所有页面。
用它来适配scrollbar滚动条1 2 3 4 5 6
| @-moz-document url-prefix() { * { scrollbar-width: thin; scrollbar-color: #43b4ffc0 transparent; } }
|
参考:只为 Firefox 编写 CSS 规则
wsl 相关
wsl的小问题、小细节可太多了
wslhost
给wsl的动态ip设置host,方便外部连接
1 2 3 4 5
| vim /etc/profile # 添加下面内容 ipaddr=$(ifconfig eth0 | grep 'inet ' | awk '{print $2}') sed -i '/wslhost/d' /mnt/c/Windows/System32/drivers/etc/hosts echo "$ipaddr wslhost" >> /mnt/c/Windows/System32/drivers/etc/hosts
|
sudo免密
1 2 3
| sudo visudo # 加上一行 <用户名> ALL=(ALL) NOPASSWD:ALL
|
wsl自动启动ssh服务
1 2
| vim ~/.bashrc # 编辑.bashrc,添加ssh服务状态判断 sudo service ssh status | grep -q 'not running' && sudo service ssh start
|
vscode 插件发布
1 2 3 4
| vsce login qcqx vsce package vsce publish
|