暑期项目问题记录与总结
背景介绍
前两天实验室组会带领小团队一起分享了暑期三个项目遇到了问题以及解决问题的思路,虽然自己记了笔记,还是在这里记录一下思路,给自己或者看到的同学提供经验的参考。
小程序项目
微信小程序项目 由 微信小程序前端 wxml、wxss 与 js 以及 后台 node.js + MongoDB 构成。 我主要负责 后台 node.js + MongoDB 以及 小程序项目的管理,测试,审核递交及版本更新等工作。
小程序后端和管理技术难点:
- 1.登录用户的信息的 获取 和 存储,解决问题方法:使用 session 表,以及 用户表字段选取与确定。
- 2.node 后端接口遇到的 复杂异步问题,解决问题方法:使用回调以及 ES6语法 里箭头函数及其他新特性等(博客,官方文档,其他开源项目源码)
- 3.MongoDB 复杂查询出错,多表连接查询中部分关键词报错,解决问题方法:官方文档中关键词 (例如:lookup 关键词适用于 mongodb 3.2.4) 博客解决思路。
- 4.小程序项目的在线开发,云服务器端配置以及 https安全机制 和 域名接口,解决难题方法:小程序上线及运维文档,nginx 服务器 映射 + pm2部署 https安全证书。
小程序项目更多的是解决 bug 和 优化用户体验。
设备管理系统
设备管理系统 是前后端分离开发的第一次尝试,前端使用 Vue.js + vuex +vue-router+element-ui + webpack + mock.js 单页应用开发模式,后台 是 使用 java 类SSH结构 + mongodb 数据库 ,与小程序共用一套数据库。主要负责vue开发的管理(解决vue开发过程中遇到的关键问题) 和 前后端 协调和 项目部署上线。
设备管理系统技术难点:
- 1.前后端分离机制应用 解决方法:mock.js 方案 + webpack 打包开发环境 在线调试 调试端口与 后台端口分离,webpack 代理解决跨域问题。
- 2.项目开发中 开发环境 与 生产环境 的分离与连接:在生产环境中单页应用文件只作为资源文件 ,只需要部署在服务器的指定位置,内部的跳转是由编译打包好的有vue-router构成的js实现,所以也可部署在 tomcat上。
- 3.公网数据库安全,mongodb数据库遭遇端口扫描:小程序数据数据被恶意删除。解决问题方法:恢复备份,以 认证模式启动数据库authentication ,管理员权限 与 数据库操作权限分离开。(论数据备份的重要性)
设备管理系统中遇到的问题很多是对 webpack 使用不熟练造成的,另外还牵扯到很多计算机网络的东西,所以基础真的很重要,包括 javascript 基础。
实验室网站项目
实验室网站 是 由实验室主页 + 实验室数据管理系统构成,技术方案选择稳定的 bootstrap+ jquery + SSH + mysql ,实验室主页编码形式更加规范,一部分适配移动端样式。
实验室网站技术难点:
- 1.实验室网站项目管理推进程序:以 规划 ->执行 -> 检查 -> 调整 (PDCA)的模式 推进项目 (更典型,需要调整的地方更多,涉及到搜集资料的地方也很多。)
- 2.数据比页面更重要,数据与页面分离 解决方案:管理系统存在的意义,管理数据与 数据呈现分离。(数据管理更快速便捷)
- 3.学术气息:实验室网站与互联网展示平台的区别 在于更严谨和稳定以及专业。解决方案:实验室博士指导,拆分解析“甲方”要求到功能实现,借鉴国外更专业系统的网站呈现形式。
实验室网站以及管理系统是一套类似新闻发布和新闻管理和展示的系统,所以数据管理比较重要。
总结之外
平台很重要,自己也很重要。能利用平台做一些尝试,积累一些经验,无论怎么说,都算是一段不错的体验。就像在实验室组会上说的,做学术需要积累论文累加影响因子,而我们将来要做工程做技术呢,需要累积什么呢?除了在会上说的,积累经验,积累解决问题的方法外,还有不断学习,不断总结,等到了一定程度,自然会有体现自己能力和水平的地方,也能够有自己的影响力。长路漫漫,自己走啊!
评论