背景:Tencent公司为了想在年会抽奖上展现两个字:公平,公平,还是他妈的公平,随机函数到底用谁才体现公平,当时在群里有人问了?当时没有当回事,后来过了两天才知道原因,下面就来讲这个的一个决策过程,呵。
2012-12-12:
☆Reiko☆(6429****5) 10:50:32
用rand 随机出的数 在区段中间的数随机次数偏多。有什么好办法使随机数平均点。
☆Reiko☆(6429****5) 10:50:32
感觉
回忆未来-向东-Jàck(3726****3) 10:50:58
我觉得这种理论不成立,感觉是不能说明问题的,要有多次的数据作支持。
☆Reiko☆(6429****5) 10:50:57
随机的次数多的时候 还相对平均点
杨猪(1761****7) 10:51:02
感觉这玩意不靠谱。
Sango(1417887429) 10:51:02
你的感觉很少见
mk_rand 这个会好一点
☆Reiko☆(6429****5) 10:51:13
次数少的话就不平均了
杨猪(1761****7) 10:51:36
我这边同一个比例。今天出东西多了 有人说概率高。明天出东西低了有人说概率低。。
江林锦(865****3) 10:52:06
还是有一定效果的
江林锦(865****3) 10:52:13
量大的情况下
小猪臭(2674****5) 10:52:20
坐板凳潜水ing
Rango<htfntc****@163.com> 10:53:13
一定要用mt_rand
Rango<htfntc****@163.com> 10:53:36
rand有bug
杨猪(1761****7) 10:54:14
rand的BUG早就修复了
杨猪(1761****7) 10:54:52
注释:在某些平台下(例如 Windows)RAND_MAX 只有 32768。如果需要的范围大于 32768,那么指定 min 和 max 参数就可以生成大于 RAND_MAX 的数了,或者考虑用 mt_rand() 来替代它。

注释:自 PHP 4.2.0 起,不再需要用 srand() 或 mt_srand() 函数给随机数发生器播种,现在已自动完成。

注释:在 3.0.7 之前的版本中,max 的含义是 range 。要在这些版本中得到和上例相同 5 到 15 的随机数,简短的例子是 rand (5, 11)。
杨猪(1761****7) 10:55:06
无非就是播种嘛。
Rango<htfntc****@163.com> 10:55:19
不是这个问题,是因为glibc rand的bug
杨猪(1761****7) 10:56:23
那就不清楚了。
杨猪(1761****7) 10:56:32
glibc rand的bug 这个具体什么表现?
Rango<htfntc****@163.com> 10:58:41
随机出来的数字可能是一样的
Rango<htfntc****@163.com> 11:02:27
因为是直接用时间来做种子的,随机算法有点问题。mt_rand不存在此问题
Rango<htfntc****@163.com> 11:02:58
以前有用rand做CPU亲和设置的,发现很多程序都绑定到1个核了

2012=12-15
...........................
zedan(@zedan33)  || 陈敏(@chenmin):  || Sagezhang张松国(@sprits): 马上开始了,再拜一遍 || Sagezhang张松国(@sprits) 由于圣诞晚会采用PHP的mt_rand随机函数抽取中奖rtx号码,所以今年我决定改变打法。方法如下:  http://t1.qpic.cn/mblogpic/49da2741fd5c8b7f8392/2000 http://t.qq.com/p/t/44480028989012
php今年长脸了


Jack点评:善于发现漏洞并不利用漏洞者强,敢于拜神者王。
--------------------------------------------------------------------------------------
成功配置后的感想:关于这个aptana的调试功能,我觉得没有做得好,也是个鸡肋,因firefox的大幅度升级,导致这个debug插件出现了各种兼容性问题,国外也有人提到,如:https://aptanastudio.tenderapp.com/discussions/suggestions/400-js-debuggerdont-work-with-firefox-150-aptana-3-build-321201207261642-aptana-plugin-ff-172   为此,我觉得前端的调试还是应该以firebug来做,完善好了,问题解决90%。
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
我的最后Js调试Ok的解决方案如下:
Firefox 版本:V17.01
按aptana说的下载基于1.2-1.8:https://getfirebug.com/releases/firebug/1.8/firebug-1.8.0.xpi //这个版本我试了下是可以的
aptana插件下载如下:Aptana debugger的下载地址 :http://firefox.aptana.com/update/aptanadebugger.xpi

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
网上摘录:
安装:http://my.oschina.net/u/197668/blog/35751
使用及配置:http://blog.csdn.net/easywang369/article/details/7580034

