相关分享
简化Java单元测试数据
冗杂繁复的数据初始化代码会影响单元测试本身的代码质量,造成单元测试编写成本高、易读性差、易维护性低等问题。
使用 Docker 和 Node 搭建公式渲染服务(后篇)
前面两篇内容,我们聊过了如何在尽可能不写代码的情况下,完成一个可用的公式渲染接口,本篇我们深入的聊一下如何调整设计,让服务更可靠,性能更好。
使用 Docker 和 Node 搭建公式渲染服务(中篇)
在前篇文章[《使用 Docker 和 Node 搭建公式渲染服务(前篇)》]中,我们已经使用 Nginx 和开源软件 Math-API 搭建了一个基础的公式渲染服务。虽然在测试中可以正常工作,但是存在高并发的情况下服务压力过大,会导致预期之外的事情发生。本篇文章,我们就接着上篇文章内容,在尽可能“不编码”的情况下,继续进行性能调优工作。
使用 Docker 和 Node 搭建公式渲染服务(前篇)
在网页中渲染公式一直是泛学术工具绕不开的一个功能,最近更新产品功能,正巧遇到了这个需求,于是使用容器方式简单实现了一个相对靠谱的公式渲染服务。分享出来,希望能够帮到有类似需求的同学。
前端 Node.js SSR 部署猜想
今天早上看前端早读课推送了一篇【前端 SSR 的落地实践】,我又读了几篇关联的文章,于是想把自己的一些假想总结下来。
首先声明,我确实没有生产级 Node.js SSR 经验,只是魔改过一些前端项目在测试环境跑起来,并采集过一些数据而已,这里写的所有的纯粹是“猜想”,并且我没有实际应用过 ELB 、SLB 、NLB 这些,所以大家看看就行了。
vscode-loader 解析之(node 环境)
VsCode 源码使用 vscode-loader 加载模块(异步模块定义 (AMD) 加载器的一种实现);vscode-loader 支持在浏览器以及 node 中使用,在两种环境的使用方式基本一致。 本文是对其在浏览器环境运行进行分析。前面,我们已经分析过浏览器环境的模块加载,接下来看 node 环境的模块加载。
vscode-loader 解析之(node 环境)
VsCode 源码使用 vscode-loader 加载模块(异步模块定义 (AMD) 加载器的一种实现);vscode-loader 支持在浏览器以及 node 中使用,在两种环境的使用方式基本一致。 本文是对其在浏览器环境运行进行分析。前面,我们已经分析过浏览器环境的模块加载,接下来看 node 环境的模块加载。
15个常见的Node.js面试问题及答案
帮助 Node.js 开发人员更好的面试,我列出了 15 个常见的 Node.js 和网络开发相关的面试问题。
如何加快 Node.js 应用的启动速度
我们平时在开发部署 Node.js 应用的过程中,对于应用进程启动的耗时很少有人会关注,大多数的应用 5 分钟左右就可以启动完成,这个过程中会涉及到和集团很多系统的交互,这个耗时看起来也没有什么问题。
目前,集团 Serverless 大潮已至,Node.js serverless-runtime 作为前端新研发模式的基石,也发展的如火如荼。Serverless 的优势在于弹性、高效、经济,如果我们的 Node.js FaaS 还像应用一样,一次部署耗时在分钟级,无法快速、有效地响应请求,甚至在脉冲请求时引发资源雪崩,那么一切的优势都将变成灾难。
所有提供 Node.js FaaS 能力的平台,都在绞尽脑汁的把冷/热启动的时间缩短,这里面除了在流程、资源分配等底层基建的优化外,作为其中提供服务的关键一环 —— Node.js 函数,本身也应该参与到这场时间攻坚战中。
Faas平台从接到请求到启动业务容器并能够响应请求的这个时间必须足够短,当前的总目标是 500ms,那么分解到函数运行时的目标是 100ms。这 100ms 包括了 Node.js 运行时、函数运行时、函数框架启动到能够响应请求的时间。巧的是,人类反应速度的极限目前科学界公认为 100ms。
Go: 基于 apitest 做handler层单元测试
原先使用 postman + newman 的方式做的 API 功能测试,这种方式不完全是API层的单元测试, 预先配置好数据库/初始化好数据后, 直接通过API调用, 判定响应值是介于单元测试 + 集成测试 之间的一种测试, 但是既不是完备的单元测试, 也不是完整的集成测试。
好处:
1、简单方便, 在本地开发调试API时, 就能将调试请求直接转为测试用例。
缺点:
1、难以维护: 更新API/增加API时, 未实时同步更新测试用例;
2、变更上层协议时, 例如middleware, 所有case需要改违背Isolate原则: 无法独立, 每个case运行时, 前面执行的数据会影响后面执行的数据;
3、每个case都需要考虑规避之前case的数据影响缺乏完备性: 一个API一般只构造一个失败, 一个成功两个Case。
