关于golang包引用的坑2(终极解决!)

关于包引用的坑2(终极解决!)

上回说到用replace可以解决跨包调用的问题,运行是没问题了,但是在vscode里总是提示没法import xxx。因为vscode默认去gopath和goroot里找包的,显然无法找到。经历了各种搜索、更新vscode、go work init xx,都没有解决我的问题。我只需要调用本地同一个项目里,不同包中的方法。网上各种说法都有,有的说得非常复杂,但实没要么就是连go build都编译不过,要么是像上文那样,能go run,但vscode会报错,并且方法调用连智能提示都没有:cry:!

其实解决起来非常简单,在main.go同级目录,执行go mod init 包名。比如go mod init demo,它会自动在main.go同级目录生成go.mod。其它文件夹里的包只管根据实际命名,比如common文件夹里的us

一波三折之无源码解决网站上传不了视频的问题(二)

一波三折之无源码解决网站上传不了视频的问题(二)

上回( https://www.qipanet.com/itClass/253.html)提到有点手尾没解决,这次把它说完。

一、现象

文件上传解决完交付后又收到反馈,上传的视频播放不了,之前有部分视频也没法播放。具体表现为上传的视频在浏览器里播放时黑屏,只有播放进度条,没有画面和声音。

二、排查

上传成功,那应该跟后端没什么关系了,因为播放主要由客户端负责。而且部分视频能播放,那说明项目网站功能应该问题不大。为了印证猜想,换了个手机浏览器打开(此前PC端用的是chrome),发现播放正常。说明应该是浏览器兼容性问题。但

certbot certonly 自动获取证书非80端口的坑

  • 一个网站项目,采用caddy+tls来实现https和证书自动获取,由于项目不对外,所以希望越少人知道越好,故部署后把80端口禁了,443端口改成了其他。开始运行正常,但是过了一段时间后,发现网页打开提示证书过期。这个就很奇怪了,证书怎么会过期呢,certbot不是会自动续期吗。
  • journal -xefu caddy 查看caddy运行日志,发现certbot 请求都会有authorize faile之类的提示。但是我对项目并没有任何改动。之后就是各种折腾,更换邮箱,删除caddy证书,再certbot 重新配置证书,但都没有效果。
  • 最后无意中看到certbot certonly配置完后,请求证书前校验的域名信息,域名是http://xxx.com/xxxxxxxx<

一波三折之无源码解决网站上传不了视频的问题

一波三折之无源码解决网站上传不了视频的问题

一、现象

近日接到求助,一个网站项目后台上传视频文件进度条走完后没任何反应。以为是浏览器兼容性问题,接到请求后亲自换了两个浏览器测试,跟反馈的问题一致。浏览器F12打开开发者选项,跟踪了下视频上传的过程,没发现任何报错信息,倒是看到上传反回了500错误,但没有具体的错误信息。猜测是后台程序问题,于是远程到项目所在服务器上查看。在upload文件夹检查了上传的文件,发现文件上传是正常的,那问题在哪呢?

二、继续排查

从后台的文件及进程架构来看,项目是由java+tomcat构建的。由于没有任何报错信息,决定先看下tocmat日志信息,但是很遗憾,tcomcat里只有普通的info级别的信息,对故障排查作用不大。必须找到配置日志输出级别的文件,将其改为debug才行。java里用的比较

C# 写注册表自动启动不生效的坑

一个程序需要实现自启动,一般通过注册表来实现。写完程序后测试没任何异常,也没报错,但是到'计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run'里查找发现没生效,里面没设置的键。
 开始以为是权限的问题,然后以管理员身份运行,测试发现没效果。然后将machine改为user,即只在当前用户的环境Registry.CurrentUser里加上自启动,实测也没效果。这就有点奇怪了,这段程序代码都用了N年了,没理由突然就不行了?于是找来一台全新的电脑,把程序丢上去,运行后,再重启系统,发现可以正常自启!
但是,查了注册表,还是没这个键值,于是通过注册表搜索,终于发现了问题所在。64位注册表的路径是在WOW6432Node里的,即 计算机\HKEY_LOCAL_MACHIN