每日一谚:Go is about composition, concurrency, and gophers.
go中文网每日资讯–2021-06-04
一、Go语言中文网
二、脑子进煎鱼了
三、董泽润的技术笔记
四、GoUpUp
五、polarisxu
六、Go招聘
七、taowen
八、吴亲强的深夜食堂
GOCN每日新闻–2021-06-04
3.OpenYurt v0.4.0 新特性发布:高效地管理边缘存储资源
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公司开发人员从以办公室为中心到以远程为中心的历程
来源: Gopher Daily
码农桃花源–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/
- 归档地址:GitHub - Han-Ya-Jun/gocn_news_set: 爬取go中国技术社区(https://gocn.vip/topics/node18 )的每日新闻和go语言中文网(每日资讯)(https://studygolang.com/go/godaily 和 gopher Daily(https://gopher-daily.com/) 自动归档
- Go 技术日报交流群:
关注公众号回复:微信,拉你入群。
- 订阅公众号: 亚军进化史