《当程序员的那些狗日日子》(十五)首次接单

2024-03-14 11:18

本文主要是介绍《当程序员的那些狗日日子》(十五)首次接单,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

过了一个愁闷无聊的“五一”假期后,我收拾心情,继续回到公司上班。

两个星期后,我已将公司网站类库项目的程序代码全部重组完,当我在VS2003上对这些新的类库项目进行编译时,全部编译成功,这表明我所重组的程序代码全部都准确无误。虽然结果早已在预料之中,但我心里还是变得无比激动,这就像经过苦苦追求终于打动了自己心爱的女人一样,那种激动和兴奋的心情无法言表。

接着我再对引用了新类库项目后而重新生成的网站进行测试,测试结果表明网站功能一切正常。终于大功告成,这表明我已对公司网站程序有了一个全面的了解和把握,我随时可以对公司网站的程序和核心功能进行改动了。

此时公司网站改版的事情早已被搁浅多时,而且公司业绩持续变差,小李总再没有重提此事之意,所以虽然我已可以对公司网站的程序和核心功能进行改动,但此时我也不需要做什么,而是只对网站进行一些简单的维护。虽然我的工作变得悠闲起来,但我宁愿小李总可以一声令下说网站要改版,然后我可以将我已得到很大提高的技术水平发挥出来,为公司效一把力,即使因此而变得很忙都没有关系。

小京终于要休产假了,由于公司业绩不好,而且少了各种大型演出项目,公司网站上需更新的产品信息少了很多,所以小京原先所负责的美工设计的工作便暂时交由我来兼做,公司并没有重新招人来做。虽然是这样,但我的技术水平已得到了很大的提高,所以即使是程序开发和美工设计兼做,我都可以完全应付得来。

在这个时候,一方面,我上班时工作上的事情并不算太多,所以并不是很忙,我可以轻松应付;另一方面,先后买的两本ASP.NET的书我都学完了,而前一次买的另一本ASP.NET的书,都是介绍一些小项目的开发的,并没有特别介绍ASP.NET的知识点或编程的要点和技巧,此时那些小项目对我来说已变得没有太大的参考价值,所以我也不用再去学这本书,因此下班后回到住处及周末休息时我便只是根据需要去学习当初买的那本VB.NET的书,以加强对VB.NET语法的掌握。所以这时在工作和学习上我算是轻松了许多,这也可以说是我在两年的辛苦付出后的“苦尽甘来”。

经过两年的辛苦付出,从ASP到ASP.NET,我算是真正走上了程序开发的道路了,这时我的底气已足了很多,不再因技术水平太低而在工作上不够自信。所谓“付出总有回报”,此时回报给我的就是,我有了更多的底气和自信。

在这个时候,继续做着票务业务的程大哥私下里找到了我,像大概一年前恩跟我说起的那样,他也想做一个跟公司网站类似的票务网站,问我能不能帮他做。

自从在公司和程大哥认识后,我和他就很谈得来,我觉得他人很直爽,他就像兄长般的一位同事和朋友,对我很好,此时我和他的关系已变得很好。与玫、宁、恩等人比起来,程大哥的业绩要差很多,这是因为他做票务业务的时间不是很长,积累的客户不多。虽然业绩不算好,但是程大哥却很乐观,而且已决定会一直在演出票务行业做下去。他的决心让我佩服。

程大哥说,我没有电脑,他可以给我提供,而且他也很相信我,说有关网站开发的所有事情都可以由我自己来决定,我只管放手去做,因为他觉得有关票务网站上的东西我是专业人士,我比他了解,他信得过我。

这么长时间以来我自己一直没有电脑,平时在住处需要用到电脑时都是用老乡的,但是如果是要做开发,自己就必须要有专用的电脑才行,程大哥能给我提供电脑,可以帮我解决这一问题;而且最为关键的一点是,他信任我,这点很重要,也正是因为他信任我,不久后我可以尽我所能帮他做出了一个我自认为还不错的票务网站。

如果说大概一年前恩想我帮他做票务网站而我没有答应他,除了是因为保密的问题,还因为技术上我不太胜任的话,那么此时我在技术上则完全有信心和有把握了。所以此时我唯一需要考虑的是保密的问题。

这让我第一次有了试一试的冲动,我想将我所掌握到的技术,尤其是ASP.NET的技术,真正地运用起来。考虑一番后,我最终说服了自己,认为这跟保密的问题没有冲突,因为我只是在运用我所掌握到的技术而已,我并没有泄露公司网站的客户数据。

于是我便答应了程大哥,我可以帮他做这个票务网站,而且我们也谈好了价钱──数额不多,只有几千块钱。有时有很多事情并不是只以金钱来衡量的,比如当中我和程大哥的交情,他慷慨地为我提供电脑,他对我的信任,我可以以此作为“练手”以强化自己的技术水平,等等。

于是我便接起了我从学习网站开发技术以来的“第一单”。但是我并没有在公司做这件事情,一是因为在公司不方便,二是因为我觉得在公司做个人的事情,不是很好,所以我只在下班后回到住处时及在周末才动手去做。

