![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
解决方案
文章平均质量分 55
h6play
这个作者很懒,什么都没留下…
展开
-
Js使用水桶简单方便实现同步加载
场景需要所有接口加载完毕后再进行处理事情需要优化多个 http/IO 接口嵌套导致性能变慢需要多个任务完成后再进行处理回调看代码/* * 无数据水桶(仅用于同步加载回调) */function pail(len) { return { len: len, num: 0, t_fun: null, c_fun: null, // 设置正确回调 then: function (fun) {原创 2020-12-02 11:29:21 · 323 阅读 · 1 评论 -
史上最叼PHP实现布隆过滤器
简介先放代码了/** * BitSet 模拟BitSet 在PHP中可以使用PHP代替 */class BitSet { protected $bit = []; public function add($index) { $this->bit[$index] = 1; } public function has($index) { if(isset($this->bit[$index])) {原创 2020-12-01 13:33:19 · 1391 阅读 · 0 评论 -
PHP实现版本号整数和字符串互转
版本号格式000.000.000请查看代码/** * 版本号转整数 例如 1.0.0=001.000.000=001000000=1000000 * @param string $ver * @return int */function versionToInteger($ver) { $ver = explode(".", $ver); $v1 = sprintf('%03s', (int) $ver[0] ?? 0); $v2 = sprintf('%03s',原创 2020-05-26 15:48:23 · 738 阅读 · 1 评论 -
JQ 序列化后数组表单后 的字符串转换为数组 Json
#需求背景1.如果表单 <input /> 的 name 等于数组类型的时候 例如<input type="checkbox" name="plugins[0][multi_merchant]" title="多商户" checked><input type="checkbox" name="plugins[1][multi_merchant]" title="...原创 2020-04-30 14:46:47 · 508 阅读 · 0 评论 -
短网址应用实现方式
短网址应用实现方式众所周知,短网址是通过将用户的链接 通过算法进行缩短网址 并且返回 跳转地址那么怎么去缩短这么长的一个英文+数字和符号的网址呢?,用 进制算法 明显还是太长了所以,聪明的程序员 通过将用户的网址 存放到数据库中 那么当 只缩短数字ID 明显就很简单的了例如,32位字母转换成5位字符的组合,通过 组合算法 我们就可以计算出 5位字符能容纳的地址长度但是 地址这个数量是无...原创 2019-12-11 14:45:04 · 238 阅读 · 0 评论 -
EasyWechat 公众号 AccessToken 共享方案
EasyWechat 公众号 AccessToken 共享方案配置 EasyWechat 缓存方式采用 Redis例如 公众号 缓存 Cache Key 的生成方式如下$cacheKey = "easywechat.kernel.access_token." . md5(json_encode([ 'grant_type' => 'client_credential', ...原创 2019-12-10 21:34:52 · 3529 阅读 · 0 评论 -
第四方授权实现方式
准备工作应用域名 http://dome.com + /page_10086第四方授权域名 http://auth.com + /auth/get如果只有一个公众号和一个授权域名的话,请通过 Nginx 转发 ~/three_auth/ 到第四方授权应用微信授权域名 http://wx.com + /auth最终效果例如应用的页面 http://dome.com/page...原创 2019-12-06 12:33:47 · 262 阅读 · 0 评论 -
PHP颜色十六进制转化为RGB
PHP颜色十六进制转化为RGBfunction hColor2RGB($hexColor){ $color = str_replace('#', '', $hexColor); if (strlen($color) > 3) { $rgb = array( 'r' => hexdec(substr($color, 0, 2)), 'g' => hexdec...原创 2019-11-17 14:13:25 · 321 阅读 · 0 评论 -
PHP根据IP获取城市名称
PHP根据IP获取城市名称/** * 根据 ip 获取 当前城市 */function get_city_by_ip(){ if (!empty($_SERVER["HTTP_CLIENT_IP"])) { $cip = $_SERVER["HTTP_CLIENT_IP"]; } elseif (!empty($_SERVER["HTTP_X_FORWARDED_FOR"])) ...原创 2019-11-17 14:11:52 · 664 阅读 · 0 评论 -
生成数组唯一标识,数组任意更改顺序和字段,适合表单版本标识生成
生成数组唯一标识,数组任意更改顺序和字段,适合表单版本标识生成该数组唯一标识生成算法,仅适合数组元素值唯一最近为了搞一个自定义表单,并且为该自定义表单设置一个唯一的版本标识例如:有那么一个需求,例如我每次提交 字段所在的顺序是不一样的// 例如:有 字段A:1, 字段B:2, 字段C:3 并且每次提交顺序let arrA = [1,2,3];let arrB = [2,1,3];...原创 2019-11-14 11:47:24 · 835 阅读 · 0 评论 -
浏览器Js复制,兼容iOS、Android、微信、所有浏览器
浏览器Js复制,兼容iOS、Android、微信、所有浏览器代码是阅读强大的浏览器复制插件 clipboard.js 提取出来的精华部分目前在 微信浏览器 谷歌浏览器 iOS浏览器 Vivo浏览器 Uc浏览器 进行测试过关于复制 移动端 需要注意的点微信浏览器对于 执行浏览器 Copy 命令做了一定的限制只有在 <Document>.onClick() 的事件中才能进行...原创 2019-11-14 00:57:10 · 1205 阅读 · 0 评论 -
PHP、Go如何高性能的生成4-5位不重复的抽奖码
如何高性能的生成4-5位不重复的抽奖码首先我们明确一点 我们需要 单个抽奖 里面的 每条参与记录的抽奖码 都是唯一的并且还需要明确一点 抽奖码 必须要 短 而且还不能 重复那么怎么办呢?用 雪花算法 明显不太可能,而且生成的数字 还长 是 长整形所以我们得用 进制算法 通过增加 进制位字符 进行缩短 十进制的字符那么我们如何得到 单个活动 唯一的参与抽奖码 呢?我们可以通过这样...原创 2019-11-09 14:21:10 · 858 阅读 · 0 评论 -
PHP进制算法、十六进制、N进制、算法原理
原理字符:"0123456789ABCDEF除16取余数得最低1位,然后把商继续除得第2位,直到商等于065036 除 16,余数 12©,商40644064 除 16,余数 0(0),商254254 除 16,余数 14(E),商1515除16,余数 15(F),商0,结束得16进制为 FE0C代码<?phpfunction L($str) { echo ...原创 2019-10-30 23:48:00 · 342 阅读 · 0 评论 -
Html、Js 如何计算字体大小(实际宽度+实际高度)
原理: html 中的 span 标签 会对字体进行自适应宽度高度的处理通过添加一个 span 到 body 容器中得到字体的实际宽度和高度后然后删除 span 标签/** * 计算字体大小 */function computeFontSize(str, size, family) { let spanDom = document.createElement("span")...原创 2019-10-30 22:07:34 · 6677 阅读 · 0 评论 -
关于排行榜的实现思路
需求需要知道当前用户的排名需要知道前100名的用户说明一般排行榜都不会做全局排名查询,因为要统计全部数据实在是太消耗性能了,一般都会做前100名,前N名假设数据ranks { {user:'张一', score:'100'}, {user:'张二', score:'90'}, {user:'张三', score:'80'}, {user:'张四', score:'70'...原创 2019-10-18 11:14:36 · 4178 阅读 · 0 评论 -
抽奖高并发实现流程逻辑
抽奖高并发实现流程逻辑抽奖高并发实现流程逻辑业务说明队列说明提供接口说明发布抽奖-流程参与抽奖-流程结算抽奖-流程是否中奖-流程抽奖高并发实现流程逻辑首先我们会采用 Laravel (服务端处理程序) + Redis(高速缓存) + Mysql\MongoDB(持久存储) 的形式本文章只会展示实现逻辑以及流程图,并不会直接展示代码,里面涉及到一些知识如果有不明白欢迎提问业务说明我们...原创 2019-10-04 17:09:23 · 1511 阅读 · 0 评论 -
Android 反编译解决方案
Android 反编译解决方案使用工具工具介绍反编译流程一、apk反编译得到程序的源码、图片、XML配置、语言资源等文件二、Apk反编译得到Java源码三、图形化反编译apk(本人未使用过)后记、Android如何防止apk程序被反编译知识来源使用工具apktool 谷歌下载地址:https://code.google.com/p/android-apktool/downloads/list...原创 2019-05-12 11:14:25 · 124 阅读 · 0 评论