一个体育生的编程之路(二)

2012-05-09     星期三             天气晴

 

一个体育生的编程之路(二)

         20118月份写过一篇博客,《一个体育生的编程之路》,只是写到第五部分就没再写。今天重温了旧文章,回想起学编程的这三年,心里不免感慨,虽然我做的不够好,但是从来没后悔过。

(五)许工的面试

         想起来许工当时面试我,现在仍然非常感动,真的是缘分,有一种士为知己者死的感激。

         前博客里已经提到过,当时我从威海回来,说实话,我在那做的不够好,自己不能善于学习,项目经理交给我的任务虽然是最简单的,但我老是做不好,我写的SQL语句老是出错,项目经理对我态度也非常不好。最后直接不分配任务给我了,我想是时候自己该走了,总不能等着人家撵我吧。已经工作了45天了,从毕业前的(2010)531号到毕业后的715号,中间回过两次学校外,其他时间全部在威海工作了。拿到了一个月的工资1000块钱,可以作为我离开学校又辞职后生存的基础(租房子住和吃饭啦)。

         之后的一年多,每当提起在威海工作的事,我都说是因为工作太累了才不愿干辞职的,实际是自己工作能力和学习能力不行。只是以前一直不好意思说,直接最近,我才敢于说实话。

 

         在回济南后第二天吧,我去参加招聘会,到现在我还记得非常清楚,进会场前接到许工的电话,我先问你们招JAVA还是PHP,许工说我们招C++。我说不好意思,我从来没接触过C++。许工说没关系,语言都是相通的,试一下吧。因为进招聘会要买票,20块钱,我生气不进去了,直接去许工那面试。然后我坐公交车到了山大新校东边,又转了很长时间,才找到那个公司。

         见许工的第一感觉是这个人年龄这么大了,还写程序?以前的项目经理也就28岁。许工见我时,我买的一矿泉水已经快喝完了,许工到饮水机那给我接了一瓶。当时7月中旬,正是天最热的时候。当时挺感动。滴水之恩,当涌泉相报。问了下我的基本情况,然后让我写个程序。开始让我写到纸上,我说我写电脑敲代码吧,因为我写字太丑了,也不习惯用笔(哈,在学校里也就考试时会用笔写字)。许工说那用我的笔记本吧。又问我你用什么开发工具,我说eclipse或者editplusultraedit。许工说我这都没有,你用WORD吧。我说我用记事本写。

         我去到时已经十一点了,我写程序上来就罗列if … else if …. Else if….语句。过了很久,许工说,好了吗?我说,快了,快了,再等会。过了会给许工看我写的程序,许工说,哪些情况你还没有考虑到。我一拍脑袋,哦,再等我一会,我再写。于是又开始不断的写if … else if … else if ….。在那面试时看到有一稍胖穿黑上衣的员工,看了我一眼,那是我后来的同事方工。别人都快吃完中午饭回来,许工也不耐烦了,说写好了吗?我都写了一百多行代码了,还在写if … else if … else if ….。我说,快了,快了,再等我一会,马上就完了。再过了一会,我终于认为自己已经写完了,给许工看。许工看了一眼我那一百多行的代码,说你回去再想想吧。然后又去饮水机那接了一瓶水给我,我感谢着离开。

         去找站牌坐公交车回山师老校。当时觉得心里不服,要我不要我没关系,但那道题我得做出来呀。我就边走边想,走到站牌了,我也停下,继续走,边走边想,已经快走到第三个站牌了。我想通该怎么做这道题了,原来几行代码就可以搞定。于是在第三个站牌我上了公交车,回到学校直接回师兄的宿舍,打开电脑,用JAVA把代码写出来,测试了一下,发现没问题,于是给许工打电话,许工说我给发个邮件,你把代码发过来吧。许工看过我代码,觉得还不错。然后又给我出了道,让我下午做,并留下qq和电话与我联系。

         终于如释负重松了口气,我去买了个煎饼果子,在校园里吃,回到宿舍开始解第二个题。找了两三种方法来实现。到下午时又把两种方法实现的JAVA代码发给许工,许工说不够高效。晚上许工与我聊了挺多,说到之前公司的一些人和事,公司处于一个什么样的阶段。推荐我应该学下数据结构等计算机基础课程。说要再面试一些计算机或者数学专业的人,再考虑要我不要我。我也说,您要慎重考虑用我不用我。

         之后的两三天里,我又面试了几家公司,人家直接瞧不上我,并且还说,你还是去培训机构培训下吧,连strutshibernatespring三大框架都不懂,也没有任何实际经验。两天后,许工说你来上班吧。我说好,当然了,我也没有别的选择,我找别的工作也没人要我。

         于是我在洪家楼找了一个房子,也是去那附近找了两三次吧,终于找到一个最便宜的,在阁楼上的一间小屋里,屋顶不到两米多高,一共不到5个平方,只有一个不到70厘米宽的小床,有一个小窗户。房东把这间小厨房租给我了,一个月只要160,里边非常热,因为楼顶早都晒透了,每天夜里都热醒好五六次,去厕所冲个澡再回来接着睡,就这样反复直至早上六点钟。

         于是又回家,把档案和户口落回家里,(劝学生尽量不要把自己的农村户口迁出来,因为毕业后改不回农业户口并且也没自己的地了。曾经说上不好学可以回家种地去,后来发现自己说这句话的资格都没有,因为已经不是农村户口已经没地了。)然后在25号(也就是从威海辞职回来第10天)开始了我新的工作。

        

