技术工具
文章平均质量分 76
奔向理想的星辰大海
这个作者很懒,什么都没留下…
展开
-
在Node.js中流式处理大JSON文件
fs.createReadStream():创建一个可读流,能解决避免大量数据占用内存的问题,这是一个系统提供的基础 API 读取到的是一个个的数据块,因为我们的 JSON 对象是结构化的,也不能直接解决上面提的两个问题。问题一:假设现在有一个场景,有一个大的 JSON 文件,需要读取每一条数据经过处理之后输出到一个文件或生成报表数据,怎么能够流式的每次读取一条记录?当我们遇到类似的大文件需要处理时,尽可能避免将所有的数据存放于内存操作,应用服务的内存都是有限制的,这也不是最好的处理方式。原创 2024-05-17 09:40:37 · 331 阅读 · 0 评论 -
高效传输大的 JSON 数据流式处理真香
TextDecoder[1] API 是一个用于将二进制数据(通常是 ArrayBuffer 或 TypedArray)解码为字符串的 JavaScript API。它是 Web 平台的一部分,主要用于处理文本编码的解码工作。比如,从服务器接收到的流式数据、文件数据等。原创 2024-05-17 09:34:18 · 901 阅读 · 0 评论 -
Apache Bench 使用指南
总的来说,Apache Bench 是一款强大的 HTTP 性能测试工具,可以帮助开发者评估 Web 应用的性能,发现潜在的瓶颈,并为优化应用提供有价值的数据支持。评估优化前后的性能变化:在对 Web 应用进行优化时,可以使用 AB 测试来评估优化效果,量化性能的提升。验证应用是否能够承受预期的访问压力:在部署新系统前,可以使用 AB 进行压力测试,确保应用能够承受预期的并发量,避免系统上线后出现性能问题。集成数据库查询性能:利用 AB 模拟大量并发查询请求,结合数据库监控,可以评估应用的数据库层性能。原创 2024-05-12 10:03:49 · 267 阅读 · 0 评论 -
大厂的MySQL为啥不用外键?
如果有关联关系的数据存在,删除主表中的记录时,外键约束可以阻止删除,或者通过级联操作删除相关的从表数据。有些团队认为外键引入了过多的服务之间的耦合,因此选择在微服务架构中限制外键的使用。当创建两张表,其中一张是用户表,另一张是用户拓展表,可以使用外键来建立它们之间的关联。这些操作定义了在主表中进行更新或删除操作时,对应的外键列在从表中的行的处理方式。外键定义了两个表之间的引用关系,它连接了两个表,使它们之间建立起一定的联系。外键通常关联到另一个表的主键列,这样它就能确保引用的数据是一致的。原创 2024-05-11 09:44:11 · 345 阅读 · 0 评论 -
Java 编程写出优雅的代码
通过命名、类、函数、测试这四个章节,使我们的代码变得整洁.不整洁的代码随着时间的增加而增加时,生产力会随之降低.导致的结果就是:代码不易扩展或扩展容易引发其他问题程序崩溃加班增加公司成本(加人)甚至可能造成公司倒闭一图胜千言。原创 2024-05-10 09:44:51 · 762 阅读 · 0 评论 -
你必须要知道的,五个Promise高级使用技巧
)允许读取位于连接对象链深处的属性的值,而不必明确验证链中的每个引用是否有效(是否为 undefined || null)。这也是为什么在上述的描述中,添加了?)是一个逻辑运算符,当左侧的操作数为 null 或者 undefined 时,返回其右侧操作数,否则返回左侧操作数。逻辑空赋值运算符(x?有点类似与 ||(逻辑或),与逻辑或的区别在于?使用场景: 当我们 不确定 一个对象是否存在时,调用对象属性,可以使用该操作符。使用场景: 当需要把 0 或 '' 作为 真 时,使用?原创 2024-05-08 09:36:40 · 97 阅读 · 0 评论 -
快3倍!Meta 违背经典模型结构,一次预测多个token,路径可行,大模型大幅提速指日可待!
在最近的一项研究中,Meta、以及巴黎高科桥路学院和巴黎-萨克雷大学的研究人员建议,通过让人工智能大型语言模型(LLMs)同时预测多个token,来提高大模型的准确性和速度。这个大胆的设想,跳出了自回归语言模型的经典结构——一次仅仅预测一个token。在某些领域,这一方法呈现了显著的优势,速度提高了三倍,生成任务的性能也更好!虽然多标记预测并不一定成为每种模型和语言任务的通用解决方案,且该方法还存在很大的改进空间。原创 2024-05-08 09:27:56 · 373 阅读 · 0 评论 -
华为云发布CodeArts IDE for Python,极致优雅云原生开发体验
华为云CodeArts IDE for Python集成了Pytest和Unittest测试框架,开发者可以在项目配置测试框架集成,IDE会在测试视图中发现并展示测试用例,让开发者可以轻松运行和调试您的测试用例。华为云CodeArts IDE for Python内置华为自主创新的Python语言服务,支持快速、精准的代码补全、导航和搜索功能。,为代码安全保驾护航。,提供华为云220+服务和8000+服务API的搜索和引用,一键补全样例代码,查看实测调用的输入输出。原创 2024-05-08 09:25:33 · 345 阅读 · 1 评论 -
jenkins 真得很牛逼!只是大部分人不会用而已
jenkins 有 2 种流水线分为声明式流水线与脚本化流水线,脚本化流水线是 jenkins 旧版本使用的流水线脚本,新版本 Jenkins 推荐使用声明式流水线。文档只介绍声明流水线。原创 2024-05-07 09:28:33 · 886 阅读 · 0 评论 -
服务器为什么一般都是安装 CentOS 而不是 Ubuntu?
相比之下,Ubuntu 虽然也拥有广泛的用户群体和强大的社区支持,但其主要定位在桌面和云计算领域,对于服务器环境的稳定性和可靠性要求可能没有 CentOS 那么高。Ubuntu 在易用性和可维护性方面也有不错的表现,但由于其桌面和云计算的定位,可能在某些特定的服务器管理任务上稍逊于 CentOS。在这方面,CentOS 表现出了极高的兼容性和广泛的生态系统支持。Ubuntu 在兼容性和生态系统方面也有不错的表现,但由于其桌面和云计算的定位,可能在某些特定的服务器应用场景下稍逊于 CentOS。原创 2024-05-07 09:14:08 · 7 阅读 · 1 评论 -
好用到飞起的新项目「GitHub 热点速览」
2.2 唯一标识:typeid 本周 star 增长数:1,600+,主语言:Go New 受启发于 Stripe IDs(用于跟踪提现的追踪 ID)的全局唯一标识符 typeid,它是类型安全,且支持 K 排序的 UUIDv7 扩展。以下便是一个示例: user_2x4y6z8a0b1c2d3e4f5g6h7j8k └──┘ └────────────────────────┘ type uuid suffix (base32) GitHub 地址→。精美的制图,下图便是根据梵高的经典画作绘制的地图。原创 2024-05-06 10:13:49 · 893 阅读 · 0 评论 -
centos 安装rabbitmq集群
bash sudo rabbitmqctl stop_app sudo rabbitmqctl join_cluster rabbit@node1 sudo rabbitmqctl start_app - 在 node3 上,重复上述步骤,但将 join_cluster 命令中的 rabbit@node1 改为 rabbit@node2。如果在集群配置过程中遇到问题,请检查 RabbitMQ 日志文件以获取更多信息。在配置集群之前,确保所有 RabbitMQ 节点可以相互网络通信。原创 2024-04-29 10:05:07 · 780 阅读 · 0 评论 -
常用的时间序列分析方法总结和代码示例
时间序列是最流行的数据类型之一。视频,图像,像素,信号,任何有时间成分的东西都可以转化为时间序列。在本文中将在分析时间序列时使用的常见的处理方法。这些方法可以帮助你获得有关数据本身的见解,为建模做好准备并且可以得出一些初步结论。我们将分析一个气象时间序列。利用逐时ERA5 Land[1]研究2023年西伯利亚东南部点的2 m气温、总降水量、地表净太阳辐射和地表压力。matplotlib是可以设置不同的风格的,这里我们使用 opinionated和 ambivalent来进行风格的设置。原创 2024-04-27 20:34:16 · 811 阅读 · 0 评论 -
Go 语言入门指南:基础语法和常用特性解析
Go(也被称为 Golang)是一种静态类型、编译型的编程语言,由 Google 开发。它具有简洁、高效和强大的并发支持等特点,被广泛应用于网络编程、系统编程、微服务等领域。Go 语言的设计目标是解决大规模软件开发中的一些问题,如代码可读性、编译速度、跨平台支持和并发编程等。原创 2024-04-27 20:30:32 · 634 阅读 · 0 评论 -
优雅地避过Python常见错误,编写高效代码
停止错误做法的更好方法是练习正确的做法,但不要过度使用它们。有一些好的做法我喜欢使用,但只在可读性不受影响时使用它们。Python以其简洁和可读性而受到开发者的青睐。然而,即使是经验丰富的程序员也可能陷入导致代码效率低下、可读性差和更容易出错的习惯。在这里,我们将探讨Python编程中的常见陷阱以及避免它们的重要性。原创 2024-04-26 10:01:01 · 667 阅读 · 0 评论 -
java里面maven是解决jar包依赖
从上图中可以发现,Jodis已经引用了更高版本的Guava 23.0,我们可以直接Shade它,因为20.0和23.0是兼容的。根据上述依赖原则,生效的依赖是3.4.6版本的,但是Jodis中依赖的是较高版本3.4.11(被忽略了),其调用的ZK构造方法在低版本中并不存在,故抛出NoSuchMethodError。Maven具有传递依赖(transitive dependency)的特性,即如果组件A依赖组件B,组件B依赖组件C,那么A就会自动产生对C的依赖,以此类推。如果反过来的话,就会选择X 3.0。原创 2024-04-26 09:22:41 · 265 阅读 · 0 评论 -
比较三种优秀 AI 编码工具
人工智能无法替代人类编码技能、领域知识和生活经验,也没有任何人工智能编码工具可以取代人类程序员。为了实现 AI 编码助手所承诺的效率,公司需要将 AI 编码工具顺利集成到已建立的软件开发和 DevOps 工作流程中。该过程从比较可用的领先工具开始。原创 2024-04-25 09:45:50 · 9 阅读 · 0 评论 -
Harmony OS WiFi编程——连接热点、创建热点
在Harmony OS上STA模式扫描其他WiFi热点,需要注意以下事项。可以将本仓整体拷贝到openharmony源码树下,和。接口只是触发扫描动作,并不会等到扫描完成才返回;扫描状态监听回调函数内,不能直接调用。拷贝到openharmony源码的。前两章中的方法——将当前目录下的。修改openharmony源码的。扫描完成后要及时调用。原创 2024-04-25 09:35:11 · 996 阅读 · 0 评论 -
鸿蒙原生应用/元服务开发-长时任务
为防止应用进程被挂起,导致对应功能异常,可以申请长时任务,使应用在后台长时间运行。申请长时任务后,系统会做相应的校验,确保应用在执行相应的长时任务。同时,系统有与长时任务相关联的通知栏消息,用户删除通知栏消息时,系统会自动停止长时任务。若应用申请了长时任务,但未真正执行申请类型的长时任务或申请类型的任务已结束,系统会对应用进行管控。·申请了DATA_TRANSFER(数据传输)的长时任务,系统仅会提升应用进程的优先级,降低系统终止应用进程的概率,但仍然会挂起对应的应用进程。4.申请和取消长时任务。原创 2024-04-24 09:28:34 · 211 阅读 · 0 评论 -
JS同步执行、异步执行、及同步中的异步执行
微观任务是在当前JS调用执行完了之后立刻执行的,是同步的,在同一个调用栈里,没有多线程异步,如这里包括promise.then在内的setTimeout回调里的代码都是在DOMTimer.Fired执行的,只是说then被放到了当前要执行的整一个异步回调函数的最后面执行。难道是异步任务执行的顺序不是前后顺序,而是另有规定?在JS执行中都是单线程执行,所以代码的执行可以说是自上而下,如果前一段的代码出现问题,就会导致下一段代码无法执行,对于用户而言就是卡死现象,所以在JS执行机制引出了异步执行操作。原创 2024-04-24 09:11:55 · 81 阅读 · 0 评论 -
Meta发布最新开源大模型Llama 3,将深度融入自家搜索
Meta表示,将在未来几个月陆续推出更多功能丰富的Llama 3模型,包括支持更多语种的版本。”他还强调,随着更大版本的Llama模型的推出,公司可能会考虑采用与OpenAI的ChatGPT Plus及Google One AI Premium相似的月度订阅模式。随着Llama 3的发布,Meta AI的功能将进一步扩展,覆盖包括澳大利亚和加拿大在内的13个英语市场。此外,Meta AI的图像生成功能Emu也将迎来升级,不仅将提高生成结果的速度和质量,还能在用户输入查询时即时显示预览结果。原创 2024-04-22 10:19:28 · 258 阅读 · 0 评论 -
从漏洞管理向持续威胁暴露管理演进的五个关键要素
企业应该明确定义采用CTEM计划的安全目标和期望结果,使组织网络风险管理工作与数字化发展目标协同一致。这有利于指导接下来的持续威胁暴露管理工作。原创 2024-04-22 10:17:09 · 531 阅读 · 2 评论 -
系统设计到撸代码的方法和工具
完成上面这些设计,基本就差不多了,顶多的话,可能就是具体的接口设计,包括接口的请求入参以及返回参数的设计,当然还有类型的设计。在下面详细和大家介绍。工作这么多年之后,老猫发现,写代码的时候其实是最安逸的时候,只要事先方案设计得好,流程绘制得精准,模型设计得合理。通过上面的的图,可以表示清楚系统和系统之间的层级关系,可以让评审人一目了然地知道,你当前所设计的系统在整个架构领域属于哪一块。在日常开发中,软件设计图是一种非常好的表达方式,尤其在技术评审的时候,一幅好的设计图可能比干巴巴的文字更能说明问题。原创 2024-04-20 16:15:13 · 724 阅读 · 0 评论 -
要使用redis作为缓存 为啥要用redis,不用本地存储
在select/poll时代,服务器进程每次都把这100万个连接告诉操作系统(从用户态复制句柄数据结构到内核态),让操作系统内核去查询这些套接字上是否有事件发生,轮询完后,再将句柄数据复制到用户态,让服务器应用程序轮询处理已发生的网络事件,这一过程资源消耗较大,因此,select/poll一般只能处理几千的并发连接。在分布式系统中,三个用户进来下单,正好三个请求被分到了三个不同的服务节点上面,三个节点 检查剩余库存,发现还有1个,然后都去进行扣减,这样就导致库存为负数,有两个用户没有货发,就是俗称的超卖。原创 2024-04-20 16:10:41 · 688 阅读 · 0 评论 -
一个比Find简单十倍的文件查找命令
fd是find命令的一个替代品,但它更简单、更快,而且用起来更顺手。它可能不支持find所有的强大功能,但对于大多数使用场景来说,它提供了合理的(有观点的)默认设置。接下来,咱们就来看看怎么用这个小家伙吧!原创 2024-04-20 16:03:24 · 663 阅读 · 0 评论 -
鸿蒙原生应用/元服务开发-短时任务
以下图为例:应用有两个短时任务A和B,在前台时申请短时任务A,应用退至后台后开始计时为①,应用进入前台后②不计时,再次进入后台后③开始计时,短时任务A结束后,由于阶段④仍然有短时任务B,所以该阶段继续计时。3.获取短时任务剩余时间。查询本次短时任务的剩余时间,用以判断是否继续运行其他业务,例如应用有两个小任务,在执行完第一个小任务后,可以判断本次短时任务是否还有剩余时间来决定是否执行第二个小任务。以图1为例,①②③时间段内的任意时刻应用申请2个短时任务,④时间段内的任意时刻应用申请1个短时任务。原创 2024-04-19 10:22:47 · 139 阅读 · 0 评论 -
领域驱动设计(DDD)中的应用架构:六边形、洋葱、整洁与清晰
六边形架构、洋葱架构、整洁架构和清晰架构都是领域驱动设计中常用的应用架构模式。它们通过不同的方式来实现业务逻辑与外部系统的分离,从而提高系统的可维护性、可扩展性和灵活性。在实际项目中,应根据具体需求和团队特点选择合适的架构模式来构建健壮且易于演化的软件系统。原创 2024-04-17 10:46:30 · 89 阅读 · 0 评论 -
值得推荐的七大模型部署和服务工具
它提供了一套工具和组件,可以简化机器学习模型的部署、扩展和管理。无论您青睐的是MLflow或Kubeflow之类的端到端工具,还是像BentoML或ONNX Runtime这样更专门化的解决方案,这些工具都可以帮助您简化模型部署过程,并确保您的模型在生产环境中易于访问和扩展。在这篇博文中,我们将介绍2024年的七大模型部署和服务工具,它们将彻底改变部署和使用机器学习模型的方式。MLflow提供了一套全面的解决方案,用于管理机器学习模型,拥有模型版本控制、试验跟踪、可再现性、模型打包和模型服务等功能特性。原创 2024-04-17 10:39:17 · 473 阅读 · 0 评论 -
2024年在Web应用程序中实现前沿技术的JavaScript库
此外,DHTMLX提供了广泛的API、详细的文档、丰富的示例和在线样例,这些资源将帮助您更快地掌握DHTMLX库的使用,并充分发挥其功能。根据Statista(一个在线的统计数据门户网站,提供来自各主要市场、国家和民意调查的数据)的数据预测,到2024年,生产力软件市场的收入将达到790.7亿美元。Highcharts.js是一个基于原生浏览器技术的库,它提供了一系列交互式图表(包括柱状图、饼图、曲线图等),并配备了丰富的定制选项,可以将所需的可视化元素整合到您的应用程序中。原创 2024-04-17 09:50:22 · 533 阅读 · 0 评论 -
实战:编写一个 OpenTelemetry Extensions
因为我这个插件的主要目的是暴露一些自定义的 metrics,所以需要使用到 io.opentelemetry.api.metrics 这个包:创建生产者的时候将生产者对象存储起来OpenTelemetry 框架会每隔一段时间回调一个自定义的函数在这个函数中遍历所有的 producer 获取它的监控指标,然后暴露出去。}}回调函数,在这个函数中遍历所有的生产者,然后读取它的监控指标。原创 2024-04-16 10:17:45 · 295 阅读 · 0 评论 -
markdown-it大揭秘:轻松玩转文本格式化新神器!
markdown-it是一款功能强大的Markdown解析器,支持丰富的Markdown语法,能够轻松将Markdown文本转换为HTML格式。它拥有丰富的插件和配置选项,让你的文档编辑更加灵活多变。markdown-it支持大部分标准的Markdown语法,如标题、段落、列表、链接、图片等。标题:# 一级标题、## 二级标题段落:直接输入文本即可列表:使用-或*开头表示无序列表,使用数字加.开头表示有序列表链接:[链接文字](http://example.com)图片:!原创 2024-04-12 10:56:40 · 68 阅读 · 0 评论 -
ObjectMapper JSON格式化的正确用法
如果你通过我们一系列的工具,定位到了热点代码,要测试它的性能数据,评估改善情况,就可以交给JMH。当然,由于ObjectMapper有很多的特性需要配置,你可能会为不同的应用场景分配一个单独使用的ObjectMapper。ObjectMapper也不例外,它也是线程安全的,你可以并发的执行它,不会产生任何问题。如果使用ThreadLocal的方式,每个线程给它分配一个解析器,则性能会有少许上升,但也没有达到非常夸张的地步。我的cpu有10核,直接就分配了10个线程的并发,cpu在测试期间跑的满满的。原创 2024-04-11 09:38:13 · 652 阅读 · 0 评论 -
六款令人爱不释手的IDEA神仙插件
作为一名开发人员,在众多的 IDE 中,无疑是最受欢迎和强大的选择。除了其本身的功能外,IntelliJ IDEA 还支持各种强大的插件,这些插件可以进一步增强开发体验和效率。这些插件就像是一些神奇的存在,能够在我们的开发过程中施展出不可思议的魔法。在本文中,我们将介绍几个在 IntelliJ IDEA 开发中非常实用的神仙插件,它们将给你带来前所未有的开发体验。无论你是新手还是老手,相信这些插件都能帮助你事半功倍,提高代码质量和生产力。当然插件不易多,而在精。原创 2024-04-08 11:06:25 · 1009 阅读 · 0 评论 -
2024年最受欢迎的十个 Vue.js UI 库
在前端开发的世界里,Vue.js以其易用性和高效性受到了广大开发者的喜爱。本文探索了十个可以帮助你提高开发生产力的Vue.js库。但是,重要的是要理解,并不是所有这些库都适合每个人。原创 2024-04-02 09:54:03 · 541 阅读 · 0 评论 -
用好这28个工具,开发效率爆涨
在我们日常开发运维的过程中,经常会和终端打交道,比如服务的部署,文件的浏览查看等;通过下面的终端神器,就可以打造一个高颜值,高效率的终端。iTerm2负责颜值和基本的Shell呈现托管,Tmux负责Shell的多窗口管理,而Zsh负责对Shell功能的拓展提升。👍 推荐指数:⭐⭐⭐⭐⭐iTerm2 是一款功能强大的终端工具,也可以说是 Terminal 的替代品,也可以说是 iTerm 的后继产品。它适用于 macOS 10.12 或更高版本的 macOS。原创 2024-04-01 15:29:09 · 953 阅读 · 0 评论 -
三种发布策略:基于 API 的基础架构
当前的蓝环境表示当前的生产环境,绿环境表示堆栈的下一个版本。相反,将对生成的结果进行越带评估,例如比较重构和现有服务生成的结果,或者观察一系列操作属性,以观察新服务版本处理请求时的响应延迟或所需 CPU。流量转移使您可以通过首先只将一小部分用户流量(例如 1%)路由到 v1.1,然后随着时间的推移将所有流量转移到新服务,对新服务进行金丝雀测试或发布。这使您可以监视新服务,并查找技术问题,例如增加的延迟或错误率,还可以查找期望的业务影响,例如关键性能指标(如客户转化率或平均购物结账价值)的增加。原创 2024-04-01 13:57:49 · 12 阅读 · 0 评论 -
分享12款我常用的开源免费工具
在托盘中不显眼地运行,并使用可自定义的热键激活,以放大屏幕区域,在缩放时四处移动,并在缩放后的图像上绘制。我编写了 ZoomIt 以满足我的具体需求,并在我的所有演示文稿中使用它。是一个非常简单的支持批量转换和压缩文件的工具, 可以一键集成到我们系统的右键盘菜单中, 并且支持多种文件转换格式。,还能对画板进行录屏, 并自动记录绘画过程,不画时会自动暂停, 绝对是自媒体从业者或者教育人员的利器.一个简单直观的制作2D材质动画的工具, 设计简约, 功能强大, 且支持跨平台使用, 如。好啦, 今天的分享就到这。原创 2024-03-31 21:13:08 · 912 阅读 · 0 评论 -
比 ElasticSearch 快 1000 倍的日志引擎
SigLens凭借高效的日志处理能力和简易的操作流程,正迅速在开源社区中获得认可。从基础部署到复杂查询,SigLens都展现出其强大的实用性。原创 2024-03-28 10:46:32 · 27 阅读 · 0 评论 -
机器学习:Github上排名前19个强化学习 (RL)项目
其他流行的 RL 项目包括 rllab,一个用于开发和评估强化学习算法的工具包;gym,用于开发和比较强化学习算法的工具包;此外,您还可以在线找到教程和课程,帮助您开始 RL 开发。最后,重要的是要记住,开发 RL 应用程序需要练习和耐心 - 但只要有足够的奉献精神和努力工作,您就可以成为该领域的专家。项目源代码网址:https://github.com/google-research/football。项目源代码网址:https://spinningup.openai.com/en/latest/原创 2024-03-24 17:39:22 · 54 阅读 · 0 评论 -
14个 JavaScript 中鲜为人知的技巧
事实证明,这些额外的括号仅仅是为了告诉 JavaScript 解析器即将发布的代码是函数表达式,而不是函数。可以想象,知道了这一点,有很多方法可以跳过那些多余的括号,并且仍然可以制作出有效的IIFE。它是一个数组,类似于对象,可以在所有函数中使用。注意:本文并不包括诸如提升(Hoisting),闭包,代理,原型继承,async-await,生成器之类的东西。好吧,事实证明,在ES5之前,您实际上可以在大多数浏览器中为原始的 undefined 分配一个新值,像是 undefined =“ abc”。原创 2024-03-22 14:29:56 · 10 阅读 · 0 评论