go项目中viper读取yaml踩坑记录

go项目中viper读取yaml踩坑记录 1.如何发现 go-gin-demo项目中,token的过期时间总是现在,过期时间是在配置文件里面配置的, 过期时间为当前时间加上有效期,我就在想是不是配置文件没有生效,在控制台打印 出来,结果验证了我的想法,配置文件未生效. 2.如何定位 发现了配置文件未生效,但是为什么未生效呢,我想是只有这项配置未生效还是所有 的配置都未生效,我把其他的配置项打印出来,发现,其他配置都是生效的,我配置文件 的struct写的都是一样的逻辑,为什么单独这项不生效呢.这不合理,于是我又多试了 几次,果然,多试就能发现规律,我发现,凡是yaml配置文件中含有 ‘_‘的,都不生效,所有的 中间不带符号的全部生效 3.如何解决 yaml命名规则网上有很多种,但是为什么带 _ 就不能生效呢,这个需要再去找原因 暂时采用驼峰写法 ReadTimeout...

April 16, 2021 · 1 分钟 · 赵文卓

vim 8设置不保存副本

vim 8设置不保存副本,解决出现 ~ 结尾的文件 在vimrc配置文件中修改,有两种方式 vim ~/.vimrc 1.修改if has (“vms”)后面的else set backup,可以注释掉 2.添加set nobackup,但是要注意,要在if else 的后面,否则被覆盖不生效 ...

March 30, 2021 · 1 分钟 · 赵文卓

编写简单的shell脚本用于方便管理防火墙

编写简单的shell脚本用于方便管理防火墙 最近在看shell脚本,发现这个能大幅降低操作复杂度,你一系列的操作是连续的关联的,就可以写一个shell脚本赖简化操作. 我想批量放开或者关闭防火墙端口,我发现防火墙命令里并没有,有的只是放开一个范围,而且那个命令有些长,每次修改后都要reload一下才能生效,所有我写了三个脚本用于简化 1.批量放开防火墙端口 命令示例 openports 80 443 3000 这样的话就可以一次放开上面三个端口并且重新加载生效 下面是脚本编写 vim openports DARGS=64 if [ -z "$1" ] then echo "Usage:`basename $0` port1, port2... " exit $E_BADARGS fi for arg in $* do firewall-cmd --zone=public --add-port=$arg/tcp --permanent done firewall-cmd --reload 这样就是写了一个for循环把传进来的参数遍历一遍,从而实现批量放开端口最后reload防火墙生效 2.批量关闭防火墙端口 和批量放开相同只是命令 add 变为 remove E_BADARGS=64 if [ -z "$1" ] then echo "Usage:`basename $0` port1, port2... " exit $E_BADARGS fi for arg in $* do firewall-cmd --zone=public --remove-port=$arg/tcp --permanent done firewall-cmd --reload 3....

March 30, 2021 · 1 分钟 · 赵文卓

docker二进制安装

docker 二进制安装 1.下载二进制压缩包 稳定版 wget https://download.docker.com/linux/static/stable/x86_64/docker-20.10.0.tgz 2.解压 tar zxvf docker-20.10.0.tgz 3.放进path cp docker/* /usr/bin 4.开启 docker daemon docker & 5.验证 docker run hello-world 6.加入service 二进制安装的docker 是不能直接用 systemctl start docker 等命令的,提示 docker.service找不到 那么直接加一个 https://github.com/moby/moby/blob/master/contrib/init/systemd/docker.service.rpm 新版的docker 只需要一个service 不需要socket vim /etc/systemd/system/docker.service [Unit] Description=Docker Application Container Engine Documentation=https://docs.docker.com After=network-online.target firewalld.service Wants=network-online.target [Service] Type=notify # the default is not to use systemd for cgroups because the delegate issues still # exists and systemd currently does not support the cgroup feature set required # for containers run by docker ExecStart=/usr/bin/dockerd ExecReload=/bin/kill -s HUP $MAINPID # Having non-zero Limit*s causes performance problems due to accounting overhead # in the kernel....

February 20, 2021 · 1 分钟 · 赵文卓

git配置了密钥为什么还要输密码

git为什么配置了密钥还要输密码 git clone的时候注意用ssh协议而不是https,这个坑哈哈哈哈哈哈 ...

March 29, 2020 · 1 分钟 · 赵文卓