放飞**的沃土
jqoker / blog Goto Github PK
View Code? Open in Web Editor NEW放飞**的沃土
放飞**的沃土
前端处理:使用canvas手动绘制,这种情况依赖前端处理能力、移动设备性能。另外还需要考虑canvas兼容性问题,不支持某些特性或完全不支持。比如微信小程序中的canvas只提供部分特性
服务端处理:使用puppeteer工具(截图功能),在服务端生成图片返回给前端。基本原理是前端通过接口方式和服务端交互,触发服务端执行截图功能。图片上面的动态数据,前端通过接口上传,另外考虑扩展性,每个动态图片均对应一个模板文件(html)。在上传时制定模板ID来限定具体模板。之后使用puppeteer工具进行截图,并将截图下发至前端
另外针对不常变更的图片可以充分利用缓存机制。另外可以一张图片可以分为高频、低频部分。低频部分可以提前截取快照,高频部分动态生成。之后再将高频、低频部分拼接成整张图片
服务端处理对机器有一定要求:由于puppeteer截图比较耗费内存和cpu,建议服务器内存配置8G以上,cpu 4核以上,并且开启node多核
V4版本之前,使用静态路由配置方式,之后版本,移除了静态路由配置概念,使用动态路由。具体原因可查看backstory
静态路由:预先配置好路由结构(比如express,angular,spring等框架中的路由,均为渲染前定义好路由规则,体现出集中管理的概念。
动态路由:路由规则不先定义,在渲染的时候才定义,这样一来react-router中的部件均为react组件,使用简单方便,可以在应用内任何需要路由的地方定义路由,就像插入一个react组件一样简单。体现出权责分散的概念。
感悟:权责分散意味着整体上的把控是有所欠缺的,而集中管理有缺乏灵活性
解决方案并不是将两者之一去除,而是将两者的优点糅合在一起。通过react-router-config模块将静态路由配置在需要的地方通过renderRoutes方法生成相应路由组件即可。这样就既能知整体又知局部。
备注:renderRoutes 方法负责根据路由配置生成路由组件,并添加额外的属性而已
vt. 减少; 缩小; 使还原; 使变弱;
vi. 减少; 节食; 蒸发; (液体) 浓缩变稠;
关键点: 减少,浓缩变稠
1、减少顾名思义由多到少。
2、浓缩变稠:由弱变强。
隐含意义:具有记忆力
函数的定义:给定一个数集A,假设其中的元素为x。现对A中的元素x施加对应法则f,记作f(x),得到另一数集B。假设B中的元素为y。则y与x之间的等量关系可以用y=f(x)表示。我们把这个关系式就叫函数关系式,简称函数。函数概念含有三个要素:定义域A、值域C和对应法则f。其中核心是对应法则f,它是函数关系的本质特征。可以简单地理解为函数为一中对应法则,给定一个x输出一个y。
在数学和计算机科学中,高阶函数是至少满足下列一个条件的函数:
1、接受一个或多个函数作为输入
2、输出一个函数
也就是说,高阶函数是一种增强的表现。
设定:f(X) = 2 * X^2 + 1
我们可以假定: g(X) = X + 1,h(X) = 2 * X^2
因此,f(X) = g(h(X))
功能分隔聚集,将功能按模块分隔,用时再组合在一起。有管道之意。
插件不能单独运行,必须依赖于主体;而主体可独立运行
主体职责为:提供服务(一般通过API方式),提供插件加载机制,交互能力
插件职责为:利用主体提供的服务,扩展主体行为
中间件就像工厂流水线中的某个具体环节,赋予具体环节特定功能。
首先要明白,"中间件"的"中间"是指哪两端的中间。这两端中间的事务功能是什么。
图表相关
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.