随笔 - 21  文章 - 0  评论 - 43 
  置顶随笔
     摘要:   阅读全文
posted @ 2008-01-31 09:55 asheng 阅读(282) | 评论 (2)编辑
  2008年4月24日
     摘要: 由于需要用,自己查一些资料,写的一个OWC画图表的方法,希望有用/**////<summary>///生成图表///</summary>///<paramname="strSeriesName">图表名称</param>///<paramname="strCategory">类型</param>///<paramname... 阅读全文
posted @ 2008-04-24 19:39 asheng 阅读(228) | 评论 (5)编辑
  2008年3月7日

好员工为什么会变坏
作者:姜汝祥

  美国斯坦福大学心理学家詹巴斗进行过一项试验,他找了两辆一模一样的汽车,把其中的一辆摆在帕罗阿尔托的中产阶级社区,而另一辆停在相对杂乱的布朗克斯街区。停在布朗克斯的那一辆,他把车牌摘掉了,并且把顶棚打开。结果这辆车一天之内就给人偷走了,而放在帕罗阿尔托的那一辆,摆了一个星期也无人问津。后来,詹巴斗用锤子把那辆车的玻璃敲了个大洞。结果呢?仅仅过了几个小时,车就不见了。

  以这项试验为基础,政治学家威尔逊和犯罪学家凯琳提出了一个“破窗理论”。理论认为:如果有人打坏了一个建筑物的窗户玻璃,而这扇窗户又得不到及时的维修,别人就可能受到某些暗示性的纵容去打烂更多的窗户玻璃。久而久之,这些破窗户就给人造成一种无序的感觉。结果在这种公众麻木不仁的氛围中,犯罪就会滋生、蔓延。

  这个故事给的启示是,人的行为很大程度上是由环境决定的。我们的工作环境通常有两类,一类是硬环境,如办公环境,设备环境等。另一类是软环境,如工作氛围,企业文化,语言习惯等。很多公司都很在意硬环境中的“破窗子”,只要一出现问题立即修理,但却不太在意软环境中的“破窗子”:比如同事关系的紧张,比如企业文化中的怪话,比如语言习惯中对客户的不敬等等!

  但是按照破窗理论,任何一个员工的问题都不是简单的问题,任何一个问题都构成了企业环境中的破窗!而任何一个破窗的存在,会导致心态上的雪崩效应!

  这就是业绩的文化定律:业绩背后是团队,团队背后是文化,文化背后是心态!那心态是什么?我想就是企业环境,包括软环境与硬环境的一个反映。

  所谓冰冻三尺,非一日之寒!企业任何一个重大问题的背后,一定是若干问题累积的结果!所以,要想解决问题,就不要着急在某个人身上找原因,而是从问题发生的环境上找原因,特别是企业的软环境——团队文化与心态上找原因。很多问题表面上是某个人的问题,其实背后是企业的制度、文化与员工心态出现了 “破窗”,这种“破窗”在“鼓励着”问题的出现!

  想要好员工吗?那就请投资好员工的环境!

  雄鹰只能生活在天空,职业经理人只能与法治化的组织环境共存,职业化的员工只能够生存在公平公开透明的企业文化之中!

  所以,如果你想要雄鹰,关键不是去弄很多雄鹰进来,关键是要投资雄鹰生存的天空,那便不用担心没有雄鹰。想要职业经理人吗?请投资法治化的组织环境。想要职业化的员工吗?请投资职业化员工生存的制度与流程!

  真正的成长是看不见的,而真正对成长构成威胁的“破窗环境”也是看不见的。任何一家出现业绩问题的企业背后,一定是它的组织制度与文化中早已存在着看不见的“破窗”。出现“破窗”并不可怕,但如何将“破窗”堵上,进而获得好员工、好产品、好客户,就是组织与制度环境的优化过程!

  管人也许不如管环境!

  (作者为锡恩咨询公司创始人)

posted @ 2008-03-07 14:27 asheng 阅读(37) | 评论 (1)编辑
  2008年2月22日
