初级会员
  • 第 7396 位会员
  • youzhengchuan
  • youzhengchuan@163.com
  • 2017-02-10 09:52:15
  • Offline
  • 19 75

最近发布的文章

    暂无

最近分享的资源

    暂无

最近发布的项目

    暂无

最近的评论

  • 评论了博文 Golang中长连接的使用
    这篇文章有极大的误导作用,实际上,经过测试不管是用上面文章的长连接,还是短连接方式,最终都是长连接。 可以通过losf和netns看到,源端口和文件描述符ID根本没变。 也有可能是大家使用的golang版本不同,我使用的`go version go1.21.4`。 如果想要短连接,只需要在每次请求结束后调用`client.CloseIdleConnections()`方法,不管`Transport`如何设置,都是短连接。
  • 刚看了一篇文章[Go内存泄漏?不是那么简单!](https://colobu.com/2019/08/28/go-memory-leak-i-dont-think-so/)里面提到: ``` 可以看到,当对象释放的时候,释放出来的内存并没有立即返还给操作系统,而在我们进行了一次强制垃圾回收后才返还。 Go语言把返还的过程叫做scavenging (拾荒)。这个拾荒的算法一直在演化,可以查看issue #16930,相关的优化提案可以参考:issue #30333。 原先的scavenging是每隔几分钟(5分钟)执行一次拾荒操作,保证程序使用的内存和RSS基本一致。后来在1.11、1.12的演化过程中,改成了"智能"的拾荒操作。目标是尽量避免全部返还给操作系统导致的很重的重获取的花销,但是这也带来了一个问题,那就是当前的拾荒设计对于偶尔一个尖峰,并不会将不用的大量内存返还给操作系统,也就是本文一开始我在项目中遇到的问题。 ``` 但是还不是很确定本程序是不是这个原因导致的,现在在想办法增加统计下heap的各个状态数据,之后才能确认。
  • 评论了博文 Go 模板嵌套最佳实践
    但是上面的结果显示有一点点问题,就是footer渲染的时候并没有显示body的结果,这是因为data传给了主模版,嵌套模版如果要使用这个数据,需要在嵌套的地方把data传递给它。我们可以修改header.html: Title is {{.Title}} {{template "footer" <div class=""></div>}} 这个代码运行错误,golang在生成html的时候抛出异常,修改成这样就OK了: Title is {{.Title}} {{template "footer" . }} 即,在嵌套模板的适合,要将点“.”跟在模板后面,“.”是“this”的意思,表示模板接收到参数。 另外我不明白为什么template.html里面应用变量的时候,花括号都用了转移符,我这边测试的时候全程没有转义也通过了。
  • 评论了博文 Go 模板嵌套最佳实践
    但是上面的结果显示有一点点问题,就是footer渲染的时候并没有显示body的结果,这是因为data传给了主模版,嵌套模版如果要使用这个数据,需要在嵌套的地方把data传递给它。我们可以修改header.html: Title is \{\{.Title\}\} \{\{template "footer" <div class=""></div>\}\} 这个代码运行错误,golang在生成html的时候抛出异常,修改成这样就OK了: Title is {{.Title}} {{template "footer" . }} 即,在嵌套模板的适合,要将点“.”跟在模板后面,“.”是“this”的意思,表示模板接收到参数。 另外我不明白为什么template.html里面应用变量的时候,花括号都用了转移符,我这边测试的时候全程没有转义也通过了。