2010年二月

Apache启动阶段分析[转载]

l        Apache的生命周期

这一节的内容将会阐述php模块的载入过程,请参考Apache的生命周期示意图(prefork模式下)。

Apache的运行分为启动阶段和运行阶段。

1. 启动阶段

在启动阶段,Apache主要进行配置文件解析(例如http.conf以及Include指令设定的配置文件等)、模块加载(例如mod_php.so,mod_perl.so等)和系统资源初始化(例如日志文件、共享内存段等)工作。

在这个阶段,Apache为了获得系统资源最大的使用权限,将以特权用户root(X系统)或超级管理员administrator(Windows系统)完成启动。

Apache和“php处理机”的装配过程就是在这个阶段完成的。

“php处理机”就是负责解释和执行你的php代码的系统模块。这个名字是我特意创造的,目的是为了帮助你理解本节的内容,后面的章节还会给出更专业的名称。

你单独做过php的安装配置吗?

如果你做过类似的工作,下面的内容很容易理解;如果你没有做过,可以尝试安装一下,有助于加深你的理解。不过,我的文章向来深入浅出,我会尽量把这个过程讲得更浅显一些。其实php的安装非常简单,如果你很感兴趣的话,可以到网上随便搜一篇安装指南,按步骤照做就可以了。

把php最终集成到Apache系统中,还需要对Apache进行一些必要的设置。这里,我们就以php的mod_php5 SAPI运行模式为例进行讲解,至于SAPI这个概念后面我们还会详细讲解。

假定我们安装的版本是Apache2和Php5,那么需要编辑Apache的主配置文件http.conf,在其中加入下面的几行内容:

Unix/Linux环境下

LoadModule php5_module modules/mod_php5.so

AddType application/x-httpd-php .php

注:其中modules/mod_php5.so是X系统环境下mod_php5.so文件的安装位置。

Windows环境下:

LoadModule php5_module d:/php/php5apache2.dll

AddType application/x-httpd-php .php

注:其中d:/php/php5apache2.dll是在Windows环境下php5apache2.dll文件的安装位置。

这两项配置就是告诉Apache Server,以后收到的Url用户请求,凡是以php作为后缀,就需要调用php5_module模块(mod_php5.so/ php5apache2.dll)进行处理。

这个过程可以参考以下的示意图:

Apache启动阶段的源码包含在server/main.c中,我整理了一下源码中的对应关系:

不熟悉unix/linux的同学可能会问so文件(mod_php5.so)是个什么样的文件?

unix/linux下,so后缀文件是一个DSO文件,DSO与windows系统下的dll是等价概念,都是把一堆函数封装在一个二进制文件中。调用它们的进程把它们装入内存后,会将其映射到自己的地址空间。

DSO全称为Dynamic Shared Object,即动态共享对象。DLL全称为Dynamic Link Library即动态链接库。

Apache服务器的体系结构的最大特点,就是高度模块化。如果你为了追求处理效率,可以把这些dso模块在apache编译的时候静态链入,这样会提高Apache 5%左右的处理性能。

2. 运行阶段

在运行阶段,Apache主要工作是处理用户的服务请求。

在这个阶段,Apache放弃特权用户级别,使用普通权限,这主要是基于安全性的考虑,防止由于代码的缺陷引起的安全漏洞,象微软的IIS就曾遭受“红色代码(Code Red)”和“尼姆达(Nimda)”等恶意代码的溢出攻击。

本文地址:http://www.yaronspace.cn/blog/index.php/archives/467



What should you do when you find an issue?[Need to be update]

What should you do when you find an issue?

Before create the bug report:

When I just begin to work as a software tester, I will shout out when seeing this question:”Certainly file a bug for this issue! ” In fact, there’re some things to do before file a bug for the issue.

  1. You should make sure the issue is a TRUE one.

Because there’re many ways for customers and testers to run into issue when using a software product, a wrong usage method, some wrong configurations for OS, etc. Please don’t trouble Devs with your own mistake, it will make yourself untrusted. 更多 >



SDET?!

原来的组合是:3 SDET+4 STE+1 LEAD
现在的组合是:3 SDET+1 STE+1 LEAD
剩下的only 1 STE就是我。
猜想未来的趋势,一定是四个人一边Coding,一边看我做着他们眼中廉价的工作。
LEAD和我谈,未来的趋势是: SDET=STE+SDET.
所以如果我不能成为SDET,我将是下一个被Transfer到其他需要only STE 的组里去,即被淘汰。
我是被LEAD选择留下的,虽然我不太喜欢Coding,但如果我必须做,我应该也可以做,不能让别人失望。

虽然我大BOSS 李Sir 也不相信我可以。
原来虎年伊始,既是见证奇迹的时刻,也是需要创造奇迹的时刻。



微软是怎样做测试的[转自CSDN博客]

比尔•盖茨曾经说过:“微软不是一家软件开发公司,而是一家软件测试公司。” 足见其对于软件测试的重视程度。 ATC( advanced Technology Center,微软亚洲工程院)测试组负责微软某些产品的测试工作。其测试工作的方法沿袭微软的工作习惯和软件测试的普遍方法,同时因其测试对象的特殊性,又具有其自身的特点。从本期开始,我们将陆续邀请ATC测试组的相关负责人来介绍他们所认识的测试工作,以及如何进行测试工作的。

