2010年10月 的存档
2010十月29

onerror事件

javascript 评论关闭

onerror 事件会在文档或图像加载过程中发生错误时被触发。

在装载文档或图像的过程中如果发生了错误,就会调用该事件句柄。

支持该事件的 HTML 标签:

<img>, <object>, <style>

支持该事件的 JavaScript 对象:

window, image
如:
<img src="http://www.lvshou28.com/lvshouStatic2/tempframe2/images/header_05.jpg" width="100" height="100"
   onerror="alert('not exists')"/>
可用此比较服务器响应速度,放两个img指向不同服务器不存在图片,那个先报出错误即是最先响应者。
2010十月27

java,.net,php比较

随笔 评论关闭
  1. java,完整,SSH框架提供了整合的解决方案,动态配置类为维护提供了极大的方便,不过,这些占用了一部分系统性能。在大型网站,系统中应用则十分方便,因为功能繁多,要不断的维护、升级。动态的配置相对简单,且对整个系统影响小。
  2. .net,以控件的方式进行开发,这些控件最后要转化为html元素,为提供强大的功能,生成了过多的冗余代码,如viewstate, 性能下降,不过,封装的控件,加快了开发速度。
  3. php灵活的一种。
2010十月27

事件状态查询

设计好的思路 评论关闭

事件的完成中间要经过许多状态,如提交订单,订单审核通过,从北京移仓,抵达广州开始配货,广州发货,收货并确认等,客户在查询时须提供订单的状态,显示时若能以流程图的方式显式出来,告诉客户目前到哪个状态,还有几个状态则效果会很好。 如下:
状态查询

2010十月27

一些工具

css 评论关闭

1,将excel数据自动转成网页形式:http://tableizer.journalistopia.com/

2,网站连接数测试:拟多用户同时访问你的站点,并出具报告以分析你的站点可以支撑的访问者数量。

http://loadimpact.com/index.php

3, Photoshop 插件,可以将你的 PSD 转换成 WordPress 主题。http://www.divine-project.com/

2010十月25

网站与系统

系统:主要用于数据的输入输出。在输出方面做深入的分析,显示,如报表。主要用于内部服务,访问量相对小一些。

网站:主要用于数据的简单显示。,主要用于对外服务,访问量相对大。

系统的作用:深入分析数据,减少人力成本,提高信息传播、共享速度。

  • 超高的计算能力,可快速提供大量数据查找、分析功能。
  • 快速的数据传输能力,如公司政策的传达,信息的发布等。
2010十月25

ASP.NET图形化显示数据

ASP.NET 评论关闭

1,引入System.Web.DataVisualization.dll
工具箱添加
2,配置文件中增加:

<httpHandlers>
<add path=”ChartImg.axd” verb=”GET,HEAD” type=”System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35″
validate=”false” />
</httpHandlers>

3,插入控件到页面使用。
4, 效果图如下:
线型
区域型
参考自:http://www.codeproject.com/KB/web-image/chart1.aspx

2010十月23

问卷调查生成

随笔 评论关闭

调查派

  1. 可自定义单选,多选,填空,备注等信息。
  2. 表单log可定制
  3. 免费的
  4. 最重要的是调查结果分析功能很强大,有图形化。
2010十月21

seo

随笔 评论关闭

1, 网站内容要吸引人,以留住回头客。见http://coolshell.cn/, 内容新颖,更新频繁。

2,在知名论坛发贴,在帖子中引一下自己的网站

3,在知名论坛认真回复,在回复中引入自己的网站。见回复:http://blog.csdn.net/yifengling0/archive/2010/10/18/5949694.aspx

2010十月21

利用Google API做统计图

直接url传参:

饼图:

直方图:
Horizontal bar chart

维恩图:

在线生成:http://code.google.com/apis/chart/docs/chart_wizard.html

2010十月19

文件分割压缩

电脑技巧 评论关闭

Winrar 右键,添加到压缩文件,指定压缩分卷大小:如8000000, 近8M

2010十月19

产生不重复数据的方法

设计好的思路 评论关闭

