Beyond the dream——飛雪飄寒

————磨難不過是人生鍵盤的回車。。。。。。
posts - 70, comments - 198, trackbacks - 24, articles - -1
  博客园 :: 首页 ::  :: 联系 :: 订阅 订阅 :: 管理

2006年11月5日

     摘要: 主要内容:一、SqlServer存储过程简单实例;二、C#中使用带返回值的SqlServer存储过程;三、SqlServer存储过程的事务处理;四、.Net中使用事务处理.  阅读全文

posted @ 2008-09-04 22:42 飛雪飄寒 阅读(114) | 评论 (0)编辑

     摘要: 最近在项目中需要使用javascript调用webservice,从中遇到了几个问题,如果哪位高手知道的话,麻烦帮忙解答一下。 1、在网上找了好久,没找到webbehavior.htc文件的下载地址; 2、如何解决javascript调用webservice的跨域问题;   阅读全文

posted @ 2008-09-02 17:05 飛雪飄寒 阅读(1161) | 评论 (14)编辑

     摘要: 在 SQL Server 安装开始前,Microsoft SQL Server 安装程序中的安装配置检查器 (SCC) 会验证计数器注册表项的值。如果 SCC 无法验证现有的注册表项,或 SCC 无法运行 lodctr.exe 系统程序,则 SCC 检查会失败,致使安装受阻。错误编辑注册表会严重损坏您的系统。更改注册表项之前,建议您备份计算机中的所有重要数据。  阅读全文

posted @ 2008-09-01 10:51 飛雪飄寒 阅读(74) | 评论 (0)编辑

     摘要: 1、日出东海落西山,愁也一天,喜也一天;遇事不钻牛角尖,人也舒坦,心也舒坦2、后悔是一种耗费精神的情绪.后悔是比损失更大的损失 ,比错误更大的错误.所以不要后悔3、我不去想是否能够成功,既然选择了远方,便只顾风雨兼程 ; 我不去想,身后会不会袭来寒风冷雨,既然目标是地平线,留给世界的只能是背影......  阅读全文

posted @ 2008-08-16 10:59 飛雪飄寒 阅读(94) | 评论 (5)编辑

     摘要: 本文对自己认为比较好的.net学习网站进行了整理,并对网站做了简单的介绍,现把其网站地址公布出来,希望对大家的学习有所帮助,也希望大家把自己认为比较好的网站分享出来,再次欢迎大家的补充!  阅读全文

posted @ 2008-08-14 23:01 飛雪飄寒 阅读(469) | 评论 (4)编辑

     摘要: 一、简单介绍using System.Xml;//初始化一个xml实例XmlDocument xml=new XmlDocument();//导入指定xml文件xml.Load(path);xml.Load(HttpContext.Current.Server.MapPath("~/file/bookstore.xml"));//指定一个节点XmlNode root=xml.SelectSingleNode...   阅读全文

posted @ 2008-08-14 17:24 飛雪飄寒 阅读(840) | 评论 (5)编辑

       时间过的真快, 无意中发现今天是自己在博客园安家两周年的日子,于是总想写点东西来标记一下。

       在这两年当中,博客园见证了自己的成长历程。从最初朋友向自己推荐博客园并让自己成为了博客园的过客,那时自己往往只是在园子里浏览别人的文章,寻找自己所需要的信息;之后便有了在园子里安家的打算了,自从在园子里安家后,自己刚开始只是写点自己的生活锁事及心情随笔并且也不希望发表出去让别人看;接下来便慢慢对自己在工作当中觉得的比较实用的资料进行了总结,并发表出去希望能够给需要的人带来一些帮助。

       在这两年当中,发现自己的思想也有了改变,从当初只在园子里“摘菜”,转变为在园子里“种菜”,觉得人不要一味的去获取,有时候也应该想想如何去奉献。自己从园子里的高人中学到了不少知识,在此特别感谢dudu、天轰穿、李天平、鸟食轩等一大堆高人们,正是由于他们的奉献,才让自己能够花尽量少的时间,学到了尽量多的知识,相信博客园里许多朋友都会有同样的感慨吧!

       在接下来的日子里,自己将会再接再励,与博客园的朋友们一起共同进步!期待自己能够与园子里的朋友有更多的交流,相信博客园的明天会更加美好!

posted @ 2008-08-01 13:13 飛雪飄寒 阅读(481) | 评论 (1)编辑

     摘要: 在项目中经常用到DataTable,如果DataTable使用得当,不仅能使程序简洁实用,而且能够提高性能,达到事半功倍的效果,现对DataTable的使用技巧进行一下总结。   阅读全文

posted @ 2008-07-31 22:01 飛雪飄寒 阅读(279) | 评论 (1)编辑

     摘要: 今天在ZDNetChina中文社区看到一篇关于asp.net学习流程的文章,觉得写得挺不错的,于是收藏一下,相信自己每隔一段时间看一遍都会有不同的体会。  阅读全文

posted @ 2008-07-24 21:15 飛雪飄寒 阅读(148) | 评论 (0)编辑

     摘要: 在.net使用DotNetCharting控件生成报表统计图总结 文章中,不少朋友提出“每运行一次DotNetCharting页面,就会生成一个图片,这样图片不是越来越多吗?请问怎样自动删除DotNetCharting生成的图片呢”的问题,于是自己对asp.net删除文件夹里图片的问题进行了处理。  阅读全文

posted @ 2008-07-23 16:34 飛雪飄寒 阅读(380) | 评论 (3)编辑

     摘要: Server.MapPath的用法小结  阅读全文

posted @ 2008-07-23 16:19 飛雪飄寒 阅读(147) | 评论 (2)编辑

     摘要:

在 UML 2 中有二种基本的图范畴:结构图和行为图。每个 UML 图都属于这二个图范畴。结构图的目的是显示建模系统的静态结构。它们包括类,组件和(或)对象图。另一方面,行为图显示系统中的对象的动态行为,包括如对象的方法,协作和活动之类的内容。行为图的实例是活动图,用例图和序列图。

  阅读全文

posted @ 2008-07-21 23:15 飛雪飄寒 阅读(191) | 评论 (0)编辑

     摘要:

最近在做项目时要对数据进行统计分析,所以必须生成一些报表统计图(如柱形图、饼图、曲线图等),网上强烈推荐了使用DotNetCharting控件来实现,于是自己对DotNetCharting控件进行了简单的学习,下面先简单介绍一下DotNetCharting控件及其使用,更为复杂的多维统计图的实现可以参照官方网站的说明!

  阅读全文

