本人主业是一名老师,副业是软件项目做单,主攻方向是虚拟仿真,科学计算,人工智能,授课内容为java web网站开发,在教学过程中也遇到了一些问题,对于初学者有一些建议,希望各位初学者有所得
1,成为java web全栈开发人员的话,需要对于全栈的所有知识结构进行了解
基础型:前端(html+css+javascript),后台(javabean,jsp,servlet),数据库(sql server/mariadb/mysql),服务器(Centos/windows server 2008+tomcat)
进阶型:前端(html5+css3+jquery),后台(servlet,反射机制,freemaker,jni/ejb),数据库(memcache/redis),服务器(nginx+tomcat),版本控制工具(SVN,github)
快速开发:前端(bootstrap),后台(Spring/Struts/Hibernate),数据库(数据库缓存技术,自动化管理),服务器(Centos,双机备份,动静分离,虚拟主机)
可提升手段:前端(自定义框架,vue/jquery的结构研究),后台(自定义框架,研究现有框架的结构),通过对每个相同功能的不同手段对比来获得提升
2,做项目主要是要动手,从最简单的一个功能入手,从一个到一个来进行
例如:做一个登录功能,先从网页入手,将前端做好,然后入手学习servlet完成前端到后端数据的传递,紧接着就是后台获取前台的数据并做出相应处理,最后给出返回消息,由前端负责接收
3,做项目要敢于推倒重做,在不断的重写过程中加深知识的理解和应用
第一个版本通常都是大量冗余代码堆积,大量无效代码存在,只要能够实现功能即可,第二版要勇于推倒重做,可以解决很多常见问题,通过一个系统要重新写四到五次才能够让你真正的入门。
4,要勤于思考,想通再动手,否则事半功倍
想通了再动手,前提是基础知识要扎实,至少要知道每个内容的功能是什么,不至于这个内容如何拼凑起来都不知道。
最后,给初学者两道小题目,想通了动动手,找找感觉。
题目一,使用java语言遍历文件夹下所有文件,获取文件列表
题目二,冒泡排序的实现