想对数据中的数据进行批量修改。
效果如下:
修改前

修改后

SQL语句如下(SQL Server 2000下测试通过):
UPDATE Items  SET Name = "Title"+right(Name ,len(Name )-4)
WHERE  Name  like "%Name%";

可以把上式总结如下:
UPDATE 表名  SET 字段名= "替换值"+right(字段名,len(字段名)-4)
WHERE  字段名 like "需要替换的值%";

以上主要参考:http://finesite.cnblogs.com/
posted @ 2008-02-22 16:19 asheng 阅读(28) | 评论 (0)编辑
  2008年2月20日

原文地址:http://weblogs.asp.net/caioproiete/archive/2008/02/05/how-to-be-a-better-developer.aspx
转自:http://www.watch-life.net/programming-notes/read-how-to-be-a-better-developer.html

How to be a better developer?(如何成为更好的程序员?)
题注:尽管“如何成为更好的程序员”是很多程序员热衷讨论的话题,不过本文用一些看来比较特别的角度来诠释,角度比较新,不过讨论还不够深入。
This is my follow-up to Rodrigo’s excellent post "How to be a better developer?", where he makes some good points, by the way.
I pretty much agree with him on the topics he pointed out, and without exhausting the subject, I would add the following topics:
Know what your framework has to offer. Use it.
(熟悉框架的功能,使用它)
注:这点我认同,首先要学习和熟悉,才真正谈的上运用。
 
It is common to see experienced developers coming from other languages, recreating classes that already exists in .NET Framework. I can’t remember how many versions of the System.IO.Path class, I’ve seen in the last few years. How many projects you joined that used this "Utils" class with lots of methods that just recreates existing features of several classes from .NET Framework?
Another example would be the .NET Role-Based Security model. It looks like only a few people really know about it, and I can’t get tired of seeing independent role-based models developed from scratch. Learn how this "provider" concept works, and start creating only your customized "providers", instead of creating the whole "services".
Extend the wheel. Do not reinvent it.
(扩展功能(轮子),而不是重复发明)
注:我觉得除非你更好的想法,可以超越它,也不妨来创造。
There are common solutions for common problems. Learn design patterns, know which one is better for each situation, and apply the ones that fit in your project. By using well-known design patterns, you will probably solve the problem in the best way, and will also make it easier to other developers understand what you did.
Write technical articles
撰写技术文章)
注:这样既在技术上有个积累,也提高你的写作,同时和他人分享你的成果。
Yes. By writing technical articles you force yourself to get a deeper knowledge of a subject, and it gets even better when you get feedback from your readers. Start your own blog would be a good way to start, but in any way, publish your articles also in one of the web sites of the CodeZone Community, to get a bigger (and qualified) audience.
Give technical presentations
技术演讲(讲解))

注:对技术是否有提高我不知道了,不过可以锻炼自己的讲解能力和沟通能力。当然要给别人讲解的技术一定事先自己完全精通才可以做到教别人,从这点讲你将更严格的要求自己去摸透技术的方方面面。
Giving technical presentations, is another way to force yourself to get deeper knowledge of a subject. You could do simple internal presentations in your company, or in the user group of your region. Even better, if you like teaching, consider becoming a Microsoft Certified Trainer (MCT), and teach some courses once in a while. You will learn a lot while you prepare yourself for each course, and also from the huge amount of questions raised during the training (sometimes even in the coffee-break :)). Did I mention you can also make a few bucks with it?
Write quality code
编写高质量的代码)
注:这是毋庸置疑了。我想高质量的代码一定要在代码规范,算法等等方面下工夫。
There are several rules and guidelines of what you should do, and how should you do, for each technology. Learn from this guidelines, adopt the ones that makes sense on your project, add your own guidelines, and make sure you and your team keep following this guidelines.
Do not write "temporary code"
不要写临时代码)