posted @ 2008-07-18 11:37 飛雪飄寒 阅读(2301) | 评论 (53)编辑

     摘要: 在系统中经常需要进行时间日期选择(比如查询时间范围内的信息、填写日期等),使用时间日期选择控件不仅能提高效率,而且不会写错格式!现把自己在.net项目中经常使用的一款时间日期选择控件整理出来,希望对大家有所帮助!   阅读全文

posted @ 2008-07-17 17:37 飛雪飄寒 阅读(562) | 评论 (0)编辑

     摘要: 常用正则表达式总结  阅读全文

posted @ 2008-07-11 15:26 飛雪飄寒 阅读(209) | 评论 (1)编辑

     摘要: 本文从八个方面列出了具体的解决方法,如有不当之处望予指正,如有更好的思路,欢迎补充!  阅读全文

posted @ 2008-07-11 10:53 飛雪飄寒 阅读(1665) | 评论 (10)编辑

     摘要: 工作之余好好娱乐一下吧,无限竟技之完美停车,看看你能过几关?  阅读全文

posted @ 2008-07-02 12:57 飛雪飄寒 阅读(271) | 评论 (2)编辑

     摘要: 在做.NET项目时,经常会遇到要导出文件的问题,如将DataGrid中的数据导出到word、excel文件等。下面是自己写的一个.net导出文件操作类,现把代码贴出来,以供参考,如有不当之处望予指正!   阅读全文

posted @ 2008-06-24 16:52 飛雪飄寒 阅读(465) | 评论 (2)编辑

     摘要: 这几天在做项目时要对数据进行统计分析,所以必须生成一些统计图(如柱形图、饼图、曲线图等),于是我首先想到了微软的owc11控件,owc11控件是microsoft office 图表控件(owc10为ofiiceXP的组件、owc11为office2003的组件,组件的路径为C:\Program Files\Common Files\Microsoft Shared\Web Components\11\owc11,帮助文件的路径为C:\Program Files\Common Files\Microsoft Shared\Web Components\11\2052),调用它可以生成三维图、柱状图、饼状图、趋势图和误差图等。
  阅读全文

posted @ 2008-06-19 22:43 飛雪飄寒 阅读(1642) | 评论 (9)编辑

     摘要: 本文主要对.net常用函数的功能及使用技巧进行了总结!  阅读全文

posted @ 2008-06-17 16:37 飛雪飄寒 阅读(351) | 评论 (0)编辑

     摘要: 在做.NET项目时,会经常遇到要导出文件的问题,如将DataGrid中的数据导出到excel、word文件等,经常使用的是Office中的OWC组件,这个组件提供的功能很强大,在一般的项目中都可以满足当前的需要.但是这个功能强大的组件使用起来却不是很方便,不但有版本的问题,而且代码量也相对比较大.现在简单介绍一下利用Respone对象和相关的IO实现导出excel/word等文件的方法。
  阅读全文

posted @ 2008-06-13 16:31 飛雪飄寒 阅读(600) | 评论 (8)编辑

     摘要: 主要介绍了datagrid多层表头及datagrid列动态统计功能的实现,希望能给大家带来帮助!  阅读全文

posted @ 2008-06-12 17:25 飛雪飄寒 阅读(299) | 评论 (0)编辑

     摘要: 60个经典的电脑使用技巧,肯定会给大家带来帮助的!  阅读全文

posted @ 2008-06-05 15:15 飛雪飄寒 阅读(345) | 评论 (3)编辑

        前几天在公司的一个项目中,用到了DataGrid的绑定及分页功能,比如有10页,当不在首页(如第2页)根据条件进行筛选并查不到结果时往往会出现“无效的 CurrentPageIndex 值。它必须大于等于 0 且小于 PageCount。”的错误;之前在DataGrid自带的删除功能,并且实现分页时,每当删除一条记录后要退回到前一页时,也出现了“无效的 CurrentPageIndex 值。它必须大于等于 0 且小于 PageCount。”的错误。

        现本人将此错误的出现情况及解决方法进行了总结(个人方法仅供参与考,不当之处敬请指正),具体如下:    

情况一:
        当在DataGrid自带的删除功能,并且实现分页时,每当删除一条记录后要退回到前一页时
思路:
        当删除数据库中数据并在数据绑定之前,判断是否需要翻页,以纠正CurrentPageIndex的错误。
实现:
        在DataGrid_Delete方法中,添加如下代码:       
        //正常删除数据库中的数据             
        //判断
        if( DataGrid1.Items.Count == 1 && DataGrid1.CurrentPageIndex > 0 )
        {
                DataGrid1.CurrentPageIndex--;
        }
        
        //重新绑定数据
        BindGrid();

情况二:
        可能我们没有使用DataGrid内建的删除方式,可能通过CheckBox使得每次可以删除多条记录。
思路:
        其实思路差不多,只不过要获取一次一共删除多少记录,并保存于一个变量中,然后将DataGrid1.Items.Count和其比较,正如上面的“DataGrid1.Items.Count == 1”,这样就能判断是否需要翻页了。
实现:
        //获取删除记录的总数
        int count = 0;
        foreach( DataGridItem item in DataGrid1.Items )
        {
                if( item.ItemType == ListItemType.Item || item.ItemType  == ListItemType.AlternatingItem )
                {
                        CheckBox ckbox = item.FindControl(“CheckBox1“ ) as CheckBox;
                        if( ckbox != null && ckbox.Checked )
                                ++ count;
                }
        }

        //判断
        if( count == DataGrid1.Items.Count && DataGrid1.CurrentPageIndex > 0 )
        {
                -- DataGrid1.CurrentPageIndex;
        }
 
        //重新绑定数据
        BindGrid();

情况三:
        在我们的一个Page中,可能是根据某一条件进行筛选,然后再显示在DataGrid内。当DataGrid允许分页,也会出现类似的问题。即:当某一个条件筛选出的结果大于1页,并且我们浏览到第2,或更后面的页,然后我们改变筛选的参数,重新获取结果并填充DataGrid,那么该错误提示又将出现!

思路:
        在改变筛选条件,进行筛选之前,我们应该判断CurrentPageIndex是否为第一页,即CurrentPageIndex应该等于0。如果不是则将其设置为0。
实现:
        我们用一个DropDownList来实现筛选,在SelectedIndexChanged事件处理函数中,我们原来是这么写的:
private void lstProject_SelectedIndexChanged(object sender, System.EventArgs e)
{
       ShowData( lstProject.SelectedValue );
}
现在应该改为:
  private void lstProject_SelectedIndexChanged(object sender, System.EventArgs e)
  {
           if( viewAllWorkItem.CurrentPageIndex > 0 )
           {
                    viewAllWorkItem.CurrentPageIndex = 0;
           }

           ShowData( lstProject.SelectedValue );
  }

