摘要: channel是goroutine之间的通信机制。可以类比线程间的通信,线程间的通信有多种方式,比如线程上下文、共享内存、IPC通信、socket实现不同机器间的通信。 channel用起来很简单,绑定一个变量,一端往里塞,一端从里面取。我把它理解为接收端启动了一个类似HTTP服务器的东西,发送端往 阅读全文
posted @ 2018-12-09 21:52 三水一度 阅读(742) 评论(0) 推荐(0) 编辑
摘要: 选择排序是不稳定排序,时间复杂度为O(n^2)。 选择排序类似插入排序,把数组分为两部分,一部分已经排好序,一部分未排序。 刚开始的时候所有的元素都未排序,已排序的部分为空。就好像你手里有十张牌,左手有零张,右手有10张。每次从右手的牌中取最小的一张插入到左手的牌末尾,右手的牌插完了,排序也完成了。 阅读全文
posted @ 2018-12-08 14:41 三水一度 阅读(3767) 评论(0) 推荐(0) 编辑
摘要: 插入排序是稳定排序,时间复杂度最低为O(n),最高为O(n^2),平均为O(n^2)。 插入排序是将数组分为两部分,一部分已经排好序,另一部分未排好序,每次从未排好序的部分取第一个元素插入到已经排好序的部分正确的位置,如此循环n-1次。 就好像你手里有十张牌,左手有一张,右手有九张。每次从右手的牌中 阅读全文
posted @ 2018-12-08 13:37 三水一度 阅读(842) 评论(0) 推荐(0) 编辑
摘要: 冒泡排序是一种稳定排序,时间复杂度平均为O(n^2),最好的时间复杂度为O(n),最坏为O(n^2)。 排序时每次只比较当前元素与后一个 元素的大小,如果当前元素大于后一个元素,则交换,如此循环直到队尾,每轮排序都可以保证将当前排序下最大的元素送到未排序部分的队尾。 有n个元素要排列,故要执行n次数 阅读全文
posted @ 2018-12-08 11:42 三水一度 阅读(13250) 评论(0) 推荐(1) 编辑
摘要: 众所周知,微信小程序的代码安全性很弱,很容易被别人反编译获取源码。我自己的小程序也被别人反编译拿到源码还上线了,非常无语。 既然客户端不好防范,服务端还是可以做点手脚的。 小程序的Referer是不可以更改的,从手机上发出的请求的Referer一般是这样 https://servicewechat. 阅读全文
posted @ 2018-12-07 11:50 三水一度 阅读(3189) 评论(2) 推荐(0) 编辑