解决YII2验证码不刷新问题

在 Yii 2 中的验证码功能的确很方便,但是会存在刷新页面并不会刷新验证码的现象,不知道作者这么做有什么意图?在实际应用中,有较多的场景需要刷新页面并刷新验证码,这里在不修改框架源码的情况下,给出了可供参考的解决办法。 …

按照奖品概率分布抽奖的实现

需求:首先用户通过以一定方式(好友点赞等)开启抽奖资格,然后按照用户 100% 中奖概率进行抽奖,且系统的发放奖品需要按照各个奖品整体的期望中奖比例来进行分布,最后用户抽中奖品调用第三方发放接口发放奖品并记录保存,另有些奖品存在发放数量限制。…

编程中的幂等性 — HTTP幂等性

原文:http://www.i3geek.com/archives/841 幂等(idempotence)是一个数学与计算机学概念,常见于抽象代数中。在编程中,一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。幂等函数,或幂等方法,是指可以使用相同参数重复执行,并能获得相同结果的函数。这些函数不会影响系统状态,也不用担心重复执行会对系统造成改变。例如,“getUsername() 和 setTrue()” 函数就是一个幂等函数,更复杂的操作幂等保证是利用唯一交易号(流水号)实现。…

安全使用调试模式

在开发过程中我们会开启调试模式,方便我们能快速定位错误和发现潜在问题。但是,项目上线后必须关闭这类敏感信息,难道只能通过更改代码逻辑或者配置文件来实现吗?…

求非负数组元素组成的最大字符串

问题叙述:将一个非负元素数组中的所有元素排列组合在一起,找出值最大的那个排列情况。例如 [0, 9, 523, 94, 10, 4],排列组合后值最大数为:9945234100。 …

PHP生成随机红包算法

原文:http://www.lcode.cc/2016/12/24/rand_ward.html 前一阵公司业务有一个生成红包的需求,分为固定红包和随机红包两种,固定红包没什么好说的了,随机红包要求指定最小值,和最大值,必须至少有一个最大值,可以没有最小值,但任何红包不能小于最小值。 …

正则表达式 — 环视

环视 是正则中的一个难点,但是在实际应用中使用起来却很方便。环视 不匹配文本中的任何字符,只匹配文本中的 特定位置 。环视类似于定位符^、$、\b,不会占用字符。…

SESSION共享问题

随着应用访问量的增加,单台服务器已经扛不住这样的访问压力,所以需要部署多台服务器,并需要做负载均衡。那么,默认的 SESSION 存储方式会造成用户不同时间访问不同服务器时 SESSION 丢失,进而导致用户登录状态丢失,这时需要使用 SESSION共享 来解决。 …

in_array()函数的坑

在 PHP 项目开发过程中,in_array 函数你一定使用不少吧,那么你知道in_array(0, array('s'))返回什么吗?…