项目中很多时候会碰到这个需求,实现多张图片的无限循环轮转,以前做过,项目中几个地方的都用到了,当时没有封装,几个地方都拷贝几乎一样的代码,代码复用性不好,今天没事封装了一下,使用起来比较简单。 首先,说说我实现循环轮转图片的思想,在UIScrollView中添加了3个UIImageView,并排排列,我们看到的永远只是第二个UIImageView,这样的话,你一直可以向左,向右
接下来我们要讲图片的涂鸦,我们分开一点一点拓展,先给图片上划线 创建项目 起名testAddLine img src="https:img.nhooo.comstaticupload21031209
本文实例讲述了php安装swoole扩展的方法。分享给大家供大家参考。具体如下: 我本机是OS X,想要安装swoole体验一下,于是: andy@AndyMacBookPro:usrlocalwebdatagithub$ cd swoole-src andy@AndyMacBookPro:usrlocalwebdatagithubswoole-s
由于本文的能力有限,有好多聊天逻辑的细节没有实现,只实现了群发,具体代码如下所示: php代码: $serv = new swoole_websocket_server"127.0.0.1",3999; 服务的基本设置 $serv-setarray 'worker_num' = 2, 'reacto
Swoole支持PHP 5.3.10以上版本,所以安装Swoole之前请先安装PHP 5.3.10以上版本,现在来介绍Windows下PHP安装配置方法。 软件版本:php-5.3.1-Win32-VC6-x86.zip 这个不需要额外的安装.net的库,所以就用这个了。可以使用其他的。 1.PHP安装strong
南宁公司和几个分公司之间都使用了呼叫系统,然后现在需要做一个呼叫通话数据分析,由于分公司的呼叫服务器是在内网,通过技术手段映射出来,分公司到南宁之间的网络不稳定,所以需要把分公司的通话数据同步到南宁。 本身最简单的方法就是直接配置MySQL的主从同步就可以同步数据到南宁来了。但是销售呼叫系统那边的公司不给MySQL权限我们。 所以这个方法只能放弃了。 于是我们干脆的想,使用PHP来实现
Windows 下安装 swoole 具体步骤: Swoole,原本不支持在Windows下安装的,所以我们要安装Cygwin来使用。在安装Cygwin下遇到了很多坑,百度经验上的文档不是很全,所以我把自己安装Cygwin和Swoole写下来相当于对自己的沉淀吧。 首先准备工具: Cygwin 官方地
引入背景:假如我们每天有10000个订单生成,需要同步到仓储系统中去,以前做法是开启一个crontab去跑这些任务,但是发现总有感觉同步效率低,间隔时间都是分钟级别的。 解决方案测试:我们将同步订单的任务表添加一个hash作为key,作为分发条件,因为mysql中select如果做mod函数是用不到索引的,所以我们自己做随机hash,但是务必不需要范围太大,以免服务器资源不够,方法是根据hashkey投
最近两个月一直在研究 Swoole,研究成果即将在6.21正式开源发布,这段时间没有来水文章,趁着今天放假来水水吧。 借助这篇文章,我希望能够把 Swoole 安利给更多人。虽然 Swoole 可能目前定位是一些高级 phper 的玩具,让中低级望而生畏,可能对一些应用场景也一脸懵逼,但其实没这么难的。 在 Swoole 官网的自我介绍是“面向生产环境的 PHP 异步网络通信引擎”,首
本文实例讲述了PHP扩展Swoole实现实时异步任务队列。分享给大家供大家参考,具体如下: 假如要发100封邮件,for循环100遍,用户直接揭竿而起,什么破网站! 但实际上,我们很可能有超过1万的邮件。怎么处理这个延迟的问题? 答案就是用异步。把“发邮件”这个操作封装,然后后台异步地执行1万遍。这样的话,用户提交网页后,他所等待的时间只是“把发邮件任务请求推送进队列
本文实例讲述了PHP+swoole+linux实现系统监控和性能优化操作。分享给大家供大家参考,具体如下: 服务器监控 端口监控php运行shell脚本 class Server { const PORT = 8811; ** * 获取端口指定端口信息;如果在运行返回1;
什么是Actor? Actor对于PHPer来说,可能会比较陌生,写过Java的同学会比较熟悉,Java一直都有线程的概念(虽然PHP有Pthread,但不普及),它是一种非共享内存的并发模型,每个Actor内的数据独立存在,Actor之间通过消息传递的形式进行交互调度,且Actor是一种高度抽象化的编程模型,非常适合于游戏、硬件行业。 s
本文实例讲述了PHP swoole和redis异步任务实现方法。分享给大家供大家参考,具体如下: redis异步任务 interface.php ?php for$i=0;$i100;$i++{ $msg = "zhezhao[".$i."]"; $redis = new Redis;
本文实例讲述了PHP基于swoole多进程操作。分享给大家供大家参考,具体如下: 多个任务同时执行 将顺序执行的任务,转化为并行执行(任务在逻辑上可以并行执行) 比如,我们要对已知的用户数据进行判断,是否需要发送邮件和短信,如果需要发送则发送。 不使用多进程时,我们首先判断是否发送邮件,如果需要则发送;然后再判断是否需要发送短
本文实例讲述了php swoole多进程多线程用法。分享给大家供大家参考,具体如下: swoole的多线程其实就是多进程,进程创建太多切换的开销很大,如果能用上pthreads建议用pthreads,因为我用的是php7nts版本没办法用pthreads swoole实例如下: ?php ** * 创建多进程 * $worker_nu
本文实例讲述了php基于 swoole 实现的异步处理任务功能。分享给大家供大家参考,具体如下: 安装swoole: 下载官方swoole压缩包,解压进入目录 $ cd swoole # 进入 swoole 目录 $ phpize $ .configure --with-php-config=u
一般来说PHP中常使用file_exists判断某个文件或者文件夹是否存在,如果存在则返回true,否则返回false。但是该函数在网页使用UTF8编码的情况下,对于中文的文件名或者文件夹名不能返回正确值,始终返回false。经测试之后得出解决方法,分析造成这一情况的原因应该是编码不同而导致的PHP不能正确判断。 下面这段代码是不能够返回正确值的代码,无论文件是否在都返回不在: pre
本文实例讲述了PHP中file_exists判断中文文件名无效的解决方法。分享给大家供大家参考。具体方法如下: php中判断文件是否存在我们会使用file_exists函数或is_file函数,但在使用file_exists时如果你文件名或路径是中文在uft8编码文档时是无效。本文就来解决此问题,下面我们一起来看看。 定义和用法: file
说明: bool file_exists string $filename 如果由 filename 指定的文件或目录存在则返回 TRUE,否则返回 FALSE。 在Windows上,使用 计算机名共享文件名或 计算机名共享文件名,以检查网络共享文件。 在 Windows 中要用 computer
PHP XML和数组互相转换 数组转XML function arrayToXml$arr { $xml = "xml"; foreach $arr as $key=$val { if is_numeric$val{ $xml.="&l
本文实例讲述了php实现xml转换数组的方法。分享给大家供大家参考,具体如下: ?php $info = '?xml version="1.0" encoding="utf-8" ? data GeocoderSearchResponse statusOKst
本文实例讲述了php实现XML和数组的相互转化功能。分享给大家供大家参考,具体如下: 数组转化为xml: function arrtoxml$arr,$dom=0,$item=0{ if !$dom{ $dom = new DOMDocument"1.0"; } if!$item{ $ite
本文分析了struts2过滤器和拦截器的区别。分享给大家供大家参考,具体如下: 一、本质区别: 1. 拦截器是基于java的反射机制的,而过滤器是基于函数回调。 2. 拦截器不依赖与servlet容器,过滤器依赖与servlet容器。 3. 拦截器只能对action请求起作用,而过滤器则可以对几乎所有的请求起作用。
基于psr的规范,使用命名空间和spl_autoload_register来实现自动加载 文件结构: |--Api |--Account.php |--User.php |--Service |--Login.php |--User.php |--Application.ph
享元模式的概念 在面向对象软件设计中,利用公共对象不仅能节省资源还能提高性能。共享的对象只能提供某些内在的信息,而不能用来识别对象。专门用于设计可共享对象的一种设计模式叫做享元模式(Flyweight pattern)。 实现享元模式需要两个关键组件,通常是可共享的享元对象和保存他们的池。某种中央对象维护这个池,并从它返回适当的实例。 运用共享
本文实例讲述了JSP页面传值乱码过滤方法。分享给大家供大家参考,具体如下: 1.过滤器类: package com.token.t1; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.Filter
我们的 iOS 应用都包含了大量的图像。创建富有吸引力的视图,主要依赖于大量的装饰图片,所有这些首先必须从远程服务器获取。如果每次打开应用都要从服务器一次又一次的获取每个图像,那么用户体验肯定达不到好的效果,所以本地缓存远程图像是非常有必要的。 两种方式加载本地图片 1.通过imageNamed:方法加载图片 用过这种方式加载图片,一旦图片加载到内存中,
压缩包制作也是很多项目中需要用到的功能。比如有大量的文件(假设有10000个)需要上传,1个1个的上传似乎不太靠谱(靠,那得传到什么时候啊?),这时我们可以制作一个压缩包zip,直接传这个文件到服务器端,然后在服务器目录解压,释放里面的文件。 这里我们选用ICSharpCode.SharpZipLib这个类库来实现我们的需求。 ICSharpCode.SharpZi
本文实例讲述了JS+CSS实现闪烁字体效果的方法。分享给大家供大家参考,具体如下: div id="blink"闪烁的文字div script language="javascript" function changeColor{ var color="#f00|#0f0|#00f|#880|#808|#088|yellow|green
Swoole是一种PHP高级Web开发框架,框架不是为了提升网站的性能,是为了提升网站的开发效率。最少的性能损耗,换取最大的开发效率。利用Swoole框架,开发一个复杂的Web功能,可以在很短的时间内完成。 官方定义: Swoole:重新定义PHP PHP的异步、并行、高性能网络通
RSA加密算法 我们来回顾一下RSA的加密算法。我们从公钥加密算法和签名算法的定义出发,用比较规范的语言来描述这一算法。 RSA公钥加密体制包含如下3个算法:KeyGen(密钥生成算法),Encrypt(加密算法)以及Decrypt(解密算法)。 密钥生成算法以安全常数作为输入,输出一个公钥PK,和一个私钥SK。安全常数用于确定这个加密算法的安全性有多高,一般以
介绍 我发现了一个问题,今天与大家分享。我把整个过程描述一下。 问题:公司有个框架是基于smarty写的,我负责php的升级,维护人员把新环境布上来之后,测试人员找我提出经常报错(错误:提示找不到文件的)。 我追踪了一下代码,原来是smarty的这个地方报的错误。 img src="https:img.nh
最近买了些二手服务器,dell品牌,性价比还不错,但是一台dell 服务器开机总是提示按F1才能进系统,到底应该怎么解决呢? 请问我的电脑开机老是提示“strikethef1keytocontinue,f2torunthesetuputility”这些,怎么设置不要这些提示
我们看看之前的拖拽在周围有东西的时候会出现什么问题? 在高级浏览器中不会有啥问题,我们放到IE7下面测试一下,问题就出来了。如图 img src="https:img.nhooo.comstaticupload2103112016411.p
今天我们来看看如何让拖拽的物体不能拖出某个div之外和拖拽的吸附功能 上次讲到我们的拖拽是不可拖出可视区范围的,在这基础上我们加个父级的div,不让他拖出父级。原理和之前的一样,简单吧。 html代码: div id="div2" div id="div1" div &
拖拽的原理: 其实就是鼠标与左上角的距离保持不变。我们来看下图, 这红点就是鼠标。 拖拽拖拽实际上来说就是通过鼠标的位置来计算物体的位置,就是这么简单,就是这么任性。 那这个距离怎么求呢?? 鼠标的位置-物体位置的差值就是那个距离 是吧。那这个斜线就是横线
今天我们就来解决上一次拖拽雏形中的一些问题。下面看看有哪些问题? 附上上期的Javascript代码,方便大家查看问题。 script type="textjavascript" window.onload = function { var oDiv = document.getElementById"div1"; var
本文实例讲述了JavaScript实现拖拽网页内元素的方法。分享给大家供大家参考。具体如下: 这段代码详细讲述了JS拖拽的原理和方法,值得学习和借鉴。 ** * 跨平台的事件监听函数 * @param {Node} node 需要监听事件的DOM节点 * @param {String} eventType 需要监听的事件类型 * @param {Function} c
拖拽的原理 1.获取距离鼠标的位置-odiv的外边距 2.理解什么时候用onmousemove事件 3.判断是否过界 html代码: div id="div1"div css代码: #div1{width:100px;height:10
本文实例讲述了JavaScript实现的简单拖拽效果。分享给大家供大家参考。具体实现方法如下: !DOCTYPE html PUBLIC "-W3CDTD XHTML 1.0 TransitionalEN" "http:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd" html xmlns="http