由于程大哥是租用虚拟空间来存放网站的,考虑到他日后因变更虚拟空间而需迁移网站的问题,而且考虑到网站的访问量和数据量也不会很大,和他商量后,我决定采用Access 2000数据库作为他这个票务网站的数据库。

Access 2000与SQL Server 2000相比,还是有很大的不同,这可以说是两个几乎完全不同的数据库,所以我必须先对Access 2000作一番了解后才能使用它。

Access 2000要比SQL Server 2000简单得多,借助搜索引擎网站的强大的搜索功能,我找到了有关Access 2000的使用说明,并花了几个晚上的时间来学习。有了SQL Server 2000的基础,Access 2000学习起来可以说是轻而易举,我很快就学上手了。此外对于防止Access数据库被下载的问题,我也作了一番详细的了解。

准备就绪后,我便正式开始这个票务网站的开发工作了。我“依瓢画葫芦”,根据公司网站的SQL Server 2000数据库,创建了这个票务网站的Access 2000数据库。这项工作并不难,关键是要将SQL Server 2000数据库中的表和视图转成Access 2000数据库中的表和查询。

然后是设计网站首页。我参考另一家本行业内有名的票务公司的网站首页,加上自己的创意,用了几个晚上的时间设计出了这个票务网站的首页效果图。这可以说是我在Photoshop的运用、对色彩的把握和设计创意上发挥得最好的另一次,所设计出来的效果不但我自己满意,程大哥也很满意,而且我认为我的设计比之前万网公司设计人员的设计好多了,如果将我此时设计出来的这个网站首页效果图交给小李总,我想他一定会觉得满意的。在这个设计过程中也体现出了我是个做事认真细心的人,在一些细节问题上我会要求很严格,比如在首页中各元素对齐的问题上,我会将度量单位精确到像素。

我将首页效果图制作成HTML网页后,接下来就是正式的编码工作了。我在VS2003上创建了一个新的VS解决方案,再在其中创建了网站项目及有关的类库项目后,这个票务网站的程序架构就被搭建起来了。接着就可以开始正式的编码工作了。

有了网站首页页面作参考,其他页面就可以在编码的过程中同步设计和制作。这个票务网站的定位是要跟公司网站类似,所以其程序和功能都可以参照公司网站的程序和功能来做。经过我之前对程序代码重组后,此时公司网站程序的源代码全部都有了,但最大的问题却是,公司网站用的是SQL Server 2000数据库,程序中涉及数据增删改等与数据库交互的地方都是用存储过程来实现的,但Access数据库并没有存储过程的功能,所以这些地方统统需要作修改,改为直接用SQL语句来实现。公司网站程序可以说就是与数据库紧密交互的一套程序,所以几乎所有地方都要作修改,这是一项工作量很大的工作,我需要一定的时日才能完成。

从数据库的创建到网站首页的设计和制作,再到正式的编码工作,我下班后回到住处的时间及周末休息的时间又开始忙碌起来了。编码的过程没有太大的难度,但也不是很简单,原来只需一个存储过程就可以实现的事情,此时则需要写成好几个SQL语句,然后再在ASP.NET程序中分开执行各个SQL语句,才能得以实现。尤其是那个票品产品发布功能,原来是在存储过程中用三层嵌套的循环来处理数据的写入的,在ASP.NET程序中只需执行一次此存储过程,就可以实现一场演出的多场次、多票价的数据写入,但此时则需要将存储过程中的三层嵌套循环转换成ASP.NET程序中的三层嵌套循环,以此来执行每一层的SQL语句,这样处理后虽然可以达到同样的结果,但程序执行的效率肯定要差很多,而且数据在写入过程中出错的几率要大很多。当然,执行的效率和出错的几率都是从十分严谨的角度来考虑的,但事实上这样处理后对网站的运行并不会有很大的影响。

选择Access 2000数据库,虽然使我多做了很多工作,但在这个编码的过程中,却使我更深刻地理解了Access 2000和SQL Server 2000两者的异同,从而使我在存储过程的编写和应用方面有了更深的认识,以及获得了更多的ASP.NET程序开发方面的实践经验,更深入地掌握了ASP.NET编程的方法。这些对我来说是很有意义的。

无疑,这次“接单”对我来说是一次新的尝试,这可以让我在网站开发技术的路上尤其是ASP.NET上走得更远。

这篇关于《当程序员的那些狗日日子》(十五)首次接单的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/808242

相关文章

十五.各设计模式总结与对比

1.各设计模式总结与对比 1.1.课程目标 1、 简要分析GoF 23种设计模式和设计原则,做整体认知。 2、 剖析Spirng的编程思想,启发思维,为之后深入学习Spring做铺垫。 3、 了解各设计模式之间的关联,解决设计模式混淆的问题。 1.2.内容定位 1、 掌握设计模式的"道" ,而不只是"术" 2、 道可道非常道,滴水石穿非一日之功,做好长期修炼的准备。 3、 不要为了

【新闻】AI程序员要来了吗?阿里云官宣

