A:去到英国那么遥远的地方,你们天各一方,那怎么办?将来一定会分手的。这么大个人做事应该想清楚才做,以为每日通个电话,一年见次面就可以过的一辈子了? B:我一有假期就会去英国看他啦。再说如今科技这么先进,一上网就可以聊天了。 A:不要做这么不切实际的假设拉!我以为你们两个都经历过这么多风风雨雨,感情都很稳定了。原来说一声再见,这么就走了?!
君子者,权重者不媚之,势盛者不附之,倾城者不奉之,貌恶者不讳之,强者不畏之,弱者不欺之,从善者友之,好恶者弃之,长则尊之,幼则庇之。为民者安其居,为官者司其职,穷不失义,达不离道,此君子行事之准。孟子曰“ 穷则独善其身,达则兼济天下”。
1. 在系统内核方面是专家,钻的很深。 2. 在大规模分布式应用方面有丰富的架构经验。 3. 在业务系统建模、业务系统重构方面有深刻的领域知识和实践 这是服务器端做后台开发方面的牛人。 谨记啊,回头把认识的后台开发人在心里按这个标准过一遍 估个分 呵呵
ultraedit 增加额外语言 语法高亮 1.去http://www.ultraedit.com/downloads/extras.html download wordfile的配置文件 2.打开ultraedit的高级(advanced)->配置(configuration) 3.打开编辑器显示->语法高亮 4.查看文档的完整目录名称下的地址 5. 打开这个目录把再第一步下载的wordfile 放到配置文件加载的wordfile的目录下 注意: a. 配置文件uew后缀 b.wordfile的第一行有类“/L14"Python" PYTHON_LANG Line Comment = # Escape Char = \ String Literal Prefix = r File Extensions = PY PYW ”的声明 6. L14代表这是ultraedit 语法高亮配置的第14个语言 (这里要改成没有被占用的序号) 7.重启ultraedit 使用第五步的步骤 查看语法高亮文件是否已经被加载进来 ,如果加载进来则在UE的视图->查看方式 下可以看到python语法高亮的选项 选中即可
java是通过系统调用,执行php程序。 就像在命令行执行php程序一样。 高强度用system调用,性能开销较大。 如果双方都遵守http协议的话 本身没啥语言方面的问题 但是可以关注一下在一些异常情况下的表现 比如请求超时 如果服务器端一直不给返回 看看客户端会不会一直处于等待状态 还可考虑一些别的异常 比如返回的数据格式不对什么的 但和语言本身关系不大
从mediawiki上传文件遇到错误--- “上传目录(public)不存在或无写权限” 分析了一下mediawiki的结构发现所有的上传的文件是保存在mediawiki的目录image下面的。 这个错误的意思是说 image这个目录要么不存在要么没有写权限。 (回忆了一下上次换apache,所有的系统都是直接copy过去的,权限估计改变了) chmod 777 -R image 解决问题
1. 先以root登陆要安装load generator的unix服务器。(目前仅支持uname=linux,SunOS,AIX,HP-UX) 2. 将LR的unix插件copy到服务器上并解压。 3. 运行install.sh 的脚本调起安装的wizard。 Next->Agree->Confirm Install->Finish (安装的log写在/tmp目录下) 4. 检查目录/opt/HP/HP_LoadGenerator (这个就是loadruner的服务器端插件的主目录了) 5. 设置设置几个环境变量 LR自带的是csh下的脚本,bash的脚本自己写,然后设置好切shell的时候自动source相应的脚本执行。 CSH下的脚本: #!/bin/csh setenv PRODUCT_DIR /opt/HP/HP_LoadGenerator setenv M_LROOT $PRODUCT_DIR if ( `uname` == SunOS ) then setenv LD_LIBRARY_PATH ${M_LROOT}/bin else if ( `uname` == Linux ) then setenv LD_LIBRARY_PATH ${M_LROOT}/bin:${M_LROOT}/lib:/usr/lib else if ( `uname` == AIX ) then setenv LIBPATH ${M_LROOT}/bin else if ( `uname` == HP-UX ) then setenv SHLIB_PATH ${M_LROOT}/bin endif setenv DISPLAY 0.0 setenv PATH ${M_LROOT}/bin:$PATH 注意: 1.这里Loadrunner原始的脚本给LD_LIBRARY_PATH的设置的值是${M_LROOT}/bin,实则library应该指向安装目录的/opt/HP/HP_LoadGenerator/lib下。 因此给LD_LIBRARY_PATH设置值为${M_LROOT}/bin:${M_LROOT}/lib:/usr/lib (这里M_LROOT=/opt/HP/HP_LoadGenerator) 2.原始Loadrunner只提供了CSH的脚本,bash的自己写一份了,下面是自己写的 BASH的脚本 #/bin/bash export PRODUCT_DIR=/opt/HP/HP_LoadGenerator export M_LROOT=$PRODUCT_DIR export LD_LIBRARY_PATH=$M_LROOT/bin:$M_LROOT/lib:/usr/lib export DISPLAY='0.0' export PATH=$PATH:$M_LROOT/bin 注:没按照原始文件根据uname判断来给LD_LIBRARY_PATH执行不同的值。 6. 在不同shell的配置里source这两个文件使得切换shell后执行 (以下方法仅适用于CENTOS-linux系统) CSH 给文件/etc/csh.cshrc 最后增加 source /opt/HP/HP_LoadGenerator/env.csh BASH 给文件/etc/profile 最后增加 source /opt/HP/HP_LoadGenerator/env.sh 7.切换SHELL 让source的程序文件执行生效或自己手动执行 8.检查loadrunner配置环境 进入/opt/HP/HP_Loadrunner下,运行verify_generator [jaunty@localhost bin]$ ./verify_generator =================================================== HP Vuser Environment Verification Utility =================================================== Product: HP LoadRunner 9.50 Version: 09.50.0000 Build: 3378 localhost.localdomain: 提示找不到libstdc++.so.5, 就是缺libstdc++5相关包 解决办法: yum -y install libstdc++.so.5 /opt/HP/HP_LoadGenerator/bin/lrv/chk_thread_lmt: error while loading shared libraries: libstdc++.so.5: cannot open shared object file: No such file or directory /opt/HP/HP_LoadGenerator/bin/lrv/limithost: line 134: ...
当听多了“福如东海”“寿比南山”“老如松柏”“松鹤延年”这样的祝寿辞后,突然有一天,有一个人说出“鸿案敝庥,庆衍萱畴”这样的贺辞来,我还是觉得这话透着学问,至少我乍听之下,就不知道是什么意思,中间有什么典故,其中有什么曲直 《红楼梦》里贾宝玉发现黛玉和宝钗的关系突然变得亲如姊妹了,他诧异地问“是几时孟光接了梁鸿案”,觉得太阳是打西边出来了。本来“举案齐眉”这个典故说的是东汉大儒梁鸿和他的妻子孟光的故事。《后汉书》记载,梁鸿替人舂米谋两餐温饱,每次下班回家,孟光都已经做好饭了,她总是把摆放着食物的托盘(案)高高地举到眉边递给梁鸿。后来“举案齐眉”就成了一个成语,人们用这个成语来形容夫妻互相尊重,相敬如宾。所谓“鸿案”指的就是举案齐眉的这段典故了。
安装及配置bugzilla 1.安装bugzilla 下载bugzilla http://www.bugzilla.org/download/ 在/usr/local下解压 Make Make test Install 2.安装perl module cd /usr/local/bugzilla ./checksetup.pl (可以检查针对bugzilla的安装的条件还缺少什么) ./install-module.pl –all (安装所有的perl module) (./install-module.pl module::name 安装指定的模块) 装完后还需要额外安装一些模块例如 DBD-mysql (v.4.00) GD(V1.20) Chart(V1.0) Template-GD(any) GDText 模块安装完成后在bugzilla的目录下会生成一个localconfig文件 * 注:有些模块可能装不成功,则就自行手动安装,安装完成后再用./checksetup来检测安装的状态。例如 Datetime:locale 模块没有。则可以用bugzilla的install-module的指定安装或者自己到下载源代码包手动编译安装
一 09
14
注:最后译文的质量,是从原文价值和翻译质量两方面来综合评定,所以在挑选文章时请关注原文质量。
2009-01-12
Best Regards!
*****************************
51Testing软件测试网
提高测试水平,改进软件质量
要开始动工咧。。。
原文作者:Keven Liu (Email: softkeven@gmail.com)
原文出处:Software Test & Performance, December 2007, Vol. 4, No. 12
(杂志期刊号或链接)http://www.stpmag.com/issues/stp-2007-12.pdf
推荐理由:利用XML来定制自动化测试的业务流程和逻辑
一 09
9
今天收到订的IBM的通知邮件~有个自动化测试的专题:
大概浏览一下,还是有些东西有点用,虽然IBM有些东西很擅长故弄玄虚,不过读一下当补充业余知识了。
http://www.ibm.com/developerworks/cn/s_newsletter/dw_s_20090108.html
尤其是rup原则的自动化测试的实施。以及ITCL的面向对象组织测试的思想可以学习一下。
虽然测试上来说IBM的工具和很多理念并没有多大的市场,但是毕竟道理都是相通的。可以理解一下。深化一下认识。
一 09
7
今天csdn推出java工具大总结,看到BDD的概念已经逐渐成为流行。之前有段时间关注敏捷和TDD,对BDD有个浅显的接触,当然仅限于名称的了解。既然成为流行,当然要深究一下。
BDD(behavior driven development)行为驱动开发。敏捷开发的一种方式。
维基的解释http://en.wikipedia.org/wiki/Behavior_Driven_Development
大概BDD 就是个基于行为的设计方法。其实TDD应该也可以算是设计方法吧。不过他们各自的关注点不一样。
例如TDD可能比较贴近功能点,而BDD以我拙劣的理解能力看来,就是换了个yy方式吧,可能是为了让开发能够从测试的怪圈里跳出来,从而只关注这段程序应该做什么,要做什么。而不是关注在这个数组边界是多少,数组类型是什么,从而写对应的单元测试以保证这些功能点,业务规则,甚至是程序规范这些细致的点。
一 09
7
盖茨十条成功箴言
1.生活是不公平的,要去适应它;
2.这世界并不会在意你的自尊,这世界指望你在自我感觉良好之前先要有所成就;
3.高中刚毕业你不会成为一个公司的副总裁,直到你将此职位挣到手;
4.如果你认为你的老板严厉,等你当了老板再这样想;
5.如果你陷入困境,不要尖声抱怨错误,要从中吸取教训;
6.在你出生之前,你的父母并非像现在这样乏味。他们变成今天这个样子是因为这些年来他们一直在为你付账单,给你洗衣服,听你大谈你是如何的酷;
7.你的学校也许已经不再分优等生和劣等生,但生活却仍在作出类似区分;
一 09
6
原本以为就是安装一下,结果也是一波三折的。
安装过程详解,遇到的问题和解决方法。
Step 1 下载 Ruby。在官网下载页面可以看到有a.下载源码安装 b.一键安装。根据OS的类型我选在windows下的版本download Ruby 1.8.6 一步安装。下载完双击运行安装。
Step 2 下载WatiR。在官网下载了WatiR的最新版本1.5.6和版本1.5.4.,我下载的是gem后缀的安装文件。为什么还要下1.5.4后面再解释,这也就是安装一波三折的一个因素。
什么是gem?它到底是什么东西?在wiki上搜索了一下ruby的gems
RubyGems is a package manager for the Ruby programming language that provides a standard format for distributing Ruby programs and libraries (in a self-contained format called a “gem”), a tool designed to easily manage the installation of gems, and a server for distributing them. RubyGems is now part of the standard library from Ruby version 1.9.
十二 08
29
本来在做watir恰逢遇到项目,被打断了,目前需要做单元测试,于是给我了机会一亲Junit芳泽。花了些日子读资料在eclipse上从最简单的一行代码的测试到对一个类写针对性的测试,到现在开始考虑一些结构的问题,也收获颇丰。
前后对比一下,阅读了一些书籍和材料总结到以下几点:
1. Junit写出来测试代码的基本骨架的样式大概就是下面的:(// 和/**开头那些都是为了方便理解而加的注释)
基本顺序就是
(1) import junit.framework.* 下面所有的类
(2) extends 用自己的测试类继承TestCase
(3) 初始化和释放资源的方法 setUp()和tearDown()
(4) 写一个构造函数用super 调用 父类构造函数
(5) test开头的测试方法。
(6) 定义testsuite,指定testsuite要执行的测试方法
(7)如果要在命令行下执行测试,需要用main函数指定待运行testsuite和一系列定义,以及运行方法和运行对象等等。
十二 08
29
卓越发货速度真是越来越快了。前天夜里2点多下的订单。今天就收到东西了。
1. QTP 自动化
2. 绝影的 疯狂程序员
3. 杜拉拉升职记 2 – 华年似水
元旦有的看啦~哈哈
本来这次想订于涌的Loadrunner的书。不过转头看看案头,抢进化的陈绍英的性能测试实践还没看完呢。
先把手头的看完吧。 :)
本来想买Junit pragmatic那本书以作收藏,不过英文原版要300多,中文翻译版各大书站都没有货,无奈只好下次。此次读完之后甚觉是起步佳作,对于我可能还需要再读多次。不过这个起步可能也要依靠当事人OO编程基础知识的程度,java的了解度,以及对测试那么点悟性。否则读完也就是读完了。
充电过冬~
十二 08
29
虽然现在美国经济出现危机,但是网站开发领域依然很繁荣,因为不论是现在或者将来,网络必定是人们日常生活中不可缺少的组成部分。NETTUTS上列出10大最吃香的网站开发技术。作为网站开发工程师,如果你精通这些技术,即便在经济不景气的时候,仍然很容易找到一份好工作。
1. Framework knowledge (架构知识)
架构是大型网站开发的重要部分。开发者已经从Rails, Django等公司提供的网站架构工具中收益,因为架构工具可以帮助完成那些需要一定编程知识的重复性的任务。如果你拥有领先的架构技术(像Rails, Django, CakePHP, Symfony等),你的择业面将非常广阔。
十二 08
18
首先我想说明我本文阐述的是纯粹从美学的角度来写出代码,而非技术、逻辑等。以下为写出漂亮代码的七种方法:
1, 尽快结束 if语句
例如下面这个JavaScript语句,看起来就很恐怖:
1 function findShape(flags, point, attribute, list) {
2 if(!findShapePoints(flags, point, attribute)) {
3 if(!doFindShapePoints(flags, point, attribute)) {
4 if(!findInShape(flags, point, attribute)) {
5 if(!findFromGuide(flags,point) {
6 if(list.count() > 0 && flags == 1) {
7 doSomething();
8 }
9 }
10 }
11 }
12 }
13 }
十二 08
15
曾经,我认为只要做好详细设计工作,软件编码就成为一种体力活。在我印象中传统软件工程理论好像是这么说得:分析和设计是软件生产过程中最重要的两个阶段,好的设计产生好的结果,坏的设计产生坏的结果,详细设计文档是软件过程中最重要的部分,甚至比代码还重要。国内某人的书中还提到,“只要有了详细设计,哪怕原来的开发人员都离开了,换一批人照着详细设计仍然能把软件做完”。一提到详细设计我的脑子里也已经出现了这样的影子:长长的(或者厚厚的)文档,详细到每个函数,甚至是每个函数参数的名字都定义好了,用这样的详细设计指导代码编写应该是一件多么惬意的事情啊。我推崇这种事无巨细的详细设计,认为只要是设计好就能够适应变化,并把软件项目的失败归咎与设计人员的知识、能力或经验不足。这种想法持续了很长时间,直到我有了实际软件项目的经验并开始单独做设计为止。