(六)C++MFC的学习

         开始学习C++是从谭浩强的《C++语言程序设计》开始的。上班就是坐在那看书,下班就是找个地方吃点东西,然后去肯德基坐着看书,因为那里凉快。连续看了几天后,觉得看的挺枯燥的,和许工说,许工给我出了道小题,让我做。教给我桶排序,于是我实现了下,速度非常快。这是许工教我的第一个程序,印象非常深。

         一个星期后,开始用Visual Studio 2010作为开始工具,感觉好复杂啊。之前一直觉得eclipse非常强大。用微软的开发工具非常不习惯。(现在想来vs多好多专业多强大啊,再看eclipse简直像个山寨的东西。纯属个人感觉,不要骂我个人偏见。)开始接触windows程序设计和MFC,感觉太难了。根本是云里雾里,同学推荐我看孙鑫的视频教程,我都下载下来了,第一课,我表示很努力的听着,两个多小时,开始接windows第一个程序,消息循环等,我确实很努力的听着,但是听着听着就不知道自己在哪了,也不知道自己到底是晕到了还是睡着了,哈哈。(开个玩笑了。)

         在第三个星期,开始做一个打印程序,用MFC基于对话框的。许工把例子程序给我演示了,可是我不会。又简单写了一个程序,告诉我这样就可以在对话框上画线,我还是不会。(你是不是觉得我太笨了?但说不定你在刚开始学习VC++也有同样的感觉)就是把例子程序都给我写出来了,我还是看不懂,不知道该怎么抄。许工对我无语了,那天是星期六,说你要是下个星期一再写不出来,你就不能在我这干了。我当时啥也不说。就回去了。回到住的地方,从大润发超市买的咸菜和馒头,边吃边看电影。吃饱了喝足了洗个澡就睡觉。写不出来拉倒。由于睡的太早,早上四点多就醒了,我想了想许工是怎么给我演示他写的程序的,我虽然什么都不懂什么都不会,我应该怎么把程序套上去。然后打开电脑,两三个小时终于把基于对话框打印程序的第一步显示出来了。别看这简单的第一步,就是一个按钮,按一下按钮在对话框上画一条直线,没有这简单的第一步,就没有以后一千步。

         星期一上班,我去的很晚,去上班时已经迟到了半个小时,心想反正可能要走人了,怕什么。我就大摇大摆的进去了。(哈哈,估计是死猪不怕开水烫的精神又发作了。)给许工看了下我写的程序,终于实现第一步了,许工看后说你到我办公室来一趟。

         在他的办公室里和我聊了两三个小时,说现在我不要着急,他刚开始工作时也是非常不容易,也住楼顶非常热。又讲了一些公司以前的人和事。开导我要努力学习。又给我提了三点要求,至今仍记得非常清楚。第一,把软件开发当成科学。第二,要坚持。第三,要把眼光放长远。

         在第一个月里,我从第一个按钮和画第一条直线,到后来逐步把软件原来所有的功能实现,一共写了四千多行代码,虽然现在看来都是垃圾代码,但在当时还是非常快乐的,感觉这才是程序员,这才是写程序,像我当时想的一样,就是用顺序、循环(for)、选择(if … else )这么简单的东西就可以完成非常复杂的事情。之前一直在学JAVA的框架以及其他一些框架,学会怎么会servletjsp等等,总是学不会。跟着许工一个多月终于把标签打印程序写完了,许工说你写个工作总结吧。于是我写了个工作总结,但是写的像自己的反省书一样。(哈哈,中学时写检讨书写多了。)许工看后,说这算不上工作总结,我认为你具备一个程序员的素质,可以成为一个优秀的程序员,但是还有很多东西要学。

         这样的谈话在毕业后跟着许工干的半年里,有过好几次,对刚毕业的我帮助非常大的。

         这半年里的学习主要是以孙鑫的《VC++深入详解》为主,第一章看不懂第二章讲C++的基础,看的懂,第三章又看不懂,后边的反而能看懂,因为都是怎么操作,就是照着书上的方法一步一步用VC6实现。还有一本《Visual C++范例宝典》也非常不错,在做项目时,可以经常查阅上边的例子,省时又省事。

         刚开始学习C++MFC的半年里,想要解决一个问题,到网上去搜,网上有很多,但是看不懂,照抄都不知道怎么抄,很多时候多亏了方工的帮助,要不然我还不知道会因为多少个小问题浪费时间,也不可能进步那么快。再次感谢同事方工在这两年的工作里给我那么多无私的帮助,不仅在工作和学习上,还有生活上对我这个小弟也非常照顾。