注:确实,写临时代码会让你的代码失去价值,每写一段代码的时候,你都想这些代码我是否通用,是否可以用在其他解决方案里(或项目里),写临时的代码让你一遍遍低价值的重复自己,让你的思考失去全面性。
If you know how to solve a problem in the right way, just do it. If you write temporary code instead of implementing the real solution, the chances are that your temporary code will last forever in you application. Remember that, most of the times, doing it the right way takes the same effort as doing it in the dirty way.
Test your code
(测试你的代码)
注:这点也毋庸置疑

It doesn’t matter if you do Test-Driven Development Unit Testing or Plain Old Unit Testing. Create and maintain an updated test suite for you project, make sure you are covering as much code as possible, and make sure your code pass all the tests before going into production. Unit Testing is a fantastic way to make sure your code is doing what it is supposed to do. Be the first to discover a bug in your code. Not your user.
What about you? What would you add to this list? What would you remove?
Why?
————————————————————————————
延伸阅读:如何成为好的程序员
作者: Krest, Liang Zhen
日期: 2005-01-03
How To Become a good Programmer?
首先问你一个问题:
你们在学校都学些什么课程?问这个问题的原因是,我认为学校的计算机科学基础课很重要。如果你所在学校的课程设置 合理,那你应该先把主要精力花在这些基础课上。很多学生看到基础理论就茫然,不知道这些图表,符号,甚至硬件的知识对将来的软件开发有什么用。用处大得很 哪。比如,操作系统课里讲到的多线程的东西在系统编程里很有用。又比如,尽管你将来不会去涉及电脑的硬件,计算机架构里的知识对分析算法的性能(快慢等 等)很有用。可以把计算机语言和开发工具比作文字,而把计算机科学的知识比做思想。只有思想,不会行文,不行;但是,行文流畅,思想空洞,也不行。大学的 阶段正是打好基础,丰富思想的年代。
成为一名好的程序员,不是简单地通过学几门课程就能做到的。我个人认为成为一名好的程序员的要素有:
1。扎实的基础知识;
2。很强的解决问题的能力;
3。熟练的编程调试能力;
4。创新能力;
5。团队合作能力;
6。持续的自学能力;
7。好奇心
这些能力和品质(甚至可以说是习惯)都应该从大学阶段就着手培养,并且从身边的小事开始培养。比如,很多中国的大学毕业生都缺乏编程和调试经验。学习C语 言,考试过关就算学会了。课题项目中,只要程序能够编译,运行,并且输入输出满足要求就了事了。但是,写程序的时候是否想过如何把程序写得更加精炼,高 效,高质量?对程序调试中出现的问题是否刨根问底知道原因,还是不求甚解搪塞过去算数?还有,很多中国的大学毕业生对于知识的掌握肤浅,机械,没有好奇 心,不会刨根问底。比如,学会了C++,有没有看过一个object在编译后,在汇编代码中是如何被初始化的?这个object的各个成员在内存中是如何 放的?在一个成员函数被调用的时候编译器在汇编代码中加入了哪些额外的动作?虚函数的调用是如何实现的? 这些东西恐怕在编程语言或编译原理中都没有详细提到。但是,你是否有过好奇心去知道?最后,一些中国学生的大问题就是死记硬背,没有学到某种算法技术的根 本原理,没有应变和创新的能力。比如,有个问题是如何在不用额外内存的情况下把一棵树的同一层节点都连起来。很多学生都能够回答这是一个广度遍历的问题。 但是,课本上说了广度遍历是一定要有额外数据结构辅助的(队列)。所以,不给额外内存怎么行?请看,课本上说的用队列的方法记住了,但是就是不知道为什么 要用队列。如果深刻掌握了这个队列的作用,那么这个问题是很容易的。
举了这么多例子,我想说明的事,想成为一位好程序员(其实从事任何一个 行业都是如此),重要的是要养成一个钻研,好奇,创新,动手,合作,不满足于填鸭,不满足于考试交差,不满足于表象的一种优秀的习惯。这不是学几门课能够 一蹴而就的。当然,如果你的在校课程不能使你满足,我以及论坛上的朋友可能能够给你推荐一些书或科目。
我觉得要提高编程的能力,有一位良师很重要。这位良师可以是在编程方面比你走在前面的同学,也可以是学校里你帮他做项目的老师,也可以是校外公司里 的老师或老板。很多东西在实际的项目中,有一位良师察看你的程序,帮你指出不足,手把手地指导你调试,会对你很有帮助。所以,当学会了书本上的基本知识以 后,可以努力寻找一些有实用性的项目,借机在项目中找到高手指导。这个项目可以在学校找,也可以到校外找。一开始不要计较报酬,甚至如果能够寻到高手指 点,白干也行。
其次是读好的源代码。多读好的源代码就象多读好的文章,会有利于自己写作。能够读懂别人的代码也是一门硬功夫。将来很多项目中你不会重头做,而是在半途加入(一般文档又不很齐全),因此需要能够很快读懂别人代码和想法的能力。
再次是看一些编程方面的好书。Writing Solid Code是一本很经典的书。最近出的Writing Secure Code也不错。在你熟练掌握C以后,可以学一下C++并熟悉面向对象的程序设计思路。在掌握C++的基础上可以看一下Design Patterns。
看你要把编程学到多么专业。到一定程度,你会发现如果没有学过数据结构,算法原理,编译原理和操作系统,可能在某些方面会遇到一些障碍。所以,如果有精力和条件的话,可以同时了解这些方面的知识。
最后,我要提醒你不要因为编程这一业余爱好而影响了你本专业的课程,除非你决定转行。对很多在校学生来说,本专业的成绩很重要,因为这个成绩可能会影响到将 来找工作,申请研究生院等等。英语也很重要。我读翻译的计算机书总觉得隔了一层,翻得不贴切。能够直接阅读英文资料更好。
Krest
——————————————————————–
本文来源于守望轩 http://www.watch-life.net , 原文地址: http://www.watch-life.net/programming-notes/read-how-to-be-a-better-developer.html

