CSDN七周岁了,七年是一个很短的时间,但是在IT的领域似乎又是一个漫长的岁月,回想七年前的往事,觉得是如此的陌生却又有一丝亲切。
认识CSDN应该是一个偶然,那时(具体什么时候记不得了)还是在玩VB的时候,一开始总是苦于找不到参考资料,后来听人说有个叫“MSDN” 的东东里面有详细的参考资料,就去寻找D版的光盘,找到一套两张名为“程序员大本营”的光盘,里面有MSDN,还有百联美达美出的“程序员大本营”,内容 好像就是最早CSDN上的文档和资料。
什么时候注册的CSDN帐号实在是不记得了,还好CSDN论坛的个人信息中还包含这项,一查是2000年 5月20日,大概记得是在学校当时唯一一个可以上网的机房在一台486的电脑上注册的。我自己的电脑中保留的资料中最早的有关CSDN的邮件是2000年 5月26日的。内容如下:
lifanxi您好: 关于:如何在VC++中建立如同VB中的控件数组? korn提供了如下回答, 请您查阅和评估: --------------------------------------------------------------------------- 经过长时间的实践:赫赫,终于知道了 如果是要静态数组的话(即个数事先确定的话还是较简单的): 1.选择Menu--View菜单项底下的resource symbols 中声明一些连续的资源ID. 比如:IDMYBUTTON VALUE 102 .....后面的一些Value值空着就可以了. 2.在控件创建时,使用上面的资源ID就可以乐! 在.H文件中定义控件数组: CButton * m_pButton[4]; 在.CPP文件中(一般是在比如Dialog 的InitDialog()函数中实现): for(inti=0;i<4;i++) { m_pButton[i]=new CButton; m_pButton[i]->Create(_T("HeHe"),WS_CHILD and WS_VISVIBLE, CRect(0,0,100,24),NULL,this,IDMYBUTTON+i); } 3. 动态生成控件以后,肯定是要完成一定的功能了,你手工加上消息映射,找到 afg_msg 你的消息函数 my(); declare_message_map() // (*.h 文件中) begin_message_map() ON_CONTROL_RANGE(BN_CKLICKED,IDMYBUTTON,IDMYBUTTON+4,my) ....... end_message_map() //( *.cpp文件中) 4.然后就是编写你的my()函数了.. 赫赫... --------------------------------------------------------------------------- 如果这个回复已经解决了您的问题,请到论坛给分给回答您问题的用户。 目前您的专家分数:0、参与分数:131、可用分数:440。欢迎经常光顾,争取榜上留名。 问题:http://www.csdn.net/expert/TopicView.asp?id=9154 中国软件开发网络: http://www.csdn.net/ 中国软件开发网络专家门诊: http://www.csdn.net/expert/
这个应该是我在CSDN专家门诊上问的第一个问题。那时是我在经历从VB向VC过度的最痛苦的时候(在瞎摸索,还没找到入门的道路),CSDN 网友热情回复让我觉得非常的感激,不过也很郁闷,这么专业的回复对于那时的我来说是一头雾水,完全看不懂,这也激发了我进一步学习的热情。
2001年7月,第一次有机会不是以按时计费拨号上网的方式来访问CSDN,所以第一次很积极的在CSDN上看贴回贴,那时主要看的版块应该是ASP和 VB和VC的版块。估计第一次拿专家分应该也是在那个时候。我的邮件中可以查到的拿专家分的记录是2001年12月3日的事情。
lifanxi您好: 关于问题:请问vs7的winforms怎样使用控件数组。, 您的解答获得提问人的好评,他已经将分数给你了。 本次得分:2(专家分) 您现在的专家分为:311 您现在的可用分为:5187 您现在的参与分为:2774 请继续努力,争取榜上留名。 问题链接:http://www.csdn.net/expert/TopicView.asp?id=368967 论坛地址:http://www.csdn.net/expert/ 中国软件网: http://www.csdn.net/
非常的巧合,在邮件中我能查到的我的第一个问题和我拿专家分的第一个问题都是有关“控件数组”的。只不过平台已经从VB6经过VC6一路变迁到VC#了,我自己也开始从单纯的提问人转变为可以回答一些简单问题的人了。
2001年也是第一次买正版的CSDN的东东,是程序员大本营2001的.NET增值版,58块钱。不过实话说我买它不是为了程序大本营,因为那里面的东西网上都能找到了,而是为了它附带的Visual Studio .NET 2001 Beta 2的光盘……
2002年开始是我自己猛学C++的时候,也是在CSDN开始C/C++生涯的时候,这种状态一直持续到2003年4、5月份。那时只要有机会 不限时上网(在家里和学校还是按时计费拨号上网的),就一定是打开CSDN的C/C++版块,狠狠的刷新页面抢最新的问题回答。那时也认识了不少CSDN 的网友,印象最深刻的是chinajiji(菜鸟叽叽),那时候我们一直在C/C++版块上抢分,有时甚至为了抢分都忽视了回答的质量,还好CSDN上热 心人是这么的多,一旦回答失误了,还是有很多的朋友可以及时指出并更正。这样不断交流的过程,也在无形中提高了自己的能力。
由于那时CSDN的计分制度是最高到达两星,三星及以上是不能简单通过挣专家分来达到的,所以当我挣满了两星级的专家分满足了自己虚荣心后,也 开始渐渐淡忘了CSDN专家门诊,当然这里面也还有另一个非常重要的原因是那段时间C/C++版块上有价值的问题和回答越来越少,取而代之的是很多人都深 恶痛绝的“作业贴”“考试贴”。
这里还有一个小插曲对我的影响也是很深刻的:在CSDN上得到一星后,我也对自己的C++开始有了更多的信心,于是也尝试着去国外的一些C++ 邮件列表回答问题,结果第一个问题就出师不利。有人问为什么float的0.001f用循环加上1000次输出不等于1,这个问题对于我来说太简单了,我 不假思索的回答到:因为float不是一种accurate的数据类型。然后做了一些简单的解释。很快就有别人回复到:”It pains me when people say this.” 并详细解释了为什么不能说float不是一种accruate的数据类型。因为float本身的运算是确定的,只是存在舍入的误差,所以不 能称它是一种不够accurate的类型,因为说不accurate给人的感觉就是float的运算结果是不确定的、不可预知的。经历这个事件,我更加意 识到CSDN的一星专家头衔,不是用来满足虚荣心的,它更多的也代表着一种责任,从那以后我在回答问题时也变得更加谨慎,也尽量让自己的回答能够既不引起 误解和困惑也足够严密。
第一次拿信誉分是2003-2-18,呵呵,不是我记性好,而是因为这个在CSDN论坛上还是有据可查。我信誉分多半也是在C/C++版块挣来的。
最早开始在CSDN文档中心写译技术文章是2002年2月16日,翻译了一篇Charles Petzold谈论.NET和C#的文章,那时正好是我刚刚看完Programming Windows不久又开始在接触.NET的时候,所以看到文档中心有这篇文章又正好有人希望看到中文版,我就把它翻译了。当然,在文档中心写文章也是抱有 “不纯动机”的。那时候只要在文档中心写译满6篇文章就可以申请成为专栏作家,可以拿免费的程序员杂志。写译文章实在都不是容易的事情,在我这个“动机” 还没有达到目的时,CSDN就开始提供Blog服务,并把逐步把文档中心和Blog进行了整合。不过在Blog上写写文章与大家分享心得却作为一个习惯保 留了下来。文章虽然写得很少,不过还是有两三篇文章上过CSDN首页,得出一个“经验”:只要写连载就很容易上首页,呵呵。不过实在是能力和精力都有限, 我的两个“连载”都是“蛇头无尾”(就是比“虎头蛇尾”还差),都在“连载”了三篇后就夭折了。
2003年以后,读研的生活一直是比较繁忙,技术学习的重点也发生过几次转变,CSDN就渐渐的淡忘了。只是把它作为一个Blog平台和IT新 闻平台来用,论坛就很少访问了。一直到前几天 Blog搬家来带的一点花絮才让我又一次记起了这个曾经给我很多的快乐很多帮助的地方。值此新年依始和CSDN七周年庆的时刻,写下这篇《CSDN流金岁月》与CSDN共勉,新的一年,祝愿CSDN有新的进步,也祝愿自己有更多的收获。