暑假作业
1.我认为比较算事的事
由于事先了解了Java的性格特征,觉得这是一门多用多练才能出奇迹的语言,其中内置了多种方便的逻辑结构和方法,只需要开发者需要什么查什么就好了,所以我就想用个简单的项目练练手,一边练一边学,慢慢的就掌握常用的东西了。
那么从什么开始呢?我就想起了我从大一上就留下的坑:网络编程,当时觉得C语言很底层,用C语言掌握了一些体系之后,以后即使转战其他的语言也能从底层去理解,可是当我学完所有基本操作之后,留下了高级部分的线程和网络编程没有学就开学了,那之后就没有时间去学这一部分,现在C语言学的差不多了,学校也不考了,想想即将开始在校学习Java,就想着不如用Java来填上这个坑,毕竟天下语言是一家嘛?
刚好老师给推介了一套现在正在兴起的一套体系:JavaFX,那更好了,试试再结合GUI,做个点点点的全平台局域网聊天平台
Java本身的文档是一应俱全,关于线程和网络编程的资料有官方文档也有别人的博文,于是很快就写了一个不超过200行的客户端和不超过300行的服务器端,可以点对点的互相发送字符串,中间并没有多费力
但是当我试着结合命令行版本做一个GUI版本的时候,可谓是麻烦不断,JavaFX不愧是刚出的体系,网上的教程很少,幸好老师给了一个Demo,我本人是有点烦看Demo的,毕竟空白的新人会觉得太长,而且有些本身可以很灵活的东西,可能从Demo学过来就成了死的,但是没办法,资料少,所以我费了很久去研究其中能灵活改变的部分,我同时也通过IDE的补全去尝试一些本身Demo里没有的函数。尤其是刚开始的时候,对JavaFX的控制器体系一无所知,看Demo都看的一脸懵逼,万幸我从哔哩哔哩中竟然淘到JavaFX的教程!虽然是英文版,而且没字幕,但是幸好视频里的人口音还算标准(记得是有点印度腔?)再加上代码能跨越国际的魅力,我还是能从视频中学到不少,跌跌撞撞的开了这个坑。
最终还是勉强完成了,写完后,从整体感觉上而言,感觉是一边想一边写的垃圾代码,封装无力,而且很多地方容易出Bug,不过,最后还是走完了一遍GUI开发的流程,以后懂了整个的框架,动手前就不会太迷茫,就可以列个大纲,下个作品肯定就没这么慢且多Bug了。
多线程果然是个大甜瓜,尝过之后再也不想放弃了,又快又好,适当的在线性结构中穿插一点绝对对效率有非常大的提升,同时我还发现,JavaFX的开发过程非常像Android开发过程(互相效仿?),完成了这个小Demo后感觉自己对Android开发的框架又多了一点点理解(毕竟Android开发自带一大堆文件)原来刚学的时候觉得工程里面自带的文件太多了,就感觉好难,现在通过和JavaFX的对比,JavaFX的自带工程文件很少,很干净,学着感觉很舒服。
2.下学期的计划
1.上个学期的简单总结
先说说我最大的遗憾:活动没怎么好好参加,数学也没来的及补上因为参加活动落下的部分,两头空
收获:接收到了我人生中第一个Project,好兴奋!托项目的福,学了JSP
2.下学期课程及特点
目前了解的就是Java,其他的课还是门外汉的状态,是走一步看一步,认真学习吧
对于Java,我已经学完了所有的语法和关键字,在老师教授的时候我会把精力放在其中虚拟机机制以及其他一些理论性的知识点上,同时将会积极完成作业,多动手积累常用逻辑。
3.是不是SMART的
嗯。。怎么说呢,我一直是觉得如果有什么东西可以改变世界,就是代码,所以,我会用所有激情去探索,去研究。
3.证明会用Git
emm。。平常也没怎么截图,临时放个log摸个鱼?
4.证明Java
GitHub链接:https://github.com/dongmingchao/fresh-chatroom