Submitted by gouki on 2013, February 8, 12:06 PM
看到这个的时候,觉得不是特别爽:/usr/local/mysql/bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
然后很纠结,于是想办法解决,其实很容易;
On Debian, if you get the error:
/usr/local/mysql/bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
type the following
apt-get install libaio1 libaio-dev
On Redhat/Fedora/CentOS:
yum install libaio
DataBase | 评论:0
| 阅读:21700
Submitted by gouki on 2013, February 7, 5:18 PM
关于apns这玩意,以前也写过不少的博客来介绍它了,国内的文章都是基于同一套代码的.
而正因为对apns了解的少,所以写的代码,以及对它的扩展都是不够完善的.
不过google code上终于有一套相对比较完善的代码了.https://code.google.com/p/apns-php/,其实在最近他已经迁移到了github了(October 26, 2012, Project source code has moved to github. )
看了一下代码,确实不错.
如果是原先的代码,其实一直有一个问题:如果某个token失效了,那么在接下来的10s左右,fwrite的推送都会失败.
虽然苹果提供了feedback的返回,但其实你翻看国内的文章,介绍,都没有告诉你怎么查询feedback,所以我到现在也没有好好的对Feedback处理过那些无效的信息.
上面介绍的这套代码就好很多了.可以进行推送,在失败的话,还能够继续推,如果成功的推送是直接可以进入下一条,不会胡乱浪费资源,真心不错...
代码也很简单:
PHP代码
- $push = new ApnsPush(ApnsAbstract::ENVIRONMENT_SANDBOX, '/dev.pem');
-
-
-
-
-
-
-
-
-
- $push->connect();
- foreach ($result as $data) {
- $token = $appCache->getAppTokenByUserId($data['receive_userid']);
- if(!$token){
- continue ;
- }
- $token = str_replace(" ","",$token);
-
- $message = new ApnsMessage($token);
-
-
-
-
- $message->setBadge( intval($data['cnt']));
-
- $push->add($message);
- }
-
- $push->send();
-
- $push->disconnect();
-
- $aErrorQueue = $push->getErrors();
- if (!empty($aErrorQueue)) {
- var_dump($aErrorQueue);
- }
这段代码不要纠结,为什么与官方不一样,因为我在用yii框架的时候没有autoload成功它的 代码,花了5分钟将它全部改成基于namespace的了.
苹果相关 | 评论:1
| 阅读:20876
Submitted by gouki on 2013, February 7, 5:07 PM
一个好的产品,必然是有灵魂的.
一个好的产品,即使是没有内容,也是能够被人喜欢的.
一个好的产品,就算没有内容,它本身也是内容
上面是我的乱谈,当然第一句话,我想,绝对没有说错:好的产品,是灌注着灵魂的.
下面的内容来自于:http://www.huxiu.com/article/9778/1.html
我这里只是摘要,如果你要看详细的,还是去看原文吧:
关于人性指导产品的一些看法——从神经系统到肉体反应
下面我再简单介绍下我对互联网产品设计的一些看法。
记 得以前看过有人介绍过2012年诺贝尔生物学奖,G蛋白偶联受体啥的。大概的意思是,人体细胞的表面到内核串联着一种蛋白胶G蛋白偶联受体。G蛋白偶联受 体可以接受人体分泌的类似荷尔蒙、肾上腺素等物质,产生反应后使得细胞收缩,产生肉体反应,然后再告知神经系统。神经系统通过之前的经验和环境的认知,来 做肉体反应做出喜怒哀乐的判断。
这个道理告诉我们,通过五官接触的声音、味道、图片、动画等,经过肉体的反应,远快于直接进入头脑的。前者相当于条件反射,这就让我们很好的理解为什么人的感性会大于理性了。而人的体验本质上,只有三个需求:性的需求,温饱的需求和安全的需求。
这个思想很有利于我们对体验设计的理解。当我们确定了产品满足的目标需求后,如何做出最符合人体条件反射的体验设计。比如:
一个按钮:如果只有一个按钮,人的条件反射就是要按它。即使是婴儿,也会非常自然的去按一个凸起或者凹进的按钮。
显著的反馈:每一次被理解的反馈(可用动画和声音模拟唤起用户记忆从而更加快速的理解)都是对条件发射的认可和强化。对比小孩,按钮以后有反馈,就会开心的笑。
节奏感:人体对节奏感会有本能的愉悦感。柔和的女声和沉着的男声,象征着性感。闪烁的特效,会让人引起安全警觉,从而努力去消除或者感受紧张。
安全感需求里面,衍生出一个需求:解决问题的需求。产品必须让用户第一时间理解他要解决的问题,并且用最直白的方法,告诉用户通过他自己的努力解决了这个问题。我们日常工作中的成就感,本质上是因为自己释放了对生存恐惧的压力而产生的。
下面讨论一个最复杂的问题:可选择过程中满足的解决问题,即安全需求。我们有很多产品,由于功能的需要不得不让用户有很多选择的操作。在这种情况下,就必须要引入教学机制,或者在刚需及无竞争情况下的让用户自学。
总结下来,要做一个好的产品思路,可以分下面三个步骤:
1. 解决什么需求,最好能一句话说清楚;
2. 解决需求的路径设计,最好能单线完成,过程中有反馈设计;
3. 选择指导:通过特效、亮点提醒和选择操作中的反馈,来完成用户对选择的理解。
思路明确以后,才是做产品的运营性功能设计,比如积分,信用体系等。
------EOF------
所以,在设计产品的时候,其实还是有很多地方需要想想的...
Tags: 打车
產品 | 评论:0
| 阅读:14172
Submitted by gouki on 2013, February 5, 12:15 AM
在使用redis的时候,出现了Error: read error on connection.
找了一下相关资料,在官方也有很多人提出这个问题
phpredis的作者的意思是,是因为default_socket_timeout的问题,将它设为0就好了.
但很多人都说设为0,在60秒后还是会挂 ,只有设为-1才OK
于是,在命令行下subscribe的时候,先init_set('default_socket_timeout',-1);
问题解决 .
Tags: redis
DataBase | 评论:0
| 阅读:23156
Submitted by gouki on 2013, February 1, 3:17 PM
本来是不想禁用的,但发现机器的风扇就一直没停过,CPU消耗的最大的就是firefox下的flash插件 .没辙了.我还是禁用它吧.
嗯flashblock即可,但其实我是想从软件的底层就直接禁用它.可惜没有好的办法....只能用插件了.网上类似的教程还有很多,比如这个:
内容来源:http://orzl.com/weblog/disable-the-flash-on-mac
于是乎,世界清静了.嗯,我没有那么急的需求要看flash....而且开了之后,耗电量也大增,何必呢.
Tags: flash
Software | 评论:0
| 阅读:17738