通过学习、应用nodejs推动了公司的前后端分离,写了几篇分享,有网友反馈说这个技术栈拉的长了,如何去学习。
技术学习无非就是学一点,用一点,如此反复而已,不是看一点教程照着做些demo就可以的,何况很多新技术的教程demo都是彼此复制的。
技术要学以致用,就是需要应用到实际项目才能融会贯通,但公司项目往往不能满足学习实践的要求,这也是面试者常用会抱怨平台不足的问题,大部分人都会遇到这种情况,其实平台永远都不足的,需要自己去想办法解决。可以模拟一个较实际的项目,将技术加以应用,提供有说服力的数据,分析其优劣,再向公司推广,这样才是可持续的、互利的,我就是这样在项目中推进了前后端分离实践,部分系统全部用nodejs+mongodb来完成。
前端做了四年半了,在思考进一步完善技术栈,近来又总结了些技术,准备把我的站点<www.upopen.cn> 重构下,尽量运用所学技术,如若效果不错,再运用到公司项目里。
站点规划如下:
功能:
用户注册、登录、管理文章分类、发布、编辑、静态化、评论后台管理...客户端:
PC端微信端 - 新增会员绑定APP端 - react native,涵盖 IOS / android整体采用前后端分离形式:
接收、分析客户端请求的前端服务操作数据库的后端服务后端也是用nodejs实现,这样分离是为了项目中的实际应用。预计会用到的技术点:
开发系统:ubuntu
静态服务器:nginx数据库:mongodb缓存服务器:redis版本控制器:git开发语言:nodejs页面端:
组件开发:react.js模块加载:webpack响应式:bootstrap编辑器:markdown服务端:
http框架:express模块引擎:ejs调用工具:inspector日志:log4js邮件:node-mailer实时通讯:socket.io单元测试:should.js - 断言模块supertest - HTTP测试mocha - 测试插件istanbul - 覆盖率karma - 自动化
语法检测:jshint
代码压缩:uglify项目构建:gulp项目监听:node-dev进程守护:pm2...安全机制:防止 XSS / CSRF攻击,做数据加密,用户信息用https协议传输
实践网页最佳性能加载