posted @ 2008-05-30 11:21 飛雪飄寒 阅读(293) | 评论 (0)编辑

现在从对ASP.NET页面的执行顺序开始,体会一下B/S结构的程序的特点,下图是ASP.NET页面的执行顺序说明:

  Page_Init(页面初始化引发的事件)——>Page_Load(加载页面时引发的事件)——>Control   Event(服务器控件引发的事件)——>Page_UnLoad(页面从内存中卸载时引发的事件)

  Page_Init和Page_UnLoad不常用,但是这里还是要说明一下。Page_Init和Page_Load事件区别在于,只有后者才能完全加载控件,绑定数据,虽然你可以在Page_Init中访问控件,但是其viewstate都不会被加载,所以此时控件中只拥有默认值。
  这里说到了viewstate,我们先来做一个大致的了解——其实在ASP.NET中有两个viewstate。一个是控件本身的,用来维护控件自己的一些状态,比如说某个空间有变色的功能,它的viewstate就维护这个功能,这个viewstate是不能被用户访问的。相信自己写过控件的朋友都会有这样的感觉,自己写控件当然也要用自己的一个viewstate来维护这个控件的状态;而另外一个viewstate,是用户使用的,这个viewstate和Session几乎一模一样,必须要先对其进行定义,才能使用。

  每当点击ASP.NET的Web网页上的Button、LinkButton或ImageButton等控件时,表单就会被发送到服务器上。如果某些控件的AutoPostBack属性被设置为true,那么当该控件的状态被改变后,也会使表单会发送回服务器。?(AutoPostBack属性,它只有两个bool值,true/false。如果这个属性被设置成false,那么点击后就不会立刻将变化传给服务器处理,也就不会有该控件的SelectedIndexChanged事件。)
  每次当表单被发送回服务器,就会被重新加载,启动Page_Load事件,执行Page_Load事件处理程序中的所有代码(注意,是每次都会执行!)。
很显然把网页的初始化代码放在这里是最合适不过。我们经常会希望在每次加载网页时执行一些代码,如一些控件的数据绑定。
 当我们希望只有在网页第一次加载时执行另一些代码(基本上都是数据的默认绑定),甚至希望一些代码在除首次加载外的每次加载时执行。那么我们可以利用IsPostBack特性来完成这一功能。在网页第一次加载时,该属性的值是false。如果网页因回送而被重新加载,IsPostBack属性的值就会被设置为true。

在ASP.NET应用程序中,如果需要在页面第一次显示时执行一些初始化操作,必须判断IsPostBack属性!

  在ASP.NET使用Page.IsPostback,那么就可以避免往返行程上的额外工作:如果处理服务器控件回发,通常需要在第一次请求页时执行代码,该代码不同于激发事件时用于往返行程的代码。如果检查?Page.IsPostBack?属性,则代码可按条件执行,具体取决于是否有对页的初始请求或对服务器控件事件的响应。这样做似乎很明显,但实际上可以忽略此项检查而不更改页的行为。该属性用的好坏,直接关系到你程序运行是否按照你最初的意愿,也关系到整个页面的效率。因为,如果每次都会给控件绑定数据,不管你是第一次访问,还是提交了数据以后,那么这个页面程序的效率可想而知。


一个B/S结构的页面每一次提交,它都会重新从头到尾执行一次。而C/S结构的程序就不会这样,这是和C/S结构的程序最大的区别!? 其实,得不到控件的数据,都是因为这个原因。

posted @ 2008-04-30 21:05 飛雪飄寒 阅读(232) | 评论 (3)编辑

     摘要: 一、 开发前的准备
1、 在装有Windows 2000或者Windows XP Professional的机器上安装.net Framework SDK、Visual Studio.Net、Visual Source Safe 6C。(如果用户操作系统是Windows .Net Server,则无须安装.Net Framework SDK,.Net Server自带的IIS 6已经完全包含了对.Net的支持)这些工具在Visual Studio.Net的安装盘上都可以找到。
2、 一台专门用于存放版本控制中心数据库的服务器。该服务器不需要安装.NET Framework SDK和VS.net,但是必须安装VSS 6C。我们称这台服务器为开发服务器DataCenter。
3、 一个主域控制器,将DataCenter服务器加入这个域,为每一个开发用户分配域帐号。这样所有小组成员可以通过登录到Window NT域来访问版本控制信息。
注意:Visual Studio 6所带的Visual Source Safe 6不支持.Net的一些文件格式。如果你安装了V  阅读全文

posted @ 2008-04-28 22:15 飛雪飄寒 阅读(244) | 评论 (0)编辑

  private void Page_Load(object sender, System.EventArgs e)
  {    
        
    //定制菜单 
    Button BtnAll=new Button ();
    BtnAll.CommandArgument ="所有栏目";
    BtnAll.Text ="所有栏目";
    BtnAll.Command +=new CommandEventHandler(this.OnButton);
    PHMenu.Controls.Add(BtnAll);       
    for (int i=0;i<dtItemName.Rows.Count;i++)
    {
     Button Btn=new Button ();
     Btn.CommandArgument =dtItemName.Rows[i]["ItemName"].ToString();
     Btn.Text =dtItemName.Rows[i]["ItemName"].ToString();
     Btn.Command +=new CommandEventHandler(this.OnButton);
     PHMenu.Controls.Add(Btn);     
    } 
 }
  public void OnButton(Object Sender, CommandEventArgs e)
  {
   this.InitItems(e.CommandArgument.ToString());   
  }

posted @ 2008-04-28 13:07 飛雪飄寒 阅读(182) | 评论 (0)编辑

      虽然看过很多遍,但隔上一段时间,重新拾起,又会有新的感悟。 

      放弃———把握的反面就是放弃,选择了一个机会,就等于放弃了其他所有的可能。

      失恋———爱情如果只是一个过程,那么正是这个年龄应当经历的。

      漂泊———漂泊不是一种不幸,而是一种资格。趁着没有家室拖累,趁着身体健康,此时不漂何时漂?

      时尚———不要追赶时尚。独立思考和个性生活更重要。

      评价———我们最不应该做出的牺牲就是因为别人的评价而改变自我,不要只遵从规矩做事,规矩还在创造之中,要根据自己的判断做每一件事,虽然这样会麻烦一点。

      幼稚———不要怕人说幼稚,这正说明你还年轻,充满活力。“成熟”是个吓人的词儿,也是个害人的词儿。那些庸人,绝不会有人说他们幼稚。

      失败———一个人起码要在感情上失恋一次,在事业上失败一次,在选择上失误一次,才能长大。失败来得越早越好,要是三四十岁后再经历失败,有些事很可能就来不及了。

      浅薄———其实那只能说明你的神经依旧非常敏锐,对哪怕非常微弱的刺激都会迅速做出反应。等你的感觉迟钝了,人们就会说你深沉了。

      失意———过分在乎失意的感受,不是拿命运的捉弄来捉弄自己,就是拿别人的错误来惩罚自己。

      薪水———在30岁之前,机会远比金钱重要,事业远比金钱重要,将来远比金钱重要。30岁之前干事业的首要目标绝不是挣钱,而是挣未来。

