5

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

http://segmentfault.com/a/1190000002978095

http://segmentfault.com/a/1190000003694736

技术学习无非就是学一点,用一点,如此反复而已,不是看一点教程照着做些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协议传输

实践网页最佳性能加载


全栈工程
1.6k 声望117 粉丝

阿里前端招人,欢迎骚扰