Archive

Archive for July, 2009

看看这些生活经验,一辈子受用!

July 13th, 2009 Tony hu 1 comment

说话要用脑子,敏事慎言,话多无益,嘴只是一件扬声器而已,平时一定要注意监督、控制好调频旋钮和音控开关,否则会给自己带来许多麻烦。讲话不要只顾一时痛快、信口开河,以为人家给你笑脸就是欣赏,没完没了的把掏心窝子的话都讲出来,结果让人家彻底摸清了家底。还偷着笑你。

遇事不要急于下结论,即便有了答案也要等等,也许有更好的解决方式,站在不同的角度就有不同答案,要学会换位思维,特别是在遇到麻烦的时候,千万要学会等一等、靠一靠,很多时候不但麻烦化解了,说不准好运也来了。

要学会大事化小、小事化了,把复杂的事情尽量简单处理,千万不要把简单的事复杂化。掌握办事效率是一门学问,要控制好节奏。

对小人一定要忍让,退一步海阔天空,实在不行把属于自己的空间也送给他们,让他们如莺歌燕舞般陶醉吧。俗话说大人大度量,不把俗事放在心里,小人鼠肚鸡肠,惹着小人就等与惹了麻烦,天底下多数小人惹不起。直到现在也没更好的办法战胜小人,不知道敬而远之是否可行。

这世道没有无缘无故的爱,也没有无缘无故的恨,不要参与评论任何人,做到心中有数就可以了。所谓盖棺论定的道理多简单,就是有人操之过急。谁也没有理论依据来介定好人与坏蛋,其实就是利益关系的问题。

只有花掉的那部分钱才是真正属于你的财富,你就是家缠万贯,生时舍不得吃、舍不得穿,俩眼一闭,剩下的钱你知道谁花了才怪,冤不冤。还有那些省吃俭用的贪官,好好的高官不做,结果因贪返贫,一分钱没花着还搭上个人财产全部没收,惨不惨。

做事情一定要事先设立道德底线,小偷也清楚有些东西是绝对不能偷的。所以说事情万万不可做绝,落井下石的事绝对不要干,给别人让出退路就等于自己前进了。

对于那些经常找你麻烦甚至欺负你的人,能忍则忍,没必要时刻与莽夫过不去,但一定要给他攒着,新仇旧怨积累起来,正义和真理就属于你了,那么瞅准机会一定要彻底教训他一次,在法律赋予的权限以内,往死里整,往死里揍,让小子永远记住:除了你爹,没人会惯你这些臭毛病。

有些人习惯了占你小便宜,小人小肚肠,大人大度量,有机会坑他一把大的,出一次大血,同样让他记住:天下根本就没什么免费的午餐,哪有白拣的便宜让你赚。

明枪易躲,暗箭难防,背后算计你的小人永远不会消失,这是中国特色,小人不可得罪,同样小人也不可饶恕,这是万世不变的真理,说到底小人也有心小的一面,对待这种人要稳准狠,你可以装做什么也没发生,天下太平,万事大吉,然后来个明修栈道,暗渡陈仓,以毒攻毒,让小子知道:小人也不是谁都可以做的,做好人要有水准,做小人同样有难度。

对待爱你的人一定要尊重,爱你是有原因的,不要问为什么,接受的同时要用加倍的关爱回报,但是千万不要欺骗人家的感情,哪怕你对人家没兴趣,哪怕人家长得丑一点,这是你用钱买不来的财富。记住:轻视人家付出的情感就等于蔑视自己,玩物丧志,玩人丧德,爱人是一种美德。

背后夸奖你的人,知道了,要珍藏在心里, 这里面很少有水分。当面夸奖你那叫奉承,再难听些叫献媚,你可以一笑而过,就当什么也没发生,也许不久就有求于你。对于那种当众夸奖你的人,就疏忽不得了,也许你转过身去,就用指头戳你。掌握一条原则:逢人多贬自己,少夸别人,选先评优的时候除外。

小恩小惠攒多了就是一个大窟窿,只要接受就一定要找机会回报,行下春风望夏雨,付出就是为了收获,其实就是一个简单的种子与果实的关系。千万别让天真给害了,记住:人生如戏,都在寻找利益的平衡,只有平衡的游戏才有可能玩下去。

患有心理疾病的人是不负法律责任的,可以没有理由的咬你一口,所以对待疯狗级的人物要敬而远之,保持不来往,不交流,退一步,海阔天空,相信疯狂也是一种人格,虽不值得尊重,但自有其存在的道理,生物链少不了这一环。

做一个人生的观光客吧,说到底只要与人为善,以德服人,离是非远点,靠家人近点,便有了心安,有了惬意。

乐观的心态来自宽容,来自大度,来自善解人意,来自与世无争。

