最新文章
|
知识管理交流
→『 技术文档交流 』
本版文数:9750 今日文数:4268
|
js两个异步函数执行为什么会返回的结果显示一样
在JavaScript中,异步函数的执行顺序和结果的处理方式可能会让人感到困惑,特别是当你试图在两个异步操作之间保持同步时。这是因为JavaScript是基于事件循环的,这意味着它不是通过传统的顺序方式来执行代码的。下面是一些关键点,帮助你理解为什么两个异步函数的执...
|
在现代Web开发中,我们常常需要知道用户是否还停留在当前页面。这个看似简单的需求,背后却关联着用户体验、数据分析和系统性能等多个重要方面。“离开页面”这个行为本身可以被细分为多种场景:切换到其他浏览器标签页或应用(页面变为不可见,但未关闭)。最小化浏览器窗口(同上)。关闭浏览器标签页或整个浏览器。在当前标签页中导航到新...
|
最近项目有个需求,需要比较两个任意大小文件的内容是否相同,要求如下:项目是.NETCore,所以使用C#进行编写比较方法文件大小任意,所以不能将文件内容全部读入到内存中进行比较(更专业点说,需要使用非缓存的比较方式)不依赖第三方库越快越好为了选出最优的解决方案,我搭建了一个简单的命令行工程,准备了两个大小为912MB的...
|
前言嗨,程序员小伙伴们,早上好!今天我们要聊一个能让你的异步代码既快又省的小能手——ValueTask。如果你还在只用Task写异步代码,那就像开跑车却一直挂一档,太浪费啦!微软在.NETCore2.1中悄悄引入了一个性能小怪兽——ValueTask。它就像Task的轻量级表弟,虽然个头小,但在某些场合下能发挥惊人的威...
![]() |
async/await是ES7中引入的语法糖,它彻底改变了JavaScript中异步编程的方式。它让我们能够以一种看似同步的方式编写异步代码,极大地提高了代码的可读性和可维护性。然而,凡事皆有两面。当我们享受async/await带来的便利时,一个“老朋友”却如影随形,那就是try...catch。问题的根源:无处不在...
|
智能发票管理系统,免费,可以商业化源代码https://www.gitpp.com/kestra/project-gpp-052502909003基于Flask框架开发的智能发票管理系统,支持发票图片上传与OCR识别,提供发票信息管理、数据导出及统计分析等功能。系统采用腾讯云OCRAPI进行发票文字识别,实现发票信息...
![]() |
前言在企业管理中,资产的高效管理是提升运营效率、降低成本的重要环节。为了帮助企业更好地实现资产信息的数字化、可视化管理,推荐一款功能完整、易于使用的资产管理系统(AssetManagementSystem,简称AMS)。该系统基于WinForm+SQLite数据库和SqlSugarORM框架,实现了资产的添加、编辑、导...
![]() |
HTML一键打包EXE软件(HTML转EXE)支持将Web前端项目转换为Windows平台下的独立可执行程序(EXE),适用于Windows7及以上系统,无需额外配置系统环境,软件包含多种内核,包括IE内核,Chrome内核,以及WebView2(永久免费),适用于不同的使用场景.本文主要对串口API进行介绍,详细说明...
![]() |
我们在开发C#程序时,有时候会需要将报警信息通过语音进行播报,今天跟大家分享一下具体的实现过程。组件安装首先我们创建好一个Windows窗体项目,然后添加System.Speech库引用。点击引用,右击添加引用,在程序集中,找到System.Speech,这个库是Windows系统自带的,所以直接点击确定即可。当然,我...
![]() |
前言在开发桌面应用程序时,窗体加载过程中常常需要执行一些耗时操作,例如网络请求、数据库查询或复杂计算。如果这些操作没有适当的反馈机制,用户可能会因为等待时间过长而感到困惑甚至失去耐心。为了解决这一问题,我们可以通过引入加载条(LoadingBar)或加载动画(LoadingSpinner)来提升用户体验。加载条不仅提供...
|
解决方案设计架构概述
关键组件协调服务器:交换客户端端点信息P2P客户端:建立直接连接并设置端口转发Windows远程桌面:使用标准RDP协议完整代码实现1.协调服务器(P2PCoordinator.cs)usingSystem;usingSystem.Collections.Generic;usingSystem....
![]() |
下面是一个整合了TCP和UDP打洞技术的完整P2P解决方案。该方案优先尝试TCP连接,如果失败则自动回退到UDP连接,最大程度提高P2P连接成功率。整合后的P2P协调服务器方案下面提供完整的TCP/UDP混合P2P协调服务器方案代码,该服务器同时处理TCP和UDP请求,支持双协议P2P连接:1.协调服务器(Hybrid...
![]() |
永远在线的STUN服务器列表:AlwaysOnline:STUNServers项目地址:https://gitcode.com/gh_mirrors/al/always-online-stun在进行实时通信和网络传输时,STUN(简单TraversalofUserDatagramProtocolThroughNetw...
|
js如何自由调整table列的顺序
<tableid=myTable><tr><th>姓名</th><th>年龄</th><th>城市</th></tr><tr><td>张三</td><td>28</td><td>北京</td></tr><!--其他行--></table><script>functionreor...
|
在实际开发中,经常遇到程序崩溃闪退或者卡死的问题,在遇到这种问题的时候,往往很难捕捉异常,且日志也无法正常记录到问题发生的位置。在Windows操作系统中,dump文件就可以记录并保存程序崩溃时的快照,今天我们通过一个小例子,简述一种生成dump文件的方法,仅供学习分享使用,如有不足之处,还请指正。闪退场景在下面例子中...
![]() |
在实际应用中,经常需要用到数据的导入与导出,而在这些导入导出功能中,最常用的就是Excel格式,它能非常方便的实现格式化数据呈现。目前主流框架大多需要将数据全载入到内存方便操作,但如果数据量过大,这可能会导致内存消耗问题,今天介绍的MiniExcel尝试以Stream角度写底层算法逻辑,能让原本1000多MB占用降低到...
![]() |
两种打包exe文件的方式一、使用NuGet包Costura.Fody在软件开发过程中,有时需要将多个文件与可执行文件(exe)打包在一起,以便于分发和部署。在C#中,我们可以利用Costura.Fody等工具来实现这一目标。本文将介绍如何使用Costura.Fody来将文件夹与exe合并为一个exe。1、简介Costu...
![]() |
前言在C#开发中,计时器(Timer)是实现定时执行任务的重要工具。无论是执行后台轮询、定时刷新数据,还是控制程序节奏,Timer都扮演着关键角色。然而,.NET提供了多种不同类型的Timer类,各自适用于不同的场景和开发环境。本文将详细介绍C#中常用的四种Timer类型,包括它们的特性、工作原理、适用范围以及使用方法...
|
每隔几年,技术舞台上总会亮起一盏聚光灯,宣称将“终结”程序员这个职业。这一次,站在光圈中央的是AI编程。历史的回响:技术“替代”的循环剧回望技术发展史,相似的剧本已多次上演。数据库技术发展初期,SQL语言的诞生也曾引发类似讨论:“有了如此接近英语的查询语言,还需要专门的数据管理员吗?”但很快,数据建模的复杂性、查询性...
![]() |
前言在数据驱动的应用程序中,分页功能是提升用户体验的核心组件之一。传统WinForm并未提供开箱即用的分页控件,开发往往需要自行实现分页逻辑与交互设计。本文将介绍一个基于WinForm的高度可定制分页控件CPPageComponent,它支持动态页码生成、跳转、每页条目数选择等功能,并提供了丰富的样式配置选项。#Win...
![]() |
需求提出在WinForm开发过程中,我们常常会使用DataGridView来展示和操作数据。而当需求中要求嵌入按钮列,并支持按钮状态的启用/禁用切换时,事情就变得不那么简单了。最近我就遇到了这样一个看似简单实则棘手的需求:**在DataGridView中添加按钮列,并根据业务逻辑动态控制按钮是否可点击**。传统方案的困...
![]() |
“复制到剪贴板”是一个极为常见的web功能。多年来,我们一直依赖一个略显“古老”的API——document.execCommand(copy)。它曾是我们的得力助手,但现在,它已经被正式标记为废弃(Deprecated)。document.execCommand为何被时代抛弃?在拥抱新事物之前,我们有必要了解旧事物的...
![]() |
Windows事件日志Windows操作系统将与计算机的系统性能、应用程序和安全方面相关的每个事件记录在C:\WINDOWS\system32\winevt的日志中。事件查看器从这些原始事件日志中读取信息,然后以可读格式呈现信息。打开Windows事件查看器的方法:1、运行输入eventvwr2、Windows+X打开...
![]() |
委托的两个核心功能:一个是将函数作为参数传递,另一个是用来定义事件。1.将函数作为参数传递(实现回调机制)委托允许你将方法(函数)的引用作为参数传递给其他方法,从而实现回调(Callback)或高阶函数的机制(高阶函数是指可以接受函数作为参数,或者返回函数作为结果的函数)。这在事件处理、异步编程(如BeginInvok...
![]() |
本文作者:来自MoonWebTeam的clintlin腾讯高级前端工程师本文编辑:v_xguilin撰写这篇文章的原因在于,作为一名低代码的深度用户,笔者在日常工作中深度参与低代码相关的项目。因此,笔者希望能够清晰地阐述什么是低代码,以及低代码的组成,这不仅是对过去经验的总结,也是对未来低代码发展的畅想。1.低代码的概...
![]() |