话多的人不靠谱

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/yiwenyu/article/details/92417345

话多的人不靠谱。

孔老夫子就讨厌这种人,他说:“巧言令色,鲜矣仁。”

(花言巧语、表面谄媚的人,很少有真正的仁人。)

因为,说很容易,做很难,比如,你说,我1分钟就精通整套编程技术,全人类都没我厉害,说容易,但是做出来,1分钟,估计没人能做到精通!

而且说不用付出什么代价,而且可以自嗨,做不同,做你要付出艰辛的劳动,比说难太多了。

说的,通常都是闲人,花言巧语、表面谄媚的人,这样的人,多数没节操,人品很差的,就是通常所说的小人。公司很多,你看看那个最闲,那个就是小人。

为什么呢,做技术的人都懂的,能做就能做,不能就不能,耍嘴皮也不代表能把火箭弄成,也不代表你能发明CPU,发明操作系统,只说不做,能创造什么价值呢?

做技术的人都懂,和不懂技术的人,如同对牛弹琴,你对牛整天说,他能懂吗?最终,只会饿死。

从经济学的角度分析,比如,一个软件工程师,一个月收入2万,8小时,双休算,1小时的价值就是113元(大概),

如果你耍嘴皮1小时,也就是你的价值下降了113元,如果每天耍嘴皮8小时,什么都不干的情况下,一个月下来,如果按30天算,损失就有27273元!如果10年如此的,那么就损失27万(不折算物价和房价增长速度),如果物价增长计算大概每年增长10%算,10年损失差不多70W。

展开阅读全文

不靠的treeview节点

10-30

版权声明:可以任意转载,转载时请务必以超链接形式标明如下文章原始出处和作者信息及本声明rnrnrn作者:xixirnrn出处:http://blog.csdn.net/slowgrace/archive/2008/10/30/3185834.aspxrnrn前几天看到篇文章说VC++是垃圾,如果非要用,就用VC。原因大概其说是VC++的某些模板库充满bug且效率低下。当时看了,觉得这是OOP编程的问题。用对象来搭建应用的思想很迷人,可是当代码出错的时候,你整不清是自己的错,还是你用的别人的对象的错的时候,还会觉得OOP好么?rnrn想起来不应该有这样的情况,因为对象都有接口属性方法的嘛,如果测试对象的属性、方法都对的,那就是你的错嘛?可是如果问题反过来呢?如果经测试,对象的属性值不对,这是你的代码导致的、还是对象内部的bug?这时候你就傻眼了吧?rnrn我现在就想小哭一场,因为我刚就遇到这么一桩。rnrn话说,我有两棵几乎一模一样的树,我要在树B上找到((与(树A上选定节点)相对应的节点)的父亲节点)的key,用这么多括号是为了防止您看这句话理解上出现歧义。rnrn一开始我这么写:rnrn'下面这种写法会引起runtime error, 也许是太长的引用把VBA绕晕了 rnrn strParentKey = m_tree.Nodes.Item(objNode.Key).Parent.Keyrn之后我只好拆成两截这么写:rnrnSet objRelatedNode = m_tree.Nodes.Item(objNode.Key) rnstrParentKey = objRelatedNode.Parent.KeyrnF5之后过了。rnrn可过了一阵儿,又出错了。在我的测试用例中,实际上不止2棵几乎一模一样的树,而是5棵,我给它们分别发消息,它们都重复上面的动作,其中4棵能够正常通过,唯有一棵不能通过,显示“对象变量或with块变量未设置”。我跟进去,发现objRelatedNode.Parent为nothing,而实际上我肯定的知道这个node的爹不是nothing。靠。它自己都存在,它的爹是nothing,天下有这种事么?哪儿说理去?再说,这树是我一行一行代码自己生成的,都是先生成爹,再add child的,怎么可能它的爹是nothing呢?rnrn我反复地试了几次,发现出问题的树总是位于属性页上压在下面的那个属性卡上的树。貌似没显示在画面上treeview控件就不能正确的返回某node的parent,我用了node.ensurevisible也不灵。rnrn靠,你现在明白我前面说的“如果经测试,对象的属性值不对,这是你的代码导致的、还是对象内部的bug?”那种心情了吧?这就像你遇到一个很坏的压根儿不爱你的人,他抛弃了你,可因为你很喜欢他,所以你虽然隐隐觉得错的是他,可还是不停地在那儿找自己的错,怎么找也找不着,那个郁闷、那个委屈以及之后那个怨恨!!!rnrn最让人吐血的是,我添了如下代码之后,竟然就过了:rnrn' If objRelatedNode.Parent Is Nothing Then rn' Stop rn' objRelatedNode.EnsureVisible rn' objRelatedNode.Expanded = True rn' End Ifrn你看我在里面写了一句stop,可自打我加了这段代码之后,就再也没有stop过,也就是说人家就再也不说自己个儿没爹了!!!rnrn更吐血的是,之后我把ACCESS整个关掉,重新打开,注释掉上述代码,也不再出任何错了。rnrn气死人了。合着刚才费了半天心思猜原因、耽误了瑜伽又耽误了晚饭,都是白跟那儿废功夫啊,这什么编程工具呀?rnrn教训:以后遇到莫名其妙的错,不妨重启应用程序、甚至重启系统试一哈。rnrn唉。缓缓神,吃点水果准备睡觉去了。我觉得代码都这么写,软件可太不靠谱了,说起来这控件还是MS的呢。如果软件巨商的产品都是这样,这软件工业的整体质量是不是都很难有效地保障了呢?唉。歇歇先rnrn 论坛

