Souleigh ✨ Souleigh ✨
3年前
PHP对时间轮算法的简单实现
什么是时间轮算法?把任务放到它需要被执行的时刻,然后等待时针转到这个时刻,取出该时刻的任务,执行并将任务从该时刻删除(消费)。解决了什么问题?以商品为例,如何实现商品的过保质期自动失效?1:我们可以每分钟执行一个定时任务,扫描全表过期时间大于当前时间的商品,进行失效处理。(当然,也可以将该任务细化成秒级的)2:商品添加时,将该商品的
Irene181 Irene181
3年前
一篇文章带你了解Python高阶函数
一、什么是高阶函数?高阶函数是在Python中一个非常有用的功能函数,所谓高阶函数就是一个函数可以用来接收另一个函数作为参数,这样的函数叫做高阶函数。通过案例代码分析,一步一步深入概念。二、变量可以指向函数以Python内置的求绝对值的函数abs()为例。调用该函数用以下代码:print(abs(10))运行结果:但是,如果只写abs呢?prin
Karen110 Karen110
3年前
数据挖掘建模过程全公开
「数仓宝贝库」,带你学数据!导读:本文以餐饮行业的数据挖掘应用为例,详细介绍数据挖掘的建模过程。数据挖掘的基本任务包括利用分类与预测、聚类分析、关联规则、时序模式、偏差检测、智能推荐等方法,帮助企业提取数据中蕴含的商业价值,提高企业的竞争力。对餐饮企业而言,数据挖掘的基本任务是从餐饮企业采集各类菜品销量、成本单价、会员消费、促销活动等内部数据,
GoCoding GoCoding
3年前
K8s 开始
是用于自动部署,扩展和管理容器化应用程序的开源系统。本文将介绍如何快速开始K8s的使用。了解K8s搭建K8s本地开发测试,需要搭建一个K8s轻量服务。实际部署时,可以用云厂商的K8s服务。本文以k3d为例,于macOS搭建K8s服务。于Ubuntu则推荐MicroK8s。其他可替代方案有:,,是Ra
Stella981 Stella981
3年前
CentOS 6.5下安装Tomcat
Tomcat安装通常情况下我们要配置Tomcat是很容易的一件事情,但是如果您要架设多用户多服务的Java虚拟主机就不那么容易了。其中最大的一个问题就是Tomcat执行权限。普通方式配置的Tomcat是以root超级管理员的身份运行的,显然,这是非常危险的,可想而知,一但网站被挂马,您的整个服务器都可以被黑客控制了。而通过编译或在线(例
Stella981 Stella981
3年前
JavaScript 的面向切面编程
我们都知道面向对象编程,或者至少听说过JavaScript领域的函数式编程,但是,你听说过面向切面编程吗?我知道,它听起来像是《魔法战队》中某一集出现的东西。然而,AOP是实际存在的。此外,虽然我们现在没有使用它,但它却可以被应用于我们日常会见到的一些用例中。它最大的优势在于,你可以毫不费力的将AOP与FP或OOP结合使用,就像J
Stella981 Stella981
3年前
Arduino控制16路PWM舵机驱动板(PCA9685)
最近买了块16路PWM舵机驱动板,测试后做个总结。舵机原理网上资料很多就不详细介绍了,一般以9g舵机为例,一个20ms的周期内通过0.5ms到2.5ms的脉冲宽度控制舵机角度。板子为16通道12bitPWM舵机驱动,用2个引脚通过I2C就可以驱动16个舵机。修改例子为可以通过串口设置舵机角度1include<Wire.h
Wesley13 Wesley13
3年前
JS作用域和变量提升看这一篇就够了
作用域是JS中一个很基础但是很重要的概念,面试中也经常出现,本文会详细深入的讲解这个概念及其他相关的概念,包括声明提升,块级作用域,作用域链及作用域链延长等问题。什么是作用域第一个问题就是我们要弄清楚什么是作用域,这不是JS独有的概念,而是编程领域中通用的一个概念。我们以下面这个语句为例:letx1;这
Wesley13 Wesley13
3年前
VC++ 函数指针实现被动传输数据
    在使用VS2010开发项目时,经常需要实现一些动态的DLL库的开发,其在开发过程中,需要dll能自动调用回调函数,实现数据传输。因此,在项目中,需要使用到函数的指针,函数的指针能很好的解决该问题。下面采用socket的通信为例。    在我们认知的socket的通信模型中,其采用cs经典模型,为了使我们的代码具有更好的可移植复用性,一般讲,s
Wesley13 Wesley13
3年前
Unity中利用委托与监听解耦合的思路
这篇随笔是一篇记录性的随笔,记录了从http://www.sikiedu.com/my/course/304,这门课程中学到的内容,附带了一些自己的思考。一.单例模式的应用首先假想一种情况,现在需要有一个按钮和一个Text,当按下按钮时,Text上显示“你好”两个字。一个最常见的方法是在按钮下挂载一个脚本BtnClick,它持有一个Text组件,