0%

  • hexo版本:6.2.0
  • NexT版本:8.12.2
  • NodeJS版本:16.16

背景修改canvas-nest

step1

在next主题文件夹根目录下的layout/_layout.njk中加入如下代码到footer标签后面即可:

1
2
3
4
5
6
7
8
9
10
{% if theme.canvas_nest.enable %}

<script color="{{ theme.canvas_nest.color }}"
opacity="{{ theme.canvas_nest.opacity }}"
zIndex="{{ theme.canvas_nest.zIndex }}"
count="{{ theme.canvas_nest.count }}"
src="https://cdn.jsdelivr.net/npm/canvas-nest.js@1/dist/canvas-nest.js">
</script>

{% endif %}
阅读全文 »

1.查询所有的硬盘识别码

1
ls -la /dev/disk/by-id/|grep -v dm|grep -v lvm|grep -v part

2.将硬盘直通到TrueNAS

vmid是TrueNAS虚拟机的编号,x是编号,若此虚拟机没有sata设备,则从从0开始,xxxx为硬盘识别码

1
qm set <vmid> --sata[x] /dev/disk/by-id/[xxxxxxx]

背景

最近跟着up司波图在玩一个AIO(All In One)服务器,也就是将软路由,NAS系统以及影音系统都集成到一个物理系统中,我用的是之前买的一个M73的小主机,里面的mini-PCIE插槽扩展了一个螃蟹RTL8111的千兆网卡,主机自带的是Intel的I217-V千兆网卡。

经过一天的使用下来发现每次大流量下载或上传时,openwrt都会断一下,开始还以为是openwrt系统的问题,后来经过一番资料搜索,发现是pve下面的这张Intel网卡有问题,查看了pve系统的日志,发现了如下:

1
pve kernel: e1000e 0000:00:19.0 eno1: Detected Hardware Unit Hang:

这和搜索到的情况一样,于是就确定是这张Intel网卡的问题。

原因

造成该问题的原因是Intel网卡固件的bug

解决方法

在pve虚拟机下关掉网卡的offload功能

1
ethtool -K <网卡编号> tx off rx off >/tmp/e1000e.log

为了方便,不需要每次重启虚拟机之后都手动来关掉,这里设置了一个自启动脚本,原理是pve虚拟机每次启动的呃时候都会扫描/etc/profile.d下面的.sh文件,所以办法很简单,在改文件夹下面新建一个e1000e.sh的文件

1
vim /etc/profile.d/e1000e.sh

然后填入上面的命令即可

参考链接:

解决在x86平台装openwrt旁路由大流量断网问题(intel网卡驱动bug问题)

openWRT在M93p上出现的Detected Hardware Unit Hang

最近尝试了一下Nginx,感觉配置比Apache还要麻烦,折腾了一天,经过自己的不断尝试,总算试出了自己想要的结果。

阅读全文 »

指令模式

快捷键 功能
:q 一般退出
:q! 强制退出不保存
:wq 保存退出
:w fileName 另存为文件名fileName
:set nu 显示行号
:set nonu 取消行号显示

删除

快捷键 功能
dw 删除一个词
dgg 删除至文件开头
dG 删除至文件末尾
dd 删除当前行
d$ 删除本行光标后面的内容
d0 删除本行光标前面的内容

复制粘贴

快捷键 功能
yy 复制当前行
p(小写) 在当前行之后粘贴
P(大写) 在当前行之前粘贴

撤销/恢复

快捷键 功能
u 撤销
ctrl+r 恢复

搜索和替换

快捷键 功能
/text 在文档后面部分搜索text
?text 在文档前面部分搜索text
n 移动到后一个搜索结果
N 移动到前一个搜索结果
:%s/origin/replace/g 将所有origin替换为replace

光标操作

快捷键 功能
w 以单词为间隔向后移动
W 以单位为间隔向后移动,并忽略标点
b 以单词为间隔向前移动
B 以单词为间隔向前移动,并忽略标点
G 移动到文档末尾
gg 移动到文档第一行

参考

https://3ms.huawei.com/hi/group/2036073/wiki_6478138.html

Ubuntu安装MySQL8

1
apt install mysql-server

Debian 安装MySQL8

因为Debian的源中没有MySQL,所以我们需要手动添加

  1. 先去MySQL官网

    选择版本和系统之后,会出来下面这张图片,点击这张图片,进入到第二步

    image-20230826144155692

  2. 下载DEB package

    进入第二个页面后,点击下载按钮,之后会跳转到另外一个页面

    image-20230826144328978

    不需要登录,右键点击最下面的直接下载的链接,复制链接

    image-20230826144446024

    然后到Debian中用wget下载:

1
wget https://dev.mysql.com/get/mysql-apt-config_0.8.26-1_all.deb
  1. 安装
1
dpkg --install mysql-apt-xxx.deb

然后apt update一下,apt install mysql-server就可以找到MySQL的包了。

修改配置

登录MySQL

1
sudo mysql

可以直接登录,只要输入账户密码,登录之后再改密码

1
2
3
4
5
show databases;

use mysql;

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的新密码';

更新域属性,’%’表示任何方式访问

1
update user set host='%' where user ='root';

执行以上语句之后再执行

1
FLUSH PRIVILEGES;

再执行授权语句

1
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;

Debian系统到这里一般就可以远程连接了,Ubuntu可能还需要修改配置文件,注释掉绑定地址。

!!! 若还是有问题,则将/etc/mysql/mysql.conf.d/mysqld.cnf文件中的bind-address注释掉。

LeetCode第350题

给定两个数组,编写一个函数来计算它们的交集。

示例 1:

输入:nums1 = [1,2,2,1], nums2 = [2,2]
输出:[2,2]
示例 2:

输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]
输出:[4,9]

说明:

输出结果中每个元素出现的次数,应与元素在两个数组中出现次数的最小值一致。
我们可以不考虑输出结果的顺序。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/intersection-of-two-arrays-ii

方法一:

用哈希表映射,先把较短的那个数组遍历,存入哈希表中,键是数组中元素的值,值是数组中元素出现的次数
再遍历另外一个数组,从哈希表中找这个数组中的值,看是否存在,存在就将其存入新造的数组中,再将哈希表中该键对应的值减一,如果值减到了0,就将这个键移除去,否则将这个键对应的值减一,在存入哈希表中。

阅读全文 »

工程模板主要是对一些基础设备做好初始化,比如四个锁存器的函数封装、定时器的初始化、数码管显示的初始化以及IIC,onewire和ADC的封装。

废话不多说,直接上代码。

mian.c

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include "common.h"

char temp_count = 0;

void main()
{
init();
init_timer();
while(1)
{
display_temp();
}
}

void timer2() interrupt 12
{
temp_count++;
display();
}
阅读全文 »

为了让自己的spring boot项目能被域名直接访问,而不是IP:端口号的形式访问,需要用到反向代理,简单来讲就是把一个程序运行的地址映射到域名上,实现直接用域名访问。网上很多教程都是针对nignx的,而我用的是apache,也不想折腾把apache换成nignx,找了很久才找到一个可以用的,这里记录一下,方便下次使用。

1.开启Apache的代理模块

在确保Apache安装好之后,通过a2enmod proxy proxy_balancer proxy_http开启Apache的代理模块。

我用的是Ubuntu的Apache和centos下的Apache目录结构似乎有点不一样。

阅读全文 »