`
OrangeHolic
  • 浏览: 260737 次
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
        得到某个时间戳所对应的日期的0时在这边的数据统计中经常用到,如得到1409144737(2014/8/27 21:5:37)的0时1409068800(2014/8/27 0:0:0),可用的方法也比较多,在这里介绍常用的三种:      1.mktime函数方式    Java代码   $time =1409144737;      var_dump(date('Y-m-d H
最近有个问题 :实现显示用户本月登录日期 ,累计天数到一定数目可参加活动,和下图展示的功能类似。   过去看过使用redis bitmap进行活跃用户统计的例子,觉得和本功能非常match,决定用redis的bitset来实现。   每个用户每月产生一个key,字段意义如下 0 位表示某月1日登录  ,1表示某月2日登录,以此类推。   每个用户一月的活跃度需要8byte,1W用户每年需要1W*12*8byte 约1M数据     用户每次登录系统,需要用setBit设置用户本日登录,可用bitcount的到用户本月登录天数总和,因为PHP原生不对bitset进行支持, ...
继续说说PHP的几个编码优化 1.用逗号连接echo字符串 $name='orange'; $address='BeiJing'; echo 'Hi,'.$name.'! Welcome to '.$address;//慢 echo 'Hi,',$name,'! Welcome to ',$address;//快,建议方式 原因可以查看两者的opcode,用逗号的方式和用点号方式的opcode如下 2.使用require还是require_once    老问题了,Lerdof N年前就提出来了,建议用require,因为require_once发起少量的stat调用,我们可以通过ab ...
最近翻了翻,总结一下 一.督促你的客户选用更快的浏览器,这样才能体验到更快的加载速度! 具体什么的就不说了,上一张图,下图为Gomez收集了200个网站的18.6亿个别值,时间范围为1个月,得出的真实上网环境中的数据。图 ...
前几天看他人项目代码,有一功能为统计最近1月某功能的使用总量,代码实现竟然不做时间连续处理,出现下面情形。 N星期前,也曾看到部分代码,时间连续处理竟然是以一天为时间间隔查询数据库,最近1月的统计竟然需要查询30+次。 在此列一下按照日统计数据的sql和自己写的一个时间连续处理函数. 1.测试表为 test 字段1:increase(int型,表每天增加) 字段2:optime(int型,为时间戳,表示记录增加时间) --按日查询-- $start = strtotime('2012-02-21'); $end = strtotime('2012-03-03'); $sql=& ...
Python多线程 Python中实现多线程有两种方式,一种基于_thread模块(在Python2.x版本中为thread模块,没有下划线)的start_new_thread()函数,另一种基于threading模块的Thread类。 其实Python的多线程编程不能真正利用多核的CPU,但是用开源模块使你的计算压力分布到多核CPU上......... 一.使用start_new_thread()实现线程,是比较底层的实现方式,所有线程共享他们global数据,为了达到同步,模块也提供了简单的锁机制 _thread.start_new_thread(function, args[, kwar ...

MySQL Connector/Python

       MySQL Connector/Python 是 MySQL 官方提供的 Python 连接 MySQL 数据库的驱动程序.下载地址为: http://www.mysql.com/downloads/connector/python/,到现在位置发布支持Python2.7,Python3.2的版本,Python3.3的版本正在开发中,支持Python3.*的连接驱 ...

Mysql 查询缓存

Mysql 查询缓存 查询缓存的作用就是当查询接收到一个和之前同样的查询,服务器将会从查询缓存种检索结果,而不是再次分析和执行上次的查询。这样就大大提高了性能,节省时间。 1.配置查询缓存 修改配置文件,修改[mysqld]下的query_cache_size和query_cache_type(如果没有则添加)。其中query_cache_size表示缓存的大小,而query_cache_type有3个值,表示缓存那种类  型的select结果集,query_cache_type各个值如下: 0或off关闭缓存 1或on开启缓存,但是不保存使用sql_no_cache的select语句,如不缓 ...
mysql慢查询日志对于跟踪有问题的查询非常有用,可以分析出代码实现中耗费资源的sql语句,对我们程序的优化有很高的参考。本篇主要将慢查询日志的开启,日志分析,这也是优化SQL程序的一般步骤中至关重要的一步。 1.mysql慢查询日志           打开mysql的慢查询日志很简单,只需要在mysql的配置文件里(windows系统是my.ini,linux系统是my.cnf)的[mysqld]下面加上 log-slow-queries=mysql_slow.log long_query_time=3           其中 ...
现在好的邮件客户端如outlook等支持直接插入图片,接收方阅读时也表现为非附件形式. 但是如果我们用代码实现呢?我们可以用下面2种方式实现 1.可以将图片传到有外链的网站,这个就无需介绍了,如果图片不变化,推荐这种形式。 2.采用base 64编码的方式,在此重点讲讲这种方式。 嵌入图片,可以说这是HTML的知识例了 1.首先需要准备图片,这里有个限制,我们在最后说明。 2.对图片进行base 64编码 这里采用PHP base64_encode 函数进行演示,代码如下: $content=base64_encode(file_get_contents('F:\test.png') ...
MySQL Binary Log也就是常说的bin-log, ,是mysql执行改动产生的二进制日志文件,其主要作用有两个: * 数据回复 * 主从数据库。用于slave端执行增删改,保持与master同步。 1.开启binary log功能      需要修改mysql的配置文件,本篇的实验环境是win7,配置文件为mysql安装目录\MySQL Server 5.1下的my.ini,添加一句log_bin = mysql_bin即可      eg:      [mysqld]              ......              log_bin = mysql_bin ...
1.定义:定义一个操作的算法的框架,将一些步骤的实现推迟到子类. 其实意思就是操作的算法的骨架不变,即规定好了第一步应该干什么,第二步干什么,再次干什么,但是不规定具体内容. 2.图示 AbstractClass(抽象类):定义了一到多个的抽象方法,以供具体的子类来实现它们;而且还要实现一个模板方法,来定义一个算法的骨架。 ConcreteClass(具体类):实现父类中的抽象方法以完成算法中与特定子类相关的步骤 在此那超市购物为例子,如某A购物非常有规律,他一般先去书籍区转转,然后再去蔬菜瓜果区看看,再去服装鞋帽区逛逛,最后去家电数码区(这就相当与AbstractClass)  话说上 ...
大家都在说设计模式,俺们也来插一脚解说一下。 先来中介者模式吧,大家都把设计模式将复杂了。GOF第一中介者模式为:用一个中介对象封装一系列对象的交互,中介者使各对象不需要显示地相互作用,从而使其耦合松散,而且可以独立的改变它们之间的交互。中介者模式使原有一对多的依赖变成了一对一的依赖,同事类只依赖中介者,降低了类之间的耦合。 其实说白了就是将下面的联系方式A变成了B方式而已,不仅降低类与类之间的耦合,也减少了我们维护的成本。 图1:联系方式A 图2:联系方式B 在A方式下各个对象之间的交互操作非常多;每个对象的行为操作都依赖彼此对方,修改B的一个函数,你就需修改A,C,E三个类的代码, ...
1.判断是POST/GET请求 这个大家都知道了,就是$_SERVER['REQUEST_METHOD'] 返回用户的请求方式; i.e. 'GET', 'HEAD', 'POST', 'PUT'. eg: 2.判断是AJAX请求 框架中频繁用到:$_SERVER['HTTP_X_REQUESTED_WITH']来判断是否Ajax提交.  其实$_SERVER数组中无HTTP_X_REQUESTED_WITH变量,其实是利用XmlHttpRequest的setRequestHeader方法设置的。 在Jquery的源码中 然后 setRequestHeader("XX" ...

Yiic介绍

    博客分类:
  • Yii
Yiic介绍 本来要介绍Yii的RBAC,但里面有部分内容需要用到Yiic,先开篇文章介绍一下Yiic,本篇主要介绍CConsoleCommand,至于其他如怎么利用Yiic创建应用等请参考Yii官方提供的文档。 yii提供了强大的命令行工具来快速的创建相关组件 ...
Global site tag (gtag.js) - Google Analytics