从上到大学到现在工作,已经有六年多了,发现学习编程到以开发为工作也是一个挺长的过程的。
大学中,从c语言到java、C#到其他各种语言的学习,还有其他知识的学习如:数据库(oracle、sql Server)、网站开发......最终还是C#让我有想学习下来并深入学习的。可能是因为入门容易,做的一些东西也是很方便,也许和个人心性、和学习 过程中的也有很大关系。本身自己原来是一个性子比较急,有点急功近利的,不喜欢冗余,喜欢简洁。相比java,我觉得c#更适合我,java平常的写法给 我个人感觉太冗余了,感慨是学java的时候,对一大段代码,感觉很累。而且对于早期学代码,根本就是死记硬背的方式,所以这也就造成对java不咋地的 原因,虽然工作之前去培训机构学了一段android,但是那已经是我学习代码有5年左右的时间了,那时候,c#应该来说已经入门了,知道采用C#语言体 系结构去学习,类的属性和方法,特别是visual studio 对开发的帮助很大,当时做开发时候部署环境对于一个刚入门的人来学真心有点痛苦,dreamwearver(jsp开 发)+IIS(tomcat)+access(或sql server、oracle)好麻烦,因为那时候老师教的顺序也不好,一上来就直接说怎做,没说如何做,为什么要怎么做,对体系结构和侧重点不了解,其实 在学习中是很痛苦的,这是后来有一定基础的最大感受。一定要确认学习的路线,合理安排,提高性能。用了vs开发最大的便捷式不用在部署什么了,方便,但开 发者还是要知道这个部署过程,了解其中结构,如web.config—>连接池—>数据库,服务器的映射都是要学会的,方便开发是一回事,你 要掌握的技术有是一回事,不能为了开发简单就把应有的技术丢失了,这个就让我想到微软对。net早期的处理方式。
早期的微软在c#上的开发给我们一大堆控件,是很方便,但是之后让我.net开发人员蒙上了一层只会拖控件的傻瓜式开发,而我之前也是这样模式下的其中一 员,早期国内一些.net书籍也都是一大堆拖控件的书籍,什么21天学会.net开发,.net开发宝典,早期还真心把他们当宝了,为什么呢,这也要说道 大学填鸭式的教育,和不符合实际开发的教学,造就我们当时学习完全属于异世界的学习般,教程序的老师本身都不怎么会写程序,哪懂得程序的编程思想,和符合 实际的开发方式,也就让我们这些想学开发的人,进入到自学的情况中去。开始时候真心不懂得如何去学,在选择书籍方面也都是尽可以简单便捷为主,(主要是那 些所谓“21天学会”这样的字眼对我们这种小白太诱人,抓住了我这种想速成的心理,同时也是我自己误认为只有真正的高手才能压缩庞大的学习内容,所以火急 火燎的去学习了,那句话:把书读薄,再把书读厚,认为写书的人事那个把书读薄的人。)实际真心该看的是微软的红皮书系列,那才是真正的学习,和一些业内开 发高手写的开发方法,和学习方向感悟才是需要去学习的,那是完整的知识储备和经验开发之谈,能让我们少走弯路,那群写什么21学会的就是拖控件学习,非程 序人员还好,见识一下就可以, 程序开发人员最好不要去看这类,只会误人子弟的书,不知写这些书的人真心只为赚钱写的垃圾书,市面上这种垃圾书籍还是处于大多数为主,难怪让人认 为.net都是拖控件的。
真正看过大量的书,看过学习方法,看过微软mvp他们的想法和思路,和传智播客老师的公开视频才知道自己 的学习方向错了,只会拖控件的垃圾,真正的商用开发他们都不用拖控件,也知道微软后面来了个mvc改变大家对拖控件的看法,回归到开发的本质,微软的初衷 是简单开发,但处理偏离了程序猿水平的提升和巩固,造就了这样的局面。
之后开始真正的开发,那些垃圾书让我了解一些控件的作用,和.net的内置对象,但在实际的开发中,这些东西的性能真心不好,服务器控件、viewstate、这些必须要优化,不然开发处理的东西真心很不好。
开始红皮书的学习节奏,了解c#.NET真正的知识体系架构,了解各方面技术orm反射、linq、工作流、wcf、webservice、 wpf,Silverlight、分布式......还有面向对象真正的在项目中的如何使用,学习微软mvp们的开发高级技术,学习李天平(动软代码生成 器开发者)他们这些资深开发人员写的以实际开发为方向,和学习项目路线、实际如何开发项目的书籍,获益良多、学习传智播客:杨中科、邹华栋、马伦等老师的课程才 真正算是学习了。
总结了自己的开发学习路线:垃圾书拖控件-》基础类型书籍-》红皮书+读博客+培训机构免费视频-》mvp博客+msdn白皮书+各种技术开发开 API文档-》自己针对实际开发的软件-》自己根据看的书籍技术类、方法、属性写出自己想要的功能,改造,封装成自己的模块,大量可复用代码,构造自己的 架构,快速开发框架,底层常用模块:支持多数据库切换,orm反射调用自定义封装方法,综合基类减少大量代码,开发多项开发接口,如 wcf+webervice对应数据传输方法、文件流操作方法,自定义反编译方法、底层调用操作控制操作系统、Http协议、TCP/IP协议、 soap协议,抓包,破解软件......
走了不少弯路,希望的学习路线:基础类型书籍-》红皮书+读博客+培训机构免费视频-》mvp博客+msdn白皮书+各种技术开发开API文档-》自己*发展规划
希望做到的
C# .net 开发方面
1、知道c#的体系架构和.net的学习路线,并以实践
2、采用面向对象开发思想、结合设计模式,设计出自己的开发模式
个人在实际中努力做到的:
实际开发经验:
1、在大学期间在开发公司兼职开发网站,有相应的成品网站
2、开发技术得到老师认可,提前参与高年级的答辩
3、技术检验,得到技术老师验证,技术类课程免修,可利用该时间研究其他技术和开发
4、独立开发自己的游戏网站并运用,盈利
5、先后开发过自己的各种软件,其中在2012年开发了现在流行的360wifi的无线热点建立功能的软件
这样的一些成就也是与自己的努力分不开的
当时,在校期间每天花大量的时间在学习代码,学习开发实例,白天经常到图书馆学习,晚上就自己开电脑敲代码,做练习,从死记硬背,有意识去向高效学习方向发展,去努力
先后去了baidu面试时,第二轮刷下来,看来水平依然要努力,去了南京军区内部面试,也被卡,先后呆过两家开发公司,和中国国旅,组自己的开发团队接外包项目.........
目前就职于一家中国500强的上市公司,担任研发开发工作,参与开发:**省消防巡检系统、国家示范工程项目食品溯源平台、西宁市城投项目......
附上最近开发的一项内容:实现点位定位、ip、经纬度定位、实时监控
定点实时监控
写了这么多,是为了告诫自己别骄傲,要努力,之前的付出还是都有回报的,要加油!
正能量
2014.10.17