总结做了八个月asp.net程序员
刚刚在园子里看了这一年,做为asp.net程序员我合格吗?,心生感慨,相比起文章中的作者,感觉自身还有很多不足。我也是11年毕业的,从参加工作到现在,算起来也有八个多月,说起进步吧,那还是有的,毕竟是有实实在在的学到东西。我记得从去年9月份入公司,从刚开始的连基本服务器控件都不会用,也要纠结半天,才能捣弄出来,怪只能怪自己在大学的时候不争气点,不努力学点基础知识,到出来用的时候要比别人花的时间长才能做出来。说起来惭愧,不过幸好我也有自知之明,深知基础知识不扎实,一直在踏踏实实干着工作,一步一步的学习。
这八个月,我就在一家公司。
这八个月,我一直默默的学习,默默的敲着代码,不懂的时候百度和谷歌是我最好的伙伴,身边的同事是我最好的导师。
这八个月,我感觉自身进步是有提高,但是深知提高的不够大,做的大项目也没有,都是在维护以前老的项目,这跟自身所处的公司有很大的关系,因为公司里面牛人没几个,有的都走光了。
好了,废话不多说了,总结开始。
1、DIV+CSS
说句实话,这个东西只有在我读书的时候去实习的那家公司有研究过,之后在目前所在的公司,没有研究过,因为公司有前端设计人员,我也一直把他们拿过来套用一下就好了,自己真心没好好学过,因为一进公司就专注于服务端的开发,应该说只能是了解而已,谈不上熟悉。这点也在我最近在对自己进行查漏补缺的时候,补充到自身不足之处,接下要对这方面会加强锻炼和重视的。园子里的朋友们说的话,看书的虽然很系统,但是进度很慢,最好的方法的是多写demo,多加练习才是王道。
2、javascript
这个东西我之前就很想学,在学校的时候一方面是自己太懒了,那时候对编程其实兴趣也不大,碍于老师的作业,才没办法去学点,敲点代码什么的。等到工作了之后,关注的也不是很多,只不过平时常用的用法会用就好,不过比较好一点是,对与juqery的研究和了解还是有一定的认识,基本的用法什么的,对于平时日常网站的交互掌握的还是可以的,对于这方面的技能的学习,我自身感觉还是进步比较大。所以,接下来也要多多努力和多多写写代码,对于js的深入应用要多多深入的了解和掌握。还有我的向这一年,做为asp.net程序员我合格吗?作者学习,学习js跟学css一样,不停的模仿和不停的写。
3、Ajax
ajax确实是个好东西,无论是对服务端性能的优化和用户体验方面都是一个创造性的技术。实在,应用方便,优点这么多我也不多说,因为很多时候只要搞研究的人才会关注最深层次的东西的,我只要能把程序写出来,不影响服务器性能就好了,其他的有时间也可以去研究研究的。
就我目前所能掌握:
1,一个是jquery中的$.ajax({});这个用得也比较多,因为数据交换的时候经常要用的啊。用这个我们一般会借助*.ashx或者*.asmx,当然直接借助*.aspx也是行的,个人的习惯不一样吧,刚学习就看下jquery的api应该就可以写出简单的程序了
2,至于ajax.dll只有听说过,没实际的了解过,更别说要具体的应用过,可能是我做的项目太少的缘故,深层次的应用都不会。
总结目前所能掌握的水平,对于原理的了解和技术的应用还不够娴熟,加强补充就是了。
4、关于服务器控件
之前在学校的时候,因为跟老师做的毕业设计项目是一个C/S系统,对于B/S控件的应用是不甚了解,虽说在做WinForm的时候也用过控件,但实在是没编写过多少代码,相当于基础为零开始学的,目前对于这方面的应用应该说掌握的还行,基本的应用是没问题的。不过看了很多资料,服务器控件容易产生垃圾代码,有ViewState,对于服务器端的性能消耗也比较大,所以能不用就尽量不用,偶尔也是在自己的内部项目或者是管理后台还会用到服务器控件。自己也尝试了写了比较多的用户自定义控件,感觉还行。
5、数据库
呵呵,基本的CRUD不用多说了,这个基本功吧,以及存储过程、视图的优点、弊端,函数的使用。但考虑到sql语句的优化,自身感觉欠缺比较多,比较复杂的sql也写不出来,以前也没有考虑到sql的安全性方面,sql防注入方面,现在基本都考虑到,最基本的就是用参数化的CRUD.
数据库的管理:数据库的数据定时备份以及数据还原,数据的导入、导出。
6、linq
这方面确实是进步比较大,之前是完全没听说过,到了解和应用,十足的进步啊,深知掌握的不够深,继续加强学习。之前不了解,可能是之前没做个这方面的项目,现在开发项目都是用linq来操作数据库,要么linq to sql 或 linq to EF。不够感觉ling也是内部特定领域的语言,也是在sql基础上开发出来快捷查询工具,所以要掌握的基本功还是sql为核心,毕竟万变不离其中。
7、服务器端的开发
写到这里,这个才是我们服务端开发工作者的老本行,作为一个.net平台的程序员,自我感觉自己是挺菜的,socket不熟,多线程几乎没接触,泛型不熟练,这些都是我的短板,但面向对象原则,抽象类,接口,虚方法,覆写,异步。对asp.net基本的理解也仅仅到达Ihttphandler,Ihttpmodule方面。至于什么应用程序,页面,控件生存周期的,真的只是了解过,你让我讲原理我只能是哑口无言了,我最多知道在哪里用,至于原理,我的水平还理解不了。博客园的Jeffrey Zhao的博客便是我常去的地方,很多知识都是从他那里获取的,非常感谢。
8、数据结构和算法
目前正在学习,因为前段时间在准备软考的缘故,所以对这方面也关注了,但是关注的不深,所以在之后的工作中,要进行系统的学习和应用,做到知其所以然。
9、ASP.MVC
因为工作的时候,公司的有一个网站是用MVC 2.0做的,所以对这方面的也是有一定的了解,毕竟平时的维护工作,什么小修小改还是有的,一些网站的新功能开发还是能让我锻炼到,掌握到一定的基础知识,谈到深入的技术应用,娴熟不,目前谈不上。听我一个同事说,现在技术更新很快,MVC 3.0已经应用的很广泛,像我现在的公司用的技术都是相对来说比较老的了,我也深知自身的技术有点out了, 但是我感觉还是从基础抓起吧,毕竟很多基础知识都是很经典的东西。
10、其他
设计模式:在公司用的最多是工厂模式和抽象工厂模式,至于还有其他21种设计模式等等,只能说是了解而已。目前小生也拿着本《大话设计模式》在研读。
伪静态:Url伪静态的配置,IIS配置,IIRF的应用等等,掌握的还行。
ORM:NHibernate技术,EF等等,也只不过拜读过博客园里几位大牛的文章,自身了解的远远不够。
总结:目前感觉自身的水平可能还是初级程序员菜鸟,IT生涯之路还是得很长时间要走,就在刚刚受教了,什么IOC用法,WCF的ajax通过配置文件来进行服务器的处理,Ninject等等。不懂的很多,踏实的走过来吧。