摘要:
###背景 最近下载了一批类似百家讲坛的音频文件。这些文件前面部分是演讲类的音频,主要讲历史的,后面一部分是音乐。 但是我只想听演讲类部分,不想听音乐。所以希望把文件切割,把音乐部分切走,只留下演讲部分。 观察文件,发现每个文件的音乐都不一样,演讲和音乐的长度也不一样。 这里一个技术难点就是怎么识别 阅读全文
摘要:
验证苹果登录,官方提供两种验证方法,一种是token,另一个种是code。这里使用的是token 登录流程: 3. 苹果客户端调用苹果API,获取到用户的信息,包括: 4. user_id 5. 昵称 6. identity_token 7. 苹果客户端发送identity_token到服务端 8. 阅读全文
摘要:
独立功能的实现 十八、发布和订阅 发布和订阅由下面几条命令组成 PUBLISH,发布消息,例如PUBLISH SUBSCRIBE,订阅某个频道 SUBSCRIBE UNSUBSCRIBE 退订某个频道 PSUBSCRIBE,订阅某个模式频道,例如news. PSUBSCRIBE PUNSUBSCRI 阅读全文
摘要:
多机数据库实现 十五 、复制 从服务器通过命令 slaveof 127.0.0.1 6000 成为主服务器的从服务器。然后执行复制操作,保持自己的状态和主服务器一样 1.理论 同步 成为从服务器后的同步操作: 1. 从服务器会发送SYNC命令给主服务器, 2. 主机会执行bgsave命令,并记录当前 阅读全文
摘要:
单机数据库实现 九、数据库 1.服务器中的数据库 一个redis服务器保存多个数据库。 当执行 ,就是切换数据库到 ,具体就是会修改redisClient.db指针到redisServer.db[1] 2.数据库键空间 typedef struct redisDb{ dict dict;//数据库键 阅读全文
摘要:
@(Redis) "豆瓣链接" 一、数据结构与对象 1.SDS SDS是Redis实现的一个字符串数据结构。 结构: 为什么不用c的字符数组 SDS记录字符串长度,所以获取字符串长度的操作是O1 SDS一次申请较长的内存,例如如果字符串长度是5,它会申请多于5的内存,而下次修改字符串,就不需要重新申 阅读全文
摘要:
@(Mysql) "豆瓣链接" 官方数据库 "下载" 导入` /data/mysql57/bin/mysql socket /data/mysql3306/mysql.socket uroot ppassword1 show global status like 'innodb_dblwr%' ; 阅读全文
摘要:
1. 日志 通过日志或者print来打印变量。必要时可以打印 和`globals()` 建议使用logging.debug()来代替print,这样到了正式环境,就可以统一删除这些日志。 2.trace Python有个trace模式,可以打印整个程序的执行流 例如这段简单的程序,执行 就会输出下面 阅读全文
摘要:
排查流水账: execute_command函数(包含埋点日志,去除不必要的代码段),在rediscluster库的client.py @clusterdown_wrapper def execute_command(self, *args, **kwargs): """ Send a comman 阅读全文
摘要:
支付流程 首先让我们理一下苹果支付的整个流程。 支付有三个角色 苹果 商家,也就是我们 用户 苹果支付的流程 1. 用户下单 2. 客户端调用后台接口,生成订单 2. 客户端调用支付页面,用户支付 3. 支付成功后,客户端获取收据 4. 客户端把收据发给后端 5. 后端去苹果验证收据是否合法 6. 阅读全文