更多关于这个zendstuodio的问题:http://hbwanghai.blog.163.com/blog/static/1992971472012102912916330/
这个较完整:
http://luwenxiang1990.blog.163.com/blog/static/17360763920116172294038/
http://icandy.blog.163.com/blog/static/18967817320113189013361/  
有代码可以下载学习,不错的教材,注意:这个firefox的版本问题可能是调试的大问题,得学会自己再安一个旧一点的3.5版本,安在不同的目录,在aptana里设置一下旧版本的位置,同时安上两个插件。一个是:firebug,一个是:apata的插件。(估计是用来开端口的,于最新的版本不兼容)
Aptana加Firefox下的插件进行调试:http://www.cnblogs.com/Fooo/archive/2010/01/28/1658514.html
Aptana debugger的下载地址 :http://firefox.aptana.com/update/aptanadebugger.xpi

Firefox下的插件不兼容然后会报错:
然后第一次debug跳到 http://www.aptana.com/?debugger=true&port=3726

第二次debug:也是一个 Aptana Firefox extension launching...please wait.

然后会报错:

Socket connection error. Please try shutting down and restarting your web browser, and then run 'debug' again. Accept timed out

搞来搞去,结果是firefox版本问题,把原来的3.5.5换为3.5就没问题了,这个行不通。


没有自动提示解决方案,zend studio 9 html,js,css的代码提示如何弄?php的代码提示是有的。
装好了后,就有JS的提示功能了,如果要以整个工程的文件作为提示需要先关联文件.然后按alt+/   。


按Alt+/什么都不出来,如果没有打开提示,就一行“No Default Proposals”的解决办法:
最终解决方案。
菜单window->Preferences->Java->Editor->Content Assist->Enable auto activation 选项要打上勾
windows–>preference–>workbench–>keys 下设置Content Assist 的快捷键
window->Preferences->Java->Editor->Content Assist->Advanced 上面列表框的Select the proposal kinds contained in the ‘default’ content assist list: 中把 Other Java Proposals 选项打上勾
以上这几种方案似乎都没什么用,也许根本就不是解决这个问题的,看起来是解决快捷键冲突的,而冲突的话连“No Default Proposals”也不会提示。
最后,还有一种解决成功率最高的方法是重建workspace,之前我记得有一次,大概2年前吧,当时也遇到过类似问题,那时候就是重建workspace解决的。但现在还用这种近乎“暴力”的方法,简直这太扯了,这么多项目、这么多配置,挨个导入到新的workspace,那也花很多时间呀。要花时间,不如花在寻找根本问题所在上,彻底解决这种情况。
根据排除法,最终把问题定位在了workspace目录下的这个文件上:
.metadata\.plugins\org.eclipse.core.runtime\.settings\org.eclipse.dltk.ui.prefs
可以直接删掉它,重启eclipse后问题解决。(如果怕误删,可以先备份)
但是这也只是小规模的微“暴力”解决方案,还没找到根本原因,那么,再细化点吧,直接用文本编辑器打开它,应该会有一行这样的配置:
content_assist_disabled_computers=xxxxxxxxxxxxxxxxxxxxx
罪魁祸首就是这项配置了!看名字就不像好东西,直接把我的content_assist给disable了!
删除这行后保存,重启eclipse,问题彻底解决。

