每日一谚:Go is about composition, concurrency, and gophers.
go中文网每日资讯--2021-06-04
一、Go语言中文网
二、脑子进煎鱼了
三、董泽润的技术笔记
四、GoUpUp
五、polarisxu
六、Go招聘
七、taowen
八、吴亲强的深夜食堂
来源: https://studygolang.com/go/godaily
GOCN每日新闻--2021-06-04
3.OpenYurt v0.4.0 新特性发布:高效地管理边缘存储资源
来源: https://gocn.vip/news
gopherDaily--2021-06-04
3.vtprotobuf: 一个protobuf编译器,为ProtoBuf APIv2生成优化的marshaling和unmarshaling Go代码
5.发布”Open Source Insights”站点,提供开源项目的依赖包的互动视图
7.gProfiler:结合多个采样分析器,对CPU开销进行统一的可视化分析,支持Go、Java和Python
9.用Docker的Buildx Kubernetes驱动将构建时间减少一半
11.docker公司开发人员从以办公室为中心到以远程为中心的历程
来源: https://gopher-daily.com/issues/last
码农桃花源--2021-06-04
文章分享
面试题
- 输出什么
package main
import "fmt"
func DeferFunc1(i int) (t int) {
t = i
defer func() {
t += 3
}()
return t
}
func DeferFunc2(i int) int {
t := i
defer func() {
t += 3
}()
return t
}
func DeferFunc3(i int) (t int) {
defer func() {
t += i
}()
return 2
}
func DeferFunc4() (t int) {
defer func(i int) {
fmt.Println(i)
fmt.Println(t)
}(t)
t = 1
return 2
}
func main() {
fmt.Println(DeferFunc1(1))
fmt.Println(DeferFunc2(1))
fmt.Println(DeferFunc3(1))
DeferFunc4()
}
-
new的变量在栈还是堆?
-
背景:我们现在有一张表,每天生成300W数据, 然后每天用delete xx where id = x 这样的方式来删除.
不用truncate是因为DBA说truncate会重建自适应哈希索引,可能对整个库性能有影响. 操作: 这个表的主键id是递增的. 当我执行 explain select min(id) from t 时,是走的全表扫描. 而且我目前在从库执行这个sql,直接就卡住了. 执行 explain select max(id) from t 时, 结果是 Select tables optimized away (目前最大id 5亿左右,实际数据量只有300W) 问题:
-
为什么 min(id) 会是全表扫描呢? 是和存在大量的delete后未释放空间有关系吗?
-
像这种业务场景,mysql怎么处理比较快速呢? 使用rename 表名有什么风险吗?
每日算法
「N叉树的前序遍历」:https://leetcode-cn.com/problems/n-ary-tree-preorder-traversal/
编辑: Amartya 果果
更多内容详见:https://www.yuque.com/qcrao/share/
- 归档地址:https://github.com/Han-Ya-Jun/gocn_news_set
-
Go 技术日报交流群:
关注公众号回复:微信,拉你入群。
-
订阅公众号: 亚军进化史