.NET周刊【5月第1期 2024-05-05】
国内文章
一个开源轻量级的C#代码格式化工具(支持VS和VS Code)
https://www.cnblogs.com/Can-daydayup/p/18164905
CSharpier是一个开源、免费的C#代码格式化工具,特点是轻量级且依赖Roslyn引擎重构代码格式。支持的IDE包括Visual Studio (2019与2022) 和 Visual Studio Code等。该项目在GitHub上托管,并被集成到C#/.NET/.NET Core优秀项目框架精选列表中。DotNetGuide技术社区也推荐使用CSharpier,并为.NET开发者提供交流与学习的平台。
.NET开源、功能强大、跨平台的图表库 - LiveCharts2
https://www.cnblogs.com/Can-daydayup/p/18166862
LiveCharts2是一款.NET开源图表、地图和仪表库,特点是功能强大、简单、灵活且跨平台,支持多种平台如Maui、Uno Platform等。提供在线API文档,并可以通过NuGet安装。为预发行版本,教程举例说明了如何在Blazor Wasm中创建基础柱状图和包含延迟动画的图表。
【YoloDeployCsharp】基于.NET Framework的YOLO深度学习模型部署测试平台
https://www.cnblogs.com/guojin-blogs/p/18172502
该项目是一个基于.NET Framework 4.8开发的深度学习模型部署测试平台,支持YOLO系列模型(YOLOv8至YOLOv9)的图像和视频检测。模型部署采用OpenVINO™、TensorRT、ONNX runtime和OpenCV DNN引擎,在多种设备上提供推理功能。项目自行开发了OpenVINO™和TensorRT的C#接口,并在GitHub上提供源码。支持的模型包括从YOLOv5到YOLOv9以及YOLO World,通过不同的部署工具进行了算力测试。测试结果显示,在GPU上TensorRT具有较好的推理速度,而在CPU上OpenVINO表现出色。项目源码已开源于GitHub,同时提供了相关的搭建和使用教程。
Windows下绑定线程到指定的CPU核心
https://www.cnblogs.com/czwy/p/18166365
Windows操作系统提供了SetThreadAffinityMask和SetProcessAffinityMask两个Win32函数,用于将线程或进程绑定到指定的CPU逻辑核心上,以提高执行效率。这两个函数通过设置处理器关联掩码实现绑定,对于超过64核心的CPU需要使用SetThreadGroupAffinity。通过示例代码可以实现绑定线程到特定CPU核心并监测执行时间。这种技术可以帮助提升性能,减少缓存未命中,并且对实时系统和并发控制非常有用。但需要注意的是,如果所绑定的CPU核心已有高负荷,则可能导致性能降低。
您可知道如何通过HTTP2
实现TCP的内网穿透???
https://www.cnblogs.com/hejiale010426/p/18166935
由于服务器内部网站无法直接访问外网,需要通过申请特定端口才能访问外部IP和端口,这一过程耗时且繁琐。因此,开发了利用现有Http网关端口进行TCP服务转发的Taibai项目,这样可以避免频繁的端口申请和审批。项目中创建了Taibai.Core核心类库,其中的DelegatingStream类继承自Stream,并包装了一个内部流对象,重载了基类的读写和定位等方法,以实现特定的流操作功能。
.NET Emit 入门教程:第七部分:实战项目1:将 DbDataReader 转实体
https://www.cnblogs.com/cyq1162/p/18149511
通过.NET Emit中间语言编程可以提高程序性能。ORM实现分为三个阶段:初级阶段利用代码生成器生成基础增删改查代码,效率高但可维护性低;中级阶段使用反射来替代生成器,运行效率低但开发和可绑定性得提高,可通过缓存优化;高级阶段示例通过Emit和ADO.NET读取数据库数据到实体类,兼顾运行效率和可维护性。CYQ.Data的代码示例展示了如何使用Emit将DbDataReader转换到实体对象。
让.NET 8 支持 Windows Vista RTM
https://www.cnblogs.com/shanyou/p/18173208
Windows系统每次更新会增加许多API,导致新开源项目往往不再支持早期版本的Windows。.NET 8 AOT编译生成的程序需要Windows 7 SP1以上版本支持的三个函数,YY-Thunks项目通过动态加载和模拟API行为,解决了在旧版本Windows系统上运行程序的问题。该项目支持多种编译器和运行库,易于通过NuGet集成,最新版v1.0.10-Beta3支持了.NET 8的Native AOT。为确保项目兼容性,开发者应查阅YY-Thunks官方文档或源码。
C#开源的两款功能强大的录屏神器
https://www.cnblogs.com/Can-daydayup/p/18170962
ScreenToGif是由C#开发的开源屏幕录制及GIF制作工具,ShareX是基于.NET的截图、录屏软件。这两款软件均被收录在C#/.NET/.NET Core优秀项目和框架精选中,该精选旨在分享C#、.NET领域的最新动态和最佳实践。DotNetGuide技术社区提供.NET相关学习资料、技术分享、项目框架推荐等,支持开发者交流和成长。
推荐3款程序员常用的画图工具
https://www.cnblogs.com/Can-daydayup/p/18169082
大姚在DotNetGuide技术社区微信群中推荐了三款程序员常用的画图工具。ProcessOn是一款支持多种图形和实时协作的在线作图工具,虽然免费版有文件数量限制,它提供了AI生成思维导图流程图等功能。Excalidraw是一款开源的虚拟协作白板,可以手绘风格绘制图表。Draw.io是一款无需注册、完全免费的在线绘图工具,适合创建多种类型的图表。这三款工具都被整理到程序员常用工具软件栏目中,供开发者选择。
.NET CORE 完美支持AOT 的 ORM SqlSugar 教程
https://www.cnblogs.com/sunkaixuan/p/18170061
AOT适合于工具类项目且具有启动快、禁止反编译等优点,但不适宜于反射多的业务项目。SqlSugar的AOT版本经过实践反复迭代,已支持包括CodeFirst和异步方法,并且在生产中投入使用。支持的数据库有SqlServer(需要特定配置)、MySql、Sqlite和PostgreSQL,Oracle不支持。提供了AOT下的Hello World教程和SqlSugar的简单配置,但AOT存在功能限制,不适合大型项目,只有.NET基础API支持,不支持.NET MVC。
.Net 8.0 下的新RPC,IceRPC之试试的新玩法"打洞"
https://www.cnblogs.com/xlgwr/p/18169319
IceRPC技术使得防火墙无法阻碍客户端与服务端之间的通信,通过新玩法“打洞”,实现了客户端到服务端的通信模式的翻转。文章详述了IceRPC的调用机制,包括调用器invoker的获取与使用,以及如何在服务端推送通知至客户端。作者还演示了如何通过Slice接口实现服务器向客户端发送异常温度警报的推送通知功能。
自动化测试数据生成:Asp.Net Core单元测试利器AutoFixture详解
https://www.cnblogs.com/ruipeng/p/18163423
AutoFixture是一个开源的.NET库,用于简化单元测试中的安排阶段,并帮助自动生成测试数据。与Bogus相比,AutoFixture的优势在于其可以自动适应类的变化,减少维护成本。AutoFixture支持与NUnit和xUnit等.NET测试框架无缝集成,并且通过Create和CreateMany方法,可以便捷地生成各种类型的测试数据实例。
如何基于surging跨网关跨语言进行缓存降级
https://www.cnblogs.com/fanliang11/p/18173704
Surging是一个开源的微服务引擎,支持rpc服务治理和中间件,能够解决多语言协同研发中的配置统一和数据缓存问题。文章介绍了如何创建和使用拦截器,特别是缓存拦截器,和如何设置缓存键。还提供了如何在多语言调用中应用缓存拦截以及创建拦截模块的方法。文章解释了Surging的两种服务调用方式:接口代理调用和基于routepath调用,在基于接口的场景中,支持复杂类型参数的缓存拦截。
Blazor流程编排的艺术:深入Z.Blazor.Diagrams库的使用与实践
https://www.cnblogs.com/xuzeyu/p/18173547
在.NET生态中,Blazor是一个逐渐受到欢迎的前端框架。Z.Blazor.Diagrams库基于Blazor开发,可以高度自定义和扩展,帮助开发者实现流程编排。文章提到库受React图库启发,通过文档和示例帮助开发者快速理解其使用。作者介绍了如何在Blazor应用中引入ZBD,创建流程图,并自定义节点交互。
Asp-Net-Core开发笔记:进一步实现非侵入性审计日志功能
https://www.cnblogs.com/deali/p/18165737
该技术文章介绍了ASP.NET Core中通过应用AOP(面向切面编程)来实现动态审计日志功能的高级用法。作者对原有代码进行了重构,创建了新目录结构,并设计了EntityChangeInfo实体来保存实体变化。同时,对AuditLog对象进行了改进,使之包含更详细的操作日志信息。此外,文章还涉及了过滤器(AuditLogAttribute)的简化改进,省略了部分参数,增加了自动获取功能。
.Net 8.0 下的新RPC,IceRPC之使用Dev Containers进行 .NET QUIC 精简开发
https://www.cnblogs.com/xlgwr/p/18171004
本文是关于如何使用Dev Containers进行.NET的QUIC协议开发的指导文章。QUIC是一个注重性能和安全的传输协议,适合远程过程调用(RPCs)。但.NET对于QUIC的跨平台支持有限,因此通过使用Dev Containers可以解决这个问题,创建一个可移植、一致的开发环境。文章步骤详细,提供了创建和配置开发容器的详细指引。先决条件包括安装Docker和Visual Studio Code,并通过VS Code的Dev Containers扩展来构建开发容器。最后本文还展示了如何在容器中运行一个简单的QUIC服务器和客户端,以及生成服务器和客户端代码的命令。
.Net 8.0 下的新RPC,IceRPC之如何创建连接connection
https://www.cnblogs.com/xlgwr/p/18173254
IceRPC支持创建连接,连接是其核心功能,负责发送请求和接收响应。C#中可通过ClientConnection类或ConnectionCache类创建客户端连接,操作简便且可异步连接。服务端通过Server类实例接收连接,并可监听配置的地址上的新连接。连接既支持客户端也支持服务端,且无区别使用同一API。作者强调实践重要性,建议持续练习以提升技能,并欢迎交流。
.Net 8.0 下的新RPC,IceRPC之"请求"生命线意义非凡
https://www.cnblogs.com/xlgwr/p/18170054
本文讨论了在RPC(远程过程调用)系统中加入请求截止时间的重要性,以及不设截止时间可能给分布式系统带来的负面影响。文章解释了超时与截止时间的区别,并强调了在实现强健的分布式系统时,设置适当的截止时间的意义。基于截止时间的机制可以通过拦截器和中间件以灵活的方式在IceRPC中实现,提升了性能和可靠性。
Unity 热更–AssetBundle学习笔记 1.0【AB包资源加载工具类的实现】
https://www.cnblogs.com/TonyCode/p/18170759
这篇文章主要介绍了如何封装工具类来管理AssetBundle资源的加载。首先实现了一个确保AB资源包只加载一次的LoadAssetBundleManager单例类,采用Dictionary来记录加载的资源。文章还讲解了如何灵活获取主包路径、加载依赖包以及实现异步和同步加载资源的方法。最后,提供了卸载单个及所有AB资源包的功能。
C#的基于.net framework的Dll模块编程(五) - 编程手把手系列文章
https://www.cnblogs.com/lzhdim/p/18148913
本文介绍了在C#环境中使用DLL类库的三种方法:静态类、动态类和窗体,只需要引用类库并声明命名空间即可使用。同时也阐述了如何使用其他C# DLL库,方法与前述相同。针对VC++的DLL,需声明函数定义后方可使用,并给出了调用Windows API函数的例子。提供了示例下载链接。
主题
宣布推出第一个真正适用于移动、Web、桌面和嵌入式应用程序的 .NET 单一项目
https://platform.uno/blog/the-first-and-only-true-single-project-for-mobile-web-desktop-and-embedded-in-net/
Uno平台5.2已发布。
此版本包括对 Skia 渲染器的增强,以实现更好的性能、多窗口支持、对 Uno SDK 的改进、对 .NET 9 预览版的支持等。
此外,项目模板已更新,因此单个项目现在可以支持所有平台。
- 发布 5.2.80 · unoplatform/uno
版本 2.3.7 · mysql-net/MySqlConnector
https://github.com/mysql-net/MySqlConnector/releases/tag/2.3.7
MySqlConnector 2.3.7 已发布。
此版本修复了多个错误。
.NET Aspire 预览版 6 - .NET Aspire
https://learn.microsoft.com/en-us/dotnet/aspire/whats-new/preview-6
.NET Aspire 预览版 6 已发布。
此版本包括删除和修改过时的 API、Aspire 仪表板的令牌身份验证、对 Qdrant 矢量数据库的支持以及其他细微更改。
介绍 Elastic 的 OpenTelemetry SDK for .NET
https://www.elastic.co/jp/blog/elastic-opentelemetry-distribution-dotnet-applications
Elastic .NET OpenTelemetry SDK 的 Alpha 版本现已推出。
Elastic OpenTelemetry 发行版包括 Elastic 的 OpenTelemetry 的默认配置以及使用 OpenTelemetry SDK 的扩展。当前的 alpha 版本与普通版本几乎没有区别,但计划在未来添加更多功能。
使用 .NET 为 Microsoft AI 构建可扩展网关 - .NET 博客
https://devblogs.microsoft.com/dotnet/building-a-scalable-gateway-for-microsoft-ai/
使用 .NET 和 YARP 为 Microsoft 的 Bing 和 Copilot 等 AI 服务构建前端网关的案例研究。
本文介绍了利用 YARP 灵活配置(例如镜像、速率限制和动态配置更改)的示例。
发布 v8.1.0 · dotnet/orleans
https://github.com/dotnet/orleans/releases/tag/v8.1.0
Orleans v8.1.0 已发布。
此版本支持与 Aspire 集成,并包含各种修复和改进。
文章、幻灯片等
在 C# 中使用异步检测阻塞调用 | James Crosswell | 代码博客
https://www.jamescrosswell.dev/posts/async-detecting-blocking-calls
如何调查异步方法中的阻塞调用。
文章介绍了使用Ben.BlockingDetector进行检测,并将其合并到Sentry中,以便可以在Sentry上进行确认。
.NET 正则表达式 - 捕获
https://zenn.dev/sayurin/articles/76f6739d7ac75f
关于在 .NET 正则表达式中进行捕获。
当有多个命名捕获时该怎么办,如何在 F# 中自然地处理命名捕获等。
使用主构造函数重构 C# 代码 - .NET 博客
https://devblogs.microsoft.com/dotnet/csharp-primary-constructors-refactoring/
关于使用主构造函数进行重构。
本文介绍了一个示例,将构造函数中传递 ILogger 等内容的模式替换为主构造函数。
组装 .NET 的 AsciiMath 解析器
https://andrewlock.net/hacking-together-an-asciimath-parser-for-dotnet/
如何使用 .NET 中的 AsciiMath 解析器。
本文介绍了多种语言的 AsciiMath 解析器,并解释了如何最终使用 Jint 让 JavaScript 实现可从 .NET 运行。
配置 ASP.NET Core Minimal API 以进行生产和大规模使用 - Qiita
https://qiita.com/takashiuesaka/items/654c6e0d0bb7c92854a8
介绍使用 ASP.NET Core Minimal API 定义和实现 API 时组织代码的技术(翻译)。使用扩展方法进行聚合、使用MapGroup进行分组等。
- 组织 ASP.NET Core 最小 API
如何在 OpenTelemetry 中的两个跨度之间创建链接
https://dev.to/koma_koma_d/how-to-create-a-link-between-two-spans-in-opentelemetry-424i
关于如何创建连接 OpenTelemetry 跨度的跨度链接。
[JWT] 如何解决解码过程中出现的 Unable to demo the payload 错误
https://zenn.dev/o0rororo0o/articles/028202490cc99d
对于 Microsoft.AspNetCore.Authentication.JwtBearer 7.0.14 或更高版本,如果 JWT iat 字段为非数字,则会发生错误。
使用 SearchValues 优化 C# 中的字符串搜索
https://dev.to/admirmujkic/optimizing-string-searches-in-c-with-searchvalues-1105
关于“SearchValues”类的用法和性能,该类是在.NET 8中添加的,可以专门定义用于搜索特定值。
ReSharper 和 Rider 2024.1 的第一组错误修复已发布 | .NET 工具博客
https://blog.jetbrains.com/dotnet/2024/04/17/the-first-set-of-bug-fixes-for-resharper-and-rider-2024-1-are-here/
ReSharper 和 Rider 2024.1.1 已发布。
此版本是 ReSharper 和 Rider 2024.1 的第一个错误修复,修复了一些小缺陷。
itsmattkc/dotnet9x:.NET 2.0 - 3.5 向后移植到 Windows 9x
https://github.com/itsmattkc/dotnet9x
尝试将 .NET Framework 2.0-3.5 向后移植到 Windows 9x 的项目。
-[Yajiuma PC Watch]将.NET Framework反向移植到Windows 95的强者出现了
Visual Studio 会迁移到 .NET Core 并成为多平台吗? - NDepend 博客
https://blog.ndepend.com/visual-studio-multi-platform/
为了考虑 Visual Studio 是否会转换为 .NET CoreCLR,我们正在对 Visual Studio 当前的程序集结构进行调查和假设。
活动
C#性能学习会(2024/04/27 13:30~)
https://cs-reading.connpass.com/event/309714/
现代 C# .NET Web 开发 ~ gRPC、GraphQL、Blazor 也可用 ~ (2024/05/15 19:00~)
https://sansan.connpass.com/event/316664/
库、存储库、工具等。
Cysharp/KcpTransport:KcpTransport 是 RUDP 的纯 C# 实现,用于高性能实时网络通信
https://github.com/Cysharp/KcpTransport
KCP 的 .NET 移植实现(基于 UDP 的 RUDP 类协议)。
网站、文档等
推文
当一个局部函数被编译成IL时,它就变成了一个名称以“g_”开头的方法,但是关于“g_”。
https://x.com/khyperia/status/1782787967703998667?s=12
IList<T>
可能会变成 IReadOnlyList<T>
的故事。
https://x.com/terrajobst/status/1782922704997498982?s=12
深入探索
List Add 在 net9.0 Preview 3
中比在 net8.0
中慢得多(几乎是 3 倍) · Issue #101437 · dotnet/runtime
https://github.com/dotnet/runtime/issues/101437
关于 .NET 9 List 由于 JIT 更改而可能变慢的问题。目前,这种情况仅发生在 Apple Silicon (Arm64) 上。
https://x.com/davidfowl/status/1782961890580414894?s=12
版权声明
- 国内板块由 InCerry 进行整理 : https://github.com/InCerryGit/WeekRef.NET
- 其余内容来自 Myuki WeekRef,由InCerry翻译(已获得授权) : https://github.com/mayuki/WeekRef.NET
由于笔者没有那么多时间对国内的一些文章进行整理,欢迎大家为《.NET周刊-国内文章》板块进行贡献,需要推广自己的文章或者框架、开源项目可以下方的项目地址提交Issue或者在我的微信公众号私信。
格式如下:
- 10~50字左右的标题
- 对应文章或项目网址访问链接
- 200字以内的简介,如果太长会影响阅读体验
https://github.com/InCerryGit/.NET-Weekly
.NET性能优化交流群
相信大家在开发中经常会遇到一些性能问题,苦于没有有效的工具去发现性能瓶颈,或者是发现瓶颈以后不知道该如何优化。之前一直有读者朋友询问有没有技术交流群,但是由于各种原因一直都没创建,现在很高兴的在这里宣布,我创建了一个专门交流.NET性能优化经验的群组,主题包括但不限于:
- 如何找到.NET性能瓶颈,如使用APM、dotnet tools等工具
- .NET框架底层原理的实现,如垃圾回收器、JIT等等
- 如何编写高性能的.NET代码,哪些地方存在性能陷阱
希望能有更多志同道合朋友加入,分享一些工作中遇到的.NET性能问题和宝贵的性能分析优化经验。目前一群已满,现在开放二群。
如果提示已经达到200人,可以加我微信,我拉你进群: ls1075
另外也创建了QQ群,群号: 687779078,欢迎大家加入。
一直都没创建,现在很高兴的在这里宣布,我创建了一个专门交流.NET性能优化经验的群组,主题包括但不限于:
- 如何找到.NET性能瓶颈,如使用APM、dotnet tools等工具
- .NET框架底层原理的实现,如垃圾回收器、JIT等等
- 如何编写高性能的.NET代码,哪些地方存在性能陷阱
希望能有更多志同道合朋友加入,分享一些工作中遇到的.NET性能问题和宝贵的性能分析优化经验。目前一群已满,现在开放二群。
如果提示已经达到200人,可以加我微信,我拉你进群: ls1075
另外也创建了QQ群,群号: 687779078,欢迎大家加入。
相关文章:

