git reflog和git log

git log展示当前分支下的commit 记录git reflog则提供所有分支的操作记录和跳转,拉取记录(主要是指head指针的移动):...

微信小程序文件类操作

注意点:①该函数较新,旧版本微信无法使用,完善的小程序需要判断②vant-app的Toast组件可能会有冲突,暂时请直接用微信的loadingwx.chooseMessageFile({      count: 1,      type: 'file',      success(r...

多态

实现方式1.通过接口来实现,即函数指定接口为参数时,所有实现了这个接口的对象都可以作为参数传入2.接口数组或者切片可以存放实现这个接口的所有不同类型的对象类型断言1.通过接口参数传进来的变量,如果需要将其赋给某个具体的值,需要执行断言操作,即 b=a.(B)  //B即是b的类型名,但是这种情况下,...

select关键字

它是一个控制结构,可以看成是只用于管道的switch,每个case都必须是管道操作,它将随机选取一个可运行的case,如果,所有都不可运行,则它将阻塞,它具备一下性质1.每个 case 都必须是一个通信2.所有 channel 表达式都会被求值3.所有被发送的表达式都会被求值 // 2和3总结下就是...

gin set-session不生效

主要原因少path    store.Options(sessions.Options{        MaxAge: 3600 * 3,        Path:  "/",    })...

静态编译

主要为了防止glibc版本不匹配$go build --ldflags "-extldflags -static" ...

journalctl/systemctl 日志持久化

找到service文件路径编辑添加[Journal]Storage=persistent修改完成后别忘了system dameon-reload设置过期时间$ journalctl --vacuum-time=1month重启日志服务 systemctl restart systemd-journa...

关于panic

1.panic允许在defer中嵌套多次调用.程序多次调用 panic 也不会影响 defer 函数的正常执行,所以使用 defer 进行收尾工作一般来说都是安全的。2.panic只会触发当前groutine的defer...

配置软路由,内网访问外网

配置软路由(可以访问外网的那一台)这套网络环境最主要的解决方案就是实现一台软路由器,可以访问外网,因此有外网ip的代理服务器就充当了这个角色。Linux配置软路由比较简单:修改/etc/sysctl.conf文件,添加配置net.ipv4.ip_forward=1使用sysctl -p命令重新加载配...

rsync代码同步

1.原料rsync和inotify-tools2.安装(1)rsync服务器端安装流程①下载安装$wget https://download.samba.org/pub/rsync/src/rsync-3.0.6.tar.gz$tar -zxvf rsync-3.0.6.tar.gz$./confi...