http://blog.sina.com.cn/s/blog_540180ba01016ovr.html
看来抱怨的人不少:JavaScript编辑器 aptana studio 3.2.2 对应的火狐浏览器版本
aptana studio 是JavaScript的编辑利器,但是配置非常让人头疼。
它自带的 aptana Debugger 1.7.2 以及 firebug1.83 第一次输出的时候,按照提示自动安装就行了,最好别自己找了,找了装上不一定好使。。。。
火狐浏览器版本推荐14版,我自己试了 16 、9、 10、 11、 12、 13、 14,  7个版本,12-14版都能正常输出。但是,12,13版我这里打断点调试有问题。直到14版才一切OK。
而15版看发布时间,比aptana studio 3.2.2晚,理论上可能不兼容,所以没试。。。如果我早点注意发布时间,我就不会先弄16版了。
有例外情况,我同事说,他用12版断点调试ok。。。
仅作参考,希望能帮助开发人员少浪费时间。
1. 上传本文件apc_info.php(代码来源:munin-php-apc)到web目录,后缀名需要修改为php。一个建议是将其文件名修改为随机的字符串,防止别人猜到或意外踩到。
2. 将以下代码加入到munin配置文件中:
[php_apc_*]
user root
env.url http://www.example.com/apc_info.php?auto
3. 上传文件php_apc_到munin的plugins目录.请去除后缀名.txt。 一般在/usr/share/munin/plugins/.并修改其权限为755.
4. apc_php可以提供6个类型的报表,为此,我们需要在munin的配置目录下,建立6个软连接指向到apc_php_
ln -s /usr/share/munin/plugins/php_apc_ /etc/munin/plugins/php_apc_files
ln -s /usr/share/munin/plugins/php_apc_ /etc/munin/plugins/php_apc_fragmentation
ln -s /usr/share/munin/plugins/php_apc_ /etc/munin/plugins/php_apc_hit_miss
ln -s /usr/share/munin/plugins/php_apc_ /etc/munin/plugins/php_apc_purge
ln -s /usr/share/munin/plugins/php_apc_ /etc/munin/plugins/php_apc_rates
ln -s /usr/share/munin/plugins/php_apc_ /etc/munin/plugins/php_apc_usage
5. 重启munin node,在下次更新后,将在munin的html中看到php apc的状态信息图表。
sudo /etc/init.d/munin-node restart
用php实现proxy功能的示范
刚刚写的练手的作品。感觉还是有些实用价值的。。放出来给大家试试。
功能:通过php实现代理功能
适用用户:在家下载较慢。且懒得找proxy。且有高速主机,且主机有php,且主机支持socket。
使用方法:
1。把本程序传到主机上
2。通过浏览器浏览主机上的此文件
3。在url中填入欲下载的文件地址(如果有必要,可以填入referer)
4。点击get proxy url
5。新打开的页面中的链接即为通过proxy下载的链接

注意:
1。支持多线程下载,断点续传
2。仅支持http协议
3。不支持服务器端header重定向
4。不支持http auth
5。下载较大的文件时,可以修改程序中set_time_limit的值,以减少断线的现象(默认为180,即3分钟)
阅读全文
以前在开发环境用的是xdebug,还不错,看到有一篇野马分享的《PHP性能检测扩展——XHProf》,不错,之前就有听说,这次就行动一下。

XHProf是facebook开源出来的一个php轻量级的性能分析工具,跟Xdebug类似,但性能开销更低,还可以用在生产环境中,也可以由程序开 关来控制是否进行profile。
阅读全文
PHP新增eio扩展,可以写类似node.js一样的异步IO了。
可以结合libevent一起来用。libevent主要是解决了网络异步,实际上写代码是时,IO还是同步的,必须处理完请求后同步fwrite给客户端。如果IO异步的话,进程就可以马上去处理其他请求,不用等待IO操作完成。
比如接到一个网络请求,需要创建一个目录,传统的程序就直接mkdir,这里的mkdir就是同步的。必须处理完成后才会继续向下执行。
异步IO的话,eio_mkdir,里头可以填一个回调函数。这里不是同步的,所以代码马上就向下执行。当mkdir操作完成后,才会执行回调函数。
当然有些事情是必须同步的。node.js里头就有很多这样的做法。比如 db.query(sql).callback(proc),查询SQL语句,完成后回调 proc。

Url:
http://pecl.php.net/package/eio
DownLoad:http://pecl.php.net/get/eio-1.2.0.tgz

其他资料:
https://github.com/chobie/php-uv/blob/master/examples/fsevevnt.php
https://github.com/chobie/php-uv/blob/master/examples/http_server.php
事件驱动,承受高并发……这些耀眼的光环,使前端开发者不能不去学习NodeJS。

今天就在开发环境把NodeJS搭建起来了。

1. 下载node
wget http://nodejs.org/dist/node-latest.tar.gz
2.2解压
tar -zxvf node-latest.tar.gz    
cd node-v0.8.12/

3. 查看配置是否完整
./configure --prefix=/usr/local/webserver/node/

4. 安装  
make  
make install

