
Web应用
expleeve
当我看到现在身边的人时,我在想,自己是不是该专注于某件事了
展开
-
Mongoose源码剖析:外篇之web服务器
引言<br />在深入Mongoose源码剖析之前,我们应该清楚web服务器是什么?它提供什么服务?怎样提供服务?使用什么协议?客户端如何唯一标识web服务器的资源?下面我们抛开Mongoose,来介绍一个web服务的这些通性。<br />web服务器:通常是指一个计算机程序(web服务器是什么?),在World Wide Web上提供诸如web页面的服务(提供什么服务?),使用HyperText Transfer Protocol(HTTP)(使用什么协议?)。当然web服务器也可以指运行这个程序的计算机转载 2010-09-02 17:08:00 · 1216 阅读 · 0 评论 -
图解google搜索技巧--“复杂的1秒”
原图为 google(graphic) 清晰版 地址 http://www.jifang360.com/files/content/2010-7/014362015.jpg转载 2012-04-13 12:14:09 · 679 阅读 · 0 评论 -
PHP下调试环境搭建
网上的教程很多,我动手做了一下,这里也写个教程,备用准备工作:JDK+Eclipse for PHP Developers(Helios)Wampserver5(包含Xdebug)安装步骤:1.安装JDK2.安装Eclipse3.安装Wampserver并启动服务4.PHP设置:打开xdebug.remote_enable5.PHP扩展:ph原创 2012-05-08 10:28:51 · 655 阅读 · 0 评论 -
“服务器推”技术的应用
传统模式的 Web 系统以客户端发出请求、服务器端响应的方式工作。这种方式并不能满足很多现实应用的需求,譬如:监控系统:后台硬件热插拔、LED、温度、电压发生变化;即时通信系统:其它用户登录、发送信息;即时报价系统:后台数据库内容发生变化;这些应用都需要服务器能实时地将更新的信息传送到客户端,而无须客户端发出请求。“服务器推”技术在现实应用中有一些解决方案,本文将这些解决方案分为两类:转载 2012-05-29 12:01:13 · 645 阅读 · 0 评论 -
php HTML转义字符
显示HTML转义字符并还原$str = htmlentities("<>& *;");echo $str;$table = get_html_translation_table(HTML_ENTITIES);$rev_trans = array_flip($table);echo strtr($str,$rev_trans);在HTML表中加入其他转义字符$str原创 2012-05-10 15:28:35 · 3378 阅读 · 0 评论 -
Smarty模板引擎中常见问题
来源:http://www.php100.com/manual/smarty/1.backticks(倒引号)的用法{func var="test $foo.bar test"} <-- sees $foo (not $foo.bar){func var="test `$foo.bar` test"} <-- sees $foo.bar2.->(指针符)和.(点)的区别原创 2012-05-11 13:26:09 · 767 阅读 · 0 评论 -
三大WEB服务器对比分析(apache ,lighttpd,nginx)
一.软件介绍(apache lighttpd nginx)1. lighttpdLighttpd是一个具有非常低的内存开销,cpu占用率低,效能好,以及丰富的模块等特点。lighttpd是众多OpenSource轻量级的web server中较为优秀的一个。支持FastCGI, CGI, Auth,输出压缩(output compress), URL重写, Alias等重要功能转载 2012-05-14 18:40:12 · 566 阅读 · 0 评论 -
RESTful风格
英文:Representational State Transfer,简称REST)是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格。目前在三种主流的Web服务实现方案中,因为REST模式的Web服务与复杂的SOAP和XML-RPC对比来讲明显的更加简洁,越来越多的web服务开始采用REST风格设计和实现。例如,Amazon.com提供接近REST风格的Web服转载 2012-05-15 15:45:12 · 1795 阅读 · 0 评论 -
在smarty中调用php的内置函数
在smarty中调用php的内置函数: 相信很多人都不是很很了解smarty的一个重要功能,就是能在smarty模板里面调用php的内置函数. 模板书写: {'param1'|functionName:'param2':'param3'} php函数原型: echo functionName('param1','param2','param3'); 实例:转载 2012-05-14 15:00:22 · 1285 阅读 · 0 评论 -
《PHP程序设计》读书笔记
========================第一章============================Apache 源码PHP解释器源码 ========================第二章============================基本数据类型 整型、浮点型、字符串、布尔值复合数据类型 数组、对象特殊类型 资源、NULL (例如,数据库就是资源)原创 2012-05-09 10:37:07 · 1114 阅读 · 0 评论 -
网站压力测试工具[siege|httperf + autobench|webbench|ab]
一 、SiegiSiege(英文意思是围攻)是一个压力测试和评测工具,设计用于WEB开发这评估应用在压力下的承受能力:可以根据配置对一个WEB站点进行多用户的并发访问,记录每个用户所有请求过程的相应时间,并在一定数量的并发访问下重复进行。最早使用的压力测试工具是apache的ab(apache benchmark) ,apache ab做重复压力测试不错,但是每次只能测试一个链接,如何测试转载 2012-05-22 12:09:34 · 2157 阅读 · 0 评论 -
Facebook 的 PHP 性能与扩展性
炙手可热的 Facebook 是用 PHP 开发的。随着一些技术交流,逐渐能看到 Facebook 技术人员分享的经验。近期这个 geekSessions 站点上看到 Facebook 的 Lucas Nealan 分享的文档比较有参考价值。Cache 为 王任何一个成功的站点都有一套最合适自己的 Cache 策略。Note:这个层次图画的稍微有点问题,不是严格从上到下的。转载 2012-05-23 11:38:49 · 544 阅读 · 0 评论 -
网站框架
nginx---->phpserver---->FS |---->memcache |---->DB 环境:四台电信服务器(包括ngnix、phpserver、FS)四台memcache服务器一台DB 一、用户查询信息时:1、FS中存在,返回;否则,到22、memcache中有内原创 2012-05-23 19:50:43 · 532 阅读 · 0 评论 -
FusionMaps中国市级地图解决方案
FusionMaps地图包括两种格式swf和jsswf格式的市级地图扩展,可以使用编译和反编译原swf地图文件的方法,将swf文件反编译为fla文件,修改对应的NameofCityMap.as文件,实现市级地图的扩展。注意,FusionMaps的swf文件使用Flash player8.0和ActionScript 2.0。js格式的市级地图扩展,即添加FusionCharts原创 2012-09-12 09:41:58 · 6639 阅读 · 5 评论 -
javascript精确计算,四则运算
// 两个浮点数求和 function accAdd(num1,num2){ var r1,r2,m; try{ r1 = num1.toString().split('.')[1].length; }catch(e){ r1 = 0; } try{ r2转载 2014-05-15 23:30:39 · 1475 阅读 · 0 评论 -
Tomcat多实例部署
[-]Tomcat多实例部署Weblogic多实例部署回顾Tomcat多实例实现结尾Tomcat多实例部署 前言一般我们使用tomcat时,如果是多实例的情况都会拷贝多个tomcat,但实际上tomcat还可以建立类似于weblogic的domain,以实现多实例部署。Weblogic多实例部署回顾讲tomcat多实例部署前我们先回顾一下weblogic的多转载 2014-06-17 16:44:52 · 784 阅读 · 0 评论 -
三段式搜索引擎工作流程总结
搜索引擎要处理的问题就是,在一个可以接受的时间内返回一个和该用户查询匹配的网页信息列表,这个列表包括三部分:标题,URL,描述或摘要。 现代的大规模搜索引擎一般采用三段式的工作流程,即:网页搜集、预处理、查询服务。 对这三点简单的阐述下: 一、网页搜集 搜索引擎是通过爬虫去搜集互联网中的网页,放入数据库,但是这不可能是用户提交查询的时候才去抓取,而是预先就搜集好一批网页,可转载 2012-04-13 11:55:43 · 1401 阅读 · 0 评论 -
利用.htaccess将域名绑定到子目录
根目录的.htaccess如下:RewriteEngine OnRewriteCond %{HTTP_HOST} ^((www|blog)\.)?anysns\.com$RewriteCond %{REQUEST_URI} !^/blog/RewriteCond转载 2011-07-21 10:09:48 · 4039 阅读 · 0 评论 -
Mongoose源码剖析:数据结构篇
引言Mongoose中有几个数据结构扮演着重要的角色,它们分别是:struct mg_context:保存Mongoose的上下文,几乎每个函数都有mg_context参数 struct mg_connection:保存HTPP连接信息 struct mg_request_info:保存HTTP请求的信息,这个结构体传递给URL处理函数 我之所以现在这里介绍它,因为之后的分析工作中要用到它们,如果在读完本文后还不能很好的理解,请将问题带到后续文章中或代码分析中去,你会找到答案的。下面分别介绍它们。本文的主要转载 2010-09-02 17:11:00 · 872 阅读 · 0 评论 -
Mongoose源码剖析:核心处理模块
引言<br />前面我们介绍了Mongoose所有的几个主要的数据结构mg_context、mg_connection、mg_request_info,还有Mongoose的生命主线。有了这些基础就可以来看看Mongoose的核心处理工作是怎样的。如果你还没有阅读前面的文章,你可以通过下面的隧道直通:Mongoose源码剖析:外篇之web服务器Mongoose源码剖析:Introduction and InstallationMongoose源码剖析:数据结构篇Mongoose源码剖析:mongoose的工转载 2010-09-02 17:19:00 · 706 阅读 · 0 评论 -
Mongoose源码剖析:Introduction and Installation
<br />要剖析Mongoose的源码,首先你得知道它的一些基本情况和特性、并去使用它。本文就是介绍Mongoose是个什么东西?及如何安装和使用?这里假设你知道什么web服务器软件、web服务器使用什么协议、怎么提供服务等,如果你还不知道建议首先阅读:《Mongoose源码剖析:外篇之web服务器》。<br />本文主要内容如下:1、Mongoose介绍2、Mongoose的编译和使用3、Makefile的简单分析4、如何将Mongoose嵌入到应用程序中1、Mongoose介绍<br />Mongoo转载 2010-09-02 17:09:00 · 954 阅读 · 0 评论 -
Mongoose源码剖析:mongoose的工作模型
引言<br />我看一个项目的时候,比较喜欢首先看它的架构和设计。因为这样在研读源码的时候,有一个指导作用,不会迷失于具体细节,并能够引导我如何去将点串成线,将线串成面。而且一个软件怎么样,很大程度上取决于它采用的架构。<br />本文主要介绍Mongoose的工作模型,及根据这个模型将代码大致串起来,找出主线。内容框架如下:1、线程模型2、从程序入口着手3、Mongoose的生命旅程1、线程模型<br />Mongoose采用了一个自适应的线程池的模型。有一个主线程(master thread)用于打开配转载 2010-09-02 17:13:00 · 817 阅读 · 0 评论 -
文件类型识别
<br /> 在做考勤机的时候,遇到过从浏览器端向后台传输图片的操作,这个操作当时是通过把图片分片,以二进制流的形式传输到后台,然后在后台恢复为源文件。<br /> 在上传文件的时候,需要对用户选择的文件类型进行判断,当然,这里最简单的方法莫过于直接判断后缀名即可,只需要读取文件名,然后判断文件的后缀,就可以判断上次文件的类型。<br /> 这种方法很容易想到,但是这种方法很不安全,当用户把文件后缀改为可选文件后缀的时候,就会造成恶意上传文件。<br /> 那么就要考虑对文件本身进行原创 2010-09-26 21:47:00 · 1865 阅读 · 0 评论 -
配置symfony时,遇到的问题
<br />最近,用symfony做后台,做一个网站。<br />在ubuntu上配置好LAMP环境后,把以前在windows下面的整个包含symfony的文件夹移到linux下。<br /> <br />配置完databases.yml和conf文件后,在浏览器上输入网址不能够显示出页面。<br />奇怪的是,竟然也不报错误。<br /> <br />经过查看文档,发现运行 php 待显示文档.php 后,可以在浏览器上输出页面。<br /> <br />经过考虑,可以认定,配置无问题,但是为什么必须用原创 2010-12-31 15:16:00 · 692 阅读 · 0 评论 -
javascript拾遗
1、name和id的区别?id是html标签的标识符,有唯一性,一般用来javascript的引用。name也是html标签的标识符,不是唯一的,name有id不可替代的地方。包括: 用途1: 作为可与服务器交互数据的HTML元素的服务器端的标示,比如input、select、textarea、和button等。我们可以在服务器端根据其Name通过Request.Params取得元素提交的值。 用途2: HTML元素Input type='radio'分组,我们知道radio button控件在原创 2011-01-08 21:05:00 · 479 阅读 · 0 评论 -
jQuery 原理模拟代码
JQuery 原理jQuery1.3.2 源码学习-5 jQuery 中的原型jQuery 的原型关系图jQuery 原理的模拟代码 -1 核心部分jQuery 原理的模拟代码 -2 数据部分jQuery 原理的模拟代码 -3 事件处理jQuery 原理的模拟代码 -4 重要的扩展函数 extendjQuery 原理的模拟代码 -5 Ajax jQuery 原理的模拟代码 -1 核心部分最近又看了一下 jQuery 1.4.2, 为了便于理解,将 jQuery 的核心使用比较简单的代码模拟一下。方便学习。核转载 2011-01-11 09:01:00 · 1798 阅读 · 0 评论 -
javascript 深拷贝和浅拷贝
<br />javascript使用的是引用传递。<br /> <br />当对javascript进行拷贝的时候,默认是浅拷贝。<br /> <br />深拷贝:复制基本类型,且复制对象中对象的内容。<br /> <br />浅拷贝:只复制基本类型(string等),对于对象只是使用引用。<br /> <br />以下是一个深拷贝的小例子:<br /> <br />Object.prototype.clone = function(){ var obj = new Object(); for(ke原创 2011-01-11 12:18:00 · 589 阅读 · 0 评论 -
symfony中的yml
YAML<br />来自YAML官方网站(http://www.yaml.org/ ) 的定义: YAML是一种直观的能够被电脑识别的数据序列化格式,并且它容易被人类阅读,容易与脚本语言交互的。换种说法,YAML是一种非常简单的类似于XML的数据描述语言,语法比XML简单很多。他在描述可以被转化成数组或者hash的数据是非常有用,例如:<br />$house = array( 'family' => array( 'name' => 'Doe', 'parents' =转载 2011-03-24 11:26:00 · 1375 阅读 · 0 评论 -
symfony中DQL
Doctrine::getTable('admin')->createQuery()->where('userid=?',$n)->getSqlQuery();//获取sql语句Doctrine::getTable('admin')->createQuery()->select('col1,col2')->where('userid=?',$n);//选取某些列Doctrine::getTable('admin')->createQuery()->select('col1,col2,co转载 2011-04-07 09:01:00 · 1739 阅读 · 0 评论 -
Facebook的软件
Memcached Memcached是一款相当有名的软件。它是分布式内存缓存系统。Facebook(还有大量的网站)用它作为Web服务器和MySQL服务器之间的缓存层。经过多年,Facebook已在Memcached和其相关软件(比如,网络栈)上做了大量优化工作。 Facebook运行着成千上万的Memcached服务器,借以及时处理TB级的缓存数据。可以这样说,Facebook拥有全球最大的Memcached设备。HipHop for PHP 和运行在本地服务器上代码相比,PHP转载 2011-05-31 14:05:00 · 927 阅读 · 0 评论 -
人人网使用的开源软件列表
<br /><br />MySQL<br />关系型数据库存储系统,我们的DBA团队很强大,每人管理上百台MySQL服务器,其他就不多说了,网上资料太多了<br />Tokyo Cabinet<br />一个key-value的存储引擎,日本人开发,国内很多公司也开始使用,我们内部很多地方也用它来代替MySQL来做存储,比如我们的搜索结果页的用户资料,就是用它来做一层MySQL外的冗余存储,目的是加快搜索结果页的显示。在key-value并需要持久存储的场景下,用它比MySQL更有效,Cabin转载 2011-06-02 10:10:00 · 818 阅读 · 0 评论 -
comet技术
<br />来源:http://macrochen.iteye.com/blog/28020<br /> <br />最近在看comet(server push)技术,经过一番google之后,大致理清了头绪,目前已经研究完一个开源的comet实现:pushlet([url]http://www.pushlets.com),包括前台的js,html代码以及后台的java代码,也基本搞清楚了关于pushlet的处理机制并且胡乱写了一部分pushlet的学习笔记,目前还在整理中,到时候将与大家分享!转载 2011-04-16 09:35:00 · 1127 阅读 · 1 评论 -
Apache模块 mod_rewrite 及 初级URL重写指南
Apache模块 mod_rewrite 初级URL重写指南原创 2011-07-21 10:14:41 · 880 阅读 · 0 评论 -
URL重写:RewriteCond指令与RewriteRule 指令格式
Rewirte主要的功能就是实现URL的跳转和隐藏真实地址,基于Perl语言的正则表达式规范。平时帮助我们实现拟静态,拟目录,域名跳转,防止盗链等。本文将针对mod_rewrite和URL匹配的技术细节,以及RewriteCond与RewriteRule 指令格式进行探讨。Rew转载 2011-07-21 09:44:55 · 47866 阅读 · 6 评论