摘要: 如何对线上的 nodejs 做监控,了解相关的 GC、内存使用情况、性能,如何更好的了解相关的指标,我们需要做一个采集线上数据的方案,但是又不希望侵入性太强 ,首先收集的指标。 内存相关指标说明 堆内存 rss:常驻内存,node 进程分配的总内存大小 external:v8 管理的 C++所占用的 阅读全文
posted @ 2023-12-06 17:20 地铁程序员 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 堆栈跟踪 API V8 中抛出的所有内部错误在创建时都会捕获堆栈跟踪。可以通过非标准error.stack属性从 JavaScript 访问此堆栈跟踪。V8 还具有各种钩子,用于控制堆栈跟踪的收集和格式化方式,以及允许自定义错误也收集堆栈跟踪。本文档概述了 V8 的 JavaScript 堆栈跟踪 阅读全文
posted @ 2023-10-12 17:00 地铁程序员 阅读(44) 评论(0) 推荐(0) 编辑
摘要: # **Doccano** > doccano 是一个面向人类的开源文本注释工具。它为文本分类、序列标记和序列到序列任务提供注释功能。您可以创建用于情感分析、命名实体识别、文本摘要等的标记数据。只需创建一个项目,上传数据,然后开始注释。您可以在数小时内构建数据集。 支持[命名实体识别](https: 阅读全文
posted @ 2023-08-29 17:45 地铁程序员 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 1xx 消息(临时响应) 属于临时相应,代表所发出的请求已经被接受,需要继续进行处理。只包含状态行和某些可选的响应头信息,并以空行结束。由于 HTTP/1.0 协议中没有定义任何 1xx 状态码,所以除非在某些试验条件下,服务器禁止向此类客户端发送 1xx 响应。 1、“100 Continue”( 阅读全文
posted @ 2023-08-05 21:07 地铁程序员 阅读(66) 评论(0) 推荐(0) 编辑
摘要: 以下是一线互联网公司高级前端面试题总结,包括百度、腾讯、网易、字节、知乎、京东、滴滴,小米,感兴趣的欢迎留言交流。 1、请简述Js Bridge 2、请说一下SSR的单机QPS 3、请说一下eggJs的初始化原理 4、前端错误如何捕获,promise的错误是如何捕获的 5、vue的dom diff算 阅读全文
posted @ 2023-08-05 21:06 地铁程序员 阅读(456) 评论(0) 推荐(0) 编辑
摘要: ### 前言 现在面试流行考核算法,做过面试官,也被面试。问算法对面试官来说,是一种解脱,找出了一个看似很高明且能偷懒的办法选择人,避免了不知道问啥的尴尬;被面试者,也找到了一种新的面试八股文,刷就对了;算法题让面试与被面试找到了一种平衡。 在实际的开发中,很多被考核的算法确实没啥卵用,面试者要认真 阅读全文
posted @ 2023-08-05 21:06 地铁程序员 阅读(41) 评论(0) 推荐(0) 编辑
摘要: ## 1、手写Promise ``` class Promise2 { state = "pending"; callbacks = []; constructor(fn) { fn(this.resolve.bind(this), this.reject.bind(this)); } resolv 阅读全文
posted @ 2023-08-05 21:04 地铁程序员 阅读(25) 评论(0) 推荐(0) 编辑
摘要: // index.js const diplomat = require('js-diplomat'); const grpc = require('@grpc/grpc-js'); const { randomUUID } = require('crypto'); const { cupAdmin 阅读全文
posted @ 2023-04-22 21:08 地铁程序员 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 前端项目的组件库都使用的是 And Design,当一个系统作为另一个系统的子应用时,antd 样式嵌套会出现莫名的样式问题,以及一些在 global 中声明的 antd 样式,会全局污染。基于这种现状,我们需要一个方式将系统之间的 antd 样式进行隔离。 好了,我们看下如何实现,以及实现后带来的 阅读全文
posted @ 2023-03-16 14:06 地铁程序员 阅读(296) 评论(0) 推荐(0) 编辑
摘要: 1、创建项目 npx create-turbo@latest 2、turbo.json 配置文件 "dependsOn": ["^build"], // packges 目录下包的执行命令,用于处理依赖问题,依赖项执行的命令 "outputs": ["dist/**", ".next/**"] // 阅读全文
posted @ 2023-03-06 15:33 地铁程序员 阅读(860) 评论(0) 推荐(0) 编辑
摘要: rrweb 是 'record and replay the web' 的简写,旨在利用现代浏览器所提供的强大 API 录制并回放任意 web 界面中的用户操作。 rrweb 官网:Open source web session replay library rrweb 主要由 3 部分组成: rr 阅读全文
posted @ 2023-03-04 11:59 地铁程序员 阅读(395) 评论(0) 推荐(0) 编辑
摘要: 测试环境正常,生产环境不能正常访问 1、测试环境和生产环境不同的是配置的 redis 不一样,难道是因为 redis吗? 类似issue: https://github.com/luin/ioredis/issues?q=++Error%3A+read+ECONNRESET https://gith 阅读全文
posted @ 2023-03-01 18:17 地铁程序员 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 前端 开发接口 使用的 Eggjs 进行开发 async chatgpt() { const { text, model, conversationId, parentMessageId } = this.ctx.request.body; const { ctx, app } = this; co 阅读全文
posted @ 2023-02-19 22:41 地铁程序员 阅读(640) 评论(0) 推荐(0) 编辑
摘要: 名称 是否支持私有化部署 是否开源 备注 https://www.apifox.cn/ 收费 否 https://easydoc.net/ 收费 否 https://github.com/easy-mock/easy-mock 支持 是 推荐 http://yapi.smart-xwork.cn/ 阅读全文
posted @ 2023-02-19 22:34 地铁程序员 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 开源 SQL 审核平台 1、Archery: https://github.com/hhyo/Archery 2、See:https://github.com/myide/see 3、爱可生开源:https://opensource.actionsky.com/sqle/(爱可生开源方案) 4、 y 阅读全文
posted @ 2023-02-15 16:58 地铁程序员 阅读(187) 评论(0) 推荐(0) 编辑
摘要: React.cloneElement()接收三个参数第一个参数接收一个ReactElement,可以是真实的dom结构也可以是自定义的。第二个参数返回旧元素的props、key、ref。可以添加新的props,第三个是props.children,不指定默认展示我们调用时添加的子元素。如果指定会覆盖 阅读全文
posted @ 2023-02-13 23:42 地铁程序员 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 1、升级python3 pip python >=3.8.0 brew install python3 vi ~/.zshrc alias pip="/usr/local/bin/pip3" alias python="/usr/local/bin/python3" python -V // Pyt 阅读全文
posted @ 2023-02-11 15:29 地铁程序员 阅读(417) 评论(0) 推荐(0) 编辑
摘要: 问题:对于超大的 string V8不能支持 问题背景 在 Nodejs 计算服务中,对端上上报的内存信息二进制数据进行预处理+缓存时,遇到了一个奇怪的报错:RangeError: Invalid string length 。根据该报错信息,查找得知是字符串长度超过了 node.js 的限制,即 阅读全文
posted @ 2023-02-09 22:39 地铁程序员 阅读(433) 评论(0) 推荐(0) 编辑
摘要: 问题 setFieldsValue 偶现在 getFieldsValue 的时候数据丢失。 分析 1、目前的问题是在渲染的过程中 getFiledValue 被改变了,那么谁会改变这个值呢? 数据中有个 appeal_type 的 FiledValue 丢失了 问题可能是 setFieldsValu 阅读全文
posted @ 2023-02-09 22:37 地铁程序员 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 网页开发时,常常需要了解某个元素是否进入了"视口"(viewport),即用户能不能看到它。 IntersectionObserver是浏览器原生提供的构造函数: import'intersection-observer'; export default { async mounted() { aw 阅读全文
posted @ 2021-05-17 16:59 地铁程序员 阅读(271) 评论(0) 推荐(0) 编辑
摘要: ref ref最重要的作用,其实是提供了一套Ref类型,什么是ref类型呢? ref类型 export interface Ref<T = any> { value: T /** * Type differentiator only. * We need this to be in public d 阅读全文
posted @ 2021-02-27 19:01 地铁程序员 阅读(1312) 评论(0) 推荐(0) 编辑
摘要: 依赖倒置原则的定义 依赖倒置原则(Dependence Inversion Principle,DIP)是 Object Mentor 公司总裁罗伯特·马丁(Robert C.Martin)于 1996 年在 C++ Report 上发表的文章。依赖倒置原则的原始定义为:高层模块不应该依赖低层模块, 阅读全文
posted @ 2021-02-14 18:16 地铁程序员 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 原因缺少GLIBCXX_3.4.15版本,或是更高的版本。场景描述在CentOS 6.6 64bit上我将gcc从4.4.7版本升级到4.8.3以便让其支持c++11标准,然后我安装node-sass时出现了这个错误解决过程使用strings命令来查看报错的动态库/usr/lib64/libstdc 阅读全文
posted @ 2020-02-19 17:48 地铁程序员 阅读(2831) 评论(0) 推荐(0) 编辑
摘要: 如何预览一个.vue文件进行预览呢? 每天写个页面,都要配置脚手架,能不能像以前开发前端页面一样,写一个index.html,然后编写js,css,就可以在浏览器上运行了呢?可是我又不想舍弃vue,那么能不能全局搭建一个脚手架,供我来使用呢? 今天翻阅文档,发现了官方文档给出了一个方案 安装 npm 阅读全文
posted @ 2020-01-31 19:25 地铁程序员 阅读(10942) 评论(0) 推荐(1) 编辑
摘要: 简单来说loader是让其他类型的文件转换成webpack能理解的js代码的一段代码(函数) Out of the box, webpack only understands JavaScript files. Loaders allow webpack to process other types 阅读全文
posted @ 2020-01-07 15:04 地铁程序员 阅读(720) 评论(0) 推荐(0) 编辑
摘要: 我们经常使用到webpack的插件功能,那如何开发一个自定义的插件呢?首先创建插件比创建 loader 更加高级,webpack 插件由以下组成: 一个 JavaScript 命名函数。 在插件函数的 prototype 上定义一个 apply 方法。 指定一个绑定到 webpack 自身的事件钩子 阅读全文
posted @ 2020-01-07 15:01 地铁程序员 阅读(1052) 评论(0) 推荐(0) 编辑
摘要: 1、报错报regeneratorRuntime is not defined 错误 .babelrc配置 { // https://babeljs.io/docs/en/babel-plugin-transform-runtime#options "plugins": [ "@babel/plugi 阅读全文
posted @ 2020-01-03 16:47 地铁程序员 阅读(312) 评论(0) 推荐(0) 编辑
摘要: 请求返回二进制数据 阅读全文
posted @ 2019-12-31 17:31 地铁程序员 阅读(7071) 评论(0) 推荐(0) 编辑
摘要: 依赖:html2canvas 阅读全文
posted @ 2019-12-30 11:44 地铁程序员 阅读(574) 评论(0) 推荐(0) 编辑
摘要: 报错如下: 方案1: 在安装的时候一直报错nodeppt,通过查资料添加--unsafe-perm=true --allow-root,可以解决问题,git上issue:https://github.com/npm/npm/issues/17268,这方案貌似不是那么的优雅,因此寻找第二种方案。 方 阅读全文
posted @ 2019-12-22 19:58 地铁程序员 阅读(2282) 评论(0) 推荐(0) 编辑
摘要: WebRTC 本身提供的是 1 对 1 的通信模型,在 STUN/TURN 的辅助下,如果能实现 NAT 穿越,那么两个浏览器是可以直接进行媒体数据交换的;如果不能实现 NAT 穿越,那么只能通过 TURN 服务器进行数据转发的方式实现通信。目前来看,Google 开源的用于学习和研究的项目基本都是 阅读全文
posted @ 2019-12-21 13:17 地铁程序员 阅读(19700) 评论(2) 推荐(6) 编辑
摘要: 1、什么是Workbox Strategies? 当service workers 首次被引入时,可以设定一组常见的缓存策略。 缓存策略是一种模式,用于确定service workers 在收到fetch事件后如何生成响应。 workbox-strategies提供了最常用的缓存策略,因此很容易将它 阅读全文
posted @ 2019-12-19 18:52 地铁程序员 阅读(1623) 评论(0) 推荐(0) 编辑
摘要: performace的兼容写法 1、DNS查询耗时 PerformaceTiming.domainLookupStart为域名开始解析时的 Unix毫秒时间戳 PerformaceTiming.domainLookupEnd为解析域名结束时的 Unix毫秒时间戳, 2、TCP建立连接耗时 Perfo 阅读全文
posted @ 2019-12-19 12:00 地铁程序员 阅读(1302) 评论(0) 推荐(0) 编辑
摘要: 解决CentOS 7 中,make源文件时出现 /usr/bin/ld: cannot find -lstdc++ 错误 在CentOS 7中,使用static方法编译,需要安装static version of glibc-static libstdc++-static。使用如下命令安装 yum 阅读全文
posted @ 2019-12-04 17:41 地铁程序员 阅读(3698) 评论(0) 推荐(1) 编辑
摘要: 安装 lrzsz brew install lrzsz 配置 iTerm2 安装完成后我们需要在 iTerm2 中使用的话,还需要一些配置 进入到 /usr/local/bin 目录下,下载两个脚本文件 cd /usr/local/bin sudo wget https://gist.githubu 阅读全文
posted @ 2019-12-02 10:22 地铁程序员 阅读(1180) 评论(0) 推荐(0) 编辑
摘要: 1、编译优化 V8采用JIT即使编译技术. 例如JAVA是先编译成字节码,再由JVM编译成机器码,V8则没有中间的字节码,直接由源码生成语法树,然后编译成机器码. 2、隐藏类 当定义一个构造函数,使用这个函数生成的第一个对象的时候,v8会为它初始化一个隐藏类,以后使用这个构造函数生成的对象指向同一个 阅读全文
posted @ 2019-11-26 11:24 地铁程序员 阅读(506) 评论(1) 推荐(0) 编辑
摘要: 生产版本 "dependencies": { "lottie-web": "^5.5.7", "pixi-spine": "^1.5.23", "pixi.js": "^4.8.8" } 讲座项目对资源做对比 ps:测试网络环境:fast 3g 库 gzip大小 打包使用的资源 资源数 加载方式 绘 阅读全文
posted @ 2019-11-01 18:18 地铁程序员 阅读(1077) 评论(0) 推荐(0) 编辑
摘要: 需求和技术指标整理 node服务在引入node性能监控过程中,需要使用alinode,为了对alinode与官方node各项性能指标的差异有进一步的认识,现开展以下调研、测试. 原理性分析 alinode是基于官方node做封装,官方解释是alinode对性能影响可以忽略. 测试方案 1、node版 阅读全文
posted @ 2019-10-25 21:51 地铁程序员 阅读(1021) 评论(0) 推荐(0) 编辑
摘要: 小编近期在研究webRTC点对点通信技术,怀着学习的心态参加了2019年RTC大会,对所见所闻做下记录,不对的地方还请批评指正! 这次热门的话题是5G、WebRTC、AI对图像、音视频的相关处理,思科报告预测,2021年视频流量将占互联网流量的87%,从2017年到2021年实时视频将增加15倍,占 阅读全文
posted @ 2019-10-25 21:16 地铁程序员 阅读(444) 评论(0) 推荐(0) 编辑
摘要: 服务器发送事件(以下简称SSE)是HTML 5规范的一个组成部分,可以实现服务器到客户端的单向数据通信。通过SSE,客户端可以自动获取数据更新,而不用重复发送HTTP请求。一旦连接建立,“事件”便会自动被推送到客户端。服务器端SSE通过“事件流(Event Stream)”的格式产生并推送事件。事件 阅读全文
posted @ 2019-09-08 14:37 地铁程序员 阅读(3079) 评论(0) 推荐(0) 编辑