mysql 订单表索引的使用

面试的时候,面试官问了下边这个sql如何优化select * from order where date="xxx" and status=1主要是考察date和status建立联合索引,另外需要注意status 的区分度差。以及*的话可以用具体的字段来代替。这样好处是,如果所需字段和索引相同则可以命中索引,而不用去叶子节点再次查找数据。

如何寻找免费的梯子(vpn)

如果没有互联网基础的人,比如不知道zip到底是个什么东东的此类人。比较建议找找淘宝、咸鱼、小红书。其次就是访问github,输入vpn 相关关键词,挑选出一个合适的vpn。有非常多可以试用的。我个人比较推荐的是这个。一年200个g。https://tagss.pro/#/auth/fTzDKdNyps:这个地址有时候国内会打不开,有种达文西拿手电筒照手电筒的搞笑感。

微信小程序海报生成

轻松生成小程序分享海报jasondu41833 2018-08-23 ⋅ 4262 ⋅ 阅读6分钟小程序海报组件https://github.com/jasondu/wxa-plugin-canvas需求小程序分享到朋友圈只能使用小程序海报来实现,生成小程序码的方式有两种,一种是使用后端方式,一种是使用小程序自带的canvas生成;后端的方式开发难度大,由于生成图片耗用内存比较大对服务端

fastadmin 如何配置多个数据库

业务场景是这样的,同一个后台,要对接不同的项目,这样就需要对接多个数据库。首先指定到fastadmin/application/database.php目录下。指定配置文件。 'db_pinch' => [ 'type' => Env::get('database.type', 'mysql'), // 数据库类型

10进制转化为二进制

十进制转化为二进制就是取余的值,从右向左排序除 2 取余法例子: 用 4 除 2,记录余数:4÷2=2 余 0 用 2 除 2,记录余数:2÷2=1 余 0 用 1 除 2,记录余数:1÷2=0 余 1 获得值 100 ----------- 用 5 除 2,记录余数:5÷2=2 余1 用 2 除 2,记录余数:2÷2=1 余0 用 1 除 2,记录余数:2÷2=0 余1

goim 代码中 取模和位运算的区别

在goim ring代码中,有位运算&的操作。然后这就引发了一个疑问,为什么不用取模这是因为,在cpu层面,%不是一个便宜的操作,它通常被翻译成除法运算,而除法运算相对于其他运算是比较慢的。 idx := i % num 除法操作 通常比加/位运算慢一个数量级。所以就完全可以用下边代替,这个前提条件是num是2的幂(2, 4, 8, 16 …) idx := i & (num - 1)2 的

goim 源码分析

1.首先就是初始化discovery,然后创建与其他服务通信的gprc客户端。2.然后把其作为参数传入长链接中。接下来就是初始化黑名单,这个是非核心业务,暂时忽略。然后就是创建tcp 和 websocket 服务。addrs 就是不同的地址,创建多个tcp服务。接下来就是apue 讲的怎么创建服务器。1.bind 端口2.listen 监听端口3.accept 接受连接,这里边是阻塞的,所以可以用

ios 马甲包上架审核问题

ios审核,就是通过各种手段来识别用户代码和ui的相似度。那么根据以上推论,我们就从以下几个方面做处理。首先是后端代码。对所有的请求接口做加密,每一次请求客户端发送的都是加密的串,服务端解密后会获取接口路由,以及请求参数。这样每次出马甲包只需要换个域名配置即可。这里如果想做的更完善一些,对后端代码返回值做配置项,不同的域名返回不同的后端返回值。对于ui,可以让ui根据原产品功能,设计一套全新的界面

tcp 关于拆包分包的的问题

tcp 所谓的分包拆包问题,其实更规范的说法,tcp是流的形式,那么就存在边界问题。而解决边界问题的方案大概有两种,一种定义包头和包体。另外一种就是尾部标识符问题。下边定义下伪代码,其实parse就是用来处理tcp的边界问题。 var buffer bytes.Buffer for { // 1. 从 TCP 连接里读取数据 tmp := mak

ios 上架出现4.3 如何解决

ios 上架如果出现 4.3,一般就是软件功能和样式和别的app 类似。首先要确定自身app是独自开发,还是买的代码。如果是买的代码的话,基本上可以确定已经被别人上架过了。这时候只能根据现有功能找ui出个马甲包,然后让客户端从新开发代码。更进一步需要服务端返回接口从新修改。如果是自己开发,这时候可以给苹果官方发邮件,询问4.3的原因。然后根据原因来修改问题。ios 上架需要注意,首先就是ui和代码

golang 多个携程消费任务优化 (1)

现在需求是读取一批图片,然后批量上传到七牛云。现在是第一版,思路就是起5个携程,然后对图片列表进行遍历循环,如果携程数使用超过5个就阻塞代码。这里用到channel 信号量限流作用,就是往channel 写数据,如果channel 满了,就阻塞channel,直到对向从channel里边把数据读取了。 const maxGoroutines = 5 guard := make(ch

golang redis 返回 redis: invalid reply: "J\x00\x00\x00\n"

今天在写一个demo过程中,出现了redis: invalid reply: "J\x00\x00\x00\n"的报错,最开始以为是redis 版本和 golang-redis 版本不一致。发现不是,然后专门在本地执行redis-cli -h 127.0.0.1 -p 6379 ping 响应是pong最后查看配置参数,端口号写错了。这个报错我是第一次遇到,所以没往配置方面想。