在华清的那些日子13年7月,和班上的一群同学,一张张火车票,万州到成都,我们来到了成都华清远见成都分中心,折腾了两天,购置了生活必备用品,熟悉了下周围的环境,为期4个月的培训开始了。第一阶段:10天,c语言基础补习。c语言是进入linux世界的第一要素。如果要做开发。华清培训第一个培训老师姓王,做了7年以上的软件开发,据他描述,android是他的强项,但是培训中心让他给我们一个班44个人做c语言的基础补习。持续时间10天。王老师很厉害,有一种能力,可以把复杂的知识点,讲解的很容易理解,接受。于是,从来到华清到快要毕业,他一直都是我们最喜欢的老师之一。他没有大牌老师的架子,当然,好像华清的老师们都没有,包括校长,这是职业教育的特点吧,不过话说职业教育学费还真的有些贵。抽烟,聊天,吹牛,教学,他总是和我们有共鸣,总之是很好很优秀的一位老师,十天中最重要的部分,是指针。如何强调其重要性都不过分。c语言之所以应用如此广泛,个人认为因为它能实现方便的软件开发,但是又能操作硬件底层,这或许就是我热爱c语言的原因之一吧!王老师让我们对指针不再害怕,这一点,大学几年确实蛮害怕指针的,就像百度一个帖子说写了几千行的程序,没敢用一个指针。以后还有王老师的事儿,下文再叙。c语言补习,就是一些最基本知识的复习,锻炼基础编程能力,语法,规则等,在学校我们有些基础的,听起来不是特别的困难,对于没有基础的,或者大学完全打酱油的,还是不会有太实质的帮助,因为c语言不是10天就能学习很好的。几天以后,由于招选老师的推荐,我成了班长,于是对班上的11个学校,44个同学(暂时),掌握情况比较了解。有些同学没有基础,想通过培训以后成为专家,或者能力很强的哪一种,在我看来,这是不太可能的。其中,有些同学在培训的中途就不能太跟上,于是转班重学去了。文章的最后,会有对“培训”是否有必要做出自己的看法。c语言的学习和实验,以及以后的开发,都是以linux系统为平台。gcc为编译器(其实gcc没那么简单)没有使用vc6.0类似的集成开发环境。从开始的源代码到最终被操作系统调度的整个过程需要单独了解。集成开发环境看似傻瓜易用,阻碍了对过程和原理的了解。ubuntu系统安装和搭建开发环境比较方便,开发和学习都是用虚拟机+ubuntu。后来毕业前的项目开发也都是在ubuntu下做的。Ubuntu不仅仅是一款优秀的操作系统,同时也是一种精神。第二阶段:9天,linux的使用和c语言利用基础数据结构做习题训练。老师是一个很帅气的小伙子,姓冯,比我大不了几岁,不抽烟,玩笑开的少,不过后来熟悉了,就放开些了,这个老师的特点,讲课有时候激动,会讲的比较快,我比较喜欢玩弄linux,而且本身也不是一个比较内向的人,所以喜欢问老师问题,有时候还会争论几句,在川大的食堂吃饭,经常能碰见他,不过有一点不太清楚,和他一起的那个妹子是不是他女朋友。也没问,把他弄害羞就不好了,冯老师讲课经验相对不是特别丰富,不过关于linux命令的东西,我个人认为也只能孰能生巧,班上同学稍微有点不太适应,因为linux命令和数据结构相对来说都比较枯燥,后来关于数据结构都没考试,老师们说怕考差了会影响我们的态度和继续学习的勇气。第二阶段的东西也是基础知识,数据结构都是大学课本里面的,不过因为c语言基础相对好了不少,大家都喜欢解决很多很多的c题目了,在我看来,我们有了不小的进步。第三阶段:高级编程,老师不是正式华清员工,是临时请来的,姓杨。第一天就给我们演示了一个移植到android手机上的gcc编译器,可以在手机上编程,有点意思,原理虽然不复杂,但是能做出来也不容易。高级编程的知识,设计文件操作,进程线程,进程通信原理,信号量信号灯机制,各种api的使用,老师经验丰富,讲课清晰易懂,不过知识容易学了就忘,到现在,我发现做好笔记是一件非常非常不容易的事情,在这些内容中,man手册的帮助非常大,因为一个api的使用或许都能记住,不过很多的api就必须借助手册了,man手册是非常有必要阅读的,如果是在linux下做开发的话。Api的使用总结起来就4个,参数,类型,返回值,功能。做项目的时候用到了这其中一些知识,就像老师们经常说的,再复杂的项目都是基础堆积起来的,不过需要更好的设计模式和组合方法。第四阶段:网络编程。这里不得不说特写下这个老师,目前,我最佩服的一个老师。姓潘,聪明绝顶是大家对他的评价,真实写照,确实,脑袋上头发比较少,这个老师的特点是,能力超越我们的想象,就好像没有他不会的一样。在他面前,我们都是小菜鸟,他的厉害在于最后内核移植,驱动编写内容,我表示好复杂,好复杂。。。不过,潘老师就觉得没什么难的,他的思想,来源于多年开发的经验,思想是他认为第一位的,我也同样认为,他理解问题的本质非常到位,是华清远见成都分中心的技术经理,金牌讲师。后面的项目也是他带的我们。网络编程,要结合网络协议知识,大学课本中的计算机网络知识有点小后悔没有掌握好,不过还年轻,至少知道要复习的方向了。老师非常负责,毫无保留的传授,不过有时候非常激动,因为他的问题我们回答不上,会不停的重复讲解。他是真正的高手,非常高的那种高手。敢在他面前说自己是高手的,实力应该非常牛才敢摆谱了吧。网络知识,在项目阶段的通信方面用到,结合上面介绍的线程和进程等知识,项目就是这么做出来的。第五阶段:c++/java基础知识学习,老师就是王老师,能让我们在6天之内掌握两门语言的基础语法和特性知识,这个能力确实有点厉害,轻松愉快,抽烟,吹牛,学习,一如既往的,他说应该可能不会教我们了,有点遗憾,老师离开的时候,我让同学们一起,以掌声欢送王老师,当然后面偶尔也会遇到王老师,对他的感觉就是轻松加愉快。不过6天的基础,到了后面,基本也就忘了不少,所以再一次强调笔记的重要性。老师们说c++是招聘需要,也可以扩展知识面,java是android开发必须的。第六阶段:android开发,一个女老师,姓杨,川大毕业的,android平台搭建,基础知识讲解,实例程序编写,引导了一部分同学,最后投入了android的世界(招聘的时候去找的android相关岗位),android做出的界面很漂亮,开发过程相对也不是特别复杂,可能是开发的都比较简单吧,不过因为java确实不熟,还是比较喜欢c,所以java学的不怎么样,最后,班上的大部分同学都独立的开发出来计算器,记事本,百度地图,不过百度上抄袭了很多代码。我认为能改造代码也是一种能力吧,虽然做的东东bug很多。不过我是单纯的抛异常,遇到错误就不处理,这样的思想,表示非常的不应该。第七阶段:arm处理器学习,汇编语言学习,系统移植,裸板驱动开发。老师姓袁,相对来说,袁老师讲课比较沉闷,老师是有丰富的开发经验,但讲课有点像大学老师,班上的学习气氛一下子变得比较差,处于负责的态度,我和几个同学找了校长,校长说让我们相互协调,我们同意了,因为巧合,没有先告诉班主任老师,后面有其他老师告诉我越权了,好吧,确实,我得承认错误,有私底下找袁老师聊过,我们的举动带给老师很大压力,对他说声抱歉,年轻不太能处理好有些事儿,谢谢老师们的体谅。希望袁老师也多多进步,能力高和教授知识有时候可能需要做一些整合吧。这个阶段学习的更多的是汇编语言,关于处理器都是寄存器控制,都是有自己系列不同的地方,arm和intel或者mips,利用汇编语言,直接控制硬件,没有操作系统的概念,这叫做裸机驱动,系统移植需要很多经验,我们能做的也只是按照老师给定的文档按照顺序做,体验内核移植的过程,具体还要看内核源代码和芯片手机等资料,一天两天是不太可能学的很好的。后来华清提供了补课,而且不仅仅是关于内核移植和arm,华清的态度,值得赞一个。第八阶段:linux驱动和内核移植。潘老师上的,到现在,我只能说我记得编写linux的大概流程和思想,linux的驱动编写分了层次和类别,框架的搭建是不太能够记得很熟,不过这些内核设计的牛人们其实已经给我们做了很多很多了,提供的借口,就是驱动程序所谓的框架,虚拟文件系统,在驱动的时候,理解的更深了一些,驱动是进入linux内核的大门,现在我同意这个观点。从main函数看源代码确实不是太好的选择,从应用层到底层的开发需要时间和经验,潘老师很厉害,而且说老实话的,因为确实有些细节我们不需要关心,linux对事物的抽象和接口的提供是一门艺术,艺术品当然也不会简单。潘老师的思想被他自己都强调了很多次了,确实,代码没有记住多少,架构和思想还有些印象,对于未来学习的方向,这个就够了!封装,用c实现面向对象,回调。很多好的思想,收益很大。第九阶段:项目开发,其实在网络编程的时候,老师有要求做一个聊天程序的,但是一天要听课,复习,做项目没有分组,只能一个人自己写一些简单的小代码。这个是真实的项目,项目有7个人,我是组长,老师先帮助我们分组,分模块,解说了项目开发的详细流程,但是因为第一次做稍微大的一个项目。确实,出现了很多的不规范,导致后面进行有了不小的阻碍,还好,最终,不规范也被我们做出来了,我作为项目组长,真实知道这个项目有哪些地方做的不错,哪些做的很不好,不过,因为时间关系,没有能够修改过来,只能当做经验和教训了。项目大概介绍下,实现android客服端或者浏览器发送命令。服务器接收命令控制本地硬件,比如摄像头,led等,风扇,串口等,还可以实现定位,短信发送,实时数据本地现实到lcd上和回发大android客服端上,我做的是服务器,现在印象最深的是,一定要像潘老师说的那样,先把设计流程设计好,再一步步实现,因为,重写服务器的经历确实很痛苦,花了我5个小时重写服务器!到现在的服务器,虽然能够运行,但是我知道里面其实还有很多问题的。项目有个辅导老师姓刘,老师耐心很好,乐于帮助,不过因为年轻,经验不太足,还需要多多加油,我相信刘老师能够成为很厉害和优秀的老师。这中间还穿插了补课的老师,有去过本校的朱老师,他的c功底和编程的技巧和算法的研究让我印象特别深刻!何老师,大哥,我们心中的大哥,话不多说,以后请你喝酒吃饭,逃不掉的!班主任模块,班主任,小女生一个,不过因为是老师的关系,她比较负责,不过班上同学都不怕她,年纪轻轻的就被叫做老李,还能说什么?班主任交给我的任务,我一般都是非常努力的去完成,因为借机也可以锻炼自己,我们的问题,她也会尽量帮助。关于班主任,祝你幸福,应该好像上次一起唱歌的那个帅哥哥是你男朋友吧!两个字:呵呵。就业老师模块:吴老师,第一次认识是在华清组织去三圣乡游玩,轻松加愉快。唱歌很好听的,有点小专业的哦,跑了几次招聘会,让我意识到就业的不容易,龚老师,霸气威武,模拟面试的时候,老师们一起说明我的优势,和我的不足,但是我很强势什么的。我只能弱弱的说,好吧!!就业老师们,希望你们能帮助我找到第一份还不错的工作。谢谢你们!室友们,同学们,4个月的日子,我们一起奋斗,我们有很多欢乐的时间,也有拼搏奋斗的时间。我们确实有进步,有成长,有你们一起,感觉真好!以后的路,我们会有不同,但我们会有更多的故事!华清远见的平板:好坑,那个啥,强烈建议以后取消这个平板,1800,就这个品质,我是非常非常的不愿意接受!不要坑下一届的学弟学妹们了。华清的陶校长:听老师们说,你比较小气,对同学来说,你应该是负责的,大方的吧,因为那个微波炉确实给我们带来了很多方便。如果你能让学费低点的话,那就好了。。华清培训的小总结:有专业知识和技巧的收获,有思路的开阔,有见识到很多的牛人,有不同的经历。如果学费便宜点的话,那就更好了,两个字:值得!关于培训的分析。参加培训,不代表有多差才需要培训,培训的本质是时间和金钱的对属关系,用金钱换取时间和经验,培训是不能培训出专家的,学习才能学出专家,基础知识在培训中占了非常大的一部分。培训是必须的吗,如果基础非常好,我认为不是必须的。如果想要急迫提示自己的基础和知识面,培训机构是一个好选择。工作是自己找的,培训机构只是做推荐和机会,我们自己的事情确实应该自己付出努力,不能说一定让它给你一个高工资的工作。培训机构的费用。两个字:高了。至少