posted @ 2008-03-18 13:01 飛雪飄寒 阅读(258) | 评论 (1)编辑

     摘要: 本节主要总结了关于jsp乱码问题的解决方法  阅读全文

posted @ 2008-03-11 15:23 飛雪飄寒 阅读(801) | 评论 (0)编辑

     摘要: 本节主要总结了jsp连接各种类型数据库的表达方式  阅读全文

posted @ 2008-03-11 15:14 飛雪飄寒 阅读(699) | 评论 (0)编辑

     摘要: 本文主要总结了Tomcat部署发布JSP应用程序的三种方法
  阅读全文

posted @ 2008-03-11 15:08 飛雪飄寒 阅读(1056) | 评论 (0)编辑

     摘要: 本文主要总结了Tomcat部署发布JSP应用程序的三种方法
  阅读全文

posted @ 2008-03-11 13:39 飛雪飄寒 阅读(934) | 评论 (1)编辑

性能问题应该从系统设计时期开始考虑,并延续到系统的生命期终止之时。

具有可伸缩性的系统是指当系统的负载增加一倍,系统需要的资源也同样增加一倍。说起来简单,但在现实环境中确难以做到。由于管理并发用户的开销的增长、锁事务的增长、一致性读负载的增加、操作系统负载的增加、低效的SQL或索引设计导致的过高的I/O等等因素,会导致系统资源的消耗的增长远大于一倍。

破坏可伸缩性的因素:

1.低效的应用程序设计、实施和配置

2.硬件部分的规模不合适

3.软件部分的限制

4.硬件部分的限制  

系统的结构可分为硬件和软件两部分:

硬件部分包括:CPU、内存、I/O子系统和网络模块。

软件部分包括:管理用户接口、实现商业逻辑、管理用户请求和资源分配、管理数据和事务。  

在设计系统时,应该考虑以下几个问题:

系统将支持多少用户?

用户的交互方式是什么?

用户所处的位置?

网络的速度怎样?

用户将访问多少数据?有多少数据是只读访问?

用户对响应时间的要求?

用户是否需要24小时服务?

是否所有的修改需要实时完成?  

应用程序设计原则:

设计简单性原则:

1.如果表的设计复杂到没有人能够完全的理解,那么表的设计可能是比较差的。

2.如果SQL语句过长以致于优化程序无法优化该语句,那么SQL语句的设计、事务和表的设计一定存在问题。

3.如果表的相同列上被重复索引,那么索引的设计可能是有问题的。

4.如果提交的查询没有限定,以致无法迅速的将结果返回给在线用户,那么用户接口或事务的设计是有问题的。

5.如果数据库的调用被许多层软件从应用逻辑中抽象出来,那么,软件开发的方法可能存在问题。

数据建模:应当注意,不要在非核心数据单元上花费过多的时间。

表和索引的设计:选择合适的列进行索引、选择索引类型、注意索引的代价、关注索引中列的顺序。

一个表上如果有3个索引,那么当进行INSERT/UPDATE/DELETE操作时,会比不带索引的表慢大约10倍。

组合索引中,选择性高的列在前查询时需要的I/O更少。选择性低的列在前,有助于代排序操作的查询。

SQL执行效率:

数据库连接管理:应避免没有必要的过多连接。

数据库游标管理:使用cursor和绑定变量,尽量避免硬分析,较少软分析。

硬分析:sql语句第一次提交,并在共享池中无法找到。

软分析:sql语句第一次提交,但是可以在共享池中找到相同的语句。  

实施新的应用程序:

切换方式包括两种:Big Bang Approach(所有用户一次性转移到新的系统上)和Trickle Approach(用户分多次转移到新的系统上)。

性能清单列表:

1.设置MAXINSTANCES, MAXDATAFILES,MAXLOGFILES,MAXLOGMEMBERS和 MAXLOGHISTORY的值高于预期值。避免系统的增长导致必须重建控制文件。

2.设置BLOCK SIZE和优化模式与开发环境中相同。如果测试环境中的所有SQL语句的执行计划都是正确的,可以测试环境中的统计信息导入到正式库中。

3.尽量少修改初始化参数。除了SGA的组成部分和归档目录的设置,其他初始化参数尽量保持默认值,可以为以后性能优化留下一定的余地。

4.通过设置数据库对象的存储参数来管理BLOCK的争用。

5.所有的sql语句应该被优化。

6.验证中间层软件和程序采用高效的方式连接数据库。

7.验证sql语句有效的利用游标。

8.确认所有方案的对象从开发环境移植到了产品数据库中。

9.一旦完成系统的切换,建立数据库和操作系统统计信息的基线。

10.发现最先出现的瓶颈。

