哈哈,我也申请成功了,庆祝一下

展开阅读全文

离职一年了,哈哈庆祝

06-28

离开C公司有将近一年, 哈哈,感觉挺好滴,当初离职的时候信誓旦旦的说rn下一个架构设计的如何优秀,不在陷入项目痛苦的恶性循环,世界真是rn奇怪,我居然去找了一份不写代码工作,工作起来绝对比code happy。rn和客户谈论间知道了,国内客户的一些事情。顺便对比一下欧美日还有国内项目的rn特色: 个人能力和涉及面有限,有偏见和误解环境您指点rnrn1. 欧美项目: 这个是我处理时间比较久的项目, 外企里面多多少少都是靠流程rn首先项目来了,会有一个PM, PM会写一个文档,我们叫spec。当然了,前期看项目的rn一般是中方的开发经理或者团队的骨干,对spec能实现 和 使用的man hours 给予评估rn很难实现的一般告诉PM, PM要么多收客户钱,加长开发时间,要么商业托词,拒绝这个需求rn总之,这个项目做不做,中方的经理没有多少决定权。rn 小组讨论的时候, 挑挑spec里面英文的错误,项目feature怎么实现,设计讨论一番rn大部分其实么有什么可以讨论滴,项目框架大部分都是有人设计好滴。 当然只有少部分人rn设计框架,希望你是这部分人。rn 再大的公司也会有写组件滴,懒人一般会看看这些组件,这个产品或者项目能不能rn用上,大部分原则是,能用即用,工程师执行就好。 rn 渐渐的你会发现自己老了,。。。。。。。 见过最多的就是离职了。rn外企,一个做梦的地方,终究会有一个dead line。 哈哈 rn希望你可以很好的Release and upgrade yourselfrnrn我没有,因为不想违背良心rnrn2. 欧美的项目:文档比日本的项目粗糙多了,基本上就是需要什么功能,说清楚,实现rn和大体的UI只要保持一致就可以了。做起来感觉还是挺happy的,有节奏。当然了。rnRelease没有吹着不紧张滴,因此加班大部分都是自愿。基本上一段时间加的非常多rn一段时间相对少,总结下来你会发现,其实你休息的时间绝对没有加班的多。相对于rn国内的环境,外企基本都很成熟,他总体的设计理念是,让你的未来成为我的一部分rn想到这里真的为 国内的软件企业汗了一次。 如果windows把所有的开发都作为一个分支,rn瞎吹吧,继续努力rnrn3. 日本项目: 如果不是同学的离职我根本不知道日本的spec写的是如此的好。好到rn及可以不用动脑子,就可以写code了。 当然,会有国人说,日本的项目注释写的多好啊rn问过同学才知道,写注释算代码量,到时候项目结算的时候钱多。rnint i,j; 绝对要写:int i; int j; 在加2行注释。 日本的项目也不是每个都设计的rn非常成功,我知道一个日本的项目大约 500w(第5次转包)。项目日方最后设计不下去了rn把asp代码拿出来了,说你们照着这个把它翻译成c#。看着小日本劳累,我心里还挺happy滴rn日本pig, 设计能力不过如此,惊叹下,项目管理做的确实不错rnrn4.国内企业,这个好复杂啊,我就写我经历过的几个rn 4.1 国内快速开发企业java /c# 这样的快速开发语言,基本上就是一个或者几个大牛rn当家。新来的只能照着他们的写,基本上,你想法都不应该有, 鹰派,国内不少。rn时间久了,人就狒狒了,见过好多这样的团队,最后基本上走光光,大牛们真是不累嘛。rn可以和为人有关系吧rn 4.2 亲和力比较好的领导,技术出身,考虑周全,平衡项目的紧张程度,会适当的拒绝项目rn团队成员过的比较happy。也会适当的培养下属,大部分强将手下无弱兵就是这样的团队rn如果你是,恭喜你, 几年之后你也成长了rn 4.3 团队一团糟糕,大部分时间浪费在流程上,我不是说流程不好,是流程太过于繁琐了rn某某大型公司(外企),推行什么什么管理系统, 我敢说他们tnnd的自己都不用rnrnrn现在个人的focus在团队管理上,团队协调上,其实我离真正的设定目标还有很远,做过rn欧美项目在处理国内的项目,或多或少不太适应。rn对人性的理解会更强,国内最大的特点就是,客户认为软件产品是不值钱滴rn我见过某某Leader。 级别绝对够高,他说,软件编码工太好找了,容易,随便找几个rn写写就好了。 我当时在客户面前真的不好意思拒绝,其实我心里一直在感叹。rn国内的环境什么时候好点,我们的soft才有希望, 一个优秀的coder实际上很难找到rn负责任的coder 基本上很少,照顾到方方面面, linux/windows/mac/matix/solaris/HPUnix/Aixrnc/c++/cocoa/carbon/WTL/ATL/API 这些方面能说出来,甚至照顾到未来cross platformrn做扩展或者维护的coder 非常非常的少,我见过的几个这样优秀的coder。他们的思想没有rn好好发挥,前段时间有些人好像换公司了。看来猎头还是有眼光滴。rn我希望他在新的公司顺利了rn 国内的客户还有一个特点,软件也可以立竿见影。呵呵。我不知道他们学习过软件工程没有rnsoftware 也是工程。rnrn随着处理的项目和客户越来越多,发现国内的客户需求还真是千奇百怪,收集分析客户的真实需求rn才是一个重要的东西,别让团队陷入恶性的加班,恶心的回滚, 就好。 流畅rn把握根本需求,不停的思考,进步rnrn 今天不知道为什么,脑子乱乱滴,瞎写,希望暴雨可以洗礼一下我这个还沉浸在,需求,设计rn实现的思维里面,离开C公司到现在我依然不停的学习,不停的工作,为了弥补过去了解的rn方方面面的不足,一直在努力.最近的一次吃饭,发现过去的团队,离开的人太多了,感叹下,rn当初跳出来的早。留下会有更多伤心和遗憾rnrnrnrnrnrnrnrnrnrnrnrnrnrn 论坛