1,随机产生,插入数据库之前判断数据库内是否存在,当数据量大时判断是否重复速度就比较慢。最好能产生时就保证唯一性。
2,随机产生 再加上主键,因为主键唯一,就保证了数据的唯一性。不过要先insert得到主键再update随机码。

2010十月19

三层架构

设计好的思路 评论关闭

常见的三层架构基本分为如下部分:

* 数据访问层DAL:用于实现与数据库的交互和访问,从数据库获取数据或数据库的部分。
* 业务逻辑层BLL:对上下交互的数据进行逻辑处理。
* 表示层WEB:主要是实现与用户的交互。
* 注:日常开发中,为了复用一些共同的东西,会把这些通过的东西抽象出来,以便在多个层中传递,如实体层Model,工具层Common

2010十月18

设计法则

1,开放 – 封闭法则(OCP)

* 对扩展是开放的,对更新是封闭的。
* 可以添加新的代码来扩展系统的行为,但不能对已有代码进行修改。

2,Liskov替换法则(LSP):子类应当可以替换父类并出现在父类能够出现的任何地方。

3,单一职责原则(SRP):就一个类而言,应该仅有一个引起它变化的原因,即:每个类集中做好一件事,类的职责简单而集中。,在需求变化时,只修改一个地方。

4,依赖倒置原则(DIP):

* 高层模块不应依赖于底层模块,两者都应依赖于抽象。
* 抽象不应依赖于细节,细节应依赖于抽象。
* 针对接口编程,不针对实现编程。

2010十月18

C#随机数产生

C#语法 评论关闭

Random ra = new Random() ;
Console.WriteLine(ra.Next());
Console.WriteLine(ra.Next(10))
生成规则

* 获取电脑启动以来的时间,与一固定值进行连续减法操作(0x9a4ec86 – Math.Abs(Environment.TickCount)),所得结果均匀的存放到一56位数组内
* 每次取时,第一次取SeedArray[0] – SeedArray[21]的值,然后顺移,故第二次取SeedArray[1] – SeedArray[22]的值….
* 因取的启动时间的间隔最小单位是0.5秒,故在这0.5秒内,若连续构造Random,产生随机数,因启动时间相同,故每次的SeedArray[0] – SeedArray[21]的值也会相同。为避免这种情况,应构造一个Random,连续用Next()取值,这样会递邓56位数组中的下一次相减数。

注:因产生数组的方法是固定的,传入同一启动时间,所得数组值也是固定的,故知C#随机数是伪随即数,这也符合计算机程序的特性的确定性,即:即对于相同的输入只能得出相同的输出。

生成一系列数字:0x9a4ec86 – Math.Abs(Environment.TickCount)

2010十月18

算法

好的代码 评论关闭

1. 用最简单的方法判断一个LONG整形的数A是2^n(2的n次方)

* 若一个数是2^n,那么此数的二进制形式应为: 100000…,在所有的数位中,只有一个是1,其它都为0
* 当用此数减1时,就会变成: 01111111….,在所有数位为1,对应数位为0,那么二者相与,就会为0
* 故:当此数与比他小一的数相与若为0,则此数是2的n次方,算法为:判断 i&(i-1) 是否为0,若为0,则此数是2的n次方

2. 扩展:判断一个LONG整形的数是否是2^n – 1

* 设:x为一个2^n -1数, 那么x+1= 2^n = (x+1)&x
* 即:用x&(x+1)若为0,则是2^n – 1数

3.? (A|B|C) & A = A
令:X = A|B|C, 因为进行的是或运算, 那么在A中位数为1的数位上,对应的X数位也为1,这些为1的数位与A进行与操作,结果为1.?????? 在X的其它数位上,因A在这些数位上为0,故X的其它数位与A相与为0,总和二者知:结果为A
扩展:权限设计,每个权限给予一个数字,每个人的权限值即为这些权限的或操作结果,那么判断此人是否拥有A权限,即用此人总的权限值与A进行与操作即可,若结果为A,则说明拥有此权限。

2010十月18

多条件需求程序实现的三种方法

设计好的思路 评论关闭

1,过程化:新增一种需求,相应增加一种方法,对应调用。

* 对过Switch,据传入的参数调用对应的方法,这些方法可能执行相同的流程,但不可固定下来。