posted @ 2008-02-29 13:04 飛雪飄寒 阅读(2572) | 评论 (4)编辑

    1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。

    2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:
       select id from t where num is null
       可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:
       select id from t where num=0

    3.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。

    4.应尽量避免在 where 子句中使用 or 来连接条件,否则将导致引擎放弃使用索引而进行全表扫描,如:
       select id from t where num=10 or num=20
       可以这样查询:
       select id from t where num=10
       union all
       select id from t where num=20

    5.in 和 not in 也要慎用,否则会导致全表扫描,如:
       select id from t where num in(1,2,3)
       对于连续的数值,能用 between 就不要用 in 了:
       select id from t where num between 1 and 3

    6.下面的查询也将导致全表扫描:
       select id from t where name like '%abc%'
       若要提高效率,可以考虑全文检索。

    7.如果在 where 子句中使用参数,也会导致全表扫描。因为SQL只有在运行时才会解析局部变量,但优化程序不能将访问计划的选择推迟到运行时;它必须在编译时进行选择。然而,如果在编译时建立访问计划,变量的值还是未知的,因而无法作为索引选择的输入项。如下面语句将进行全表扫描:
       select id from t where num=@num
       可以改为强制查询使用索引:
       select id from t with(index(索引名)) where num=@num

    8.应尽量避免在 where 子句中对字段进行表达式操作,这将导致引擎放弃使用索引而进行全表扫描。如:
       select id from t where num/2=100
       应改为: 
       select id from t where num=100*2

    9.应尽量避免在where子句中对字段进行函数操作,这将导致引擎放弃使用索引而进行全表扫描。如:
       select id from t where substring(name,1,3)='abc'--name以abc开头的id
       select id from t where datediff(day,createdate,'2005-11-30')=0--‘2005-11-30’生成的id
       应改为:
       select id from t where name like 'abc%'
       select id from t where createdate>='2005-11-30' and createdate<'2005-12-1'

    10.不要在 where 子句中的“=”左边进行函数、算术运算或其他表达式运算,否则系统将可能无法正确使用索引。

    11.在使用索引字段作为条件时,如果该索引是复合索引,那么必须使用到该索引中的第一个字段作为条件时才能保证系统使用该索引,否则该索引将不会被使用,并且应尽可能的让字段顺序与索引顺序相一致。

    12.不要写一些没有意义的查询,如需要生成一个空表结构:
       select col1,col2 into #t from t where 1=0
       这类代码不会返回任何结果集,但是会消耗系统资源的,应改成这样:
       create table #t(...)

    13.很多时候用 exists 代替 in 是一个好的选择:
       select num from a where num in(select num from b)
       用下面的语句替换:
       select num from a where exists(select 1 from b where num=a.num)

    14.并不是所有索引对查询都有效,SQL是根据表中数据来进行查询优化的,当索引列有大量数据重复时,SQL查询可能不会去利用索引,如一表中有字段sex,male、female几乎各一半,那么即使在sex上建了索引也对查询效率起不了作用。

    15.索引并不是越多越好,索引固然可以提高相应的 select 的效率,但同时也降低了 insert 及 update 的效率,因为 insert 或 update 时有可能会重建索引,所以怎样建索引需要慎重考虑,视具体情况而定。一个表的索引数最好不要超过6个,若太多则应考虑一些不常使用到的列上建的索引是否有必要。

    16.应尽可能的避免更新 clustered 索引数据列,因为 clustered 索引数据列的顺序就是表记录的物理存储顺序,一旦该列值改变将导致整个表记录的顺序的调整,会耗费相当大的资源。若应用系统需要频繁更新 clustered 索引数据列,那么需要考虑是否应将该索引建为 clustered 索引。

    17.尽量使用数字型字段,若只含数值信息的字段尽量不要设计为字符型,这会降低查询和连接的性能,并会增加存储开销。这是因为引擎在处理查询和连接时会逐个比较字符串中每一个字符,而对于数字型而言只需要比较一次就够了。

    18.尽可能的使用 varchar/nvarchar 代替 char/nchar ,因为首先变长字段存储空间小,可以节省存储空间,其次对于查询来说,在一个相对较小的字段内搜索效率显然要高些。

    19.任何地方都不要使用 select * from t ,用具体的字段列表代替“*”,不要返回用不到的任何字段。

    20.尽量使用表变量来代替临时表。如果表变量包含大量数据,请注意索引非常有限(只有主键索引)。

    21.避免频繁创建和删除临时表,以减少系统表资源的消耗。

    22.临时表并不是不可使用,适当地使用它们可以使某些例程更有效,例如,当需要重复引用大型表或常用表中的某个数据集时。但是,对于一次性事件,最好使用导出表。

    23.在新建临时表时,如果一次性插入数据量很大,那么可以使用 select into 代替 create table,避免造成大量 log ,以提高速度;如果数据量不大,为了缓和系统表的资源,应先create table,然后insert。

    24.如果使用到了临时表,在存储过程的最后务必将所有的临时表显式删除,先 truncate table ,然后 drop table ,这样可以避免系统表的较长时间锁定。

    25.尽量避免使用游标,因为游标的效率较差,如果游标操作的数据超过1万行,那么就应该考虑改写。

    26.使用基于游标的方法或临时表方法之前,应先寻找基于集的解决方案来解决问题,基于集的方法通常更有效。

    27.与临时表一样,游标并不是不可使用。对小型数据集使用 FAST_FORWARD 游标通常要优于其他逐行处理方法,尤其是在必须引用几个表才能获得所需的数据时。在结果集中包括“合计”的例程通常要比使用游标执行的速度快。如果开发时间允许,基于游标的方法和基于集的方法都可以尝试一下,看哪一种方法的效果更好。

    28.在所有的存储过程和触发器的开始处设置 SET NOCOUNT ON ,在结束时设置 SET NOCOUNT OFF 。无需在执行存储过程和触发器的每个语句后向客户端发送 DONE_IN_PROC 消息。

    29.尽量避免大事务操作,提高系统并发能力。

    30.尽量避免向客户端返回大数据量,若数据量过大,应该考虑相应需求是否合理。

    具体的SQL语句在很多情况下需要结合实际的应用情况来写,这里不作叙述。

posted @ 2008-02-28 12:13 飛雪飄寒 阅读(1882) | 评论 (16)编辑

     俗话说:“人无远虑,必有近忧。”这是古老的谚语,充满了先人的智慧;告诫我们要未雨绸缪,不要老看眼前的事物,而忘却了人之所以积极奋斗的远景期待。
     08年对于我来说奋斗目标是什么呢?这个问题我想了很久,现总结如下:
     1、深入学习软件开发知识,全面提升自身综合能力,积极主动完成工作任务;
     2、顺利通过软件水平考试;
     3、提高外语水平;
     4、由于各方面的原因,自己不可能放弃工作而去读研,所以希望能够顺利考上中大在职研究生;
     5、寻找到一份真正属于自己的爱情。
     在接下来的日子,一定要自强不息,努力奋斗,顺利完成计划和实现目标!

posted @ 2008-02-24 14:48 飛雪飄寒 阅读(100) | 评论 (1)编辑

        不知不觉居然有一个月没写东西了,在这一个月里自己除了上班,什么事也没做,一直处于颓废状态中。

        过年之前给自己找了个理由(反正快过年了,好好放松一下吧),于是每天下班回来不是玩游戏就是看碟;

        好不容易等到放假回家过年了,好好休息一下更是理所当然;

        返回广州准备上班,发现自己住的地方居然没电,由于充电的同志还没上班,自己不得不在黑暗中度过了好几天;

        开始上班并重见光明之后又有了新的借口(年还没过完呢,再玩几天吧),这一玩下来就玩到现在;

        现在新年也过完了,自己终于找不出什么借口去颓废了,即使要找,也应该找借口去学习了;

        最后希望自己能在接下来的日子里,努力学习,顺利完成全年计划和目标!

