随笔- 443
文章- 77
评论- 996
阅读-
105万
随笔分类 - Node.js躬行记
Node.js躬行记(29)——基于Electron的开播助手
摘要:公司其中一个主营业务是直播,目前主播直播会使用客户端开播,客户端中的用户有观众和主播两种身份。 但客户端开播并不方便,例如音质没有 PC 的好,手机长时间直播发热,模拟器操作没有 PC 方便等。 经过讨论,让我们组基于能跨平台的 Electron 开发 PC 客户端版本的开播助手,购买的第三方声网服
阅读全文
Node.js躬行记(28)——Cypress自动化测试实践
摘要:最近在研究如何提升项目质量,提炼了许多个用于自测的测试用例,但是每次修改后,都手工测试,成本太高,于是就想到了自动化测试。 在一年前已将 Cypress 集成到管理后台的项目中,不过没有投入到实践中。今天在实践时发现,版本已经到了 12.X,当时集成的版本是 8.X。 一、准备 在重新安装后,将之前
阅读全文
Node.js躬行记(27)——接口管理
摘要:在页面发生线上问题时,你要做的事情就是去查接口,响应数据是否正确,查接口的方法有两种: 第一种是在浏览器中打开地址,但是你必须得知道详细的 URL,并且有些页面还需要附带参数。 第二种是打开编辑器,启动本地项目,然后查看访问的接口,或者直接搜索代码,找到接口。 无论哪种方式,都会消耗点时间成本,并且
阅读全文
Node.js躬行记(26)——接口拦截和页面回放实验
摘要:最近在研究 Web自动化测试,之前做了些实践,但效果并不理想。 对于 QA 来说,公司的网页交互并不多,用手点点也能满足。对于前端来说,如果要做成自动化,就得维护一堆的脚本。 当然,这些脚本也可以 QA 来维护,但前提是得让他们觉得做这件事的 ROI 很高,依目前的情况看,好像不高。 所以在想,做一
阅读全文
Node.js躬行记(25)——Web自动化测试
摘要:网页在提测流转给 QA 后,如何能帮他们更有效而准确的完成测试,是我一直在思考的一个问题。 QA 他们会对网页编写测试用例,在提测之前会让我们将优先级最高的用例跑通,这在一定程度上能够避免频繁的返工,保证测试的顺畅。 自己之前想过做 UI 的单元测试,一有修改就跑一遍用例,但是维护成本太高,并且每次
阅读全文
Node.js躬行记(24)——低代码
摘要:低代码开发平台(LCDP)是无需编码(0代码)或通过少量代码就可以快速生成应用程序的开发平台。让具有不同经验水平的开发人员可以通过图形化的用户界面,通过拖拽组件和模型驱动的逻辑来创建网页和移动应用程序。 低代码的核心是呈现、交互和扩展,其中呈现和交互需要借助自行研发的渲染引擎实现。而此处的扩展特指物
阅读全文
Node.js躬行记(23)——Worker threads
摘要:Node.js 官方提供了 Cluster 和 Child process 创建子进程,通过 Worker threads 模块创建子线程。但前者无法共享内存,通信必须使用 JSON 格式,有一定的局限性和性能问题。后者更轻量,并且可以共享内存,通过传输 ArrayBuffer 实例或共享 Shar
阅读全文
Node.js躬行记(22)——Node环境升级日志
摘要:公司之前所有的 Node 项目,其环境都是 8.9.4 版本,发布于 2018 年的一个比较古老的版本。 老版本有两个比较明显的问题: Node 高版本的特性和方法都无法使用。 有些第三方新版本的包无法安装和升级,该包可能依赖比较高的 Node 版本。 之前在开发项目时就遇到第三方包自身的问题,必须
阅读全文
Node.js躬行记(21)——花10分钟入门Node.js
摘要:Node.js 不是一门语言,而是一个基于 V8 引擎的运行时环境,下图是一张架构图。 由图可知,Node.js 底层除了 JavaScript 代码之外,还有大量的 C/C++ 代码。 常说 Node.js 是单线程的,但这个单线程是指处理 JavaScript 的主线程是单的,像 I/O 任务都
阅读全文
Node.js躬行记(20)——KOA源码分析(下)
摘要:在上一篇中,主要分析了package.json和application.js文件,本文会分析剩下的几个文件。 一、context.js 在context.js中,会处理错误,cookie,JSON格式化等。 1)cookie 在处理cookie时,创建了一个Symbol类型的key,注意Symbol
阅读全文
Node.js躬行记(19)——KOA源码分析(上)
摘要:本次分析的KOA版本是2.13.1,它非常轻量,诸如路由、模板等功能默认都不提供,需要自己引入相关的中间件。 源码的目录结构比较简单,主要分为3部分,__tests__,lib和docs,从名称中就可以了解到。 __tests__是单元测试,lib是核心代码,docs是文档。在lib目录中只有4个文
阅读全文
Node.js躬行记(18)——半吊子的可视化搭建系统
摘要:我们组维护的管理后台会接到很多开发需求,每次新开页面,就会到处复制黏贴相关代码。 并且还会经常性的翻阅文档,先在书签或地址栏输入WIKI地址,然后找到那一份说明文档,再定位到要看的组件位置。 虽然单人损耗的时间并不是非常多,但还是会打断思路,影响开发的流畅性,当把所有人的时间累加起来,那损耗的时间也
阅读全文
Node.js躬行记(17)——UmiJS版本升级
摘要:在2020年我刚到公司的时候,公司使用的版本还是1.0,之后为了引入微前端,迫不得已被动升级。 一、从 1.0 到 2.0 在官方文档中,有专门一页讲如何升级的,这个用户体验非常好。 一个清单列的非常清楚,内容不多,让我信心大增。并且自己之前也曽依托 umi 2.0开源过一套系统。 所以在实际操作中
阅读全文
Node.js躬行记(16)——活动配置化
摘要:一直想将一些常规活动抽象化,制作成可配置的。原先的计划是做成拖拽的,那种可视化搭建,运营也能自己搭建页面。 这是一个美好的愿景,但是现实不允许我花太多精力去制作这样一个系统。经过权衡后,先设计成一个可配置化的系统。 先对一类常用的打榜活动做定制化的设计,解决当前问题,立竿见影的提升工作效率。 先说说
阅读全文
Node.js躬行记(15)——活动规则引擎
摘要:在日常的业务开发中,会包含许多的业务规则,一般就是用if-else硬编码的方式实现,这样就会增加逻辑的维护成本,若无注释,可能都无法理解规则意图。 因为一旦规则有所改变,那么就需要修改代码再发布代码,而在日常的开发中唯一不变的就是变化,修改规则是很常见的。 规则引擎的作用就是将决策逻辑从业务逻辑中抽
阅读全文
Node.js躬行记(14)——压力测试
摘要:公司有个匿名聊天的常规H5界面,运营向做一次 50W 的推送,为了能配合她的计划,需要对该界面做一次压力测试。 一、JMeter 压测工具选择了JMeter,这是Apache的一个项目,它是用Java编写的,所以需要先安装Java的SDK,选择当前的操作系统。 随后到JMeter官网下载应用程序,选
阅读全文
Node.js躬行记(13)——MySQL归档
摘要:当前我们组管理着一套审核系统,除了数据源是服务端提供的,其余后台管理都是由我们组在维护。 这个系统就是将APP中的各类社交信息送到后台,然后有专门的审核人员来判断信息是否合规,当然在送到后台之前已经让机器审核了一遍。 在去年8月份上线后,日积月累,有张数据表变得比较庞大,截止到目前将近5800W条,
阅读全文
Node.js躬行记(12)——BFF
摘要:BFF字面意思是服务于前端的后端,我的理解就是数据聚合层。我们组在维护一个后台管理系统,会频繁的与数据库交互。 过去为了增删改查会写大量的对应接口,并且还需要在Model、Service、Router三层写不同的代码逻辑,吃力不讨好。 为了节约开发时间,构思通用接口,并付诸于实际项目中。虽然简化了R
阅读全文
Node.js躬行记(11)——E2E测试
摘要:Cypress是为现代网络构建的前端测试工具,解决了开发人员和 QA 工程师在测试应用程序时面临的关键痛点。 在这个测试框架中包含了E2E测试、集成测试和单元测试(内嵌了Mocha),我们需要的是它的E2E测试的能力。 官网中包含详尽的API接口文档,以及多个视频教程、实例等,只要有耐心,看完文档,
阅读全文
Node.js躬行记(10)——接口日志查询
摘要:当运营向我们上报BUG时,我们第一时间是捕获相关的接口。从监控系统中,就可以查到用户使用时接口的请求和响应数据。 若接口的请求正常,那么就需要深入到接口代码中,查看相关的日志,通常会先浏览数据库查询语句以及内部接口的通信日志。 在本地也可以查看到上述日志,但有个问题,有时候打开某个页面会报错,那是因
阅读全文