你喜欢“找茬儿”么? 或者你有着和别人不一样的思维方式,总能发现问题的存在?是不是从小就被称之为“破坏之王”呢? 或者能够静下来,在纷繁复杂的事物里找到你想要的东西?如果你满足以上两条或者更多的条件,那么请关注一下你可能非常适合的行业――软件测试。

认识测试工作

由于种种原因,国内的软件测试并没有规范化,也没有真正地被重视起来,甚至没有被足够地了解。许多软件公司都没有自己独立负责测试的部门,也不会把测试工作外包出去,开发人员往往是自己开发自己测试,边开发边测试,这种很原始的测试方式,没有比较科学的方法指导,更没有文档可依。这样的局面让之前提到的软件测试天才们没有足够的用武之地。

然而,软件测试是在有限的时间内提供高质量软件的保证,是一个完整正规的软件开发过程中非常重要的一个部分。在大型的软件公司里,往往软件测试工作被高度重视,在微软也不例外。ATC测试组负责Exchange Server、MSN Search、IE、Office Communicator等产品的测试工作。在这些产品发布之前,都要经历无数次严格地测试,并且测试工作不是从开发人员开始编写代码的时候才开始,而是从该产品建立研发项目伊始,就一直作为项目进行的一项重要工作而伴随项目的进行贯穿始终的。 更多 >



2010,新年快乐,虎虎生威

我是小叻女, 我和我大BOSS都处于休假中,

虎年见,我们老虎你们。



传说Google是这么用的[收藏]

第一篇

在搜索框上输入:“indexof/”inurl:lib

再按搜索你将进入许多图书馆,并且一定能下载自己喜欢的书籍。

在搜索框上输入:“indexof/”cnki

再按搜索你就可以找到许多图书馆的CNKI、VIP、超星等入口!

在搜索框上输入:“indexof/”ppt

再按搜索你就可以突破网站入口下载powerpint作品!

在搜索框上输入:“indexof/”mp3 更多 >



在百度空间玩儿”开心宝贝”发现个问题

 

 

[前提条件]:

1.在Win7系统上,用IE8浏览器;

2.准备俩百度帐号:A和B;

3. A 和B都有“开心宝贝”这个应用。

[重现步骤]:

1. 用A登录 http://hi.baidu.com/

2. 在“我的应用”里选择“开心宝贝”;

此时成功打开A的“开心宝贝”页面。 更多 >



Windows 7中58个使用技巧

Windows 7比Vista要好用而且有很多新功能。 不过,由于系统较新, 其中的一些功能并不是很容易被人们所发现,所以我们把其中的一些最重要的技巧和窍门创建成一个列表并且一步一步的向大家进行介绍。

  1. 把当前窗口停靠在屏幕左侧:这个新功能看起挺有用,因为有些时候,我们会被屏幕中浮着的近乎疯狂的窗口们所困扰,并且很难把他们都弄到一边。 现在我们使用键盘的快捷键就可以很轻松的做到了。 按WIN+左键把它靠到屏幕的左边去吧。
  2. 把当前窗口停靠在屏幕右侧:按WIN+右键 可以把窗口靠到右侧
  3. 显示或隐藏浏览预览面板:按 ALT+P 隐藏或者显示浏览的预览窗口
  4. 在其他窗口顶端显示小工具:按 ALT+G 更多 >


外包/非外包公司Tester的SWOT分析对比

SWOT Outsourcing Tester Non_outsourcing Tester
Strengths
  1. It’s always a huge company who will outsource the test task, so you can get regular process and management of software development from the customer.
  2.  
 

  1. You own the product yourself, and can make decision independent.
  2. You can deal with the product flexible.
  3. Have belongings.
  4. The user is your direct aim.
  5. It’s part of your contributions when the product gets a praise
Weaknesses
  1. The core part of the product and technology won’t be known due to Commerce secret.
  2. Have no belongings cause you just work for your customer directly, rather than the actual user.
  3. Your salary won’t be added just for the product you just worked on get a wonderful result. It’s none of your business on your customers’ point of view.
  4. Need to wait for work, instead of do the work consciously.

 

  1.  Won’t get a regular system if you are working in a small company.
  1. Opportunities
  1. You can work with staffs from different countries; you can learn different cultures, values, etc. Maybe you will get chance to work in other countries for some time.
  2.  
  1. Will be promoted easily after you do a perfect job.
  2.  
  1. Threats
  1. The tester will depend on the customer too much, when the customer changes its idea or service provider, it will be a hard time to get beyond.
  2.  
  1. It’s hard to ramp up yourself.
  2. There’s no new chance when you work a little long and have been familiar with the product.
  3.  

谨以此文,对自己1.5个月的非外包及3个多月的外包Tester经历作比较。

经历有限,内容有限,会随时对内容进行更新。

欢迎建议,谢绝拍砖。



Mysql Explain 详解[强烈推荐]

Mysql Explain 详解

一.语法

explain < table_name >

例如: explain select * from t3 where id=3952602;

二.explain输出解释
更多 >