(七)opencv与数字图像处理

跟着许工干的半年里,公司并没有做什么实际项目,许工应ss公司要求,研究人脸识别和图像处理。我在做完第一个标签打印后大多时间在闲着。10月份和11月份,一直在网上发广告,增加了公司的销售。很多时候都不情愿做在偷着看《VC++深入详解》,许工批评了我两次,我不服不行,就继续发广告。虽然和现在工作一点关系,都没有,但是任何一项工作,你要做好,都要认真和努力,并且都会有所收获。那段时间里虽然只是发广告,但是我还研究了SEO,并且修改了公司网页,提高搜索排名等等。

后来给老板娘写了一个客户信息管理软件,就是做了一个对话框,上边可以对access文件的中信息增删改查。虽然只用了三天时间,也有进步。

2011年上班后,许工要带着我和方工去ss公司做人脸识别项目,我在2011年年初才开始接触图像处理,什么都不会。非常担心自己干不了。所以找许工谈话,说我还是不去了吧。许工说别不自信,试试吧。如果你去ss,别的部门你也进不去,我们去ss公司你也不可能在自己呆在这了。又鼓励了我一翻。

下午叫我到他办公室,要考我微积分的题,给我找了本很老的书,随便找了道题让我做,我先看前边的定义和性质,再看例题,半天也没做出来。许工说晚上再复习一下,明天再考我。

晚上我复习了两个小时微积分,幸亏大学时还下过不少功夫学。第二个又做了几道题,都做出来了,并且与答案相符。许工表示可以。中午老板娘请我们吃饭。

2011228日星期一开始,正式到SS公司上班。终于到了一家大公司了,就是不一样。

刚开始的一个月,工作非常努力又谨慎,对环境不熟悉。基于特征的算法,我承担了几个特征,在经过一翻努力后,做的还可以。在四月中旬项目验收时,领导也表示满意。写程序这一个月里,使我对OPENCV有了一个入门。

