显示标签为“网站开发”的博文。显示所有博文
显示标签为“网站开发”的博文。显示所有博文

星期一, 六月 18, 2007

31 个用来测试你网站各项性能的免费在线工具- 已使用 Google 工具栏发送

你是否肯定你的网站完全兼容各大浏览器?是否知道多少秒可以打开你的网站? 是否可以自信地说你的网站根本就没有打不开的时候? 是否……
虽然它看似不重要,但这些在一定程度上也对你的网站的访问量产生了影响 ( 其它一部分影响浏览量的原因及解决办法 )。这里列出了一份 31 个我最喜爱的免费在线测试工具,你可以通过这些工具来测试你的网站,并根据结果对你的网站进行修改。
网站代码验证 没人可以细致到保证自己的网站代码都是正确的,你可以通过以下测试来验证网站代码是否正确。

1 . WDG HTML Validator 一个很好的工具,能找出网站语法错误的地方,并标注出来,也可选择对网站上单独的每一页进行单页分析。( 强烈推荐

2 . W3C Markup Validation Service 对 HTML 和 XHTML 都能进行代码测试,自称是互联网络上第一个(也是使用者最多的)的 HTML 验证工具。

3 . W3C CSS Validation Service 用于验证 css 源代码,能够标注出不好的 css 代码设计。例如:"Same colors for color and background-color in two contexts"。

4 . RUWF XML Syntax Checker 用于查找 XML 文件的错误。

5 . W3C Feed Validation Service 用于查找 Atom 和 RSS feed 中的错误语法。( 这个我经常用到

6 . W3C Link Checker 用于搜寻查明你网站内的所有链接里是否有断链。( 强烈推荐

7 . Juicy Studio Link Analyser 测试网站内的链接的 URL 是否存在死链,与 W3C Link Checker 很类似。
网站的使用性
我们常常看到网站设计者把重点放在怎网站的吸引力上,而完全不考虑会不会影响来访者的使用,一个浏览难度很大的网页是注定要失败,要让你的来访者方便的得到他要的信息(从而成为重复访客),你的网站应当遵循 WCAG section 508 易用性规则。

8 . Watchfire WebXACT 所有严谨的设计师和开发者都必须使用的工具,它会生成一个非常详尽的报告书,包括:网站质量,易用性和隐私等。( 强烈推荐

9 . ATRC Web Accessibility Checker 测试网站的 WCAG 2.0 Level2 兼容性,它会生成一份报告,提出一系列建议,如:如何提升页头,链接,数据,图表和文字的访问速度。

10 . WAVE 3.0 Web Accessibility Tool 高度可定制的工具,它采用了图形化模型展示网站兼容性问题( WCAG 1.0 and section 508 )。( 强烈推荐

11 . TAW Web Accessibility Test 测试网页是否存在冲突( WCAG 1.0 兼容性 ),通过图形模式生成一份依据 wcag 优先模式为基础的网站修改建议。

12 . HiSoftware CynthiaSays portal 采用了非常严格的规则来测试网页( 根据 section 508 和 WCAG 1.0 规则 ),生成的报告也极为详细( 详细到很难看懂 )。

13 . HERA Accessibility testing with Style 使用一种极为复杂但容易理解方式指出网页的 wcag1.0 兼容性问题。

14 . Juicy Studio CSS Analyser 进行了色彩对比测试,以确保你的网站的色调会符合 WCAG 1.0 的要求。

15 . Juiciy Studio Readability Test 分析你网站上的文字是否有语法错误或拼写错误等问题,容易让人理解不( 根据 the Flesch Reading Ease 和 Flesch-Kincaid grade level algorithms 规则 )。( 适合英文网站使用 )
网站的速度
打开你的网站的速度快慢,是来访者会不会再次访问网站的关键因素,在一般情况下,一个网络不是很快的来访者是不愿意访问一个充满着图片、flash 动画、多媒体文件的网站。为了使你的网站覆盖人群的范围最大化,你必须优化你的网站,使它的打开速度尽可能的快。

16 . Web Page Analyzer from Website Optimization 一个很好的工具,它在分析完一个网页后,会为减少加载时间提出优化建议,着重优化物体的数目,图片和网站的总体大小。( 强烈推荐

17 . WebSitePulse Test Tools 有一系列的工具来确定网站的加载速度和主机信息。

18 . Internet Supervision Url Check 从世界各地不同的服务器来测试你的网站的加载时间,用于确定是不是各地的来访者都能顺利快速的打开你得网站。
浏览器模拟工具
这是一个普遍的问题,因为现在有着很多的操作系统和浏览器,你得网站必须得兼容它们,但这绝不是一件容易的事。通过下列工具,你可以了解你得网站在各种浏览器上的显示效果。

19 . Browsershots 能给出你的网站在不同浏览器下显示效果的截图,包括:Firefox 和 Internet Explorer ( Windows )、Firefox 和 Safari ( Mac OS X )、Iceweasal 和 Konqueror ( Linux ),但是结果要在 1 - 3 小时后才能出来。

20 . IE NetRenderer 实时生成你的网站在 Internet Explorer 5.5 、6.0 和 7.0 下的截图。

21 . MobiReady Report 分析使用手机访问网页的兼容性问题,会生成一份详细的报告,并提供了在两种不同类型的手机浏览器上你得网站可能显示的样子。
搜索引擎优化 (SEO)
一个网站,如果对搜索引擎有着比较好的友好度,一定会比较有竞争力。

22 . UrlTrends 会显示网站的访客是如何通过搜索引擎来到你的网站,还有各个流量是多少。这些数据是包括 Google, Yahoo, MSN, Alexa, AlltheWeb, AltaVista 和其他一些网站。( 强烈推荐

23 . iWEBTOOL Backlink Checker 一个很好的工具,它能找出有什么站点链接到你的站点,那些站点是什么类型的站点。

24 . iWEBTOOL Multi-Rank Checker 显示你网站的 Alexa 和 Google PageRank 数值。

25 . Microsoft adCenter Labs: Advertising and Keyword Research Tools 一个极好的工具,用于分析和预测你网站的来访者和市场。( 强烈推荐

26 . Domain Tools Whois lookup 一个 WHOIS 网络工具。

27 . SEO-Browser 可以让你看到在搜索引擎眼里一样的网站( 去掉所有的"美丽"配件 )。

28 . SEO Workers SEO Analysis Tool 非常有用的工具,分析了网站上的各种分类特征,包括 meta 标签、关键字密度及加载时间。( 强烈推荐

29 . Seekport Seekbot 可以分析网站的数据和内容,以得出搜索引擎会如何有效的解释分析的网站。

30 . SEO Chat SEO Tools 用以分析网站 Google adsense 盈利潜力,关键字密度,Meta tag 等等……

31 . Marketleap Search Engine Marketing Tools 用来分析网页,让你知道你的网站检索、设定的关键字好不好。


......


详细内容...

星期五, 三月 02, 2007

程序员的七种武器

  世界上有两件事情,需要一辈子的努力。第一是学习,第二是锻炼。其实这本是说明一个问题:每个人在提高自己能力这件事情上,需要持续不断地努力。以最典型的例子来看,只有通过学习,程序员才能保证不断进步。一方面我们学习新的软件技术和更新速度极快的业界新名词;另外一方面,我们也需要不断加强基本技能的巩固。
  在这样的前提下,“程序员的七种武器”这个选题就应运而生了。撇开众多软件开发人员的基本素质(学习能力、解决问题能力等)不谈,我们希望能够通过本期专题来让读者更加清晰地认识,如何才能成为一位具备基本技能的开发人员。
经过几轮不断的讨论,若干专家和编辑谨慎地选择了七种程序员的基本技能,它们是:
  ● 数组、字符串与哈希表● 正则表达式● 调试● 两门语言● 一个开发环境● SQL语言● 编写软件的思想
  作为一位开发人员,可能对上述所有的技术都嗤之以鼻——这些都是最根本的软件开发技术,何以被称之为武器?然而,正是这些最根本的东西,成为了很多软件开发人员向更高层次迈进的绊脚石。在多次的沟通和讨论当中,许多软件技术专家感同身受。

数组、字符串与哈希表:
  任何受过专业训练的程序员,对“数据结构”这门课程中涉及到的各种数据结构都不会陌生,但是在实际的编程工作中,大部分的数据结构都不会用到,而且也永远都不会用到。虽然如此,深入地理解基本数据结构的概念和实现细节,仍然是每个程序员的任务。这不仅仅是因为,掌握这些知识将有利于更加正确和灵活地应用它们,而且也是因为,对于语言背后的实现细节的求知欲是一个优秀程序员的素质。

正则表达式
  在程序员日常工作中,数据处理占据了相当的比重。而所有的数据之中文本又占据了相当的比重。文本能够被人理解、具有良好的透明性,利于系统开发、测试和维护等就必需要有一定规律遵循一种规则,当你掌握一门正则表达式语言,就能够培养你编程的直觉本能,达到较高水平,也能够在实践中提供更高的开发和执行效率。

调试
  软件调试是软件工程的一个重要部分,其过程出现在软件工程的各个阶段,从最初的可行性分析、原型验证、到开发和测试阶段、再到发布后的维护与支持,都有软件调试过程参与。学习和灵活运用软件调试技术,不仅可以提高程序员工作效率,而且有利于对代码的感知力和控制力,加深对软件和系统的理解。此外,调试技术是解决各种软件难题的一种有效武器,它直击要害、锐不可挡,相对其它间接方法具有明显的优势。软件有大美,调试见真功!

两门语言
  任何一位职业化的软件技术人员都会将编程语言当成自己的利器。它们代表了开发人员对计算机本身的理解与对软件开发工作的执著。同时,建立在编程语言之上的基础也标志着程序员的职业化道路发展到了一个新的阶段,而单一语言又有一定的局限性,软件开发的本质就是处理信息以及数据。一种专门用来处理数据的脚本语言常常是走向更加职业化的必备武器之一。所以精通两种语言,对于任何一个开发人员来说,并非必须,但是对于一个专业化程度较高的开发人员来说,又常常是必要的。

一个开发环境
  随着技术的进步,IDE已经越来越强大,远远超出我们心目中的最初形象,越来越多的内容被涵盖到IDE中,从需求分析、业务建摸大批软件发布,IDE已经逐渐覆盖了软件开发的整个生命周期。

SQL语言
  说起SQL,绝大多数程序员对其作用都了然于胸--用来访问数据库嘛。确实,数据是信息系统的核心,没有数据的计算机应用没有任何意义。信息系统中,大量数据本质上就以实体--关系的模式存在,而RDBMS支持SQL这么简单但表达能力丰富的访问接口,同时还提供了内建的事务ACID特性保证和故障恢复能力--因此,RDBMS理所当然地成为了大部分信息系统的标准数据存储介质。于是,无论使用何种语言开发信息系统,从C、C++,Delphi到Java,从Perl、Python到Ruby,使用SQL访问RDBMS都是我们必须修炼的武功秘籍。

编写软件的思想
  说起程序员的武器自然少不了技术书籍,它们就像是拳谱、剑经、虽然不能马上转化为巨大的伤害输出,但假以时日勤以研读,有朝一日成为傍身绝学也是说不定。不过虽然各类技术书籍汗牛充栋,除去入门时浅显易用的参考和复杂深奥的学术专著,能够让所有程序员常看常新的心法秘籍还是不多。


......


详细内容...

星期五, 一月 26, 2007

asp.net中datagrid使用总结二

将DATAGRID中的数据导出到EXCEL中
将DATAGRID中的数据导出到EXCEL中
1、查询出数据绑定到datagrid中
SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionStringlocal"]);
SqlDataAdapter myCommand = new SqlDataAdapter("D_CustomerNew_searchsms", myConnection);
myCommand.SelectCommand.CommandTimeout=60;

myCommand.SelectCommand.CommandType = CommandType.StoredProcedure;

myCommand.SelectCommand.Parameters.Add(new SqlParameter("@oa_id", SqlDbType.NVarChar,10));
myCommand.SelectCommand.Parameters["@oa_id"].Value = foa_id;

myCommand.SelectCommand.Parameters.Add(new SqlParameter("@returninfo", SqlDbType.NVarChar,200));
myCommand.SelectCommand.Parameters["@returninfo"].Direction = ParameterDirection.Output;

DataSet ds = new DataSet();
myCommand.Fill(ds,"searchbill1");

MyDataGrid.DataSource=ds.Tables["searchbill1"].DefaultView;
MyDataGrid.DataBind();

ToExcel(MyDataGrid);
myConnection.Close();




2、导出EXCEL
public void ToExcel(System.Web.UI.Control ctl)
{
Response.Clear();
DateTime currentTime = new System.DateTime();
currentTime = System.DateTime.Now;
HttpContext.Current.Response.AppendHeader("Content-Disposition","attachment;filename=zhixiaoCustomer"+Convert.ToString(currentTime.Year)+"_"+Convert.ToString(currentTime.Month)+"_"+Convert.ToString(currentTime.Day)+".xls"); //定义输出文件和文件名

//HttpContext.Current.Response.AppendHeader("Content-Disposition","attachment;filename="+mtitle+".xls"); //定义输出文件和文件名
HttpContext.Current.Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");//设置输出流为简体中文,解决乱码的关键,如果不行就改为UTF8
//HttpContext.Current.Response.ContentEncoding=System.Text.Encoding.UTF8;
HttpContext.Current.Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。 可以是其他类型application/ms-word    application/ms-txt    application/ms-html

this.EnableViewState = false;

System.IO.StringWriter tw = new System.IO.StringWriter() ;
System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter (tw);
this.ClearControls(MyDataGrid);
ctl.RenderControl(hw);
HttpContext.Current.Response.Write(tw.ToString());
HttpContext.Current.Response.End();
}
private void ClearControls(Control control)
{
for (int i=control.Controls.Count -1; i>=0; i--)
{
ClearControls(control.Controls[i]);
}

if (!(control is TableCell))
{
if (control.GetType().GetProperty("SelectedItem") != null)
{
LiteralControl literal = new LiteralControl();
control.Parent.Controls.Add(literal);
try
{
literal.Text = (string)control.GetType().GetProperty("SelectedItem").GetValue(control,null);
}
catch

{

}

control.Parent.Controls.Remove(control);
}

else

if (control.GetType().GetProperty("Text") != null)
{
LiteralControl literal = new LiteralControl();
control.Parent.Controls.Add(literal);
literal.Text = (string)control.GetType().GetProperty("Text").GetValue(control,null);
control.Parent.Controls.Remove(control);
}
}
return;
}
......


详细内容...

asp.net中datagrid使用总结一

1、隐藏某列
隐藏:MyDataGrid.Columns[1].Visible = false;
取得是否显示的属性:MyDataGrid.Columns[1].Visible.ToString();
2、删除一行记录增加删除提醒功能
(1)在DATAGRID增加OnItemDataBound="ItemDataBound"
(2)DATAGRIDZ中列有

(3)在script中增加函数:
void ItemDataBound(object o , DataGridItemEventArgs e)
{
switch(e.Item.ItemType)
{
case(ListItemType.Item):
case(ListItemType.AlternatingItem):
{
Button btn=(Button)e.Item.Cells[9].Controls[0];
btn.Attributes.Add("OnClick","return window.confirm('你确认删除?')");
break;
}
}
}

最总产生效果是,当用户点击删除的时候会先提示“你确认删除?”如果用点是则删除,否则不删除

......


详细内容...