FreeWheel前后端分离改造实践[转载]

在现代前端应用的工程实践中,前后端分离的架构会为两端带来更多的灵活性,已成为主流趋势。与之相对的,传统的单体Web应用(Monolithic Web Application)则将前后端代码放在一起,虽然耦合性较强,但在产品研发的特定阶段仍具有较强的优势,早期的ASP.NET、Java Spring MVC,以及Ruby On Rails都是单体应用的代表性框架。

本文将以FreeWheel从单体应用改造为前后端分离的实践为例,着重介绍其间前端所遇到的挑战和解决方案。

相较消费者,商业用户对前端应用的需求更具复杂性,且更强调质量。FreeWheel深耕企业级的视频广告领域10年,其基于Ruby On Rails框架为广告主打造的Web管理应用已经历多轮迭代和演进,目前已达到20多个产品模块,1200+页面,代码量已达到143.5万行代码,其中包含39万行基于jQuery的传统JS代码。为保证其质量,其中包含了20.2万行单元测试代码,除此以外,还有独立的近2万个自动化测试脚本。在两年前,我们感受到了单体应用的局限性,并决定将其改造成为前后端分离的架构。

继续阅读“FreeWheel前后端分离改造实践[转载]”

B2C网站中的Responsive Design

这是前年在(前)公司内部做过的一次技术分享的PPT。直到今天才想起贴到博客上,实属惭愧。

PPT只是提纲,当时讲到的一些细节内容,以及这一年以来的一些新的想法,希望最近能有时间更新到本文中。

 

Mac安装npm包权限问题

在Mac上执行yeoman命令时,yeoman会自动调用npm install,安装过程中报错:

这时出于习惯直接用sudo来执行yeoman,结果还是一样的:

看来yeoman调用npm install时没有带上sudo。

解决方案简单粗暴,修改全局npm包目录的权限:

参考资料:https://ar.al/scribbles/npm-install-g-please-try-running-this-command-again-as-root-administrator/