2,对象化:新增一种需求,相应增加一种对象,通过多态来完成调用。核心的代码调控模块可以固定下来。

* 对过Switch,据传入的参数产生相应的对象,接着利用多态将流程固定下来。

3,XML配置化:新增一种需求,相应增加一条配置信息及对应的处理对象,核心代码读取需求并调用。(Spring)

* 无须Switch,配置文件中设置需求与类的关系,将需求读入列表中,将一种需求提出时,直接在配置文件中找到对应的类,调用之。
* 并且对象的更新与需要的对应在配置文件中完成,弹性非常好。
* 如:
//读取类信息填充成下拉表,据选择的值建立相应的类对象
* string mediatype = cbbMediaType.SelectedItem.ToString();
//得到类名
* string factoryDllName = ConfigurationSettings.AppSettings[mediaType].ToString();
//构造类对象
* ImediaFactory factory = (ImediaFactory)Activator.CreateInstance(“MediaLibrary”,factoryDllName).Unwrap();
* Imedia media = factory.CreateMedia();
* media.Play();

实现参见Gmail: 面向配置的程序设计

2010十月18

向系统事件查看器中写入日志-EventLog ,可创建,也可删除自定义的事件源

ASP.NET 评论关闭
using System.Diagnostics;

{
static void Main(string[] args)
{
    // Create the source, if it does not already exist.
    if (!EventLog.SourceExists("MySource"))
    {
        //An event log source should not be created and immediately used.
        //There is a latency time to enable the source, it should be created
        //prior to executing the application that uses the source.
        //Execute this sample a second time to use the new source.
        EventLog.CreateEventSource("MySource", "MyNewLog");
        Console.WriteLine("CreatedEventSource");
        Console.WriteLine("Exiting, execute the application a second time to use the source.");
        // The source is created.  Exit the application to allow it to be registered.
        return;
    }

    // Create an EventLog instance and assign its source.
    EventLog myLog = new EventLog();
    myLog.Source = "MySource";

    // Write an informational entry to the event log.
    myLog.WriteEntry("Writing to event log.");

}
2010十月18

WPF

ASP.NET 评论关闭

WPF: Windows Presentation Foundation ,”我佩服”

  • 由XAML代码和程序代码组成。
  • 一套代码Web与桌面应用程序都可作用。
2010十月16

电脑各软件、操作系统等出问题如蓝屏时的调试-Windbg

windows server 评论关闭

出现错误时,会将程序的执行状态转储到dmp文件中,可通过Windbg进行分析

  • 设置符号文件的地址: 在WinDbg 的菜单中: File–> Symbol File Path 中,设置 :SRV*DownstreamStore*http://msdl.microsoft.com/download/symbols
  • 以打开 minidump文件进行分析了 .  File–> Open Crash Dump ,
  • 在WinDbg 下面的命令行运行: !analyze -v 将得到详细的信息
2010十月16

Windows 性能监视器工具-perfmon

windows server 评论关闭

perfmon:
1,开始运行:perfmon ,Ctrl+E:新增计数器集,右键增加计数器
2,计数器 性能对象:

  • ASP.NET State Service查看在线人数:State Server Sessions Active
  • ASP.NET:
  • Application Restarts:重启个数,如重新配置web.config引起重启等
  • Requests Queued:等候处理的要求数量。
  • ASP.NET Applications :Requests/Sec 每秒钟的请求数
  • SQL SERVER General Statistics:User Connections: 查看连接数
  • Physical Disk:Avg.Disk Queue Length
    PhysicalDisk: Current Disk Queue Length
    等待 I/O 请求的数量应该保持在不超过组成物理磁盘的轴数的 1.5 到 2倍。大多数磁盘只有一个轴,但独立磁盘冗余阵列 (RAID) 设备通常有多个轴。
    要提高性能,可增加磁盘。
    PhysicalDisk: % Disk Time 计数器的值大于90%为瓶颈,计数器监视磁盘忙于读/写活动所用时间的百分比

    Process:%Processor Time 如果该参数值持续超过95%,表明瓶颈是CPU。可以考虑增加一个处理器或换一个更快的处理器。