51CTO博客开发
首先、我们必须牢记的一点是:java语言规范规定,String型变量指向的内存空间中的内容是不能被改变的,即String是不可改变的类!示例一:public class TestConstant{ public static void main(String args[]){ String str=new String("hello"); str="Welcome to Her
#include <stdio.h>#include <malloc.h>typedef struct Node{ int data; struct Node *next;}Node,*Link;Node * init(int len)//初始化链表{ int i; Node *head,*p,*q; head=(Link)malloc(sizeof(Node)); p=h
网页代码测试工具 没有站长可以保证自己的网页代码完全正确没有任何错误,特别是是否符合W3C标准,你可以通过以下测试来检查网站代码是否正确,无论你是asp的还是php的都可以哟。 1 . http://www.htmlhelp.com/tools/validator 一个很好的工具,能找出网站语法错误的地方,并标注出来,也可选择对网站上单独的每一页进行单页分析。( 强烈推荐 ) 2 .
一.基本概念1、稳定排序和非稳定排序简单地说就是所有相等的数经过某种排序方法后,仍能保持它们在排序之前的相对次序,就说这种排序方法是稳定的。反之,就是非稳定的。2、内排序和外排序排序过程中,所有需要排序的数都在内存,并在内存中调整它们的存储顺序,称为内排序;排序过程中,只有部分数被调入内存,并借助内存调整数在外存中的存放顺序排序方法称为外排序。3、算法的时间复杂度和空间复杂度时间复杂度,是指执行算
用sh执行脚本*.sh文件,会报错,用chmod 755 *.sh,然后./*.sh脚本作为可执行文件运行正常,或者直接bash *.sh也能运行,这是因为sh是链接的是dash,不是bash。Ubuntu安装的时候使用了dash,dash比bash体积小速度快,兼容性高!但是在bash下可以正常运行的一些sh在dash下不能使用,造成了一些麻烦。为了解决之,键入sudo dpkg-r
说明:在这篇文章里面,<C-X> 代表 Ctrl + X——就是按住 Ctrl 键然后再按 X。高效率移动在插入模式之外基本上来说,你应该尽可能少的呆在插入模式里面,因为在插入模式里面 VIM 就像一个“哑巴”编辑器一样。很多新手都会一直呆在插入模式里面,因为这样易于使用。但 VIM 的强大之处在于他的命令行模式!你会发现,在你越来越了解 VIM 之后,你就会花越来越少的时间使用插入模
在Java中有两类线程:User Thread(用户线程)、Daemon Thread(守护线程) Daemon的作用是为其他线程的运行提供便利服务,比如垃圾回收线程就是一个很称职的守护者。User和Daemon两者几乎没有区别,唯一的不同之处就在于虚拟机的离开:如果 User Thread已经全部退出运行了,只剩下Daemon Thread存在了,虚拟机也就退出了。
一.urllib+urllib2+cookielib版# -*- coding:utf-8 -*-import urllib2,urllib,cookielibdata={"email":"your email","password":"your password"}post_data=urllib.urlencode
想扒一下知乎 然后看到postdata里有_xsrf的随机数字串 百度了下跨站请求伪造(cross-site request forgery)通常缩写为XSRF,直译为跨站请求伪造,即攻击者通过调用第三方网站的恶意脚本或者利用程序来伪造请求,当然并不需要向用户端伪装任何具有欺骗的内容,在用户不知情时攻击者直接利用用户的浏览器向攻击的应用程序提交一个已经预测好请求参数的操作数据包,利用的
最近开始看python,脑子不太好使,生成器这边老是不理解,所以转一篇以后经常看看啦迭代器就是重复地做一些事情,可以简单的理解为循环,在python中实现了__iter__方法的对象是可迭代的,实现了next()方法的对象是迭代器,这样说起来有点拗口,实际上要想让一个迭代器工作,至少要实现__iter__方法和next方法。很多时候使用迭代器完成的工作使用列表也可以完成,但是如果有很多值列表就会占
摘要:单元测试曾一直都是阿里的痛,在进入阿里的这段日子里,单元测试逐步成熟起来,也开始带来了一些收益,这些方面都是很不错的一些思路。后面我打算仔细的研究和整理这一过程,希望能提供一个比较可行的方案供大家参考。网上一直流传的一份挺不错的单元测试准则,先保存下来。1. 保持单元测试小巧, 快速理论上, 任何代码 Check-in 之前都应该把所有测试套件完整的跑一遍. 所以保持测试代码轻
最近看了一些性能测试方面的东西,发现以前对性能测试有一些理解不太对。我总结了一下我所查看的一些资料,做了一些整理。性能测试的概念:性能测试是系统测试的一种,我们需要通过“系统”的视角来分析被测系统,整个系统,包含软件和硬件。我们可以将其定义为: 在一定负载情况下,系统的响应时间等特性是否满足特定的性能需求。性能测试相关的几个概念:负载: 在多终端用户对系统进行访问,用户越多,那么服务器系统需要处理
1. 版本管理,除了常用的SVN,有去了解git这类吗?最好说说这2个的不同点? 2. 持续集成有了解么,如果你来做,大致有什么样的思路和想法?可以介绍几个持续集成的工具? 3.代码评审,codereview/为什么需要这么做,如何做会更好?有过这方面的尝试,介绍下你使用的工具, 或者说你打算开发出什么样的工具来满足你的需求? 4.静态代码检查: a. 为什么要做
一般对于网站测试的理解就是点点页面,看看页面上是否展现相应的内容。但是作为测试人员,肯定不能这么的随便,谁让我们是专业的,我们就得有条有理的进行测试,覆盖到网站的方方面面。下面是参考51论坛上的一位同学的帖子摘录下来的,我觉得每一块都是一个很好的专题,可以深入研究一下,之前对性能测试也做过了一些了解,但很基础。功能测试链接测试表单测试cookie测试数据库测试数据的验证接口测试服务器接口测试外部接
对于自动化测试框架,其实并没有多数人想象中的那么高深玄乎,框架的概念只是一系列的被事先定义好的标准和规范。在自动化测试中我们经常提到的对测试需求的解析、脚本设计、测试执行、测试报告、维护管理等等,通过框架将它们串联并封装起来,从而使框架的终端用户能够更方便地使用。然而,一个好的自动化测试框架,不仅仅要能让用户方便使用,还需要考虑很多其他因素,下面就来分享一下一些个人的经验。 ● 选择一种
前段时间的QCon北京2011大会里面有个探索式测试的分享,是Erik Petersen 演讲(资料下载)的,我由于一些原因,没有在现场向大师学习,之后发现他讲的非常好,效果也很好,引起了很多人对于探索式测试的兴趣。这里也感谢InfoQ的给力,我把了Erik的PPT看了两遍,有非常深刻的体会。也确实在某些方面开导了我。自己本身学习探索式测试快一年有余了,也不乏和国外的ET的一些大师(
什么是BDD?BDD在wikipedia上定义如下:BDD是第二代的、由外及内的、基于拉(pull)的、多方利益相关者的(stakeholder)、多种可扩展的、高自动化的敏捷方法。它描述了一个交互循环,可以具有带有良好定义的输出(即工作中交付的结果):已测试过的软件。简单一点地说,BDD,即行为驱动开发,是通过与产品经理沟通需求,定义出满足这些需求的软件需具备的行为(Behaviour),再以这
Spider,其实就是抓取网页的爬虫,大部分搜索引擎都会使用Spider来做数据源的收集。这真是一个很好的设计,那么好的设计我们是不是也能拿来在测试中使用一下呢。 其实,目前还是有很多检查链接有效性的工具,诸如LinkBot等都是采用了Spider的概念来达到测试的目的的。 那么我们就将这个思想再扩展一下。在互联网网的应用中,页面的数量一向是超级繁多的,我们在平时的测试中也很难做到各个页面都去
一、软件测试大型软件系统的开发是一个很复杂的过程,其中因为人的因素而所产生的错误非常多,因此软件在开发过程必须要有相应的质量保证活动,而软件测试则是保证质量的关键措施。正像软件熵(software entropy)所描述的那样:一个程序从设计很好的状态开始,随着新的功能不断地加入,程序逐渐地失去了原有的结构,最终变成了一团乱麻(其实最初的"很好的状态"得加个问号)。测试的目的说
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号