置 顶
置 顶
mysql 命令 2014-09-06
2016
07-10
07-10
5分钟搞清楚 php命名空间(复杂版)
为什么要有命名空间,它就是解决给函数给变量给类起名字的一个方案 ,它用来解决 命名重复,还有简化名字的作用
假如 三个人同时工作,都写了一个叫 say的函数,该怎么办?
也许你可以想到把函数写到class里, 但是如果三个人的class名都相同该怎么办? 这时候命名空间就登场了
faaa.php
这个文件里 写了一个say函数,并且写了一个demo类,类里还有一个say函数
.... 阅读全文
最近集成了一个在线聊天web应用,先用node实现了一遍, 今天又用php实现了一遍,php用到了workermen gateway, 前端用html5原生 websocket,之所以没有用socket.io 是因为存在跨域问题,
不废话看代码
use GatewayWorker\Lib\Gateway;
class Events
{
public static $user .... 阅读全文
2016
07-07
07-07
thinkphp 批量查询 in
先说一下需要用到的场景, 假如我有 5个用户的id,那么我如何一次性查出 这个5个人的信息?
for循环会 执行5次sql语句,明显效率低下,所以有会有 in 这语法
看代码
//获取信息
$uid=I('uid');
/*先判断下合法性*/
if(is_null($uid) || empty($uid)){return false.... 阅读全文
2016
07-06
07-06
第一个node应用 代码解析
终于基于 nodejs 做出了一个完整的应用 就是即时通讯
大体思路是:用户打开页面 告诉socket自己上线了;然后node告诉所有用户 ;有用户上线了,你们可以给他发消息了;之后就是监听消息,监听到消息是发给谁的,就找到他的id发出去,无需经过cookie session 直接看代码吧
var app = require('express')(),
.... 阅读全文
2016
07-01
07-01
socket.io 数据分发
socket 是用来做在线长连接的,这里会涉及到 1对1 1对多 的数据分发,记录一下api
向当前客户端发送事件
socket.emit('login', {
numUsers: numUsers
});
广播(不包含当前客户端)
socket.broadcast.emit('new message', {
username: socket.user.... 阅读全文
2016
06-23
06-23
[干货]微信红包算法
由于业务上要生成随机红包,并且需要设置要发放红包的 金额、最小值、最大值、以及数量。 所以就写了一个红包生成算法,有两种其核心原理是一样的, 都是运气随机。
一种是靠递归来实现。原则上,递归会不断建立堆栈,当发放红包个数较多时,很容易发送堆栈溢出,俗称卡死。
所以又对算法进行了改进,这一种是靠for循环 do while 来实现, 这次改进果然很有效 性能比用递归提升了 2倍。
按 .... 阅读全文
2016
06-20
06-20
HTML5来了 WebSocket长连接 进阶之路
被误解的HTML5
很多人对html5有误解,以为html5仅仅是多了几个标签多了一些css3动画。 手机做个单页就是HTML5 ,也就是烂大街的H5。
其实我想说:naive,其实Html5比你想的不知道高到哪里去了,那些H5仅仅是 html5的9万牛一毛。
长连接
其他不扯,今天进阶一下 html5的一个 新特性,websocket ,俗称长连接, 为什么会有这个东西,它又用在什么.... 阅读全文
2016
06-13
06-13
安卓Andriod 移动端position: fixed 失效 解决方案。
我就日了吉娃娃
在做一个 常用移动端底部固定导航的时候 结果ios正常 安卓全线 position:fixed 失效。 网上找了找,有一个很奇葩的解决办法,但是非常好用。
那就是 必须给 fixed dom外包 用一个div 包裹起来,然后把这个div postition:absolute
呵呵就是这么神奇。黑科技 看代码
.... 阅读全文
2016
05-30
05-30
encrypt 对称加密
由于一些安全性的原因,如果明文传输一些关键参数 很容易被一些别有用心的人伪造导致不可预测的后果,在安全上面千万不能掉以轻心。
这是一个 对称加密函数, 如果在地址栏传输 由于加密后的字符串会带 / ,为了防止和浏览器地址栏冲突 所以需要 用url编码一下。
CODE
/*************************************************.... 阅读全文
2016
05-04
05-04
windows2008 生产环境svn自动部署。告别ftp
必备要求
1.前提你需要一台独立的VPS或云服务器,
2 你会用svn 或了解svn
运行原理
客户端 svn提交新代码到服务器时, 服务器收到这些新代码后会用 hooks(钩子)加载一个同步配置文件,同步到指定的代码运行目录例如www
安装流程
服务端 需要安装 VisualSVN 免费的svn仓库管理器, 安装完后 新建一个代码仓库,新建一个用户, 之后在仓库文件夹里找到该项.... 阅读全文