时间可能较长,耐心等待。。。

5. 检查是否安装成功,输入
node -v
显示版本号,恭喜你,安装成功! :)
root@mdev node-v0.6.0 # node -v  

6. 编写测试页
vi example.js

var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(1337, "192.168.98.128");  
console.log('Server running at http://192.168.98.128:1337/');  

如果你是在本机搭建,那么将listen IP地址更改为127.0.0.1

7. 运行
node example.js  
Server running at http://192.168.98.128:1337/  
备注:注意不要停止此进程

8.访问
在浏览器访问 http://192.168.98.128:1337/  

“Hello world” 出现在你的眼前
实践file_get_contents函数实现代理Ok如下:

阅读全文
做为一个合格的web开发人员,一定会牢记一个原则——永远不能相信用户输入的数据,行走江湖,安全第一是很重要的。用户通过表单或url传过来的数据,一定要仔细检查过了,才往后台数据库里存进去。在一个成熟的开发团队里,贯彻这个原则不成问题;但是如果在一个新人老手混搭的小team里,很容易就忽视了这个问题,那么各种安全漏洞比如跨站攻击,sql注入等等真是防不胜防。

实际上,用php 5自带的filter扩展能够较好的解决这个问题。我在从前的blog里记录了filter扩展的常规用法——直接利用filter来校验数据,这样有不少额外的代码量,所以我得介绍一个比较偷懒的办法——自动对所有输入变量进行过滤,这只需要对php.ini增加一行配置,然后重启apache或fastcgi让php配置生效。

filter.default=”special_chars”

开启了这项配置后,会自动使用filter_input方法对$_GET, $_POST, $_COOKIE, $_REQUEST以及$_SERVER变量进行过滤转义。配置中special_chars是常量FILTER_SANITIZE_SPECIAL_CHARS的缩写,它能自动转义大部分危险字符例如: '"<>。而php手册对它的解释是:

HTML-escape ‘”<>& and characters with ASCII value less than 32, optionally strip or encode other special characters.

在这个情况下,新人们写出这样的代码我也不会太担心:

$foo = $_GET['foo'];
echo $foo;
在部分场合,我们可能还是需要未转义的变量,比如某个ajax接受的参数是一段json串,用这段代码即可获得原始数据:

$foo = filter_input (INPUT_GET, 'foo',  FILTER_UNSAFE_RAW);
fitler扩展与yahoo使用的yiv如出一辙,印象里似乎就是yahoo对yiv做了些修改贡献给php社区,但是暂时没找到出处。

来自:http://www.ooso.net/archives/559
安装:http://blog.suchasplus.com/2008/11/centos-rhel-install-php-5-filter-and-json-extension-howto-chinese.html



【社区开学季】360提供的Php防注入代码,上面这个模块也就不用下面这些代码来防止注入了。
   PHP的Fileinfo扩展是libmagic库的一个封装,可以用来获得文件的一些信息,如MIME类型,可以用来更好地代替magic_mime扩展中的 mime_content_type()函数。本文介绍本人在Windows环境下使用Fileinfo扩展获得文件MIME类型的实现步骤:
到下载适合自己PHP版本的Fileinfo扩展到你的PHP扩展目录,即php.ini中由extension_dir指定的目录
将存放文件类型信息的magic和magic.mime两个文件放置到一个目录下,不妨设为E:\php\extras下。这两个文件在附件压缩包中,是我从GnuWin32的share文件夹中提取出来的。其中magic可以用apache的conf目录下的magic代替;PHP的extras文件夹也有一个magic.mime文件,但是用它的话fileinfo扩展无法正确工作,不能用来代替附件中的这个magic.mime
修改php.ini,加入这样一行:
extension=php_fileinfo.dll
之后重新启动web服务器,确认成功加载扩展之后进行下一步代码测试
新建一个php脚本文件,用如下代码进行测试
file($testFile);
?>
输出:application/msword
上述代码中$magicFile即为上述所提到的文件magic,必须保证magic.mime与magic两个文件放在同一个文件夹    
    