内容提要 6 月 21 日,在阿里云上海 AI 峰会上,阿里云宣布推出首个AI 程序员。 据介绍,这个AI程序员具备架构师、开发工程师、测试工程师等多种岗位的技能,能一站式自主完成任务分解、代码编写、测试、问题修复、代码提交整个过程,最快分钟级即可完成应用开发,大幅提升研发效率。 近段时间以来,有关AI的实践应用突破不断,全球开发者加速研发步伐。有业内人士坦言,随着大模型性能逐渐提升,AI应

Groovy:程序员的 DSL

什么是DSL? 领域特定语言,针对一个特定的领域,具有受限表达性的一种计算机程序语言。可以看做是一种抽象处理的方式。 具有四个元素,第一个是计算机程序设计语言,使用DSL来指挥计算机做事情,语言性(一种特定的语言),受限的表达性,并不像同通用的设计语言那样具有广泛的能力,针对一个明确的领域。 分类有哪些? 外部DSL:不同于应用系统主要使用语言的语言,通常采用自定义语法,宿主应用的代码采用

某大厂程序员吐槽:离职交接时,新人被工作量吓退,领导却污蔑我故意劝退新人,我怒晒工作短信反击证明,新人看了后也决定走人了!

一位知名大公司的程序员分享了他离职时的遭遇:在交接工作时,新进的同事因工作量过大而感到压力,但出乎意料的是,他们的领导却指责我故意吓唬新人。为了证明自己的清白,我晒出了工作短信作为反击,结果连新人也决定离开。 在任何组织里,团队文化的优劣都是决定工作效率和质量的关键。一个和谐相处的团队不仅能提升工作效率,还能使工作氛围变得轻松愉快。 然而,一旦团队内部出现权力斗争或领导偏爱小团体、

1024程序员节 技术对抗赛 算法与安全答题 标准答案

请注意每次出题答案顺序都不一样,请仔细辨别   快查看计算题、专业题答案: 4根 11,24 对称加密算法 42 6787 题中选项皆有可能 远程控制软件 6次 25002550 593 2017年6月1日 x正比于根号n增加 15瓶药 具体题目: 关于钓鱼邮件的说法,下列错误的是:(B) A:即便邮箱有提供安全保护功能,所有送达邮箱的邮件也未必安全 B:

自2008年金融危机以来首次,欧洲AAA级CMBS投资者面临亏损

在欧洲预期损失之前,美国AAA级CMBS投资者已经遭受了打击。即便是最高信用等级的投资也不再安全,全球金融系统可能存在一些严重的问题。 历史罕见,最安全的AAA级债权人,在没有发生经济危机的情况下,出现了损失! 根据美国银行分析师Mark Nichol周三公布的一份报告,一项由英国购物中心支持的贷款(商业抵押贷款支持证券,CMBS)的AAA级部分投资者正面临损失,这可能是08年全球金融危机

首次使用回声状态网络 (ESN) 和语音特征进行帕金森病 (PD) 预测

帕金森病(Parkinson's disease, PD)是一种使人衰弱的神经退行性疾病,它需要进行精确和早期的诊断,以便为患者提供有效的治疗和护理。这种疾病是由James Parkinson在1817年首次确定的,其特征是多巴胺生成神经元的退化。多巴胺的不足导致了一系列症状,包括静止性震颤、肌肉僵硬、运动迟缓(姿势不稳定)、以及其他重要特征,如睡眠障碍、心律失常、便秘和语音变化,这

程序员绩效管理-可行性调研

针对这个市场进行了小范围的可行性调研。因为这个项目一开始就定义为走融资上市的路子,第一步是众筹起步。          总结的结论如下:          1、痛点是真的痛。研发企业对自己团队的开发效率是心知肚明,恨铁不成钢。          2、市场上类似的软件也不少,企业自己也在开发例如工时管理、日报月报等。          3、一般采用开发平台来提高效率(这是另

阿里云推出首个 AI 程序员!

AI圈最近又发生了啥新鲜事? 该栏目以周更频率总结国内外前沿AI动态,是快速了解AI发展趋势一个不错的方式,感兴趣的可以点击订阅合集以及时收到最新推送 DeepSeek Coder V2开源发布,首超GPT4-Turbo的代码能力 全球首个在代码、数学能力上与GPT-4-Turbo争锋的模型,DeepSeek-Coder-V2,正式上线和开源。DeepSeek-Coder-V2 沿用 Dee

Java进阶之路——从初级程序员到架构师,从小工到专家 Java程序员-10 发表于1小时前 原 Java进阶之路——从初级程序员到架构师,从小工到专家

https://my.oschina.net/u/3518116/blog/1510756?ref=myread 怎样学习才能从一名Java初级程序员成长为一名合格的架构师,或者说一名合格的架构师应该有怎样的技术知识体系,这是不仅一个刚刚踏入职场的初级程序员也是工作三五年之后开始迷茫的老程序员经常会问到的问题。希望这篇文章会是你看到过的最全面最权威的回答。 一: 编程基础 不管是C还是C+