之后一直到五月份,并没有什么具体的任务。五一时许工让我写一个视频监控的程序,用C++OPENCV来实现。许工把具体怎么实现给我讲了好多遍,后来连伪代码都写出来了,告诉我来怎么设计这个程序,可是我脑中全是原来的想法,我想用递归的方法来找出视频画面中的人。许工把他的设计思路对我讲的越清楚,我越糊涂,越不知道该怎么写。当时方工回老家结婚了,之前做方工做过这个程序,但是人家在结婚,我不好意思打扰。方工用手机QQ问我怎么样,我说非常不好,让他把他之前的代码发给我参考一下。方工的代码发给我了,我还是看不懂,不知道该怎么写。许工也不管我了,因为之前已经有些生气了,都给我讲那么多遍,那么清楚了,还是愚木脑袋一个。最后我也死心了,放弃了按照许工的思路,也放弃了参考方工的代码。还是按照我原来的想法去实现。可是,最终我真的实现了,并且速度挺快,把人数查的很准确,走进和走出的24个人我都分别查出来了,已经达到演示程序的要求了。想想,那两个星期,是我2011年最痛苦最受打击最憋被许工骂的两个星期,但也是我感觉我在2011年感觉自己进步最快的一段时间。后来给别人演示这个小程序,证明这个功能从技术可以实现,并且准确率可以保证。许工在别人面前猛夸我。

六月份开始尝试SVM算法,许工将书给我,并把其中一些图像处理原理和数学原理讲给我。我感觉挺简单,回去实现代码。写了几百行代码,利用几个类分别实现功能,初步感觉到结构化程序设计的方便。可能写程序只用了几天时间,但是测试和修改用了几个月。初期没有达到书中的效果。许工也比较失望。在试验时,本着软件开发是一门科学,测试是一种科学实验的态度,我认真的测试。在控制其他条件全部不变,只有一个条件不断变化,并且记录全部测试结果,推测这一条件对于识别率的影响。我能想到的每一个条件我都要去尝试一下,然后再控制不同条件进行同样的测试和推断。就是这样不断的测试,不断的统计,不断的推测,再不断的改变条件和修改代码。在某一天,突然发现一种算法起了关键作用,使得识别率有了本质的提高。我们项目组都惊喜万分。这些时间里,对于测试我是非常认真的,这是必需的。认识到测试作为一种科学试验,我的收获不仅上文所提及。

七月份,同事要一个图像处理的程序,本来是由另外一位同事来完成,但是效果并不好,我一看,我感觉我可以做,几个功能我都可以做。然后我就开始写,并且尝试用VC++提供的CImage来实现。也就是摆脱OPENCV,自己更多的来写图像处理的方法。从中我又一次感觉到了自己的进步。虽然只用了几天时间,我实现了,功能都符合要求。

         七月份作述职报告,我写的述职报告的讲稿,许工让我在一个星期时间里准备,并且帮我不断的修改PPT和讲稿。而其他的同事只能在业余时间准备。在进行述职时,由于2007PPT在电脑里打不开,所以我的讲演推到了最后。而其他同事都没有我准备的充分,所以我的述职报告也得到了高层领导的认可,公司领导对于我的学习精神和工作努力也是非常认同。许工又长篇大幅的夸我,从第一次见我,虽然我只是用记事本写JAVA代码,但是写的非常规范,一直到工作后一年多怎么努力,最后的建议就是在理论方面加强提高。(呵呵,各位朋友,你们遇到过这么好的领导吗?)

         在刚工作时,我的工资1000,到后来1200三个月后涨到1500,到ss公司是1800,再到述职报告后3000。一年的时间里工资也算翻了三倍,实在不敢说自己优秀,也就是稍微努力了一些,也绝没有炫耀的意思,实在是想鼓励下像我曾经一样的师弟师妹们,加油。

我还是1200工资的时候,在家里过中秋节,也就是2010年毕业后的秋天,姐姐已经毕业四五年了,说我还没有她挣的多。我说咱别看现在,咱看三年后谁。呵呵,一年后已经是她两倍,两年后的现在又何止呢?绝对没有对我姐的不敬,我对于自己的努力还是非常自信的。

(八)继续学习

2011年,买了很多书,仅从卓越当当上就买了一千元以上的书了。计算机类的书看了一些,每买10本书,会有一本书看的很多,两三本书偶尔会拿过来查一下。剩余的六七本也就是看看前言和第一章。2011年下半年还看了两本小说,唐浩明先生的《曾国藩》本册共1400多页,《明朝那些事儿》七册2100多页。呵呵,小说确实认真从头看到尾了。

         自己的学习方法还是不好,许工值得我学习一辈子。现在想来给我印象最深的是2011年年底看的王爽的《汇编语言(第二版)》。王爽先生不仅是著名的计算机科学教育家,而且是哲学家,看他的书真是一种享受。

