记一次overflow

最近给一个项目加上了限速的功能,跑了一段时间后发现一个问题,超级管理员的速度阈值本来是最大的,实际使用是却发现好想是0。 打了个个断点, 发现admin的rate.Limit 确实是 -1000。 ...

February 27, 2023 · datewu

perm函数

工作上遇到一个问题,好奇goalng的排列数Perm是怎么实现的,看了下源代码,写的很简洁。 使用了随机交换算法来得到一个排列组合。 1 2 3 4 5 package rand // import "math/rand" func Perm(n int) []int Perm returns, as a slice of n ints, a pseudo-random permutation of the integers in the half-open interval [0,n) from the default Source. 交换 本质上说就是交换m[i]和m[j],且i> j。 ...

December 28, 2021 · datewu

排列组合

上礼拜有人问我,如何从数组中选择和为n,长度为m的所有的子数组? 问题 输入 a = []int{10, 7, -5, 4, 8, 16, 70, -30, 91} m = 3, n = 15 输出 1 [[10 35 -30] [-5 4 16]] 答案 算法 这是一个典型的排列组合的问题,只要把Cn算出来然后做过滤就好,核心是数组组合的算法。 ...

December 13, 2021 · datewu

clickhouse初始化

总体来看clickhouse的ddl操作方式和mysql很像。比如use database_name, create user ... identified by ''等。 server docker run 启动clickhouse服务: ...

November 22, 2021 · datewu

用户线程调度模型

一般来说多线程3种并发模型: N:1, 把n个用户线程(Green threed)映射到一个操作系统的线程(OS Threed)上。 这种模型的优点是 用户线程之间的上下文切换(context switch)会非常快, 缺点是不能充分的运用多核CPU资源(一个OS Thread只能在一个CPU上); 2. 1:1, 每个用户线程映射到一个操作系统线程上。 ...

November 19, 2021 · datewu

快慢指针

4月份腾讯面试的时候被问到如何在空间复杂度为O(1)前提下检查连表是否为闭环: 当时没想出来,面试官提醒用快慢指针也没写出来。 回到家里想了下,其实当时已经想出来了,没敢写出来: ...

April 19, 2021 · datewu

调试golang测试

调试某个go test程序的时候,需要实现confirm/approve功能: 测试完testCase1之后(或者说是某个断点),用户输入yes,执行下一个case,输入no, 则退出整个测试。 ...

October 14, 2020 · datewu

细说kubeconfig

今天准备管理某一个kubernetes 集群时发现master主机22端口因为管理的需要被禁用了,无法登陆服务器。 问了一下运维人员,原来是基于安全原因,公司决定禁用所有服务器的root ssh登陆权限, ...

August 11, 2019 · datewu

nopCloser函数

update: ioutil逐渐被io 取代。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 package ioutil // import "io/ioutil" func NopCloser(r io.Reader) io.ReadCloser NopCloser returns a ReadCloser with a no-op Close method wrapping the provided Reader r. As of Go 1.16, this function simply calls io.NopCloser. package io // import "io" func NopCloser(r Reader) ReadCloser NopCloser returns a ReadCloser with a no-op Close method wrapping the provided Reader r. 最近使用baloo写集成测试,遇到了个需求, 在unmarshalrespones之后(或者之前)还要再输出一次response的纯文本格式供debug参考。 ...

April 17, 2019 · datewu

Mysql Autocommit问题

客户反馈我们的产品有个很奇怪的问题。 添加完商品后,可以看到商品,但是一刷新页面,刚才添加的商品就消失啦。 以前没碰到过,一直都用的好好的为什么今天就不行了呢? ...

April 12, 2019 · datewu