posted @ 2008-02-24 12:27 飛雪飄寒 阅读(43) | 评论 (0)编辑

     摘要: javascript小技巧&&JavaScript[对象.属性]集锦,建议你 ctrl+F 直接在这个页上找,因为这里80%有你要找的!javascript小技巧 事件源对象 event.srcElement.tagName event.srcElement.type 捕获释放 event.srcElement.setCapture(); event.srcElement.rele... 阅读全文

posted @ 2008-01-24 10:33 飛雪飄寒 阅读(469) | 评论 (4)编辑

     摘要: 现在Internet正在不断地发展着,在互联网应用刚开始的时候,我们浏览的网页只是静态的,不可交互的。而现在随着技术的日益发展,将提供给网页浏览者一个可编程的Web 站点。这些站点将在组织、应用、服务、驱动上更加紧密的结合在一起,这些站点将通过一些应用软件直接连接到另一个Web 站点,这些可编程的Web 站点相比传统的web站点来说,将变得更加能重复使用,也更加智能化!.net平台给我们提供了一种... 阅读全文

posted @ 2008-01-23 15:51 飛雪飄寒 阅读(245) | 评论 (0)编辑

     摘要: ASP.NET中一般都是使用SQL Server作为后台数据库。一般的ASP.NET数据库操作示例程序都是使用单独的数据访问,就是说每个页面都写连接到数据库,存取数据,关闭数据库的代码。这种方式带来了一些弊端,一个就是如果你的数据库改变了,你必须一个页面一个页面的去更改数据库连接代码。第二个弊端就是代码冗余,很多代码都是重复的,不必要的。因此,我试图通过一种一致的数据库操作类来实现ASP.NET种... 阅读全文

posted @ 2008-01-22 10:32 飛雪飄寒 阅读(542) | 评论 (2)编辑

     摘要: 通用语言运行时(CLR)具有的一个很大的优势,异常处理是跨语言被标准化的。一个在C#中所引发的异常可以在Visual Basic客户中得到处理。不再有 HRESULTs或者 ISupportErrorInfo 接口。尽管跨语言异常处理的覆盖面很广,你稍为改变编译器的溢出处理行为,接着有趣的事情就开始了:你处理了该异常。要增加更多的手段,随后引发你所创建的异常。1.1校验(checked)和非校验(... 阅读全文

posted @ 2008-01-17 10:32 飛雪飄寒 阅读(347) | 评论 (0)编辑

        时间过得真快,转眼间搬出宿舍都快两个月了,自己终于慢慢习惯了一个人的生活。一个人住在外面当然没有宿舍里那么热闹,每天都往返于公司和自己的老窝之间,过着枯燥无味的生活。即便回到自己的老窝,也就打开电脑听听音乐,看看书或看个碟来打发时间,接着冲个凉,听着收音机睡觉去了。到了周末根本没有呆在老窝呆的打算,自己往往在朋友那里打发时间,到了晚上再回到老窝睡个觉。
       由于当初急着搬出宿舍,所以随便找了个房住下,终于在住了一个月后发现开销太大,自己又不得不开始重新找过房了,每天下了班之后都在外面看房,功夫不负有心人,终于找到了一个还算便宜且实惠的房。虽然上班坐车不是很方便,但想想为了省点钱也就不在意了。上个周末自己又搬家了,搬进了这个相对便宜的小屋。每次搬家真的很累,要不是朋友来帮忙自己更得累死。本想搬完家自己早点休息,好好睡一觉,可是没想到一个晚上没睡着,因为这间小屋在高架桥旁边,外面车子的声音太大了,根本无法入睡。第二天一起床,头痛得要死,上午老是打瞌睡,可是上班时间谁敢睡觉呀,自己只能期待中午早点到来,吃完午餐能够尽快睡觉去。之后的几天自己还是没办法适应外面的噪音,于是每天睡觉都戴上耳机边听音乐边睡觉,自己也不知道什么时候睡着的,不过多少还是有点用处。但愿自己能够尽快适应这里的环境吧,真的不想再“飘”下去了!

posted @ 2007-12-22 15:15 飛雪飄寒 阅读(40) | 评论 (0)编辑

       搬出宿舍,有点失落,从此真正告别集体生活。在那住了两年多,真的很舍不得,舍不得在那相处的那帮朋友们,舍不得那的点点滴滴。自己很喜欢在宿舍的那种感觉,每天下班回来,大家有说有笑、到处窜门、一起看碟、一起玩实况、一起玩三国,每天都生活在欢声笑语中,感觉每天都过得很开心。天下没有不散的筵席,自己必须去经历所有的一切,但愿自己能很快适应新的生活。

posted @ 2007-11-17 15:09 飛雪飄寒 阅读(30) | 评论 (0)编辑