“学习汇编的最根本的两个目的:充分获得底层编程的体验,深刻理解机器运行程序的机理。”对于王爽先生的讲解方式也是让我这个笨学生有最好的学习体验,王爽先生采用了循序渐进的方式讲解,对于以后用到的尽量以后再讲。我第一遍开始看,看到第10章,到了标志寄存器就晕了,也就停止了。之后我开始学习《Intel汇编语言程序设计》第五版,学习了前8章,使我对汇编有了更多的认识。2012年我又从头开始看王爽老师的《汇编语言》,认真看书并且编写每个小程序,一直看到16章。之前没有掌握和理解的知识点又有了新的认识。再一次看《Intel汇编语言程序设计》而只看到第六章就截止了。当然又有了新的提高。

因为对于这两本书是我近期学习的,印象特别深,所以这里分享了一下学习感受。

 

2012年我开始封装一个动态库,认识到组件化开发带来的好处。动态库封装了图像处理的一些基本方法,可以在windows环境下供不同语言调用和使用。各个功能模块之间采用接口,相互独立。之后又做照片打印的程序。使用delphi,开始时非常抵触,(在刚开始学C++做标签打印时,我感觉非常为难,我说想要先学下delphi,先看懂原来的代码,再来用C++来写标签打印程序。许工说不行,DELPHI就是毒药,因为太好用了。开始就学C++,起点高,长远来看更好。)但是后来边做边玩,有问题了就问身边的同事,主要是怎么做界面。两个星期后完成此软件,并且得到许工的认可。对于照片打印我要实现的功能如下,【选择图片】,【选择模板】,【选择背景】,【打印】,【保存成图片】。实际是个非常简单的程序。但是怎样做的最好的流程和最简单的方法呢。在初步完成功能后,我改用这样一种方法。

1)在选择要打印的照片后,根据默认的模板和背景,即生成要保存的图片img_save

2)当然这张图片img_save是根据打印机分辨率计算出来的大小,对于打印打印可直接根据img_save打印出来要求的照片。保存成图片后再使用同一打印机再对img_save进行打印仍然得到同样的打印效果。

3)改变模板与选择背景,都会重新生成要保存的图片img_save

4img_save就是主线。哈哈。

         使用这一想法,思路变得非常清晰,程序变得非常简单。各功能之间完全相互独立,没有任何复杂的关系。

(九)新工作,新的开始

         201252日,与许工告别,在SS公司办理离职手续。心中非常不舍,有一种失恋的感觉。当天就去了ZN公司上班,ZN公司比SS公司小的多,各方面都差的多,可以说来到之后我就后悔了。第一个星期甚至直到现在两个星期里都想念SS公司,觉得SS公司什么都好,办公环境好,公司大也正规,有归属感。来到ZN公司后没有归属感。尤其想许工和方工在一起工作,觉得许工对我有知遇之恩,没有他对我的帮助和教导,就没有我的现在。但是许工也不再挽留我,认为我可以走了,水平仍然非常初级,但是可以出去折腾了。年轻多出去闯下,哪怕是头破血流是值得庆幸的事。年轻最不怕的就是失败,本来就是从农村出来的小孩,本来什么都没有,也从不怕失去什么。我不怕失败。因为我败得起。我本不是喜欢安定的人。这两星期里我时常在想,如果SS公司领导不嫌弃,我可以再回去。但是我都会告诉自己这是不可能的了。我要在ZN奋斗。进公司前领导问我凭什么要高工资,我说我干得好,两或三个月给我转正,我干不好,我自己滚蛋走人。(这是学习美团网的口号,“要么牛逼,要么滚蛋!”)领导被震撼了,认为我有冲劲。让我来就是攻难关的。我换工作,也是为了更多实现自己的价值,更多独立做出项目,得到别人的认同。工资成了秘密,其实也并不怎么高,但是因为签了保密协议,所以我不会再对朋友同事坦诚相告。

                                                                           20125922302012510129

                                                                          一口气完成七千多字的日记。真痛快。

                                                                          对自己说,晚安!

猜你喜欢

转载自blog.csdn.net/sdlypyzq/article/details/7564382