手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表分类:PHP

thinkinlamp聚会

本期thinkinlamp应该算是第三期了吧?每一期都有热点,这一期也不例外

只是这一期都集中在百度和微博的爆点上了,都在讲自己怎么优化怎么优化,怎么提高性能,他们也都用图例说明了自己的架构原来是多么的复杂,这些离我们都太远了,其实大家也都明白,PHP能做的事情很多,不仅仅局限于前台,但受限于语言的特性,对于多线程之类的不适合用它来做。也正因此,他们几个都在尝试用其他方式 来避开这个问题,让刀用在刀刃上。

其中有一点就是扩展的问题,百度的人在认为扩展能不用就不用。而鸟哥则认为合理的利用扩展可以有效的提高 性能

然后就是另外三个让我有兴趣的话题了:hm的全文检索/老高的开发规范/梁枫的PHP在web之外

hm的全文检索我是用过了,性能上还是不错,只是当时我的需求是任意字符都必须要能够出搜索结果,但是基于分词的话,就没有办法这么准确。所以,有时候就很纠结。。

老高的几个规范其实在开发中也已经遇到,但有时候真的是为了赶时间就忽略 了这些,不过,在review的时候,偶尔会对这些问题进行修复,但不是每次都保证一定能发现问题,如果到后期遇到了,恐怕就真的很难再改了

梁枫的在WEB之外,是真的让我耳目一新, 无论是直接读ttyACMD之类的文件来使得用PHP与其他设备交互,在linux中,所有的一些都是文件,所以什么都能操作,这点就比windows方便很多。梁枫演示的,用PHP在屏幕画图,视频播放器等功能,真的让我感觉PHP有很多功能没有开发出来。不要忽略了PHP在其他方面的作用。事实上,我就经常用PHP来做运维工具,毕竟用PHP写脚本,对我来说,比shell/bash之类的快很多,而且功能也更强劲

------

顺便,中午的时候,居然有演出,四位朋友的友情演出,才让我突然想起,原来今天是家驹的忌日。从第一次听他的歌到现在居然都快20年了,家驹走好

------

今天的分享中让我记忆犹新的就是几个:1、规范一定要能落地;2、尽量用技术来支撑规范;3、开发的时候就最好把安全都先考虑好;4、PHP能做很多事,就看你敢不敢想

性能有时候虽然重要,但我还是觉得,如果能够加速迭待,那才是更好的。准备开始尝试下一个项目中使用yaf了。理由真的有几点,一是纯C框架,效率有上升,2是有PHP的复刻版,即使真的装不了扩展,也能用这个复刻版

YAR,YAC都还可以考虑,先忍着点。。。。yar因为RPC的不是每个项目里都能够用得上,YAC的话,如果不是因为他无锁,都不太想用,但是又太新了,也不是每台机器上都能使用,所以就先不作考虑了,不过可以尝试在自己的项目里小小的应用一下。。。

鸟哥的扩展太多了。。。小心的用,哈

Tags: thinkinlamp

转:每个 Web 开发者都应该知道的关于 URL 编码的知识

URL,对于每个搞Web开发的人来说都是一件必知必会的玩意,但究竟应该会到什么地步,就有一些说法了,常见的,比如URL不能太长,传递非ascii字符需要encode之类的都知道。有没有更深的内容?

开源中国的网站上,就有人翻译了一篇文章 ,先不谈翻译的怎么样,光长度就够吓人了。。

内容很长,我这里仅提供一个链接,当然为了方便各位查看,我还搞了个PDF提供下载

来源地址:http://www.oschina.net/translate/what-every-web-developer-must-know-about-url-encoding

原文地址:http://blog.lunatech.com/2009/02/03/what-every-web-developer-must-know-about-url-encoding

每个 web 开发者都应该知道的关于 url 编码的知识 - 技术翻译 - 开源中国社区.pdf

这里有一个摘要目录:

 

 

关于APNS的一些事(是以前的补充)

 在之前也写过一些关于apns的事情,不过都没有深究。都是抄抄改改,写写弄弄,近日 在与人讨论时,人说纯中文可以发76个汉字左右。当时我就想了,这不应该啊。apns总长度不能超过256字节,76个汉字。json_encode一下。一个汉字8个字节,早就超了不知道多少了。还要组成payload。。难道不超吗?

然后看了一下别人的函数,原来是用了一个自定义的json_encode。看了他的自定义json_encode之后,突然想起,风雪之隅在他的博客上提到过,5.4的json_encode加了一些参数(参考: 让Json更懂中文(JSON_UNESCAPED_UNICODE)),于是看了一下。json_encode($str,JSON_UNESCAPED_UNICODE)。计算下来的长度与那个自定义的json_encode一样了。

自此,记录下来。推送的时候也可以多推几个汉字了。(仅限php5.4,之前的版本还是网上找自定义的json_encode函数吧,关键字:中文自定义 php json_encode ,或者直接看:http://yige.org/p/458)

早期关于APNS的文章 :

Tags: apns, ios

getimagesize

 看到这个标题,你是不是会觉得很无聊?事实上,我是想表达另外的意思。从php5.2开始,很多操作都是支持streamwrapper的功能的,所以当有一个需求:从网上下载一张图片,存到本地,并使用正确的后缀名,就需要用到getimagesize了。

PHP代码
  1. $data = file_get_contents($url);  
  2. file_put_contents('xxx',$data);  
  3. $imageinfo = getimagesize(xxx);  
  4. $extension = func($imageinfo); //获取文件属性  
  5. rename('xxx','xxx.???');  

以前的逻辑可以是这样。但现在可以简化一下

PHP代码
  1. $data  = file_get_contents($url);  
  2. $imageinfo = getimagesize('data:image/;base64,'.base64_encode($data));  
  3. $extension = func($imageinfo); //获取文件属性  
  4. file_put_contents('xxx.'.$extension , $data);  

 

Tags: getimagesize

PHP 飞信类

偷了个懒,代码扔在github上了。
用法也很简单:

    $fetion = new PHPFetion('用户名','密码');     $fetion->send('对方手机','信息');     会自动识别自己还是对方。(非好友不能发哦)

也实现了$fetion->multiSend,但我偷了个懒,直接循环用send发送了。
事实上,可以在刚登录的时候,利用group先将好友列表拉回来,然后就方便了。但觉得这样就复杂了。何必呢。。一般在用飞信的时候,也很少会用到群发功能吧。所以,我还是循环的send。黑黑

代码地址:https://github.com/neatstudio/yiiextension
欢迎围观

Tags: 飞信, fetion