对于七十年代末和八十年代初的人来说,碰到了许多可笑而又无奈的事.我们究竟是怎样的一代人呢?

   当我们读小学的时候,读大学不要钱;那可能是八十年代的事情吧,刚刚恢复高考不久,大学是不收学费的.真的是体现为国家社会培养人才的目的.人人以上大学为荣,大学生,真的是天之骄子,丝毫不亚于古代的状元.真的是家有大学生,如有大熊猫一样的宝贵.那时的大学生,国家是统招统分的,都是有一份好的工作在等着.所以我们小时候的书中,就崇拜着大学生,也以上大学为努力的目标.

    当我们读大学的时候,读小学不要钱;我们上大学了,一切全变了.大学生,只是一个名称了.大学的费用高涨,很多人因此成为贫困生,或是上不起学.随着高校的扩招,大学生的堕落行为也多起来,于是人人提起大学生就开始皱眉头.而小学则不同,因为社会经济发展了,国力增强了.在义务教育阶段,是免费的了.虽然我们上学时,小学要交五元的学费,但是现在是全免了.甚至于杂费都不要交了.真的是体现了社会主义优越性.

   我们还没能工作的时候,工作也是分配的.我们在学习阶段,还不能找工作时,那时的工作是全分配的,不管你是中专还是大学,总是有一份好的工作在等着你.所以你是不用发愁的,因为毕了业就可以就业.因为你花过了钱就可以挣钱.人们真的是有着铁饭碗.不管工资高还是低,人人以上学为荣,读书是改变命运的出路.社会上的岗位也很多,就业的人少.是人在挑工作,而不是工作在挑人.

   我们可以工作的时候,撞得头破血流才勉强找份饿不死人的工作做.我们开始找工作,开始每天奔波于大大小小的人才交流会,网上求职,直接寄简历,或是自荐.手段和方法用了很多,仍然是很难找到工作.找到了,也并不合适,只能勉强的为了谋生不得已而为之.社会变了,人太多了,找工作的人更多,不仅是毕业生,还有社会上的人,岗位太少了.要求的条件也太高了.要学历,要户口,要经验,要能力.

   当我们不能挣钱的时候,房子是分配的.房子的分配制度,在我国实行了不是一天两天,只要你有一份工作,就会有人给你分房.所以我们可能特别的羡慕父母们,只要有个单位,无论大小,总会是分到房子.还有一些与房子有关的问题.人们那时不懂什么是房子问题,更没有暴涨的房价.房子也真的是便宜,只要是努力,用不了几年,就可以拥有的.衣食住行,对于人们来说,根本不成大问题.

   当我们能挣钱的时候,却发现房子已经买不起了.我们好不容易的毕了业,好不容易的找了一份工作,却发现,也许我们工作一年所存的钱,还不够一平米的房子.有时不禁感叹,还是女孩子好,房子问题少一些.忙碌了一生,也许还是没有自己的房子.所以人们的心态变了,无法平衡了,为了钱,为了房子,车子,各种手段用上了.法不法的,人不人的,只为了满足最基本的人的需要.    

    当我们没有进入股市的时候,傻瓜都在赚钱.当我们兴冲冲地闯进去的时候,才发现自己成了傻瓜.为了理财,为了投资,为了让我们的生活过得更好些.我们开始学着走进股市,可是进去了才发现,原来自己根本不懂股市的奥妙.我们是怎样的一代人呢?这一切是我们的原因,还是社会的影响,我们个人可以左右,还是我们要适应?一代人有一代人的生活,也许我们就是这样的一代人,有一点特殊,有一点无奈,需要一点勇气,需要一份坚强.

posted @ 2007-06-28 21:51 飛雪飄寒 阅读(132) | 评论 (1)编辑

   快一个月没写东西了,转眼间2007年过了一大半,而自己却过得很颓废.说好了过完年回来换工作的,而自己去找了一段时间,面试了几家公司后没在继续下去,即便公司打电话叫我去面试,我也无动于衷;其次最大的愿望就是这次能把软考过了,但自己去一字未看,没有进行任何考前复习,虽然这次考的不难,但就连我自己也不知道有几成把握能够PASS;当然,要做的事情还有很多......
   有人会问你这半年时间都干嘛去了?过完年回来后我也不知道自己怎么了(自己都认为自己和中邪没两样),可能是受同事的影响吧,很快就加入到股民的行列中去了,一心只想在牛市中小赚一笔,所以除了上班几乎所有的时间都满腔热情地泡在股市里了,可结局又如何呢?一个字,惨,惨,惨!!!从炒股至今,自从经历了530事件和前几天的大跌后,自己不但没赚一分钱,反倒赔了几千.
   现在回想起来,自己不惨才怪呢.工作没去找,软考没准备,专业没搭理,钱没赚到反倒赔了几千,还有......
        看来,现在是该给点时间给自己面壁思过,好好反醒了.

posted @ 2007-06-24 21:45 飛雪飄寒 阅读(42) | 评论 (1)编辑

     "无民":过年回广州之前,自己从未想过投资,称自己为"无民"也不为过;           
     "基民":回广州后,在同事的影响下,3月26号购买了第一支基金,于是便升级为了"基民";  
     "股民":4月30号终于下定决心,购买了第一支股票,自己也再次升级为"股民".
     "无民"时期的生活很有规律,除了上班,有很多时间来学习专业知识,进一步来提高自己,也有时间来锻炼身体,觉得过得很舒心.
     "基民"时期的生活打破了常规,开始无心向学,无心工作,每天只关注基金,特别是购买基金前,会花很多时间去研究出几支自己认为比较好的基金.
     "股民"时期的生活好像又开始变得有规律了,不过这个规律有点反常,自己保证开市之前会坐在电脑前,而且每晚睡觉前都要做炒股必修课,关注近期股票热点,关注机构推荐股票.可能是炒股用脑过度的原因吧,自从炒股后自己每晚都睡得很香,总是一觉到天亮,好像这是以前很少有的.但最大的弊端还是无心向学,虽然又报了软考,但事实上一字未看,我都在怀疑自己是不是中邪了.尽管每天都会看一大堆资料,但都是金融方面的.
     在这个牛市中,我不知道选择把主要精力用在炒股和炒基金上是对是错,或许选择投资会给自己带来一定的收益;或许选择投资会让自己在专业方面比别人落后很多;或许选择投资会让自己人财两空并且耗费不少精力;或许......    

posted @ 2007-05-20 13:44 飛雪飄寒 阅读(34) | 评论 (0)编辑

            又是一个五一长假,这次和深圳同学约好了,去深圳呆几天。其目的有二,一是同学毕业后将近两年没有见面,大家都想见见面,聊聊各自的情况;二是为了先打探一下深圳的工作(由于合同即将到期,想去深圳找份工作)。
           于是5月2号乘车去深圳,汽车本应在深圳福田汽车站停的,谁知道这车还没到汽车站就把车上所有的人叫下车,唉,难道在广州市客运站买的票会是黑票不成,幸好同学过来接我,否则就惨了。
           当天晚上,几个很要好的同学约好了一起吃饭,我也很急切地想见见大学里玩的最要好的几个同学。没过多久,同学一个个都赶过来了,胖子变胖了,小艳会打扮了,变得更靓了,阿才和老五好像比以前更瘦了些。吃饭的时候大家都聊了这将近两年时间各自的情况,从他们的言语中,可以想像出他们刚来深圳时是多么的辛苦,多么的不容易。由于找不到工作,有的同学做过仓管;有的同学做过所谓的“储备干部”;有的同学在工厂里找事做过等等;而且他们做的工作都是与我们的专业无关的,这时我很庆幸自己在学校就已经找好了工作。不过,这所有的一切已成为了过去,现在大家熬出来了,都找到了一份满意的工作,而且都是与我们所学的专业相关。我和他们相比,受过的挫折和磨练实在太少了,一直以为自己也挺不容易的,但现在看来,只能说自己实在是太幸福了,真是“生在福中不知福”。
            接下来的几天里,深圳的关内关外都被我转了一圈,去每个同学的住处看了看,关内的房间巴掌大(放了张床和一张桌子后就几乎没空间了),一个月的房租竟要450元,还不算水电费;关外或许便宜些吧,但一个单间带厨房巴掌大,也要400元左右,而且什么东西都要自己买。看到这种情况,自己本想来深圳找工作的念头好像一下就打消了,好像自己根本就受不了这种苦。
             在深圳从去到回,一共呆了四天,在这四天里多谢同学们的盛情款待,谢谢你们带我去登山;谢谢你们带我去划艇;谢谢你们带我去打保龄球;谢谢你们带我去唱K;谢谢你们......
             最后,真心的祝福在深圳的所有同学们越来越好,工作顺利,事事顺心,事业爱情双丰收。记得找个时间务必来广州一聚,到时我一定会好好款待大家的!