中文版技术书是不是不靠?

01-11

最进看了本 看起来很吃力.后来对照英文版 看了看,感觉很多很多翻译没到位.rn比如拿刚看的第四章举例.rn[img=https://img-bbs.csdn.net/upload/201901/11/1547189637_788716.jpg][/img]rnrn分析一:rn标题rn中文版:"对象的组合"rn英文版:"Composing Objects"rn看到"组合"二字,我以为是指多个对象组合,讲多个对象的关系. 也是第一次看见 组合 (动词) ,对象(名词,组合这个动作的宾语) 这两个词搭配在一起.rn看了一下英文版"Composing Objects",虽然 Object用的复数,但是composing 应该翻译成构成,或者组成.而且整个章节也讲的是对象内部的东西,不涉及多个对象.rn与设计模式中的"组合模式"也没关系.rn我认为标题应该是"对象的组成".rnrn分析二:rn第一段最后一句rn中文版:本章将介绍一些组合模式,这些模式能够使一个类更容易成为线程安全的,并且在为何这些类时不会无意中破坏类的安全性保证.rn英文版:. This chapter covers patterns for structuring classes that canrnmake it easier to make them thread‐safe and to maintain them without accidentally undermining their safetyrnguarantees.rn"一些组合模式" - "patterns for structuring classes" rn应该翻译成"一些构造类的模式"rn而且中文版的整个句子直接使用英语的句子顺序,但是翻译又不到位,读起来特别费劲. 对于句序完全没有优化,简直就是一个词一个词翻译.rnrnrn分析三rn第二段,第一句rn中文版:在线程安全的程序中,虽然可以将程序的所有状态都保存在共有的静态域中,rn英文版:While it is possible to write a thread‐safe program that stores all its state in public static fields, rn这句话逻辑错了吧?rn应该是"虽然将所有状态都保存在共有的静态域中的方法, 也可以写出一个线程安全的程序, " 这个"可以" 用错了地方.rn 而且用 "状态"这个词 谁能看的"状态"指代码中的什么东西?rn 论坛

===== System.IO.File.AppendAllText 多线程下有点不靠 啊,====

03-21

以下代码都是asp.net,我能预见到,如果多个客户端并发访问下面这个页面,asp.net从线程池中分配一个空闲的线程去服务这个请求。也就是可能存在多个线程并发访问log.txt文件。rnrn[code=C#]rn protected void Page_Load(object sender, EventArgs e)rn rn string path = Server.MapPath("~/log.txt");rn for (int i = 0; i < 100000; i++)rn rn System.IO.File.AppendAllText(path, i.ToString());rn rn rn[/code]rnrn所以,我想那当然的加上了lockrnrn[code=C#]rnobject locker = new object();rnrn protected void Page_Load(object sender, EventArgs e)rn rn string path = Server.MapPath("~/log.txt");rnrn lock (locker)rn rn for (int i = 0; i < 100000; i++)rn rn System.IO.File.AppendAllText(path, i.ToString());rn rn rn rn[/code]rnrn结果发现,出现文件被其它进程占用的IOException.rnrn这时,我又想,ReaderWriterLock锁应该是解决此类问题的。所以又改成了这样的代码:rnrn[code=C#]rnprotected void Page_Load(object sender, EventArgs e)rn rn string path = Server.MapPath("~/log.txt");rn System.Threading.ReaderWriterLock rwl = new System.Threading.ReaderWriterLock();rnrn rwl.AcquireWriterLock(1000);rnrn for (int i = 0; i < 100000; i++)rn rn System.IO.File.AppendAllText(path, i.ToString());rn rnrn rwl.ReleaseWriterLock();rn rn rn[/code]rnrn结果,涛声依旧。。。我有几点不明白:rnrn1\.net设计准则中说,可以确保所有静态方法是线程安全的,为什么这里却出现这种情况。rnrn2、如果一定要采用这个静态方法,有什么办法可以确保多个线程访问不会出现以上问题。谢谢。 论坛

没有更多推荐了,返回首页