摘要: 背景 测试是完善的研发体系中不可或缺的一环。前端同样需要测试,你的css改动可能导致页面错位、js改动可能导致功能不正常。由于前端偏向GUI软件的特殊性,尽管测试领域工具层出不穷,在前端的自动化测试上面却实施并不广泛,很多人依旧以手工测试为主。本文试图探讨前端自动化测试领域的工具和实践。 为什么需要 阅读全文
posted @ 2016-02-19 16:06 蓝雨.Berners 阅读(4743) 评论(0) 推荐(0) 编辑
摘要: 介绍 最近出现的 React Native 再次让跨平台移动端开发这个话题火起来了,曾经大家以为在手机上可以像桌面那样通过 Web 技术来实现跨平台开发,却大多因为性能或功能问题而放弃,不得不针对不同平台开发多个版本。 但这并没有阻止人们对跨平台开发技术的探索,毕竟谁不想降低开发成本,一次编写就处处 阅读全文
posted @ 2016-02-19 13:59 蓝雨.Berners 阅读(381) 评论(0) 推荐(0) 编辑
摘要: 自从ADO.NET Entity Framework面世以来,受到大家的热捧,它封装了大量代码生成的工具,用户只需要建立好实体之间的关系,系统就是会为用户自动成功了Add、Delete、CreateObject、Attach、ToList......等等方法,这些方法基本上已经包含获取、删除、插入等基本方法,使用起来非常方便。只是在实体的更新上,由于LINQ面向的是泛型对象T,所以每个对象的更新方法都要由用户自动编辑。有见及此,下面在下利用反射方法,创建了一个更新工具,此工具可以更新ObjectContext里面的任意一个实体或者多个关联实体。一、简单介绍反射反射是一个程序集发现及运行的过程, 阅读全文
posted @ 2012-05-28 23:36 蓝雨.Berners 阅读(498) 评论(0) 推荐(0) 编辑
摘要: ASP.NET MVC Area操作*1、新建Area:右键->Add->Area...*2、继承AreaRegistration,配置对应此Area的路由*3、在Global中通过AreaRegistration.RegisterAllAreas();注册此Area*4、有了Area,就一定要配置路由的命名空间using System.Web.Mvc;namespace MVC20.Areas.AsynchronousController{ // 新建一个 Area 会自动生成这个继承自 AreaRegistration 的类 // 如果需要使用此 Area 下的 MVC, 需要 阅读全文
posted @ 2012-04-25 22:00 蓝雨.Berners 阅读(4634) 评论(1) 推荐(2) 编辑
摘要: 在Entity Framworik(Module)中有两种配置:一种 DataAnnotaions(注释)与Fluent API.这些根据个人喜欢来使用,DataAnnotaions 配置相对简单些,Fluent API可以配置些复杂的功能。今天我们来简单说说DAtaAnnotaions 的属性--命名空间:System.ComponentModel.DataAnnotations四个属性:属性名称描述Required标识该属性为必需参数,不能为空StringLength标识该字符串有长度限制,可以限制最小或最大长度Range标识该属性值范围,通常被用在数值型和日期型RegularExpres 阅读全文
posted @ 2012-04-25 14:53 蓝雨.Berners 阅读(10468) 评论(0) 推荐(0) 编辑
摘要: C#中AppDomain.CurrentDomain.BaseDirectory与Application.StartupPath的区别 阅读全文
posted @ 2012-04-22 14:00 蓝雨.Berners 阅读(2213) 评论(0) 推荐(0) 编辑
摘要: 我用抓包软件抓了http的包,发现accept大多数有两种情况。# l8 X" o; I5 e# t9 y第一种:Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-silverlight, */* ' |7 O( L* u# y! I# H第二种:Accept: * 阅读全文
posted @ 2012-03-21 00:00 蓝雨.Berners 阅读(12884) 评论(0) 推荐(0) 编辑
摘要: 以前写 JavaScript 脚本时,事件都是采用object.event = handler;的方式初始化。这种方式对于 Internet Explorer、Mozilla/Firefox 和 Opera 来说很通用。但是有一个问题就是,这种方式只能一个事件对应一个事件处理过程。如果希望一个事件可以依次执行多个处理过程就不好用了。但是 Internet Explorer 从 5.0 开始提供了一个 attachEvent 方法,使用这个方法,就可以给一个事件指派多个处理过程了。attachEvent 对于目前的 Opera 也适用。但是问题是 Mozilla/Firefox 并不支持这个方法 阅读全文
posted @ 2011-12-06 22:24 蓝雨.Berners 阅读(6824) 评论(0) 推荐(0) 编辑
摘要: 1、HttpContext.Request.UserAgent可以获取到页面的头信息例如:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322)我们可以根据此信息来得到用户的操作系统和浏览器版本等信息。例如:Windows NT 5.2代表着Window Xp系统,我们也可以用在手机系统上例如IPhone就含有Iphone信息。2、HttpContext.Request.Browser.Browser为什么Chrome和 Safari 浏览器的结果是一样,为:Safari????IE浏览器为:IE,火 阅读全文
posted @ 2011-11-30 10:18 蓝雨.Berners 阅读(824) 评论(0) 推荐(0) 编辑
摘要: 不管任何时请求一个ASP.NET页面,一套特定的时间就会以特定的顺序引发,这一系列时间称为页面执行生命周期(Page execution lifecycle)。例如Page Load 时间用于初始化页面控件属性,但Page Load并不是Page唯一事件。下面是请求页面时引发事件顺序:1、PreInit2、Init3、InitComplete4、PreLoad5、Load6、LoadComplete7、PreRender8、PreRenderComplete9、SaveStateComplete10、Uload下面我从以下代码来观察程序的运行:<%@ Page Language=&quo 阅读全文
posted @ 2011-08-25 10:54 蓝雨.Berners 阅读(174) 评论(0) 推荐(0) 编辑