简述
在某个项目中需要分析 PHP 代码,分离出对应的函数调用(以及源代码对应的位置)。虽然这使用正则也可以实现,但无论从效率还是代码复杂度方面考虑,这都不是最优的方式。
查询了 PHP 手册,发现其实 PHP 已经内置解析器的接口,那就是 PHP Tokenizer,这工具正是我想要的。使用 PHP Tokenizer 能简单、高效、准确的分析出 PHP 源代码的组成。
实例
官方站点对 Tokenizer 的文档很少,不过这不影响我们理解它。Tokenizer 组件仅仅包含两个函数:token_get_all 以及 token_name,它们分别用于分析 PHP 代码以及获取代码对应的标识符名称。
下面是个简单的实例,说明如何使用这两个函数:
以下为引用的内容:

对应的输出为
以下为引用的内容:
1 - T_OPEN_TAG    <?php
1 - T_ECHO    echo
1 - T_WHITESPACE    
1 - T_CONSTANT_ENCAPSED_STRING    "string1"
1 - T_CONSTANT_ENCAPSED_STRING    "string2"
1 - T_WHITESPACE    
1 - T_CLOSE_TAG    ?>
这里顺便说明下,$token 如果为数组,那么分别对应的三个数组成员为 token 标识符(可以用 token_name 获得字面量)、对应的源代码内容、以及对应的行号。
还有中情况就是 $token 为字符串,这可能的情况之一就是为 T_CONSTANT_ENCAPSED_STRING 等常量,在分析代码时要注意。如果对这点很在意,可以考虑使用这里的代码。
是的,调用方式非常的简单,我们的野心当然远远要比写个简单的循环要大得多。我们可以利用这个组件做写实事,例如下面的代码用于“压缩” PHP 代码,去除不不要的换行、空白以及注释
以下为引用的内容:

调用方式很简单,只需要使用
以下为引用的内容:
CompactCode::compact($source_code);
即可,返回的字符串就是压缩以后的内容。
    在做一些测试时,往往自己是搞开发的,网速还成,但是我们的用户会在偏远的山区,56K上网,为此,我们能保证我们看到的就是用户看到的么?当然不能,尤其是图片和css在一个较低的网速加载时会出现变形,图片加载时出现Load不进来,这一切都不是我们能预料的,为此,我们的网络是快,但我们的用户可能会用一个慢的网速来访问,会有各种情况,所以,我们必须和果模拟出这样一种情形,好提高我们的访问质量。
   有同事推荐,NetLimiter这个软件,我是Win7,发现确实不怎么的,安都安不上,于是重启动了电脑,同事说是QQ电脑管家有一个这样的软件,So,我又没有安这个(当时安了做了下更新,后来就卸载了,不想让它更新Win7,再就是占用资源),在网上闲逛了一下,发现有一个这样的独立软件可以用,太好了,Url:http://www.huacolor.com/soft/59780.html  名字: 网络流量管理器 6.8.2383.401正式版(QQ电脑管家提取版).rar   ,这个是个好玩意,呵呵,在此介绍给大家,至于怎么用,参考:http://www.duote.com/tech/5/14227.html
PHP中类的对象经类的重重包含在找出一原先类里的某个变量时出现多次->的原因探究:

