Java:熟悉java技术,包括Java语言,熟悉java平台及基本API,了解java虚拟机工作原理、java源码中常用的数据结构及设计模式。能进行代码阅读及项目模块的编写。
IDE(idea):熟悉基本操作,能在上面进行熟练的开发。
数据库(opengauss、Mysql)、SQL语句:基本掌握,能进行正常的增、删、改、查,熟悉基于它们的j2ee开发。
开源框架spring,springBoot,mybatis执行流程,熟悉mybatis的关系与对象的映射及性能优化,熟悉spring的loC容器,利用spring中的AOP进行切面编程。并在项目中成功将它们整合,感受流行框架进行项目开发的优点和缺点。
服务器:熟悉在tomcat上的J2EE开发,熟悉tomcat的启动流程,能及时的发现问题并解决问题。
操作系统Linux/Unix等:基本了解,掌握linux上面的基本命令,
AJAX、CSs、HTML:掌握,参与过项目前台展示层设计。
其他语言:掌握C/C语言,从C转型到Java,了解其他动态语言,
其他java开源框架:能利用junit进行单元测试。自学能力较强,能快速掌握各种流行框架的使用,参与过java开源项目的讨论。
线上的教育系统架构设计需要考虑的几个方面:
性能:主要考虑访问频率,每个用户每天的访问次数。项目初始阶段用户的访问量并不大,如果考虑做运营推广,可能会迎来服务器访问量骤增,因此要考虑分布式部署,引入缓存
可扩展性:系统功能会随着用户量的增加以及多变的互联网用户需求不断地扩展,因此考虑到系统的可扩展性的要求需要使用微服务架构,引入消息中间件
高可用:系统一旦宕机,将会带来不可挽回的损失,因此必须做负载均衡,甚至是异地多活这类复杂的方案。如果数据丢失,修复将会非常麻烦,只能靠人工逐条修复,这个很难接受,因此需要考虑存储高可靠。我们需要考虑多种异常情况:机器故障、机房故障,针对机器故障,我们需要设计 MySQL 同机房主备方案;针对机房故障,我们需要设计 MySQL 跨机房同步方案。
安全性:系统的信息有一定的隐私性,例如用户的个人身份信息,不包含强隐私(例如玉照、情感)的信息,因此使用账号密码管理、数据库访问权限控制即可。
成本:视频类网站的主要成本在于服务器成本、流量成本、存储成本、流媒体研发成本,中小型公司可以考虑使用云服务器和云服务。
技术栈:
springBoot MybatisPlus Redis等
其中用到了nigx以及nacos
在线教育顾名思义,是以网络为介质的教学方式,通过网络,学员与教师即使相隔万里也可以开展教学活动;此外,借助网络课件,学员还可以随时随地进行学习,真正打破了时间和空间的限制,对于工作繁忙,学习时间不固定的职场人而言网络远程教育是最方便不过的学习方式。
众筹系统,这个在网络上不断被搜索的热门词汇,从最初的陌生到熟悉,到现在不断被更新,出现各种不同的众筹模式,不得不承认众筹系统的出现,是对传统行业的一种冲击,对传统金融模式的一种冲击,同时对于年轻的一代而言,这也是一个契机、一个机遇、一个开创自己事业的平台,正是因为这些利好,让更多