CString 转 URLCode 成功庆祝一下

03-05

之前在做一个POST程序。目标网站是用.net写的。 试验了N次没能成功。好像是编码格式不对,要转化为URLCODE, 于是在网上找URLEncode函数,用了之后还是不对,被经理吵,被同事BS,郁闷到想辞职! 整整用了两天才研究出来,现在和大家一起分享下,为了我们可爱的C++......rnrn问题已解决rn[code=C/C++]rnCString UTF8Convert(CString str, int sourceCodepage, int targetCodepage) rn rn int len=str.GetLength(); rn rn int unicodeLen=MultiByteToWideChar(sourceCodepage,0,str,-1,NULL,0); rn rn wchar_t * pUnicode; rn pUnicode=new wchar_t[unicodeLen+1]; rn rn memset(pUnicode,0,(unicodeLen+1)*sizeof(wchar_t)); rn rn rn MultiByteToWideChar(sourceCodepage,0,str,-1,(LPWSTR)pUnicode,unicodeLen); rn rn BYTE * pTargetData; rn int targetLen=WideCharToMultiByte(targetCodepage,0,(LPWSTR)pUnicode,-1,(char *)pTargetData,0,NULL,NULL); rnrn pTargetData=new BYTE[targetLen+1]; rn memset(pTargetData,0,targetLen+1); rn rn WideCharToMultiByte(targetCodepage,0,(LPWSTR)pUnicode,-1,(char *)pTargetData,targetLen,NULL,NULL); rn rn CString rt; rn rt.Format("%s",pTargetData); rn rn delete pUnicode; rn delete pTargetData; rn return rt; rn rn rnrnrnclass URLClassrnrnpublic:rn inline BYTE toHex(const BYTE &x)rn rn return x > 9 ? x + 55: x + 48;rn rn rn inline BYTE toByte(const BYTE &x)rn rn return x > 57? x - 55: x - 48;rn rn rn CString URLDecode(CString sIn)rn rn CString sOut;rn const int nLen = sIn.GetLength() + 1;rn register LPBYTE pOutTmp = NULL;rn LPBYTE pOutBuf = NULL;rn register LPBYTE pInTmp = NULL;rn LPBYTE pInBuf =(LPBYTE)sIn.GetBuffer(nLen);rn rn pOutBuf = (LPBYTE)sOut.GetBuffer(nLen);rn rn if(pOutBuf)rn rn pInTmp = pInBuf;rn pOutTmp = pOutBuf;rn rn while (*pInTmp)rn rn if('%'==*pInTmp)rn rn pInTmp++;rn *pOutTmp++ = (toByte(*pInTmp)%16<<4) + toByte(*(pInTmp+1))%16;rn pInTmp++;rn rn else if('+'==*pInTmp)rn *pOutTmp++ = ' ';rn elsern *pOutTmp++ = *pInTmp;rn pInTmp++;rn rn *pOutTmp = '\0';rn sOut.ReleaseBuffer();rn rn sIn.ReleaseBuffer();rn rn return sOut;rn rn CString URLEncode(CString sIn)rn rn CString sOut;rn const int nLen = sIn.GetLength() + 1;rn register LPBYTE pOutTmp = NULL;rn LPBYTE pOutBuf = NULL;rn register LPBYTE pInTmp = NULL;rn LPBYTE pInBuf =(LPBYTE)sIn.GetBuffer(nLen);rn rn pOutBuf = (LPBYTE)sOut.GetBuffer(nLen*3);rn rn if(pOutBuf)rn rn pInTmp = pInBuf;rn pOutTmp = pOutBuf;rn rn while (*pInTmp)rn rn if(isalnum(*pInTmp) || '-'==*pInTmp || '_'==*pInTmp || '.'==*pInTmp||'&'==*pInTmp||'='==*pInTmp)rn *pOutTmp++ = *pInTmp;rn else if(isspace(*pInTmp))rn *pOutTmp++ = '+';rn elsern rn *pOutTmp++ = '%';rn *pOutTmp++ = toHex(*pInTmp>>4);rn *pOutTmp++ = toHex(*pInTmp%16);rn rn pInTmp++;rn rn *pOutTmp = '\0';rn sOut.ReleaseBuffer();rn rn sIn.ReleaseBuffer();rn rn return sOut;rn rn;rnrnCString str="中国";rnstr=UTF8Convert(str,0,65001);rnURLClass uc;rnstr=uc.URLEncode(str);rnrnrn[/code]rnrn这样就OK了。。。。。 论坛

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