Souleigh ✨ Souleigh ✨
4年前
PHP对时间轮算法的简单实现
什么是时间轮算法?把任务放到它需要被执行的时刻,然后等待时针转到这个时刻,取出该时刻的任务,执行并将任务从该时刻删除(消费)。解决了什么问题?以商品为例,如何实现商品的过保质期自动失效?1:我们可以每分钟执行一个定时任务,扫描全表过期时间大于当前时间的商品,进行失效处理。(当然,也可以将该任务细化成秒级的)2:商品添加时,将该商品的
某电商App sign签名算法解析(五)
一、目标李老板:奋飞呀,据说某电商App升级了,搞出了一个64位的sign。更牛的是入参都加密了!奋飞:这么拉风,拉出来咱们盘盘。v10.3.2二、步骤32位和64位我们掌握了那么多方法,先搜字符串呢?还是先Hook呢?子曾经曰过:看到32位签名就要想起MD5和HmacSHA1,看到64位签名就要想起HmacSHA256。那就先搞搞java的密码学相关
某电商App sign签名算法解析(六)
一、目标sign的入参是加密的,不过带有很明显的两个特征,一个是结尾,再一个就是R4iSK开头。有这两个特征,我们就可以入手了。二、步骤先从Base64入手结尾的数据大概率是Base64,我们先Hook下//Base64varBase64ClassJava.use("android.util.Base64");Base64Class.e
某神奇App data加密算法解析(一)
一、目标李老板:奋飞呀,我遇到一个超级牛掰的App,它请求的时候有个data参数加密,用尽了你介绍的所有的方法,都找不到它是如何加密的。奋飞:子曾经曰过,老板的嘴,骗人的鬼。有这么牛掰的App,那么我们这帮兄弟早就失业了。某神奇Appv10.1.0点社区随便打开一篇有评论的文章今天的目标就是这个data二、步骤搜索特征字符串目标是data,所以我
好买-葡萄 好买-葡萄
3年前
【数据结构与算法】—— 二分查找
1.二分查找的概念二分查找指的是在排好序的数组中,找到目标元素。如果元素存在则返回元素的下标,不存在则返回1.下面以升序为例进行简单描述2.查找过程:取数组中间元素与查找元素target比较。如果target等于中间元素则直接返回中间元素的下标,如果target小于数组中间元素则在数组左边查找,如果target大于数组中间元素则在右边查找。重复以上步骤。
Stella981 Stella981
3年前
Python数据结构与算法——散列(Hash)
!(https://oscimg.oschina.net/oscnet/19a7428dd9c64d149aa474d3aabe80ce.png)点击上方“蓝字”关注我们散列(Hash)对于一组数据项,顺序查找的时间复杂度是O(n),二分查找是O(logn),而对于散列的数据结构,
Stella981 Stella981
3年前
Consistent hashing一致性算法原理
最近在整理redis分布式集群,首先就整理一下分布式算法原理。常见的分区规则有哈希分区和顺序分区两种,Redis采用的是哈希分区规则。节点取余分区使用特定的数据,如Redis的键或用户ID为key,节点数量为N,则:hash(key)%N,计算出哈希值,然后决定映射到哪个节点上,如节点数为4时,哈希值的结果可能为0、1、2,3.现假
Stella981 Stella981
3年前
Apache Mahout中推荐算法Slope one源码分析
关于推荐引擎如今的互联网中,无论是电子商务还是社交网络,对数据挖掘的需求都越来越大了,而推荐引擎正是数据挖掘完美体现;通过分析用户历史行为,将他可能喜欢内容推送给他,能产生相当好的用户体验,这就是推荐引擎。推荐算法Slopeone的原理      首先Slopeone是一种基于项目的协同过
Stella981 Stella981
3年前
Kafka中改进的二分查找算法
最近有学习些Kafak的源码,想给大家分享下Kafak中改进的二分查找算法。二分查找,是每个程序员都应掌握的基础算法,而Kafka是如何改进二分查找来应用于自己的场景中,这很值得我们了解学习。由于Kafak把二分查找应用于索引查找的场景中,所以本文会先对Kafka的日志结构和索引进行简单的介绍。在Kafak中,消息以日志的形式保存,每个日志其实就是一个文
Wesley13 Wesley13
3年前
OSEA中QRS波检测算法代码分析
最近一直在搞R波检测算法,对OSEA代码主要是对注释做一个翻译,增加注释,使代码更容易理解。一、首先看QRSDE.H/FILE:qrsdet.hAUTHOR:Pat