| LingKai's profileRomance Dawn 冒险开始的地方PhotosBlogLists | Help |
|
Romance Dawn 冒险开始的地方June 25 无题快三年以前的事情了。那个时候组里只有我和一个老板,当时我report给他。
老板: "Lingkai, how are you doing?"
我: 啊,我做得怎么样?哎呀昨天我可干了很多活啊,可得好好说一说。。于是5分钟的satus report开始。。。。
每天早晨的status report于是持续了三个月,我心里琢磨着,这老板可真勤快,每天检查进度。直到一天有个新同事过来。
老板:"XXX, how are you doing?"
XXX: "Good, yourself?"
我:哦。。原来how are you doing是这个意思啊。。。。。。
第二天:
我:"Hey, how are you doing?"
老板:"Yesterday morning I had a partner meeting, ........ (5 minutes status report)" May 25 Talking about 婚纱照抢先看(非专业版)
Quote 婚纱照抢先看(非专业版) May 13 挨踢也自强最近时常有这种想法,哪一天我或许会选择离开公司,去“为中华民族的崛起而编程”。
我经常问自己,我到底为了什么而工作?
我要做一个伟大的工程师,我要选择产业报国的路。我不要做一个牛人,但我要做一个可以帮助别人的人,做一个可以传播热情的人。
祖国的崛起,不能只靠说,更要靠实干。
或许每天上班说个小英语,天天开个小会,聊个小天,帮老美编个小程修个小bug做个小工具,偶尔还开开日本小破车,顺便做个小房奴的我,根本没有资格说这些
或许身在职场,做事不应该有太多的民族情结
或许立身于社会,每个人都不得不面对赤裸裸的现实
但活在世上要堂堂正正,潇潇洒洒,我们是中国人,我们不只是为了帮老美赚钱而奋斗,不只是为了爬职业阶梯而奋斗。IT也要自强不息,也要产业报国。 February 29 2月29日某种意义上说,今天是个特殊的日子。凡是今天购买windows home server的用户,都无法安装。只要过了今天,问题自动消除。
原因是安装的时候暂存了一个日期,设计时是为了避开license的问题,所以设在安装日期的两年以前。
2006年是没有2月29日的。
所以今天HP(我们OEM)的电话被打爆了。
January 29 [技术帖]随便写点什么吧 1承认我是比较无聊。。。。
开个头吧
一个被人鄙视的小问题 -- C#中,如何判断字符串是空字符串呢。。。。?
string.IsNullOrEmpty?
string.Compare / string.CompareTo ?
string.Equals / string == "" ?
各有什么区别?
================================================================================
以下是CLR中的实现
public static int CompareTo(string s1, string s2)
{ return System.Globalization.CultureInfo.CurrentCulture.CompareInfo.Compare(s1, s2, System.Globalization.CompareOptions.None); } public static bool IsNullOrEmpty(string value)
{ if (value != null) { return (value.Length == 0); } return true; } [ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)] private static unsafe bool EqualsHelper(string strA, string strB) { int length = strA.Length; if (length != strB.Length) { return false; } fixed (char* str = strA)
{ char* chPtr = str; fixed (char* str2 = strB) { char* chPtr2 = str2; char* chPtr3 = chPtr; char* chPtr4 = chPtr2; while (length >= 10) { if ((((*(((int*)chPtr3)) != *(((int*)chPtr4))) || (*(((int*)(chPtr3 + 2))) != *(((int*)(chPtr4 + 2))))) || ((*(((int*)(chPtr3 + 4))) != *(((int*)(chPtr4 + 4)))) || (*(((int*)(chPtr3 + 6))) != *(((int*)(chPtr4 + 6)))))) || (*(((int*)(chPtr3 + 8))) != *(((int*)(chPtr4 + 8))))) { break; } chPtr3 += 10; chPtr4 += 10; length -= 10; } while (length > 0) { if (*(((int*)chPtr3)) != *(((int*)chPtr4))) { break; } chPtr3 += 2; chPtr4 += 2; length -= 2; } return (length <= 0); } } } ====================================================================
IsNullOrEmpty是最直接的
==相当于调用重载了的Equals, 对于string来说是Equals(string)。从上面reflection出来的片断可以理解成以10字节为一大步,2字节为一小步的比较。(为什么这个组合performance最好?)
最本质的区别在于,CompareTo是culture sensitive的。它会根据当前的culture info,对字符串中的字符取权值,然后计算比较。(非顺序比较) December 26 Issue Owner V.S. Code Writer曾经我的一个老师告诉我,try not to be an issue owner but a code writer。当时刚工作也没什么想法,觉得是自然而然就好了,每天开开心心的写code, 做技术的没有这种烦恼。但实际上我现在有点明白这句话的意思了。随着经验的积累,有些领域的新鲜感已经消失,更多的时间变成开始处理issue,也就不知不觉地必须面对如此的抉择。
对于自身发展来说,去drive和own issue有点小作用,但是做得太多太重复并没有好处。但是对于career, issue干掉得越多,一般来说performance就越好,往leadership发展的可能性就越大。光写code不own issue可能没有promotion, 而光own issue不写code,过了若干年可能再也无法和刚毕业的学生们一起比了。之所以说程序员是青春饭,并不是因为技术更新太快,而是有经验的人都要去处理事情了,自然catch up技术的机会就少了。。。。也就是所谓的“程序员的未来就是剥削程序员”吧。。。。
很多Issue都是存在公司粘性的,换句话说,在别的地方就失去了竞争力。五年以后,我希望自己成为怎样的人呢?执著于表面的光鲜有时会让人迷失内心的渴望,我想我更喜欢是做成伟大的产品,让自己写的东西使用在无数人的生活中。
似乎有点跑题了。我面临着很多类似标题的选择,其实本没有对和错。顺其自然就行了,珍惜已经有的,追求自己想要的,大不了回到原点重来。
P.S - 准备讨论一些技术专题。。。虽然我自己学得也很浅,但是也随手写点吧。。
|
|
||||
|
|