全栈开发技术栈---项目实践一

经过学习、应用nodejs推进了公司的先后端分离,写了几篇分享,有网友反馈说这个技术栈拉的长了,如何去学习。前端

http://segmentfault.com/a/1190000002978095node

http://segmentfault.com/a/1190000003694736react

技术学习无非就是学一点,用一点,如此反复而已,不是看一点教程照着作些demo就能够的,况且不少新技术的教程demo都是彼此复制的。android

技术要学以至用,就是须要应用到实际项目才能融会贯通,但公司项目每每不能知足学习实践的要求,这也是面试者经常使用会抱怨平台不足的问题,大部分人都会遇到这种状况,其实平台永远都不足的,须要本身去想办法解决。能够模拟一个较实际的项目,将技术加以应用,提供有说服力的数据,分析其优劣,再向公司推广,这样才是可持续的、互利的,我就是这样在项目中推动了先后端分离实践,部分系统所有用nodejs+mongodb来完成。webpack

前端作了四年半了,在思考进一步完善技术栈,近来又总结了些技术,准备把个人站点<www.upopen.cn> 重构下,尽可能运用所学技术,如若效果不错,再运用到公司项目里。nginx


站点规划以下:git

功能:
用户注册、登陆、管理
文章分类、发布、编辑、静态化、评论
后台管理
...web

客户端:
PC端
微信端 - 新增会员绑定
APP端 - react native,涵盖 IOS / android面试

总体采用先后端分离形式:
接收、分析客户端请求的前端服务
操做数据库的后端服务
后端也是用nodejs实现,这样分离是为了项目中的实际应用。redis

预计会用到的技术点:

开发系统: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协议传输

实践网页最佳性能加载

相关文章
相关标签/搜索