摘要:
官网:http://gearman.org/跨多种环境部署 Gearman http://www.ibm.com/developerworks/cn/opensource/os-gearman/index.html 利用开源的Gearman框架构建分布式图片处理平台-张宴 http://blog.s135.com/dips/ 监控: https://github.com/yugene/Gearman-Monitor 一、简介 Gearman是一个分发任务的程序架构,由三部分组成: Gearman client:提供gearman client API给应用程序调用。API可以使用C,PHP.. 阅读全文
摘要:
最近在做UCenter的开发,把我们一个网站与UCenter做整合,在这个整合之前,看到UCenter的介绍,觉得如果按照官方的介绍来 看,简直是我们这些不愿意单独开发CMS及BBS的网站的福音。但是在开发的过程中,却看到了UCenter的种种的缺陷,这些缺陷当然不能怪 Discuz,我也都想了些办法来解决,但是对于一个成熟的商业系统来说,Discuz的开放性,还有很长的路子需要走。目前UCenter定位自己就是用户中心,但是一个真正的用户中心,他的工作却不是称职的。我觉得盛康应该讲UCenter把自己定位为一个与康盛旗下产品整合的一个桥梁,而不要试图越俎代庖的想替代动易、PHPCms做用户管 阅读全文
摘要:
1、用户登录discuz,通过logging.php文件中的函数uc_user_login对post过来的数据进行验证,也就是对username和password进行验证。2、如果验证成功,将调用位于uc_client下client.php文件中的函数uc_user_synlogin,在这个函数中调用 uc_api_post('user', 'synlogin', array('uid'=>$uid))。3、然后这个函数后向Ucenter的index.php传递数据,index.php接受传递的数据,获得model为user,action为 阅读全文
摘要:
在向表中插入数据的时候,经常遇到这样的情况:1. 首先判断数据是否存在; 2. 如果不存在,则插入;3.如果存在,则更新。在 SQL Server 中可以这样处理: if not exists (select 1 from t where id = 1) insert into t(id, update_time) values(1, getdate()) else update t set update_time = getdate() where id = 1那么 MySQL 中如何实现这样的逻辑呢?别着急!MySQL 中有更简单的方法: replace int... 阅读全文
摘要:
Truncate是一个能够快速清空资料表内所有资料的SQL语法。并且能针对具有自动递增值的字段,做计数重置归零重新计算的作用。语法TRUNCATE TABLE name2参数name是要截断的表的名称或要删除其全部行的表的名称。3注释TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均删除表中的全部行。但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系统和事务日志资源少。DELETE 语句每次删除一行,并在事务日志中为所删除的每行记录一项。TRUNCATE TABLE 通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记 阅读全文
摘要:
一、key与primary key区别 CREATE TABLE wh_logrecord (logrecord_id int(11) NOT NULL auto_increment,user_name varchar(100) default NULL,operation_time datetime default NULL,logrecord_operation varchar(100) default NULL,PRIMARY KEY (logrecord_id),KEY wh_logrecord_user_name (user_name) )解析:KEY wh_logrecord_us 阅读全文
摘要:
: 'one', 'sex' => 'two', 'test' => array('a' => 'ss', 'dd'), 'old' => 'three' ); $arrayobject = array2Object($array); echo $arrayobject->name; // one print_r(object2Array($arrayobject)); */ function array2Object($ 阅读全文
摘要:
失败是常见的。 对于初次接触Ucenter的人来讲,添加一个自己的应用最头疼的就是发现通信失败。如果要解决这个问题,首先要了解Ucenter是如何和应用进行通信的。只有知道了Ucenter和应用之间如何通信,我们才能找到通信失败的原因。那让我们从源头找起吧!如果用火狐来辅助查找通信失败的源头会更加简单一些【我可不是给火狐做广告啊!它真的是太好用了】。我们先来看看是谁输出了通信失败四个字:在火狐中右键->本帧->查看帧源代码【注意,要在“通信失败”附近】。如图:然后在源代码中查找应用访问地址。找到通信失败所在位置。请注意,通信失败四个字是有js生成的。直接查找通信失败是找不到的。认真 阅读全文
摘要:
判断时效可以:$sessionpath=session_save_path();$user_sessionfile=$sessionpath."/sess_".$db_user_sessionid;$activetime=file_exists($user_sessionfile)?intval(filemtime($user_sessionfile)):0;if(time()-$activetime>30*60){//30分钟的时效//登陆}然后在用户每次活动时,在页面里都写上:$_SESSION['activetime']=time();//确保每 阅读全文
摘要:
我这个有强迫症的人来说,自从TabActivity抛弃之后,再使用看到一个个警告和一条条划着的横线,心里很不舒服,现在终于下定决心用Fragment来替换掉TabActivity了!我的 研究成果如下:首先是MainActivity,它需要继承FragmentActivity(这里是指:版本是3.0之前的继承 FragmentActivity,3.0版本之后的继承Activity就可以),对于FragmentActivity的声明周期我就不过多介绍了, 和Activity差不了多少,自己也能弄明白!下边是MainActivity的代码:[java] view plaincopypackagen 阅读全文