程序人生
row
写写程序,看看书!
展开
-
个人外包项目全记 - Best Partner (二十二)煮酒论英雄
正文:(二十二)煮酒论英雄 那天为了将笔记本数据导入到中心服务器,我工作到凌晨两点,Gentleman为此深受感动。但我认为,一个值得我尊敬的合作伙伴,我就应该尽我全部的能量,将系统功能开发好,将数据同步完善好。 在这近一年的交往过程中,我深感Gentleman身上有太多值得学习的地方。所以每次Gentleman回国的时候,都是我抓紧学习的机会。为了有更好的交流时间,我迫不及待地在秋季广交会之前,原创 2008-11-08 15:38:00 · 1949 阅读 · 22 评论 -
个人外包项目全记 - Best Partner (二十一)最后一次大考2
正文:(二十一)最后一次大考2 由于全球金融危机的原因,今年的秋季广交会市场比较清淡,珠江三角洲附近以出口为主的家具和玩具企业纷纷倒闭。但从Gentleman那了解到,今年他们公司的情况还算不错,虽然比春季广交会的成交量差一些,但已经比预期的状况好多了。加之此次广交会上,由于新系统非常好用,所以在现场感觉工作比较轻松,并未出现手忙脚乱的现象。在此次广交会临近结束的时候,他们还特意举行了一场小型的庆原创 2008-11-08 09:58:00 · 1219 阅读 · 0 评论 -
个人外包项目全记 - Best Partner (二十)最后一次大考1
正文:(二十)最后一次大考1 经过多次的数据库同步测试,我自认为已经大体上掌握了MobiLink的数据同步方法;同时,系统程序经过营销部的实际测试也日趋完善。与Gentleman商量后,决定系统在秋季广交会前全公司范围内上线。 由于前面的系统测试工作做得非常充分,所以系统上线后并未遇到任何技术上的问题,仅是某些部门和个人提出了一些小的功能修改意见。至此系统算是基本上线成功,但还有最后一次大考,那就原创 2008-11-07 17:12:00 · 1168 阅读 · 0 评论 -
个人外包项目全记 - Best Partner (十九)数据同步4
正文:(十九)数据同步4 在解决了MobiLink数据同步的中心数据库与远程数据库的删除同步问题后,我又开始测试数据同步的速度问题。发现局域网内和Internet网上MobiLink的数据同步速度差不多,这让我很是高兴,可接着另外一个问题又开始困扰我了。 开始做数据同步测试的时候,由于数据库中的数据量很小,每次数据同步的时间大概在2-5分钟。而随着数据库中的数据逐步增加,发现同步所需的时间越来越长原创 2008-11-06 11:50:00 · 1455 阅读 · 0 评论 -
个人外包项目全记 - Best Partner (十八)数据同步3
正文:(十八)数据同步3 为了删除无法同步的问题,我到处Google解决方法,可网上几乎没有什么讨论MobiLink的文章,仅有的几篇都是介绍性的文章,逐渐地我开始有点毛爪了。可Gentleman在得知这个问题后,确表现得非常大度,他对我说,如果实在解决不了删除同步的问题,那系统在使用的过程中,就采取行政手段来同步。即需要数据删除的时候,大家就记录下来,然后互相发Email通知。 我很难想象在系统原创 2008-11-05 16:29:00 · 1218 阅读 · 1 评论 -
个人外包项目全记 - Best Partner (十七)数据同步2
正文:(十七)数据同步2 确定选用数据库同步工具来实现数据同步后,我就开始Google数据库同步工具,其中Sybase Mobilink进入了我的视线,它的主要功能介绍如下: “MobiLink 同步允许在符合 ODBC 标准的统一数据库和 Adaptive Server Anywhere 或 UltraLite 远程数据库之间进行复制。在本教程中使用的是 Adaptive Server Anyw原创 2008-11-05 15:47:00 · 1629 阅读 · 1 评论 -
个人外包项目全记 - Best Partner (十六)数据同步1
正文:(十六)数据同步1 系统从一开始设计的时候,就有数据同步的需求,即公司局域网的电脑都访问中心服务器的数据库,而各台笔记本都访问本机上的分数据库,两者是完全同构的数据库。 由于在接这个项目之前,我没做过任何数据同步的项目。因此,一开始我还设想着自己写程序来实现数据同步功能,即设定时间点,然后通过程序导出每个数据库某段时间内的数据(新建、修改、删除),然后再将导出的数据进行比较,最终求出数据合集原创 2008-11-05 15:11:00 · 1108 阅读 · 0 评论 -
个人外包项目全记 - Best Partner (讨论3)项目之上的情感
讨论篇3:项目之上的情感 在本文前面的若干节中,我已经多次提及Gentleman身上的特点,认真仔细,善待员工。原本我以为他平时的工作很轻松,可后来才知道,他每天工作都在十小时以上。国内与CA国有八个小时的时差,这边白天上班的时候(他那就是17:00-01:00),他基本上都挂在IM上,随时与公司这边保持着联系,而且还要处理大量的客户Email。 现在回想起测试阶段,我把大量的测试工作都交由他来做原创 2008-11-04 16:19:00 · 997 阅读 · 0 评论 -
个人外包项目全记 - Best Partner (十五)测试之痛3
正文:(十五)测试之痛3 系统经过Gentleman和我的多次测试和修改后,健壮性得到了显著的提高。在测试期间Gentleman想从CA国飞回来,专程为系统上线前做最后的实战测试。我是不赞同的他这么做的,当时正好赶上万众瞩目的北京奥运会,他的签证上也遇到了些麻烦,所以也就顺利成章地取消了这一临时计划。 虽然Gentleman自己没回来,但他专门安排了他的助理(本文中称呼为MissLee)来协助我做原创 2008-11-04 10:20:00 · 1093 阅读 · 0 评论 -
个人外包项目全记 - Best Partner (十四)测试之痛2
正文:(十四)测试之痛2 Gentleman是一个办事认真仔细的人,他每次测试完一个模块后,都会详细地记录下错误的具体情况(效果、他估计的原因、在什么数据输入流程下出现错误等等),然后发一份错误报告给我。有时为了描述一个错误,需要要写上百字,并配以屏幕截图。我见过他在电脑上输汉字,基本上是二指禅的功夫,输入速度非常慢。所以我可以想象,他在做完测试后,敲上一篇上千字的错误报告需要多少时间。而且,后来原创 2008-11-03 13:04:00 · 1034 阅读 · 1 评论 -
个人外包项目全记 - Best Partner (十三)测试之痛1
正文:(十三)测试之痛1 程序编码工作逐步接近尾声,接踵而来的就是功能测试、模块测试、集成测试、系统测试等。对于系统测试,开发人员大都不愿意去做的,因为这是一项既繁琐、又无成就感的工作。 一套没有经过严格测试的系统,就像一匹没有缰绳的野马,谁也不知道它发飙的时候,会跑到什么地方去。再繁琐的工作也要做,初步的功能测试和模块测试工作自然是由我自己来完成。可我发现个问题,我只要输入一些数据到系统中,开始原创 2008-10-31 17:03:00 · 1074 阅读 · 0 评论 -
个人外包项目全记 - Best Partner (十二)意译的烦恼
正文:(十二)意译的烦恼 在整套系统开发的过程中,我一直采用‘意译’的模式,对Gentleman所提出的需求进行改进设计,但也有例外的情况。系统中有一个模块是给工厂下生产通知单,在这个模块的处理上,就出现了问题。 公司当前的做法是依据合同中的产品数量,给工厂下达生产。一份合同由多种货物组成,每种货物的订购数量和外销价是不同的。实际工作中都是将一种货物中所有的订购数量都制定一家工厂生产,当时,我从逻原创 2008-10-30 11:13:00 · 1132 阅读 · 1 评论 -
个人外包项目全记 - Best Partner (十一)项目中期收款
正文:(十一)项目中期收款 Gentleman回国后的这一个多月时间,几乎一直在忙于春季广交会的事情,很少和我联系。只是约定等他从广交会回来后,让我去他那领取部分项目款。 (在第一次面谈的时候,Gentleman就问过我项目收费方式的问题。现在一般公司的付款方式是361方式,即30%作为项目启动款,60%在项目验收后付款,10%的尾款最后在确认系统运行正常后付清。而我给Gentleman的答复是,原创 2008-10-29 14:09:00 · 1513 阅读 · 0 评论 -
个人外包项目全记 - Best Partner (讨论2)技术与应用
讨论篇2:技术与应用 很多在校的学生和入行的新人,总是最关心开发技术,而且最关注流行技术。就好像流行时装一样,看哪些语言或工具流行,就学哪样,有甚者把市场主流的应用开发语言都学了个遍。其实大家会发现一个问题,即便学习了所有的开发语言,仍然不可能就此成为开发高手,因为他们学到的只是外在功夫,而非内功。 关于技术的内功和外功问题,大家只需要在开发的过程中,稍微用心体会一下,就可以找到练内功的方法。写代原创 2008-10-28 13:45:00 · 1159 阅读 · 0 评论 -
个人外包项目全记 - Best Partner (十)数据库选型
正文:(十)数据库选型 个人项目中,心理层面的问题需要自我调节,技术层面的问题同样只能独自解决,下面就写点技术问题。 在这套系统的数据库选型中,我是经过一番思考的。从我个人技术熟悉程度上来说,是对DB2和Sql Server比较熟悉。但对于30人规模的中小型公司,没必要选用过大的数据库,Oracle、DB2这类首先被PASS掉了,在Sql Server、MySql、Sybase A原创 2008-10-28 11:27:00 · 1263 阅读 · 0 评论 -
个人外包项目全记 - Best Partner (九)Coding4
正文:(九)Coding 4 面对Gentleman的额外奖励,我深感惭愧,虽然内心很想加快开发进度,但当时的心思确又很难聚焦到项目开发上来。这样浑浑噩噩的状态大概延续了一个月左右,项目的开发进度比预期已经差了一大块。我几次想在Email中告诉Gentleman我的痛苦,但炒股导致的心理失衡问题,怎么能让他去承担后果。我问心有愧啊! 即便在如此情形下,程序的代码质量还是我把握的第原创 2008-10-27 13:30:00 · 1102 阅读 · 1 评论 -
个人外包项目全记 - Best Partner (八)Coding3
正文:(八)Coding 3 编码的工作是辛苦的,远没有程序设计时的天马行空,需要的是严谨的工作态度、良好的编码习惯和相对完整的开发时间。对于Part-Time开发者来说,很多人觉得非常辛苦,主要是因为没有完整的开发时间。 项目的开始阶段,一般开发者都能保持相对高的开发热情,但一旦进入编码的中期,这种热情支撑下的开发进度就开始疲态尽显。我也是遇到了同样的问题,项目进行了3-4个月左右的时候,开发进原创 2008-10-27 09:16:00 · 1090 阅读 · 3 评论 -
个人外包项目全记 - Best Partner (七)Coding2
正文:(七)Coding 2 自从编码开始后,项目开发工作似乎进入了正轨。 这套系统的编码过程中,有一个十分麻烦的地方,那就是货号价格的变化,需要更新多非常多的地方。这些都是Gentleman在常年的工作中总结出来的,他心中非常清楚。他只要一看这些价格数字,就能知道哪些是正确更新后的,哪些是未更新的。可我在短时间内确是很难做到的这一点的,因此,我单独写了一份价格更新对照表,虽说整理着份文件花了不少原创 2008-10-25 16:04:00 · 1084 阅读 · 0 评论 -
个人外包项目全记 - Best Partner (六)Coding1
正文:(六)Coding 1 程序的风格和核心数据库表基本确定后,我开始了系统的模块设计和编码工作。我的基本思路是,按照程序模块的重要性,逐个模块实现。单个模块的设计和编码同时进行的,完成好一个模块,就发送给Gentleman审核,以模块程序为交流载体,方便双方沟通。 夜晚22:00后,静夜孤灯下,一杯水,一个人。时而低头沉思,时而握笔绘图,时而指走键盘,这就是我平时工作的画面。一行行代码,一个个原创 2008-10-25 16:03:00 · 1011 阅读 · 0 评论 -
个人外包项目全记 - Best Partner (讨论1)程序风格
中间插一讨论篇《程序风格》,本篇与这个项目开发有些关系,但并不纳入到正文中。 欢迎各位程序开发高手积极讨论一下。 讨论篇1:程序风格 程序是什么?不同的角度有不同的看法,比较经典的论断是 程序=数据+算法。数据是一套系统的核心,他的地位是不可动摇的,好比人民的温饱问题。算法是什么,算法是系统的引擎,算法的好坏优劣决定了程序执行的效率。但随着现在硬件技术的提高,很多程序员已经淡化了算法的重要性,以完原创 2008-10-25 16:01:00 · 991 阅读 · 0 评论 -
个人外包项目全记 - Best Partner (五)系统整体设计2
正文:(五)系统整体设计2 Gentleman回CA国后的一个月内,他仍然每周都给我发过来最新的系统需求,其中有专题性质的(例如:某处的价格算法,以及价格调整的系列影响),也有系统整体性的需求调整。我则有条不紊地地分析着每份需求文件,从这些需求文件中,我能感觉到Gentleman对这个系统的期望值很高,因为他不仅是在提需求,甚至是在做程序设计工作,哪些部分需要加按钮,这些按钮完成什么功能,具体某个原创 2008-10-25 16:00:00 · 814 阅读 · 0 评论 -
个人外包项目全记 - Best Partner (四)系统整体设计1
正文:(四)系统整体设计1 需求大致上了解以后,我开始着手系统的整体设计工作。 首先,从应用角度上来看,这个系统是准备在一家30人左右的公司运行,而且Gentleman需要在自己的笔记本上安装一套系统,并与国内公司这边进行数据同步。另外,他们公司在每年的春秋广交会期间,都会带产品去参展,期间有5-6台笔记本需要使用系统,以便随时给客户报价。所以说,各个数据库之间的同步,是这个系统的一个非常重要内容原创 2008-10-25 15:58:00 · 824 阅读 · 0 评论 -
个人外包项目全记 - Best Partner (三)需求确定2
正文:(三)需求确定2 我用2天时间,把他们原先的老系统的所有功能,都学习了一遍,在自己大脑中已经有了一个比较清晰的轮廓。其实行业软件,大家只要熟悉其业务流程,就会感觉非常简单。因为从程序实现上来看,主要工作就是数据库的表结构设计,以及相关前台界面的操作合理性。 Gentleman在他回CA国之前,约我再见一次面,并给我发来一份他自己整理的需求文档(20页左右)。因为我白天要正常上班,而他的返原创 2008-10-25 15:57:00 · 1396 阅读 · 0 评论 -
个人外包项目全记 - Best Partner (二)需求确定1
正文:(二)需求确定1 有了第一次的面谈,我对这家公司的整体印象不错。说起来,我以前去过不少公司(自己工作过的公司或谈项目去过的公司),尤其是从事贸易的公司,还是第一次见到办公室这样让人感觉如此舒服的。 简单说一下我需要开发的系统,其实并不复杂,就是一个典型的贸易系统,主要功能是管理公司的产品、客户信息,然后给客户报价、生成合同、给厂家下生产单等等。当然,这每一个模块中都会有很多特定的需求,例如,原创 2008-10-25 15:53:00 · 961 阅读 · 1 评论 -
个人外包项目全记 - Best Partner (一)项目确立
题外话:To 程序人生版 人气依旧旺,内容已全非,皆为匆匆客,徒洒洋洋言。 正文:(一)项目确立 一年前,CSDN的外包频道,一家贸易公司寻求开发业务系统。我注意到这家公司和我正好在一个城市,索性就跟了一帖,写了点简要的个人开发情况,当然最重要的是附上了自己的手机号码(当时CSDN外包频道还不限制这个信息的)。第二天就接到那家公司总经理的电话,这让我多少有点意外,电话中,双方客套两句后,约原创 2008-10-25 15:37:00 · 973 阅读 · 1 评论 -
走进程序,又远离程序(四)
经过一个寒假的身心折磨,我的程序和论文都已经基本定型,但最后的一个‘拦路虎’却是那么的顽强,无论我如何冥思苦想,都找不出好的解决方法。离论文答辩的时间,一天天的迫近,我绷紧的弦都已发出吱吱的声响,这时我周围的同学们都开始演练讲述论文了,而我的论文还没定稿呢。思想几进疯狂的我,在每次有同学来到我的寝室的时候,我都会向他讲述我的论文思想,其实我的目的是想看看自己能否将论文阐述明白,同时也想在讲述的原创 2005-12-15 16:52:00 · 1908 阅读 · 8 评论 -
走进程序,又远离程序(三)
在我将论文大纲给导师审阅之前,我设想了种种情景,但都没有那个星期天上午来得令人心寒,以至于心底激起了愤怒。可我只有静静的一言不发,因为我没有勇气提高嗓音来反驳,哪怕是提高一度我都不敢。中国现形的研究生体制决定了,一个在读研究生如果和导师彻底决裂,就意味着你在拿你的硕士学历做赌注。我不敢,因为我知道我的行为要对很多人负责,其中包括努力工作、辛勤劳动供养我读书十七载的父母。 时间大概原创 2005-12-15 16:51:00 · 1566 阅读 · 0 评论 -
走进程序,又远离程序(二)
在我来到深圳以前,我对这个城市几乎是一无所知。在找工作中,如果直接登门投递简历,是会被门卫拦住不让进公司的,我连这都是来深圳以后才知道的。所谓初生牛犊不怕虎,无知者无畏。我凭借就是凭借着自己懵懂的闯劲,在深圳这个金钱孵化的城市里,貌似顺利地在恒基伟业工作了三个月。时间飞逝,这个学期也已经过半,导师早在开学初期就知道我在深圳工作。在导师的连连催促之下,我阶段性地完成了恒基伟业公司的工作后,乘机返回了原创 2005-12-15 16:50:00 · 1745 阅读 · 0 评论 -
走进程序,又远离程序(一)
在本科毕业的时候,学校免试保送,我幸运地继续在自己学校的一家研究所里攻读硕士研究生。在那里我真正开始接触计算机,并开始了我的程序生活。 本科我就读的专业几乎与计算机无关,对于计算机的认识仅仅停留在 WINDOWS 的简单操作;程序语言只学了二十课时的 FOXBASE。这一年我的导师带两名学生,另一名同学叫 zhi。 一进入研究所就发现这里需要使用VC(MFC)编写地理信息系统,原创 2005-12-15 16:49:00 · 1986 阅读 · 6 评论