前言:
对于计算机相关专业的人员,在3-4年的学生生涯,应该对编程都是有基础的。但是,能否堪用,其实是另一回事。要记住,多情的象牙塔和残酷的社会,他们之间距离不大,但有一道险壑!为了提前给你激情澎湃的莽撞降点温,还是这里废点话,给你提个醒:稳住!一切好的是幻想,一切不好的随时都可能撞你满怀。
我们可能都遇到过,在毕业之前,很多学生都很迷茫但也很好奇,那些炫酷复杂的商城网站、那些硕果累累的技术博客,要是我也想做出一个来,都需要学那些知识呀,下面,我就做一个简单的Javaweb项目所需的技术列出一个技术清单,仅限个人的经验,列举一些比较常见的技术或工具,希望对大家有帮助——这里假设你又一定的 Java 基础编程能力。
1.前端:
- 学会HTML的常用标签、元素、以及它们的属性。
- 学会CSS的基本语法、各种样式的使用,理解CSS的盒子模型、文档流,会用定位、浮动和清除等常见的知识点。
- 学会js的基础(变量、函数、数组、字符串等)、理解JavaScript的面向对象思想;会用一些常用的js库(如jQuery、bootstrap等);能用js写出一些常用的插件(轮播组件、选项卡等)。
- 能用HTML+CSS编写网页,实现基本的网页布局,能用JavaScript+CSS编写常用的动效,能用ajax实现和后台接口的数据交互。
- 会用Chrome做开发调试以及简单的性能调试。
2. 后台:
语言:Java Core、 spring 、SpringMVC/springboot、Mybatis、 JDBC 开发工具: eclipse / idea 调试工具:Chrome
- 了解Java起源和发展史以及语言特性,理解 jdk 和jre,学会配置Java开发环境。
- 学会Java基础,包括标识符、常量变量、关键字、标识符、数据类型、 运算符 、流程控制语句、数组、方法等。
- 理解Java面向对象的思想,理解类和对象的概念,理解面向对象的三大特性(封装、继承、多态),理解this和super的区别和使用,理解Java的接口、内部类、抽象类等。
- 会用一些常用的Java类(Object、String、Arrays、Math、Date、SystemDateFormate、Calendar以及一些包装类等)。
- 学会一些Java的高级特性,集合、多线程、IO等,还有反射的原理和使用。
- 学会至少一种Javaweb的开发框架(spring、springmvc、springboot等)
- 了解数据库JDBC,掌握基本的数据库操作和常规的sql语句等
- 学会使用eclipse或idea创建web项目以及常用的开发流程、还有一些快捷键的使用。
3. 数据库
数据库:Oracle/ MySQL 、 Redis /mongdb开发工具: Navicat 、Redis命令行
- 学会至少一种 关系型数据库 (Oracle、MySQL等),和一种非关系型数据库(Redis、mongdb等)
- 学会关系型数据库相关的理论和基础知识,学会非关系型数据的原理以及优势。
- 学会SQL的基本操作如数据库表、视图、索引的增删改查操作。
- 学会SQL的一些高级特性如锁、函数、触发器等。
- 会用Navicat等SQL客户端连接工具进行数据库的操作。
- 具备一些SQL性能优化的能力。
4. 版本控制:
git /svn/Cornerstone
- 理解版本控制的原理和应用场景,理解数据仓库中各个库的作用和使用方式。
- 熟悉git常用的操作命令(创建本地/远程分支、查看本地/远程分支、切换分支、提交版本、回滚、合并版本、拉取和推送分支等)。
5. 项目构建工具:
gradle/maven
这个就不多说了,项目开发必备的工具,至少得学会其中一种。
6. 运行环境:
Tomcat 、nginx
- 了解Tomcat的组成和运行原理,理解server.xml各个熟悉的配置
- 学会查看和分析Tomcat的项目运行日志
- 学会在Tomcat中部署Java项目
- 了解nginx的原理和作用,学会安装nginx
- 学会nginx的项目配置
7. 服务器环境:
Linux
- 了解Linux的基本原理和一些常用的命令
- 能在Linux是安装jdk、Tomcat、nginx等web程序必备的软件
- 学会一些服务器性能调优的命令
8.理解项目
当然,你可以不做项目管理,但你要能理解“项目”,把自己的工作任务项目化管理,同时不断强化自己对需求与分析、架构与设计、编码和迭代等的追求,以便更近一层。
好了,就写这么多了。希望对读者有些帮助。