摘要:
英文原文:Reverse Ajax, Part 1: Introduction to Comet在过去的几年中,web开发已经发生了很大的变化。现如今,我们期望的是能够通过web快速、动态地访问应用。在这一新的文章系列中,我们学习如何使用反向Ajax(Reverse Ajax)技术来开发事件驱动的web应用,以此来实现更好的用户体验。客户端的例子使用的是JQuery JavaScript库,在这首篇文章中,我们探索不同的反向Ajax技术,使用可下载的例子来学习使用了流(streaming)方法和长轮询(long polling)方法的Comet。 前言 web开发在过去的几年中有了很大的进.. 阅读全文
摘要:
1.多线程中有主内存和工作内存之分, 在JVM中,有一个主内存,专门负责所有线程共享数据;而每个线程都有他自己私有的工作内存, 主内存和工作内存分贝在JVM的stack区和heap区。2.线程的状态有'Ready', 'Running', 'Sleeping', 'Blocked', 和 'Waiting'几个状态,'Ready' 表示线程正在等待CPU分配允许运行的时间。3.线程运行次序并不是按照我们创建他们时的顺序来运行的,CPU处理线程的顺序是不确定的,如果需要确定,那么必须手工介入,使用se 阅读全文
摘要:
什么是进程?当一个程序开始运行时,它就是一个进程,进程包括运行中的程序和程序所使用到的内存和系统资源。而一个进程又是由多个线程所组成的。什么是线程?线程是程序中的一个执行流,每个线程都有自己的专有寄存器(栈指针、程序计数器等),但代码区是共享的,即不同的线程可以执行同样的函数。什么是多线程?多线程是指程序中包含多个执行流,即在一个程序中可以同时运行多个不同的线程来执行不同的任务,也就是说允许单个程序创建多个并行执行的线程来完成各自的任务。多线程的好处:可以提高CPU的利用率。在多线程程序中,一个线程必须等待的时候,CPU可以运行其它的线程而不是等待,这样就大大提高了程序的效率。多线程的不利方面 阅读全文
摘要:
1.使用一个SQL注射备忘单一个基本的原则就是,永远不要相信用户提交的数据。另一个规则就是,在你发送或者存储数据时对它进行转义(escape)。可以总结为:filter input, escape output (FIEO). 输入过滤,输出转义。通常导致SQL注射漏洞的原因是没有对输入进行过滤,如下语句:1234<?php$query="SELECT * FROM users WHERE name = '{$_GET['name']}'";在这个例子中,$_GET['name']来自用户提交的数据,既没有进行转义,也没 阅读全文
摘要:
首先说Model吧。在TP中是一个表对应一个Model,而且普通Model中只是一些自动验证啊,自动完成啊、还有数据字段信息啊一些东西;而CI中的Model则完全不同,一个Model不必约束于一个表,也就是说名字为abc的Model中你也可以查询名字为def的表中的数据,而且可以定义方法完成一些数据查询,比如我可以在名为articles_model的Model中定义一个名字为get_articles的方法来获取所有文章信息,当某个Controller加载了这个Model后,就可以在相应的Controller中用1$this->articles_model->get_articles 阅读全文
摘要:
1、用防火墙关闭不须要的任何端口,别人PING不到服务器,威胁自然减少了一大半。防止别人ping的方法:1)命令提示符下打,0表示允许,1表示禁止echo 1 > /proc/sys/net/ipv4/icmp_ignore_all2)用防火墙禁止(或丢弃) icmp 包iptables -A INPUT -p icmp -j DROP3)对所有用ICMP通讯的包不予响应,比如:PING TRACERT 2、开启安全模式(做为商业应用的服务器不建议开启)#vi /usr/local/Zend/etc/php.ini(没装ZO时php.ini文件位置为:/etc/php.ini) .saf 阅读全文
摘要:
1、编译安装麻烦,浪费时间。2、你以后可能都不记的编译的参数,你的下一任维护也麻烦。因为他不清楚你当时是用的什么参数编译。这个你的boss可关心着哦。3、当然,有人一定会讲,编译性能高,其实不见的,出问题的机会也高哦,在讲一个程式性能提高3%有什么用。其实没有多少用。当然,你用LFS的系统做生产环境,那就有分别,因为你任何一个包都是自己编译的。相信你不会吧。4、rpm -qf 可以查到那个文件是那个包,要是有一天,你的系统中有个文件坏了。你可以用rpm这个方法一下找出一,但你用编译安装,你就头痛了,天啊,这个包是那个软件生成的啊。5、我不愿意从源程式安装。不是因为难。相反的,蛮容易。只是,我不 阅读全文
摘要:
BigPipe是一个重新设计的基础动态网页服务体系。大体思路是,分解网页成叫做Pagelets的小块,然后通过Web服务器和浏览器建立管道并管理他们在不同阶段的运行。这是类似于大多数现代微处理器的流水线执行过程:多重指令管线通过不同的处理器执行单元,以达到性能的最佳。虽然BigPipe是对现有的服务网络基础过程的重新设计,但它却不需要改变现有的网络浏览器或服务器,它完全使用PHP和JavaScript来实现。 动机 为了更好的了解BigPipe,我们需要了解一下现有的动态Web服务系统,它的历史可以追溯到万维网的初期,但现在与初期相比却并没有多少改变。现代网站有着远远高于10年前的动态效果.. 阅读全文
摘要:
所谓BigPipe,指的是Facebook开发的用来改善客户端响应速度的技术。本质上讲,其实它并不是新事物,原理上等同于Yahoo在Best Practices for Speeding Up Your Web Site里提出的Flush the Buffer Early,不过BigPipe的实现更灵活,所以有必要了解一二。我们平常浏览网页时的体验通常是串行的:浏览器发起请求,服务器收到后渲染页面,在此期间,浏览器除了等待别无选择,演示代码如下:<?phpsleep(1);$header = 'header';sleep(1);$content = 'conten 阅读全文
摘要:
1. 自己写代码产生随机的数字和字母组合,每产生1个去数据库查询该随机码是否已存在,如果已存在,则重新产生,直到不重复为止。 优点:没发现有啥优点。 缺点:产生速度慢,还要查询数据库,当数据量大的时候,可能重复的机率会比较高,要查询多次数据库.2. guid,该方法应该是用的比较多的。 优点:使用简单方便,不用自己编写额外的代码 缺点:占用数据库空间相对较大,特别是根据guid查询速度比较慢(毕竟是字符串)。3. 主键+随机码的方式,我们产生的随机码保存到数据库肯定会有个主键,用该主键+随机字符来组合。产生步骤: 1) 先从id生成器中获取id,比如是155. 2)填... 阅读全文