posted @ 2007-05-05 22:16 飛雪飄寒 阅读(41) | 评论 (0)编辑

         最近这段时间,广州市民的基金购买狂潮可味空前高涨,我也在同事的影响下购买了基金,成为了一个名副其实的基民。既然成了基民,每天最关注的当然是自己的基金,无论是上班还是下班,第一件事就是打开电脑查看自己基金的走势,同事之前谈论最多的话题肯定也少不了基金,有的同事甚至打电话回家要求基金投资“支援”。由于近来股市一直很牛,基金的回报当然也跟着上升,而且利润相当可观,自己也难免会有向家请求“支援”的冲动,但是打了几个电话吃了闭门羹后,自己也不再有此想法,即便自己要投,也会留足生活费后把工资投进去。参与了这场基金热后,自己好像整天无心看书学习,无心工作,更别说抽时间去找工作了。但愿自己能够早日从基金中挣脱出来,回到正常平静的生活。眼看自己的合同就快到期了,希望能够尽快找到一份称心如意的工作吧!

posted @ 2007-04-17 15:30 飛雪飄寒 阅读(55) | 评论 (2)编辑

1. 扎实的基础。数据结构、离散数学、编译原理,这些是所有计算机科学的基础,如果不掌握他们,很难写出高水平的程序。据我的观察,学计算机专业的人比学其他专业的人更能写出高质量的软件。程序人人都会写,但当你发现写到一定程度很难再提高的时候,就应该想想是不是要回过头来学学这些最基本的理论。不要一开始就去学OOP,即使你再精通OOP,遇到一些基本算法的时候可能也会束手无策。 
  2. 丰富的想象力。不要拘泥于固定的思维方式,遇到问题的时候要多想几种解决问题的方案,试试别人从没想过的方法。丰富的想象力是建立在丰富的知识的基础上,除计算机以外,多涉猎其他的学科,比如天文、物理、数学等等。另外,多看科幻电影也是一个很好的途径。
  3. 最简单的是最好的。这也许是所有科学都遵循的一条准则,如此复杂的质能互换原理在爱因斯坦眼里不过是一个简单得不能再简单的公式:E=mc2。简单的方法更容易被人理解,更容易实现,也更容易维护。遇到问题时要优先考虑最简单的方案,只有简单方案不能满足要求时再考虑复杂的方案。
  4. 不钻牛角尖。当你遇到障碍的时候,不妨暂时远离电脑,看看窗外的风景,听听轻音乐,和朋友聊聊天。当我遇到难题的时候会去玩游戏,而且是那种极暴力的打斗类游戏,当负责游戏的那部分大脑细胞极度亢奋的时候,负责编程的那部分大脑细胞就得到了充分的休息。当重新开始工作的时候,我会发现那些难题现在竟然可以迎刃而解。
  5. 对答案的渴求。人类自然科学的发展史就是一个渴求得到答案的过程,即使只能知道答案的一小部分也值得我们去付出。只要你坚定信念,一定要找到问题的答案,你才会付出精力去探索,即使最后没有得到答案,在过程中你也会学到很多东西。
  6. 多与别人交流。三人行必有我师,也许在一次和别人不经意的谈话中,就可以迸出灵感的火花。多上上网,看看别人对同一问题的看法,会给你很大的启发。
  7. 良好的编程风格。注意养成良好的习惯,代码的缩进编排,变量的命名规则要始终保持一致。大家都知道如何排除代码中错误,却往往忽视了对注释的排错。注释是程序的一个重要组成部分,它可以使你的代码更容易理解,而如果代码已经清楚地表达了你的思想,就不必再加注释了,如果注释和代码不一致,那就更加糟糕。 
  8. 韧性和毅力。这也许是"高手"和一般程序员最大的区别。A good programming is 99 weat and 1ffee。高手们并不是天才,他们是在无数个日日夜夜中磨练出来的。成功能给我们带来无比的喜悦,但过程却是无比的枯燥乏味。你不妨做个测试,找个10000以内的素数表,把它们全都抄下来,然后再检查三遍,如果能够不间断地完成这一工作,你就可以满足这一条。

posted @ 2007-04-12 00:35 飛雪飄寒 阅读(255) | 评论 (0)编辑

posted @ 2007-04-07 19:16 飛雪飄寒 阅读(28) | 评论 (0)编辑

         4月1号是值得纪念的一天,并非因为这天是“愚人节”的缘故。
         早上下完通宵就赶紧回到宿舍,拨通了一家公司的电话,确认下午的面试时间和地点。中午吃完快餐就往花都赶,那地方很远的,而且很偏,足足花了将近三个小时才找到了那家公司的面试地点。
        到面试公司后,前台小组要求查看我的毕业证和学位证,接着又领我进了一个培训室,发了份试卷给我,要求在一个小时内把卷子做完交给她(试卷上主要是软件工程、数据结构以及数据库方面的试题).一个小时过后,我把试卷交给了前台小组。接着她又领我进了一间电脑室,同样又给了我一份上机试题,也是在一个小时内做完两个题目(其中一题是身份验证方面的,另一题是实现希尔排序)。等上机考试结束后,紧接着是主管、项目经理的面试。
        终于面试结束了,天啊,都18:00点了,在这家公司足足呆了三个小时,等我回到广州的时候都已经20:00点多了。
        这天真的很累,这家公司的面试应该是我所经历的最正规最严历的一场面试,开发部主管和项目经理问了我很多问题,并非全是技术上的,他们更注重的是为人处事、协调能力、团队合作精神等。当晚睡得不是很好,应该说没睡几个小时,一直在反思项目经理问我的每一个问题。
        此次面试,可能希望不大,但收益颇多。主要总结如下:
        1.理论知识不扎实,很多概念模糊不清,自己得加深理论知识的学习;
        2.实操能力不强,