2017工作学习总结

  2017年最大的一件事当然是结婚了,正式步入婚姻生活后,才真正意识到了人生已经进入到了下一个阶段了,即从“天生”的三口之家,变成了独立的新家。对于这个新的开始,我无比的激动,并充满幻想,我希望将来能和我的妻子,共同分享我们努力换来的幸福生活。

  2017年,另一件事情是我开始了对编程的正式学习。由于高中时就接触到了VB,大学时学了C语言,对编程来说,我是很感兴趣的。我想其中的一个原因可能跟我的思维习惯有关系,我认为很多事情都是有规律可循的,而计算机编程为我们提供了一个很好的平台,供我们去用人的意识去操纵机器,从而让机器代替人类,去做一些有规律可循的事情,我相信对于这些事情,让计算机去做,比人去做效率更高,效果更好。当然,计算机在逻辑设计之初(图灵机)就定义计算机的功能限制:计算机只能用于计算可计算的问题(人的感情属于不可计算的问题)。但是在我们的生活中,大部分问题仍是可计算的,因此学习计算机编程无疑是未来长远发展的必修课。在3月份底,我再三犹豫后,在腾讯课堂上购买了常老师的C#编程课程,用了很短的时间(大概一个月),就把CS架构的课程都学习完了,对于后面的BS内容,由于当时的使用需求所限,因为没有仔细的学习,只是大概的看了一遍。

  在系统地学习了编程后,学会了基本的面向对象设计方式,和简单的设计模式,以及C#的一些高级特性。但学习后,我又在腾讯课堂上看到了软谋的视频,里面详细介绍了泛型,反射,多线程等一系列我认为很有用,但在常老师的课程中没有具体讲的内容,因此于5月底,我购买了软谋高级班的课程,跟着Eleven老师,进入.Net的高级开发,开始学习架构思维。在高级班,我学习了泛型,反射,Lambda,多线程,序列化,面向服务编程的概念,WebService,WCF,WebApi,AOP面向切面,依赖注入DI,EF,MVC框架,学到的内容基本都是Net开发中使用的高级特性,这些特性,满足了我对之前学习常老师课程中留下的很多问题,“原来问题还可以这样解决”,是我最大的感受。

  由于高级的内容较多,有很多需要理解的部分只有实践才能真正掌握其中的精华,而我目前的工作中没有一个具体的实践机会,因此很多学到的知识,也只是停留在了解的程度。

  9月中旬,第一次学完了高级班的所有课程,我目测大概学会了40%的内容。

  10月份结婚,蜜月很是幸福,从泰国回来后,感觉好像喜欢上游泳了,即原来在游泳的时候都是手脚同时发力,因此在两次划水动作的交替时,都会感到非常的紧张,就怕自己划水动作慢了,就会沉下去。但在泰国酒店的泳池里,我终于明白其实手脚不应该同时发力,应该交替发力,这样在手不发力的时候,脚发力,脚不发力的时候,手发力,这样手脚循环发力就可以轻松的游下去了,其实结婚后,两个人组成的新家庭也是这个道理,“手脚”呼应,交替前行。

  11月第二次开始了高级班的学习,在学习的过程中,突然想到了真实的业务需求。为我们工作中所写的帮助手册做一个搜索服务,以支持手册的查询和更新功能。于是我在网络上搜索了一些网站的源码(前端aspx+后端dll),然后用ILSpy反编译学习了一下基本的思路,最后自己重新写了一个Lucene的帮助类库,然后又新建了一个WebForm的网站成功,真正实现了想要的功能。但在实践的过程中,我对网站编程的兴趣越来越浓,总是在想,这么简单的一个网站,我用WebForm已经完成了,但我在高级班学的MVC框架是不是还需要在重新用MVC在写一遍,后来又下载一些MVC后台管理的网站后台源码,Jucheap这个框架为我打开了一个网站设计的大门,从框架的源码中,我看到了很多自己在学完了高级班之后仍然很不了解的地方,后来通过对框架中用到的知识一点一点的百度,学到了更多的MVC框架的知识,并且也有了自己的一些想法,例如一个很简单的需求,能不能我在后台动态添加(配置)一个页面,用于用户录入一些我规定的字段信息。从这里面我又想起了一个我一直以来想的一件事情:用户界面UI能不能通过后台直接生产,这样风格即统一,也减少了前台页面的设计,但这里面存在一个问题必须解决,那就要模型信息验证,通过学习MVC,发现Model实体上添加特性,利用HTMLHelper即可在前台生成基于JQuery的前台模型验证(必须使用BeginForm和TextBoxFor等方法)。看到这种方法后,我又产生了一种新想法,我能不能通过扩展HtmlHelper,去实现一个BeginFormForModel的方法,将模型自动转换为前台界面,这个方法无疑是可行的,于是我就去看了HemlHelper的源码,里面确实并不是我想象的那么简单(ViewContext等),但我知道,我的这个想法一定可以实现

  后来在博客园里面接触到了更多的程序设计等其他方面的内容,越来越有兴趣,到现在2018年2月,刚刚接触到NetCore就有了非常高的兴趣。感觉现在学习编程的感觉正如一开始学习时,常老师所说的,老师只是教最基础的知识,等你学会了这些基础知识后,再看其他内容就会非常轻松了。我现在学习的感觉就是:头脑中已经有了一定的知识储备,但目前急需要扩展自己的视野,跟上互联网技术发展的前沿,而NetCore是2014年微软推出的跨平台的Net平台,NetCore平台上仍然使用C#语言,并且对NetFramework进行了库的迁移,在NetCore中使用的方式和Net中是一样的,但是NetCore平台使用了很多先进的设计理念,如NetCore中的MVCCore和EFCore都更加的轻量级,高性能,可扩展。这两天在看了博客园大神腾飞Jesse的一些文章,并且看了他录制的NetCore快速入门教程,真的感觉到了之前从Jucheap框架中看到的很多不懂的东西,这NetCore的快速入门教程中都有体现,感觉这种前后呼应的感觉真是棒棒哒。

  至此总结了我2017年的学习和生活的一些感谢。希望以后再看的时候,能够回忆起当时的美好。

  最后对上述本文中提到的喜课堂教育的常老师,软谋教育的Eleven老师表示衷心的感谢。希望你们的课程越办越好。

而我的梦想也是成为一名教书育人的老师(IT),目前正在努力的学习过程中,感谢你们的帮助。

  同时感谢腾飞Jesse和Jucheap框架的作者。

  由于本人排版水平有限,第一次写博客,希望大家多提意见。

                                                                                                                                                                                               2018年2月7日星期三