接触博客园有大半年了,今天觉得有必要开通一个自己的博客。
最近工作还算稳定了,闲暇之余,谈谈自己过去的两年!
我接触编程也不过才两年。2014年高考结束,拿到成绩那一刻,我没有任何感触,因为一切都在意料之中!差两分二本,嗯,考不好是在我意料之中,可考这么差却是我意料之外的。三年来过着按部就班,没有目标,没有奋斗的生活,靠着自己愚蠢的天赋,在高考这场战争中尽量让自己败得不那么难堪!不可否认,最后还是很难堪!但这是在别人看来,在我眼中,这次失败无关痛痒!毕竟还是了解自己的实力,可是没办法,别人的眼光,别人的思想我也没法控制!
后来填报志愿的时候,很随便,填了个专科院校,学汽车技术的!后来,一位朋友在联系学软件编程的,我一想,这个好像是个不错的选择,一是我对电脑程序比较感兴趣,以前读书的时候尝试过自学,但当时太忙,连编程的们都没入就放弃了,二来我觉得自己本身就适合编程,思维灵活,逻辑清晰!所以大学通知书我都没看几眼,写的什么我也忘记了,毫不犹豫的放弃了上大学的机会,开始了编程的学习之路。
接触的第一门编程语言是Java,当时对编程是毫无概念的,不过在老师的帮助下,开发工具,开发环境都弄好了,然后有基本教材(我想这大概就是老师唯一的作用了)。大概记得写的第一句代码:
1 System.out.println("Hello World!");//向控制台打印一串字符
可能当时连控制台是什么都不知道,过了几天,还是在这控制台学习!这和我想像的编程太不一样了,有点失望!后来,学习了if,swicth,while,for等流程控制语句,发现能做的事还是挺多的!过了大概一个月,Java基本知识学了,可能是基础的缘故,学起来毫无压力,但是学完过后会些什么呢?好像当时就学会了在控制台打印倒三角,菱形图案,做些什么人机猜拳的游戏之类的!不过好歹也有点点编程基础了!
接下来又去学习同样是面向对象的语言C#,这个一下就带劲了!为什么呢?首先,Visual studio这个工具竟然是中文的,这就方便多了,其次C#学习是从窗体开始的,这给人的感觉就比较高大上了!由于在Java学习上已经了解了基本的数据类型,流程控制语句等,C#也类似,所以有些东西学期来就比较快,主要就学习窗体的一些控件的使用,还是非常简单,学习起来依旧没有压力!俗话说,没有压力就没用动力,所以自然我也就没有动力了!管他的,反正靠自己的天赋还能应付得了,该玩还是玩。
C#窗体学完了过后,又开始学习数据库,当然就是SQL Server喽。Sql语句只需要学习增删改查,建库建表都用数据库引擎来做,所以也没什么难度!
后来又开始学HTML5/CSS3,标签靠背吧,刚开始接触,可能对于一般人来说table、tr、td、li、ol、ul的使用要花点功夫,但是这自然难不倒我!秒懂,还是没什么难度!选择器也很简单。"."对应class,"#"对应id,然后背一些常用的样式就行了!我记得当时学完这些,老师让我们模仿一个购物网站,写一个静态页面,我做出来简直和原版没什么区别!还是有点自豪的!
以上这些,大概就是编程的基础了!前面我为什么说老师的作用大概就只是给你一本教材,装装开发工具,搭建开发环境!因为前面学得这些,基本在老师还没讲的时候,我自学都已经会了!
学完这些,大概用了半年时间!我依然没有感觉到编程有什么难度,当然,这点皮毛什么也做不了!后来又出现了一些陌生的名词:jQuery、JavaScript、JSP、Servlet、ODBC,挺多的,听说学了这些就可以开发动态网站了!由于前面学的这么简单,所以我也没怎么重视,后来发现,这JSP、JavaScript、jQuery还有点难度呀。一下子没反应过来,半年又过去了,这三种技术也学得模模糊糊,不清不楚的!然后我逐渐意识到,自己的天赋已经不够用了,还是得踏踏实实的学习。
由于自己的大意,JSP学得太差,所以我只好放弃Java,选择专修C#!并且深刻意识到,编程的道路还很长,学习的都仅仅只是皮毛!于是,对于C#方面的学习,我的态度就要好很多了!首先接触到C#开发动态网站的技术ASP.NET,没错,和JSP类似,用来开发动态网站,基于控件技术,开发起来十分方便!当然,这门技术局限性很多!后来又学习了ASP.NET MVC框架!是目前比较流行的框架,视图、模型、控制器分离!这两样技术都是需要掌握的基本技术,当然这种基本技术我怎么可能再次落下!而且在学习这些之余,还把JavaScript补了起来!这两样技术等于是我从新开始学习编程,也认真的学了!
当然,我很清楚,光靠这些基础知识,也没法找到一份好工作!于是我开始了我的自学之路!开始接触C#高级的一些技术,比如泛型、委托、索引器、lambda表达式、Linq等,这些学起来还是比较费劲,好在我脑子比较好用,也很快掌握!后来了解到Ajax、Json、XML、BootStrap等技术也是比较主流必备的,我都在网上自学!为了扩展知识,我又去学习了一些框架,如Entity Framework、Spring.Net等,还学了设计模式,比如单例模式、简单工厂、抽象工厂等,后来又自学了数据结构,队列、堆、栈、树等,虽然学得不是很精,不过大概也能理解。那段时间我电脑浏览器的书签大概就是传智博客、麦子学院、极客学院、慕课网、BootStrap中文网等学习网站!
大概花了一年半的时间,我掌握了C#包括泛型、委托、Linq等高级语法,Sql Server存储过程、视图、内置函数等的使用,EF、Spring.Net、BootStrap、Jquery等框架的使用,Ajax、XML、Json、WebServiec等Web技术,当然还有基本的HTML5、CSS3、JavaScript等!自然而然的将这些技术写上去!在学习期间,也和小伙伴们做过几个项目,一个论坛网站、一个电影网站,也都还算成功,简历上自然也不会空缺,唯独缺少的就是工作经验!
由于简历写得好(当然实力还是有的),所以很多面试通知!我面试的第二家公司就成功了,整个找工作的时间不超过1周,还是比较顺利的!朝九晚五,双休,该有的福利还是有!并且工资不低!到如今,大概工作了四五个月了,转正也一个多月了,公司里的一切任务我还是基本能完成!
经过这几个月的工作,我更加意识到这只是个开始!未来的路还很长!还需要更多的付出!
PS:开通博客,其实为了分享和记录自学Unity 3D的道路!因为,自己对游戏更敢兴趣,所以准备将来有机会从ASP.NET转行做游戏开发!当然,我明白这不是件容易的事,可是总得去尝试一下吧!
年轻没有失败
——致20岁的自己