posted @ 2008-02-20 17:55 asheng 阅读(113) | 评论 (0)编辑
  2008年1月31日
     摘要:   阅读全文
posted @ 2008-01-31 09:55 asheng 阅读(282) | 评论 (2)编辑
  2008年1月22日

没事瞎转悠,看到一个很好的数据库辅助工具——SQL Prompt
MS的很多工具都有智能提醒功能了,可SQL Server 却是一直没有。这个工具应该可以提高大家在数据库开发中的效率了~
大家也可以在网上搜索,这个工具很早了,一直在更新,官网:http://www.red-gate.com/products/SQL_Prompt/index.htm 不过只能使用14天,购买需要$195,很贵哦
呵,下了个破解版,试用,还不错哦

特点:

表/视图名称完成
列名称完成
存储过程名称完成
USE 完成
JOIN/JOIN ON 完成
自动把关键字转换成大写 
关键字后自动弹出
SQL Prompt 的支持情况:
    1.Visual Studio 2005
    2.Visual Studio 2003
    3.SQL Server 2000企业管理器
    4.Microsoft Query Analyzer
    5.UltralEdit32
    6.EditPlus
截图:
(1)

(2)

posted @ 2008-01-22 10:47 asheng 阅读(523) | 评论 (5)编辑
  2008年1月17日
     Wednesday, January 16, 2008 2:50 PM (美国时间2008,1.16),ScottGu在其博客上公布了:微软在MS-RL协议下终于公开了.NET Framework源代码。可以自由查看,但不允许直接进行修改。
包括如下 .NET Framework libraries
  • .NET Base Class Libraries (including System, System.CodeDom, System.Collections, System.ComponentModel, System.Diagnostics, System.Drawing, System.Globalization, System.IO, System.Net, System.Reflection, System.Runtime, System.Security, System.Text, System.Threading, etc).
  • ASP.NET (System.Web, System.Web.Extensions)
  • Windows Forms (System.Windows.Forms)
  • Windows Presentation Foundation (System.Windows)
  • ADO.NET and XML (System.Data and System.Xml)

