突破Excel百万数据导出瓶颈:全链路优化实战指南

博主头像 在日常工作中,Excel数据导出是一个常见的需求。 然而,当数据量较大时,性能和内存问题往往会成为限制导出效率的瓶颈。 当用户点击"导出"按钮时,后台系统往往会陷入三重困境: ‌内存黑洞‌:某电商平台在导出百万订单时,因传统POI方案导致堆内存突破4GB,频繁触发Full GC,最终引发服务雪崩;‌ ...

PC端自动化测试实战教程-5-pywinauto 操作PC端应用程序窗口 - 下篇(详细教程)

博主头像 1.简介 上一篇宏哥主要讲解和介绍了如何获取PC端应用程序窗口信息和如何连接窗口对其进行操作的常用的几种方法。今天宏哥接着讲解和分享一下窗口的基本操作:最大化、最小化、恢复正常、关闭窗口、获取窗口状态和获取窗口坐标。以及窗口的其他打开方法和选择方法。 2.窗口的基本操作 窗口的一些基本操作方法: 最 ...

用 DevEco Studio 模拟器这些能力 没真机也能高效调测鸿蒙原生应用

博主头像 随着鸿蒙生态的快速发展,越来越多的开发者投身于鸿蒙原生应用的开发中。然而,在实际开发中,真机设备短缺、调测场景复杂等问题常困扰着开发者。为解决这些问题,华为在DevEco Studio上为开发者提供了模拟器(Emulator)功能,帮助开发者在真机匮乏或无真机时,高效且低成本地完成应用开发与调试。 ...

使用C#构建一个同时问多个LLM并总结的小工具

博主头像 前言 在AI编程时代,如果自己能够知道一些可行的解决方案,那么描述清楚交给AI,可以有很大的帮助。 但是我们往往不知道真正可行的解决方案是什么? 我自己有过这样的经历,遇到一个需求,我不知道有哪些解决方案,就去问AI,然后AI输出一大堆东西,我一个个去试,然后再换个AI问,又提出了不同的解决方案。 ...

【译】Visual Studio Hub 介绍

博主头像 跟上最新的 Visual Studio 更新、特性和资源就像是一项全职工作。我们已经听过一次又一次了——您想要一种更简单的方式来获取信息,而不是在分散的博客文章、发布说明和社交媒体更新中挖掘。 这就是为什么我们创建了 Visual Studio Hub——一个帮助您快速找到最重要内容的单一目的地。无 ...

从零到一:利用金仓社区数据,LoRa微调与Spring AI 构建私有化千问模型

博主头像 上次我们在Coze平台上成功搭建了一个针对金仓问题的解决助手。这个智能体的核心工作流程相对简单:每次它通过HTTP接口调用插件,在金仓平台内部进行搜索,随后利用大模型的推理能力对查询结果进行分析,从而为用户提供问题解答。然而,问题也随之而来——金仓内部的搜索功能存在一定的局限性。搜索出来的博文资料之 ...

(dify)如何使用dify自定义知识库【dify外部链接知识库】

博主头像 尝试dify自定义知识库 根据官网教程,可以从知识库的右上角外部知识库进行添加外部知识库 前往 “知识库” 页,点击右上角的 “外部知识库 API”,轻点 “添加外部知识库 API”。 按照页面提示,依次填写以下内容: 知识库的名称,允许自定义名称,用于区分所连接的不同外部知识 API; API 接 ...

如何在 Linux 上检查开放的端口并关闭不需要的端口

检查服务器开放端口并关闭不必要的端口是网络安全管理中的关键环节,开放端口如同服务器的“窗口”,若其中存在未被利用或未受保护的端口,就如同为潜在的攻击者敞开了大门,他们可能会利用这些端口的漏洞来入侵系统、窃取数据或进行恶意操作。通过检查开放端口,可以明确哪些端口正在被合法服务使用,哪些可能是被遗忘或未 ...

FunProxy - 使用 Rust 构建跨平台全链路测试抓包代理工具

博主头像 在软件开发过程中,软件测试对于保障软件质量和用户满意度起着关键作用。为最大程度上提升软件品质,我们积极开展全链路测试实践,打造了用Rust语言开发的自研一站式抓包代理工具FunProxy,基于其跨平台、高性能、易于扩展、安全性高等特性,让全链路抓包和环境代理如丝绸般丝滑。 ...

排行榜的5种实现方案!

博主头像 引言 在工作的这些年中,我见证过太多团队在实现排行榜功能时踩过的坑。 今天我想和大家分享 6 种不同的排行榜实现方案,从简单到复杂,从单机到分布式,希望能帮助大家在实际工作中做出更合适的选择。 有些小伙伴在工作中可能会觉得:不就是个排行榜吗?搞个数据库排序不就完了? 但实际情况远比这复杂得多。 当数 ...

rollup.js:下一代 JS模块打包工具解析器

Rollup.js 是一个模块打包工具,它可以将多个模块打包成一个单一的模块。与 Webpack 不同,Rollup.js 默认只处理 ES6 模块,这使得它非常适合库和框架的开发,因为它可以提供一个更干净、更轻量级的打包结果。 ...

历数Java虚拟机GC的种种缺点

博主头像 Java通过垃圾收集器(Garbage Collection,简称GC)实现自动内存管理,这样可有效减轻Java应用开发人员的负担,也避免了更多内存泄露的风险。 如果你用过C++等需要手动管理内存的语言,那么你就会体会到GC带来的便利,降低了语言使用的门槛。 不过在我们享受自动内存管理带来的便利时, ...

如何把ASP.NET Core WebApi打造成Mcp Server

博主头像 前言 MCP (Model Context Protocol)即模型上下文协议目前不要太火爆了,关于它是什么相信大家已经很熟悉了。目前主流的AI开发框架和AI工具都支持集成MCP,这也正是它的意义所在。毕竟作为一个标准的协议,当然是更多的生态接入进来才会有意义。使用MCP我们可以把Tools调用标准 ...

Web前端入门第 47 问:CSS @media 媒体查询不要只会视口宽度适配

@media 媒体查询的出现解决了什么问题? 曾经,一个网页要兼容移动端和 PC 端,前端的代码复杂度嗖嗖嗖的飙升,需要使用多套代码对各种屏幕尺寸做适配。 @media 的出现解决了 CSS 中无法适配设备尺寸的问题,让 CSS 拥有了处理简单逻辑的能力。 媒体查询就像进店试穿衣服一样,穿得上,咱就 ...

密钥管理—密钥生命周期对应的技术和流程

博主头像 目录密钥管理的流程密钥管理的两个基本需求密钥的生存周期密钥的生存期密钥生成密钥长度的选择密钥派生密钥建立密钥存储密钥备份/密钥存档/密钥恢复密钥使用密钥变更密钥销毁密钥管理的实际流程实例总结 对于任何密码系统的安全性来说,密钥管理都是至关重要的。 密钥管理是安全的密码算法的前置条件,如果没有安全的过 ...

ufw配置自动管理端口转发和DNAT+MASQUERADE

博主头像 端口A转发到本地的端口B 端口A转发到另一台机器的端口B(需借助DNAT) 一般情况下, 我们配置ufw来实现端口转发时会在修改 /etc/ufw/before.rules 文件, 增加*nat部分. 但当ufw reload或重启ufw时, ufw并不会自动帮我们清除原本的*nat规则, 导致每次 ...

<1···181920···100>