其之所以出现多个->,让人一看还真的蒙了,特别是给你看一段代码片段,蒙了,于是经过推敲后,得出如下代码:
压缩会出现js错误最多的就是少分号,怎么解决避免的:
常看到一些大牛的JS源码 在function 前面加;
;function($,undefined) 是什么用处 ?
;(function($){$.extend($.fn...
现般在一些 JQuery 函数前面有分号
在前面加分号可以有多种用途:
1、防止多文件集成成一个文件后,高压缩出现语法错误。
2、这是一个匿名函数,一般js库都采用这种自执行的匿名函数来保护内部变量 (function(){})()
3、因为undefined是window的属性,声明为局部变量之后,在函数中如果再有变量与undefined作比较的话,程序就可以不用搜索undefined到window,可以提高程序性能
————————————————————————————————————————————————————

Yahoo!给我们带来了YUI  compressor!
一.安装Java,配置环境变量。http://java.sun.com/javase/downloads/index.jsp
下载,安装,一路Next,没有任何问题,对了,你可以修改一下路径。
安装完毕以后,需要配置一下JAVA_HOME环境变量。
配置方法如下。
1、点击我的电脑—>属相—>高级—>环境变量—>系统变量
2、新建变量,变量名JAVA_HOME 路径:E:\Program Files\Java\jdk1.6.0_11 (我的是在E盘,你的JDK安装到那个盘,就写那个盘)
3、找到path变量,在后面添加路径:;%JAVA_HOME%\jre6\bin
OK,一路确定,关闭窗口。
打开CMD,输入java -version
看看能不能出来版本?
java version “1.6.0_11″
Java(TM) SE Runtime Environment (build 1.6.0_11-b03)
Java HotSpot(TM) Client VM (build 11.0-b16, mixed mode, sharing)


二:直接调用包的执行代码:java -jar E:/Tool/yuicompressor/yuicompressor-2.4.2.jar E:/CMS.ContentPager.js -o E:/CMS.ContentPager-min.js --charset utf-8

三:压缩示例,压缩实现:
使用yuicompressor-2.4.2.jar对js文件进行压缩和输出。
示例如下:
Java  -jar  yuicompressor-2.4.2.jar  public.js  -o  compress/public.js  --charset=utf-8
命令说明:
1.  java –jar  执行jar包内的主函数
2.  public.js   将被压缩的原版JS文件
3.  –o        压缩后输出 后面是输出文件路径
4.  –charset  压缩文件的编码格式

四:实际运用时,要注意目录中有空格的情况,会出现:Unable to access jarfile D:/Program,要用双引号引起来即可。
cd D:\Program Files\yuicompressor


DownLoad:

参考(带文件下载):http://yekui.iteye.com/blog/819278


以上来自来自:
http://yui.github.io/yuicompressor/
在线web压缩:http://ganquan.info/yui/?hl=zh-CN
TBCompressor 基于YUICompressor的淘宝封装的css和js压缩工具(不用命令,直接合用的批处理工具):
http://www.jb51.net/softs/25860.html
描述实现方法:http://wenku.baidu.com/view/163a48f3770bf78a65295423.html
UI界面版本CSDN下载:http://download.csdn.net/download/tianqi520/1499680
Bat脚本实现批量压缩:http://www.cnblogs.com/heiniuhaha/archive/2011/06/15/YUI-Compressor.html

这个哥们写了一个,感觉界面不错利用YUI Compressor :
http://www.ninja911.com/blog/?p=345
-----------【相关下载】-----------
YUI Compressor [ http://yuilibrary.com/downloads/ ]
CSDN:NBCompressor_v1.2.0.2 附带 aauto ,利用YUI Compressor :
http://download.csdn.net/download/anto72/6328001
前一阶段开发ios手机程序,客户端和服务器端主要通过json传输数据内容。从服务器端返回来的数据内容是json格式,查看很不方便,因此在网上找到如下的查询工具,方便查询。


我们知道Json是一种特殊Javascript对象,介绍几个Json查看工具。

http://jsonviewer.codeplex.com/

.Net开发的Json查看器,可反编译查看源码,呵呵。

https://addons.mozilla.org/en-us/firefox/addon/jsonview/

火狐的Json查看器插件,可在火狐中打开Json内容查看

https://chrome.google.com/extensions/detail/chklaanhfefbnpoihckbnefhakgolnmc

谷歌浏览器的Json查看器插件,功能同上

http://jsonviewer.stack.hu/
本文来自:http://blog.csdn.net/z343929897/article/details/8009106


最后,我自己的工具:http://tools.jackxiang.com/  里面有一个Json编辑器。
这书花了两个小时看了一下,这门子语言简单,且实用,就像是搭建积木一样,呵呵,异步等是它的亮点,但PHP+Nginx也有类似的处理,该书Url:
http://www.nodebeginner.org/index-zh-cn.html#a-basic-http-server

再就是node.js和php性能测试 :
http://www.jiangmiao.org/blog/2491.html
http://snoopyxdy.blog.163.com/blog/static/60117440201183101319257/

后记:
Node.js并不适合需要与用户实时交互的系统;它适合集中处理用户发来的大规模“指令”,即不需要及时看到结果的请求。比如微博系统,用户发表一条微博,可能需要在服务器上排队1分钟才能最终保存到数据库。在这一分钟里,用户更多地是看看别人发表的微博,并不十分迫切地想看到自己那条微博。如果希望有更好的体验,其实可以用DOM直接把用户发表的微博先更新到当前页面,同时使用Ajax异步请求保存这条数据。
node作为一种新型的服务器语言从被认可,到广泛用于生产环境要走的路还很长。



个人总结:
node适用小型/单一的任务型应用,具备高效率的特性,例如计数器/访问足迹/comment等高并发ajax操作,结合缓存/nosql和队列是个不错的选择;但做完整项目可能略显复杂,容易导致控制流倒置。

人生苦短, Pythonic! 冗余不做,日子甭过!备份不做,十恶不赦!
里面的End用法参看:http://www.jackxiang.com/post/4763/
阅读全文
Rango  18:02:56
http://matyhtf.iteye.com/blog/1679051
回忆未来-向东  18:05:11
对你这篇文章提到了Erlang,其中说到Push这一块,也是我研究的原因,你这块有实例吧?Push到浏览器的实例。
当年搜狐的白社会就是用的Erlang能并发2W,但没有做起来,技术已经是相当先进了。
Rango  18:05:56
只有测试的例子。目前还没有完整的方案
呵呵,并发2W不算什么。
搞到20W都不成问题
回忆未来-向东  18:06:21
带逻辑的,所以并发可能要低一点儿。
Rango  18:06:38
并发跟这个没关系,RPS和同时连接数
...
Rango  18:22:01
对啊。一直保持的,长连接
需要在你的代码中自己去选择关闭
回忆未来  18:22:14
为何要长连接?
Rango  18:22:26
swoole_server_close
...
阅读全文
PHP APC apc stat=0:

如果你覺得自己的 PHP 網站不快,可以在自己的 php.ini 裡面,load 進來 apc.so 後面加上 apc.stat=0 ,對樣對網站的效能會有顯著地提昇。原理是因為 APC 在每次讀取 PHP 程式碼的時候,都會先 stat() 程式碼所在的檔案,以確定要不要重新編譯成 OPCODE ,而 apc.stat=0 則是直接省略 stat() 的步驟,拿原本就有的 opcode 來用。

而當使用了 APC 並且設置 apc.stat=0 之後,其實網站在第一次編譯成 OPCODE 之後,除非重起或是清除快取,要不然就是會一直拿 OPCODE 來跑,而這樣速度也因此有了顯著的提升

当然重启动一下Apache也是可以自动再次加载一次的。
阅读全文
没想到在CSDN上看到一个兄弟写的文章成连载了,于是细看了下,发现对PHP的Socket的编码及扩展实现写得不错,建议看下其扩展写法,很有学习教育意义,再就是对Epoll模型的分析很到位,觉得写得都不错,特摘录下Socket这块的PHP扩展代码分析结合其PHP的Soket服务器写法,原文来自:
http://blog.csdn.net/shagoo/article/details/6647961
http://blog.csdn.net/shagoo/article/details/6396089
《Socket深度探究4PHP(一)》和《Socket深度探究4PHP(二)》 Socket 深度探究 4 PHP (三) 应该是写得很有体系的难得一见的不错的好文章。
阅读全文
system(“nohup ./t.py $ks &”);这个不会在后台运行,php会一直挂起直到t.py结束。

system(“nohup ./t.py $ks >>log.txt &”);这样写才能在后台运行因为system函数启动一个程序并希望保持在后台运行,

必须确保该程序的输出被重定向到一个文件或者其它输出流去,否则 PHP 会在程序执行结束前挂起。

如:

到无穷的黑夜文件中去:
Cacti基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测
官方网站:http://www.cacti.net/
演示地址:http://www.cacti.net/screenshots.php
下载地址:http://www.cacti.net/download_cacti.php
文章来源:http://www.OSphp.com.cn
程序介绍:

Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形解决方案。Cacti通过snmpget来获取数据,使用RRDtool绘画图形,也可外挂Scripts及加上Templates来作出各式各样的监控图,而且你完全可以不需要了解RRDtool复杂的参数。它提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结构、host以及任何一张图,还可以与LDAP结合进行用户验证,同时也能自己增加模板,功能非常强大完善,界面友好,支持插件扩展。



转载自 xiaoxiaolq最终编辑 xiaoxiaolq值班监控服务器时,需一台台去登录查看服务器情况,很是麻烦,故用PHP SNMP做了个简单的服务器监控系统。结合了用来发短信的MAS系统,当服务器反生异常时可通过短信进行报警。阅读全文
分页: 13/18 第一页 上页 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 下页 最后页 [ 显示模式: 摘要 | 列表 ]