详情请看:http://weblogs.asp.net/scottgu/archive/2008/01/16/net-framework-library-source-code-now-available.aspx
如何配置请看:
http://blogs.msdn.com/sburke/archive/2008/01/16/configuring-visual-studio-to-debug-net-framework-source-code.aspx
配置Visual Studio 以调试.net framework的源代码横刀天笑翻译)
posted @ 2008-01-17 12:07 asheng 阅读(443) | 评论 (2)编辑
  2008年1月13日
大家肯定用过一个非常常见的js与服务器端交互的场景(有时间再把服务器端与客户端脚本交互总结一下,呵)
如下:
     服务器端获取值的是隐藏控件:
<input type="hidden" id="allScore"  value="" runat="server"/>
需要用js为其赋值,然后在服务器端取得。
场景非常简单吧。
然后看我如何用js为其赋值的:
var AllScore = document.getElementById("allScore").value ;
var temp = 123;
AllScore
=temp;                                alert(AllScore);
这样很明显,是可以取得AllScore = 123 的,但是在服务器端,
allScore = ... 就是一直为空,没有取到值。 很是抓狂~
想了半天,不得其解~
只有请教高手。
最后改为
var AllScore = document.getElementById("allScore") ;
 AllScore.value 
= temp;
搞定~
真的很郁闷,不知道如何解释,那个高手也不知道如何解释,只是经验~
有人告诉我吗?
posted @ 2008-01-13 22:53 asheng 阅读(127) | 评论 (3)编辑
  2007年12月20日
其实在IE并没有“书签”这一说法,是在FireFox 中的称呼,IE中称作“收藏夹”。
我们可以利用这种书签实现很多比较实用而好玩的功能。
如:你若觉得不喜欢当前页面的颜色设置,你完全可以自己改变其颜色。
效果如下:

若想还原,刷新一下该页即可

步骤如下(以IE6 为例,其他浏览器同理,有细微区别):
1.添加一个页面到收藏夹中。
2.选择此收藏,右键打开其属性,在URL(U),栏中输入如下JS代码:
javascript:void(document.bgColor='green');
然后点确定,这时系统会弹出如下提示:

选择确定,书签制作ok!
打开百度主页,然后在收藏夹中点击刚自定义的书签,看页面背景颜色是不是变成你自己喜欢的
若你JS技术足够高,可以自己定义很多功能,玩玩或者做类似小型计算器、单位转换、在线词典等。尽情发挥
以下是几个实用的书签。
1.web安全色表
javascript: var i,j,k,l,t='<table width=100%>', c=new Array('00','33','66','99','CC','FF'); for (i=0;i<6;i++){for(j=0;j<6;j++){t+= '<tr>';for (k=0;k<6;k++){l=c[i]+c[j]+c[k];t+='<td bgcolor=#'+l+'>'+l+'</td>'}t+'</tr>'}}void(document.body.innerHTML=t+'</table>');

2.改变当前页面字体颜色
javascript:if(frames.length<1){void(document.fgColor=prompt('Change to which text color?',''))}else{alert('Page has frames.!')}

3.验证当前页面
javascript:void(window.open('http://validator.w3.org/check?uri='+window.location.href,'''width=700,height=800,status=yes,resizable=yes,scrollbars=yes,location=yes'));

另外,推荐一个网站,
www.bookmarklets.com,这里提供各种书签,可以直接从那里获取,若喜欢某个书签可以直接鼠标右键进行收藏。
posted @ 2007-12-20 21:10 asheng 阅读(228) | 评论 (2)编辑
  2007年12月16日
     摘要: 把最近碰到的 能够用的验证码 都放出来,作个记录 1.GSC_WebControlLibrary 这是在网上找到的一个控件,非常好用。但是效果不是特别好(见下图。)虽然容易使用,所有的属性都可以像控件一样设置,但是可用性不太高。用户不能自定义,而且看起来这个验证码效果不太好。效果:2.用一个页面生成图片,另一个页面调用,验证码存入cookie,调用时取cookie对比验证.这个用户就可以按自己的喜... 阅读全文
posted @ 2007-12-16 20:50 asheng 阅读(362) | 评论 (2)编辑
© by Amen