.NET周刊【5月第1期 2024-05-05】
国内文章 一个开源轻量级的C#代码格式化工具(支持VS和VS Code) https://www.cnblogs.com/Can-daydayup/p/18164905 CSharpier是一个开源、免费的C#代码格式化工具,特点是轻量级且依赖Roslyn引擎重构代码格式。支持的IDE包括Visual Studio …...

springcloud -nacos实战
一、nacos 功能简介 1.1.什么是Nacos? 官方简介:一个更易于构建云原生应用的动态服务发现(Nacos Discovery )、服务配置(Nacos Config)和服务管理平台。 Nacos的关键特性包括: 服务发现和服务健康监测动态配置服务动态DNS服务服务及其元数…...

第十五章 数据管理成熟度评估练习
单选题 (每题1分,共19道题) 1、 [单选] 下列选项中属于数据管理成熟度2级特征的选项是? A:很少或没有治理;有限的工具集;单个竖井(系统)内定义角色;控件(如果有的话的应用完全不一致);未解决的数据质量问题 B:治理开始出现;引入一致的工具集;定义了一些角色和…...

tcpdump速查表
tcpdump 速查表 -D 列出网络设备 ~]$ sudo tcpdump -D1.eth02.nflog (Linux netfilter log (NFLOG) interface)3.nfqueue (Linux netfilter queue (NFQUEUE) interface)4.any (Pseudo-device that captures on all interfaces)5.lo [Loopback]-i 指定网卡 前面列出的设备可以…...