坏心情是失眠时折磨出来的,其实现实并没有你想的那样糟糕,生命有高峰也有低谷,根本没有一帆风顺的人生,邓小平怎么样,三起三落,最后还不是凡事他说了算。

所谓的缘分无非只有善恶两种,珍惜善的,也不要绝对排斥恶的,相信擦肩而过也是缘吧,全世界近60亿人口,碰上谁也不容易,所以遇到恶缘,也要试着宽容,给对方一次机会,不可以上来就全盘否定。

不要让事业上的不顺影响家人,更不要让家庭的纠纷影响事业。那样做很不划算,家人和事业都受影响,甚至损失。男人要善于扛事,要把眼泪咽下去。

待人接物要摆正自己的位置,不可以老把自己当人物,老拿自己当领导,老把自己当富翁,老以为自己是情圣,老是自我感觉良好,即便真是小有作为,业绩斐然,也要谨慎,要虚怀若谷,要大智若愚,其实人的最终结局都是一样的,只是你把自己看复杂了。说句俗话:千万别把自己当回事。骗你一次的人绝不会放弃第二次骗你的机会,对骗子不要抱任何幻想。靠贬低别人提高自己的身份,其结果就是暴露自己的无知与贫乏。

Categories: Mylife, Tips Tags:

Visualizing your goal

July 13th, 2009 Tony hu No comments

Post a picture of your goal someplace visible — near your desk or on your refrigerator, for example.

Visualizing your goal, exactly how you think it will be when you’ve achieved it, whether it’s financial goals like traveling to Rome or building a dream house, or physical goals like finishing a marathon or getting a flat stomach, is a great motivator and one of the best ways of actualizing your goals.

Find a magazine photo or a picture online and post it somewhere where you can see it not only daily, but hourly if possible. Put it as your desktop photo, or your home page. Use the power of your visual sense to keep you focused on your goal. Because that focus is what will keep you motivated over the long term — once you lose focus, you lose motivation, so having something to keep bringing your focus back to your goal will help keep that motivation.

Other similar ideas: Make your own motivational poster. Create a dream scrapbook, with clippings of photos or drawings of your own of each of your goals. Or use a bracelet, or other accessory, as a reminder of your goal.

From http://zenhabits.net/2007/02/top-20-motivation-hacks-17/

Categories: Mylife, Tips Tags:

激励系列——立即开始

July 13th, 2009 Tony hu 1 comment
  • 立即开始

总有些时候你不想出门跑步、做预算或做其他当日计划中的任务。好了,别再想它有多难,过程将有多漫长,只要告诉自己该开始行动了。

我有一条原则(非原创),马上穿好跑鞋,关上门,出发!如此,一切就水到渠成。只有当你坐在房间里想着跑步就感到累时它才是难的,一旦行动,永远不像你想的那样难。这一条技巧我屡试不爽。

弥缝添:我还记得希拉里在去年的演讲中说过:“时间太精确,每当你回头望时你就浪费了继续前进。”又还记得乔布斯在斯坦福大学做演讲中说:

当我十七岁时,我读到一则格言:“把每一天都当成生命中的最后一天,你就会轻松自在。”这对我影响深远,在过去33年里,我每天早上都会照镜 子,自问:“如果今天是此生最后一日,我今天要干些什么?”每当我连续太多天都得到一个“没事做”的答案时,我就知道我必须有所改变了。

提醒自己快死了,是我在人生中下重大决定时,所用过最重要的工具。因为几乎每件事-所有外界期望、所有名誉、所有对困窘或失败的恐惧-在面对死亡 时,都消失了,只有最重要的东西才会留下。提醒自己快死了,是我所知避免掉入自己有东西要失去了的陷阱里最好的方法。人生不带来,死不带去,没什么道理不 顺心而为。

人生苦短,人应该要在有限的时间里去抓紧实现自己的目标!保尔·柯察金说:“人的一生应当这样度过:当他回首往事时,不会因虚度年华而悔恨,也不会因碌碌无为而羞耻。这样,临终前他就可以自豪地说:‘我已经把自己整个生命和全部精力都献给了世界上最壮丽的事业——为人类的解放而奋斗。’”那么,你呢?

原文:Top 20 Motivation Hacks – #15 – Zenhabits

译者:Sylvia(GTD翻译小组核心成员)
来自:http://www.mifengtd.cn/articles/top-20-motivation-hacks-15-do-it-now.html

Categories: Mylife, Tips Tags:

使用ADO.net连接SQL Server镜像数据库

July 9th, 2009 Tony hu No comments

可能有朋友们会比较有疑惑,SQL Server 做镜像时有两个数据库服务器,他们的ip地址不一样,到时候数据库切换过去了,我的数据库的连接字符串可如何是好?难道还得在代码中去控制是连接哪个数据库吗?
其实这个问题是这样的,使用ADO.NET或者SQL Native Client能够自动连接到故障转移后的伙伴,连接字符串如下所示:

ConnectionString=”DataSource= A;Failover Partner=B;Initial Catalog=AdventureWorks;Integrated Security=true;”

DataSource= A;这个就是我们常用的主数据库的ip地址,Failover Partner=B;这个填写的就是镜像数据库的ip地址,一旦出现了连接错误,Ado.NET会在超时以后自动去连接镜像数据库。

.Net三层架构

July 8th, 2009 Tony hu No comments

三层体系结构的概念

.Net三层架构用户界面表示层(USL)

业务逻辑层(BLL)

数据访问层(DAL)

各层的作用

1:数据数据访问层:主要是对原始数据(数据库或者文本文件等存放数据的形式)的操作层,而不是指原始数据,也就是说,是对数据的操作,而不是数据库,具体为业务逻辑层或表示层提供数据服务.

2:业务逻辑层:主要是针对具体的问题的操作,也可以理解成对数据层的操作,对数据业务逻辑处理,如果说数据层是积木,那逻辑层就是对这些积木的搭建。

3:表示层:主要表示WEB方式,也可以表示成WINFORM方式,WEB方式也可以表现成:aspx, 如果逻辑层相当强大和完善,无论表现层如何定义和更改,逻辑层都能完善地提供服务。

具体的区分方法

1:数据数据访问层:主要看你的数据层里面有没有包含逻辑处理,实际上他的各个函数主要完成各个对数据文件的操作。而不必管其他操作。

2:业务逻辑层:主要负责对数据层的操作。也就是说把一些数据层的操作进行组合。

3:表示层:主要对用户的请求接受,以及数据的返回,为客户端提供应用程序的访问。

三层结构解释

所谓三层体系结构,是在客户端与数据库之间加入了一个中间层,也叫组件层。这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有B/S应用才是三层体系结构,三层是指逻辑上的三层,即使这三个层放置到一台机器上。 三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。通常情况下,客户端不直接与数据库进行交互,而是通过COM/DCOM通讯与中间层建立连接,再经由中间层与数据库进行交换.

开发人员可以将应用的商业逻辑放在中间层应用服务器上,把应用的业务逻辑与用户界面分开。在保证客户端功能的前提下,为用户提供一个简洁的界面。这意味着如果需要修改应用程序代码,只需要对中间层应用服务器进行修改,而不用修改成千上万的客户端应用程序。从而使开发人员可以专注于应用系统核心业务逻辑的分析、设计和开发,简化了应用系统的开发、更新和升级工作。

那么为什么要应用“中间业务层”呢?举些例子:

我们假设有一段登录代码,则可以这样处理Web程序,外观层负责接收前台页面的数据,然后传给中间层,中间层对数据进行处理,比如格式化,防SQL注入等等一些,这样的数据再传给数据访问层然后与数据库进行操作,比如与数据库的用户名和密码匹配等等一些代码。

“中间业务层”的用途有很多,例如:验证用户输入数据、缓存从数据库中读取的数据等等……但是,“中间业务层”的实际目的是将“数据访问层”的最基础的存储逻辑组合起来,形成一种业务规则。例如:“在一个购物网站中有这样的一个规则:在该网站第一次购物的用户,系统为其自动注册”。这样的业务逻辑放在中间层最合适:

.Net三层架构

在“数据访问层”中,最好不要出现任何“业务逻辑”!也就是说,要保证“数据访问层”的中的函数功能的原子性!即最小性和不可再分。“数据访问层”只管负责存储或读取数据就可以了。

ASP.NET中的三层结构说明

完善的三层结构的要求是:修改表现层而不用修改逻辑层,修改逻辑层而不用修改数据层。否则你的应用是不是多层结构,或者说是层结构的划分和组织上是不是有问题就很难说.不同的应用有不同的理解,这只是一个概念的问题.

理解ASP.NET中的三层结构——为什么要分三层?

我们用三层结构主要是使项目结构更清楚,分工更明确,有利于后期的维护和升级。它未必会提升性能,因为当子程序模块未执行结束时,主程序模块只能处于等待状态。这说明将应用程序划分层次,会带来其执行速度上的一些损失。但从团队开发效率角度上来讲却可以感受到大不相同的效果。

需要说明一下,三层结构不是.NET的专利,也不是专门用在数据库上的技术。它是一种更加普适的架构设计理念。

个人感觉

个人感觉此种架构要在数据库设计上注意表之间的关系,尽力满足主与子的关系。在功能上对用户要有一定的限制,不要表现在对于子表的删除操作一定要慎重,以免造成主表与子表的数据在逻辑上出现的主表的外键在子表中没有相对应的值。

对于表的综合查询方法是:

先对主表查询,调用主表所对应的DL。再根据主表的记录分别对每一个子表进行查询。将自表的查询结果添加的主表后,形成一个大的查询集合。

对于表的操作(增删改):

此时只对主表进行操作,调用主表对应的DL中的操作方法。

RL层是逻辑判断层,主要是对页面上传入的数据进行逻辑判断。RL层之上就是UI

如何建立一个三层体系结构解决方案

新建一个空白解决方案。然后:

“添加”-“新建项目”-“其他项目”-“企业级模版项目”-“C#生成块”-“数据访问”(数据层,下简称D层)

“添加”-“新建项目”-“其他项目”-“企业级模版项目”-“C#生成块”-“业务规则”(业务层,下简称C层)

“添加”-“新建项目”-“其他项目”-“企业级模版项目”-“C#生成块”-“Web用户界面”(界面层,下简称U层)

右键点“解决方案”-“项目依赖项”,设置U依赖于D、C,C依赖于D。

对U添加引用D、C,对C添加引用D。

到此为止,一个三层的架子建立起来了。我上面说的很具体很“傻瓜”,知道的人觉得我废话,其实我这段时间很强烈的感觉到非常多的人其实对这个简单的过程完全不了解。虽然不反对建2个“空项目”和1个“Asp   net   Web应用程序项目”也可以作为3层的框架,而且相当多的人认为其实这些“企业级模板项目”其实就是个空项目,这是一个误区。没错,企业级模板项目你从解决方案资源管理器里看它是个什么也没有的,但是你可以用记事本打开项目文件,看见不同了吧??有些东西在背后,你是看不见的,不过系统已经做好了。也就是说,如果你在C层里的某个类里“using   System   Data   SqlClineit”,或者使用一个SqlConnection对象,编译时候不会出错,但是会在“任务列表”里生成一些“策略警告”,警告你在C层里不要放应该放在D层的东西(虽然就程序来说没错,但是可读性可维护性就打了折扣)而这种功能,空项目是无法給你的。

在新TraceLWord3中,应用了“企业级模板项目”。把原来的LWordTask.cs,并放置到一个单一的项目里,项目名称为:AccessTask。解决方案中又新建了一个名称为:InterService的项目,该项目中包含一个LWordService.cs程序文件,它便是“中间业务层”程序。为了不重复命名,TraceLWord3的网站被放置到了WebUI项目中。更完整的代码,可以在CodePackage/TraceLWord3目录中找到——

.Net三层架构

面象对象与实际的结合

我们知道建桥需要砖块,应该是先准备好砖再来建桥,不过为了讲解上的顺序性和连贯性,简单性。我们先建桥,建的过程中需要砖块再现做,这样就不会多出来“桥不需要的东西”。注意在实际中,还是应该先准备砖块。

U层其实就是桥,C层是砖块,D层是原料(石头、沙子)。这也解释前面为什么U层要引用、依赖D层(而不是U对C,C对D的层次),因为桥除了需要砖头,其实也需要石头沙子。

“三层结构”的缺点

有些网友在读完这篇文章前作之后,对我提出了一些质疑,这提醒我文章至此还没有提及“三层结构”的缺点。“三层结构”这个词眼似乎一直都很热门,究其原因,或许是这种开发模式应用的比较普遍。但是“三层结构”却并不是百试百灵的“万灵药”,它也存在着缺点。下面就来说说它的缺点……

“三层结构”开发模式的一个非常明显的缺点就是其执行速度不够快。当然这个“执行速度”是相对于非分层的应用程序来说的。从文中所给出的时序图来看,也明显的暴露了这一缺点。TraceLWord1和TraceLWord2没有分层,直接调用的ADO.NET所提供的类来获取数据。但是,TraceLWord6确要经过多次调用才能获取到数据。在子程序模块程序没有返回时,主程序模块只能处于等待状态。所以在执行速度上,留言板的版本越高,排名却越靠后。“三层结构”开发模式,不适用于对执行速度要求过于苛刻的系统,例如:在线订票,在线炒股等等……它比较擅长于商业规则容易变化的系统。

“三层结构”开发模式,入门难度够高,难于理解和学习。这是对于初学程序设计的人来说的。以这种模式开发出来的软件,代码量通常要稍稍多一些。这往往会令初学者淹没在茫茫的代码之中。望之生畏,对其产生反感,也是可以理解的……

其实,无论哪一种开发模式或方法,都是有利有弊的。不会存在一种“万用法”可以解决任何问题。所以“三层结构”这个词眼也不会是个例外!是否采用这个模式进行系统开发,要作出比较、权衡之后才可以。切忌滥用!

源文:http://tech.ddvip.com/2009-01/1232337018106332.html

Categories: ASP.net, Web Tags: , , ,