单元测试与集成测试:软件质量的双重保障
目录 概述 单元测试 集成测试 单元测试的方法 白盒测试 黑盒测试 白盒测试的方法和用例设计 代码审查 集成测试 单元测试工具 结语 在软件开发中,测试是一个不可或缺的环节,它能够帮助我们发现和修复缺陷,确保软件的质量和可靠性。…...

孙宇晨对话大公网:香港Web3政策友好环境示范意义重大
日前,全球知名华文媒体大公网发布《湾区web3大有可为》重磅系列报道。报道通过对中国香港与大湾区其他城市Web3政策、行业创新和生态建设等方面的梳理,以及对行业领袖和重要行业机构的走访,全面展现了在大湾区一体化发展的背景下,Web3等数字经济模式在该地区的长远发展潜力。 …...

Python运维之多线程!!
一、多线程 二、多线程编程之threading模块 2.1、使用threading进行多线程操作有两种方法: 三、多线程同步之Lock(互斥锁) 四、多线程同步之Semaphore(信号量) 五、多线程同步之Condition 六、多线程同步之Event…...

milvus插入数据时,明明不超长,但总是报长度错误?
在处理插入milvus数据时,设置了字段长度为512. 明明考虑了预留,插入的数据中没有这么长的,但还是会有报错 类似:MilvusException: (code0, messagethe length (564) of 78th string exceeds max length (512) 查找max(len(x) for …...

怎么把图片大小缩小到1M?教你几招图片你压缩
当我们的图片数量越来越多的时候,占用的内存也就越来越多,时间长了之后,会导致我们空间不足或者设备比较卡顿,为了缓解这个问题,很多人会选择去删除一些不必要的图片文件,其实还有个方法就是利用图片压缩的…...

python数据分析常见命令
前言 近些天我会整理一些我平时清理csv,excel数据经常用的常见命令来分享给大家学习,大家一起加油! 第一个命令:引入pandas库 pandas库是一个开源的数据分析工具,主要用于数据处理和数据分析。 import pandas as pd 第二个命令…...

等保测评技术方案(五)
(八)漏洞扫描方案 1.参与人员 乙方工程师:谭 然、张 剑等。 范围经过双方确认,此次评估的对象包括: 2.网络设备 IP 地址 设备型号 备注 / / / / / / 以现场测评实际数据为准 3.应用系统 地址 …...

Redis缓存的基本概念和使用
Redis缓存的基本概念和使用 什么是缓存Redis缓存缓存更新策略缓存穿透缓存雪崩缓存击穿缓存工具类封装 什么是缓存 缓存时数据交换的缓冲区,存储数据的临时区,读写性能较好。 例如计算机的三级缓存。CPU的计算速度超过内存的读写速度,为了平…...

MATLAB模拟退火算法、遗传算法、蚁群算法、粒子群算法
概况 模拟退火算法、遗传算法、蚁群算法、粒子群算法等算法,都是属于概率算法,不绝对,不迅速,能用其它方式解决的问题,不要用这些相对复杂的算法,比如有明确的线性关系或者非线性对应关系。这里的概率算法…...

git自用随笔
push失败 因为远程比本地新,要拉到本地进行合并。git pull拉取,拉取失败,本地分支没有和远程链接,使用git branch --set-upstream-toorigin/<branch> dev进行链接,链接后再次pull,pull提示合并冲突&a…...

CorelDRAW2024设计界的隐藏宝藏
CorelDRAW 2024是一款专业的平面设计软件,被广泛地应用于各类设计领域。它的功能强大、操作简便,是许多设计师的得力助手。在本文中,我们将详细解析这款软件的核心特性以及其在实际应用中的表现。 CDR永久版安装包百度云分享下载如下点击获取…...

【JAVA】递归
接着上一讲继续,内容不多,讲解一下递归相关内容。 1. 生活中的故事 从前有坐山,山上有座庙,庙里有个老和尚给小和尚将故事,讲的就是: "从前有座山,山上有座庙,庙里有个老和尚…...

MacOS java多版本安装与管理
Home - SDKMAN! the Software Development Kit Manager # 安装sdkman curl -s "https://get.sdkman.io" | bashsource "$HOME/.sdkman/bin/sdkman-init.sh"sdk version正常出现sdkman版本号就安装成功了 # 安装java # 安装java8 sdk install java 8.0…...

NSSCTF | [LitCTF 2023]我Flag呢?
这道题没啥好说的,题目标签为源码泄露,我们直接CtrlU查看网页源码就能在最后找到flag 本题完...

PostgreSQL-常用函数和操作符
PostgreSQL 中文社区 PL/pgSQL 是 PostgreSQL 中的一种存储过程语言,它支持许多常用的函数和操作符。下面列举了一些常用的 PL/pgSQL 函数和操作符: 1. 常用函数: RAISE:用于在存储过程中抛出异常。 RAISE EXCEPTION Error oc…...

河南大学大礼堂火灾事故引发安防监控对智能分析技术应用的思考
一、方案背景 2024年5月2日,在修缮施工期间的河南大学河南留学欧美预备学校旧址大礼堂发生火情。现场航拍画面显示,大礼堂经过火灾,房顶已经基本坍塌,被火烧过的建筑呈焦黑状。 公开资料显示,大礼堂属河南留学欧美预…...

自动化中遇到的问题归纳总结
1、动态元素定位不到 解决方法:尽量使用固定元素定位,如没有固定元素,则采用绝对路径进行定位,因为元素路径是唯一且不变的 2、自动化脚本执行速度较慢 尽量使用css方法定位元素,使用等待时,少用sleep方…...

UE4_照亮环境_不同雾效的动态切换
一、问题及思路: 我们在一个地图上,经常切换不同的区域,不同的区域可能需要不同的色调,例如暖色调的野外或者幽暗的山洞,这两种环境上,雾效的选用肯定不一样,夕阳西下的户外用的就是偏暖的色调&…...

【解决】Android APK文件安装时 已包含数字签名相同APP问题
引言 在开发Android程序过程中,编译好的APK文件,安装至Android手机时,有时会报 包含数字签名相同的APP 然后无法安装的问题,这可能是之前安装过同签名的APP,但是如果不知道哪个是,无法有效卸载,…...

layui的treeTable组件,多层级上传按钮失效的问题解决
现象描述: layui的treeTable 的上传按钮在一层能用,展开后其他按钮正常点击,上传按钮无效。 具体原因没有深究,大概率是展开的子菜单没有被渲染treeTable的done管理到,导致没有重绘上传按钮。 解决方案: 不使用layu的上传组件方法…...

HashMap在JDK1.8的优化
目录 数据结构上的优化 Hash碰撞问题解决方案的优化 Hash值算法的优化...

Kotlin标准函数和静态方法
标准函数 with 第一个参数是一个类型或者对象,第二个参数是lambda表达式。其中第一个参数为第二个参数提供上下文,返回值是最后一行。案例代码: fun main() {val list mutableListOf<String>()var ret with(list) {add("1&q…...

RabbitMQ(四种使用模式)
文章目录 1.Fanout(广播模式)1.基本介绍2.需求分析3.具体实现1.编写配置类 RabbitMQConfig.java2.编写生产者,发送消息到交换机 MQSender.java3.编写消费者,接受消息 MQReceiver.java4.控制层调用方法,发送信息到交换机…...

【UE5 C++】基础学习笔记——01 UObject的创建与使用
目录 步骤 一、创建UObject 二、创建基于UObject的蓝图类 三、在UObject中使用变量和函数 步骤 一、创建UObject 在内容浏览器中新建一个C类 父类选择“Object” 类的类型设置为公有,这里就命名为“MyObject”,点击“创建类”来创建头文件和源文…...

TCP及IP协议
TCP协议的传输是可靠的,而UDP协议的传输“尽力而为” TCP传输可靠性———确认,重传,排序,流控。 流控:滑动窗口机制 TTL--- 数据包每经过一个路由器的转发,他的TTL值将减1,当一个数据包中的T…...

运筹系列92:vrp算法包VROOM
1. 介绍 VROOM is an open-source optimization engine written in C20 that aim at providing good solutions to various real-life vehicle routing problems (VRP) within a small computing time. 可以解决如下问题: TSP (travelling salesman problem) CVRP …...