.NET 9 预览版 3 发布
我们很高兴地宣布发布 .NET 9 预览版 3,其中包含 .NET 库、运行时和 SDK 的新功能和改进。此预览版带来了旨在提高性能、提高开发人员工作效率以及向 .NET 生态系统引入新功能的增强功能。让我们来探讨一下此版本中的一些主要亮点:1. TimeSpan.From 重载.NET 9 预览版 ...
2款Notepad++平替工具(实用、跨平台的文本编辑器)
前言 今天大姚给大家分享2款Notepad++平替工具,实用、跨平台(支持Window/MacOS/Linux操作系统平台)的文本编辑器。 NotepadNext NotepadNext是一个跨平台的 Notepad++ 的重新实现。开发是使用 QtCreator 和 Microsft Visual ...
【Nano Framework ESP32 篇】刷入 nanoCLR 固件以及相关问题
老周在几个世纪前曾写过树莓派相关的 iOT 水文,之所以没写 Nano Framework 相关的内容,是因为那时候这货还不成熟,可玩性不高。不过,这货现在已经相对完善,老周都把它用在项目上了——第一个是自制的智能插座,这个某宝上50多块可以买到,搜“esp32 插座”就能找到。一种是 86 型盒子 ...
Keycloak中授权的实现
在Keycloak中实现授权,首先需要了解与授权相关的一些概念。授权,简单地说就是某个(些)用户或者某个(些)用户组(Policy),是否具有对某个资源(Resource)具有某种操作(Scope)的权限(Permission)。所以,授权是一种权限管理,它建立在认证的基础上:用户首先要完成认证(A ...
.NET Emit 入门教程:第六部分:IL 指令:7:详解 ILGenerator 指令方法:分支条件指令
经过前面几篇的学习,我们了解到指令的大概分类,如:参数加载指令,该加载指令以 Ld 开头,将参数加载到栈中,以便于后续执行操作命令。参数存储指令,其指令以 St 开头,将栈中的数据,存储到指定的变量中,以方便后续使用。创建实例指令,其指令以 New 开头,用于在运行时动态生成并初始化对象。方法调用指... ...
.NET MAUI开源免费的UI工具包 - Uranium
前言 一直有小伙伴在微信公众号后台留言让我分享一下.NET MAUI相关的UI框架,今天大姚分享一个.NET MAUI开源、免费的UI工具包:Uranium。 Uranium介绍 Uranium是一个.NET MAUI开源免费的UI工具包。它提供了一组用于构建现代应用程序的控件和实用程序,它构建在. ...
.NET Aspire预览5版本 发布
2024年4月11日发布了.NET Aspire预览5版本,这个版本引入了对AWS的支持,并对Azure功能进行了改进。重点内容包括拆分Aspire.Hosting和Aspire.Hosting.Azure包,改进了应用程序模型,支持自定义资源在仪表板中更新状态,增强了与Visual Studio的 ...
Taurus.MVC 性能压力测试(ap 压测 和 linux 下wrk 压测):.NET Core 版本
对于 API 压测:旧电脑轻松就打满CPU,主要是被ab和其它应用吃了资源,所以压测上不去,去掉虚拟机两核后,还能压出2万3的qps,已经很不容易了。新电脑上限太高,连 wrk 都压不住,都上10万+了,CPU也才20%左右,可见一个高效的CPU对并发的提升是多么明显。最后部署在 Linux,可以感... ...
拥抱开源更省钱「GitHub 热点速览」
免费、低成本、自托管、开源替代品...这些词就是本周的热门开源项目的关键字。常见的 AI 提升图片分辨率的工具,大多是在线服务或者调用接口的客户端,而「Upscaler」是一款下载即用的免费 AI 图片修复(超分)工具,无需联网可离线使用。机械臂这个词大家应该不会陌生,我查了一下这东西(不是屏幕支架... ...
.NET Emit 入门教程:第六部分:IL 指令:6:详解 ILGenerator 指令方法:方法调用指令
本文探讨了.NET Emit 入门教程的第六部分,聚焦于ILGenerator中的方法调用指令。通过详细分析 ILGenerator 的使用方法和方法调用指令,读者可以更深入地了解.NET平台下动态生成代码的实现机制。通过本文的阅读,读者可以更加熟练地使用 ILGenerator 来动态生成高效、灵... ...
一个库帮你快速实现EF Core数据仓储模式
前言 EF Core是我们.NET日常开发中比较常用的ORM框架,今天大姚要分享的内容是如何使用EF Core Generic Repository通用仓储库来快速实现EF Core数据仓储模式。 EF Core Generic Repository介绍 该库是EF Core ORM的通用仓储库实现 ...
.NET Emit 入门教程:第六部分:IL 指令:5:详解 ILGenerator 指令方法:创建实例指令
在.NET Emit 入门教程的第六部分中,我们深入探讨了 ILGenerator 指令方法,特别是关于创建实例指令的详细解释。ILGenerator 是.NET框架中的一个强大工具,用于在运行时生成和执行IL代码。在这篇文章中,我们学习了如何使用 ILGenerator 来创建实例,其中主要涉及到... ...
记一次 .NET某管理局检测系统 内存暴涨分析
一:背景 1. 讲故事 前些天有位朋友微信找到我,说他们的WPF程序有内存泄漏的情况,让我帮忙看下怎么回事?并且dump也抓到了,网上关于程序内存泄漏,内存暴涨的文章不计其数,看样子这个dump不是很好分析,不管怎么说,上 windbg 说话。 二:WinDbg分析 1. 内存真的暴涨吗 在.NET ...
移动支付新时代——低代码如何对接支付宝和微信支付
前言 移动支付已经成为现代生活中不可或缺的一部分。随着技术的不断发展和普及,越来越多的人通过手机进行支付。支付宝和微信支付作为中国最主要的移动支付平台,已经成为人们日常生活中最常用的支付方式之一。然而,对于一些初创企业或者中小型企业来说,要接入支付宝和微信支付并不是一件容易的事情。传统的接入方式需要 ...
在Keycloak中实现多租户并在ASP.NET Core下进行验证
Keycloak是一个功能强大的开源身份和访问管理系统,提供了一整套解决方案,包括用户认证、单点登录(SSO)、身份联合、用户注册、用户管理、角色映射、多因素认证和访问控制等。它广泛应用于企业和云服务,可以简化和统一不同应用程序和服务的安全管理,支持自托管或云部署,适用于需要安全、灵活且易于扩展的用 ...
.NET Emit 入门教程:第六部分:IL 指令:4:详解 ILGenerator 指令方法:参数存储指令
上一篇介绍了 IL 指令的分类以及参数加载指令,该加载指令以ld开头,将参数加载到栈中,以便于后续执行操作命令。本篇开始介绍参数存储指令,其指令以st开头,将栈中的数据,存储到指定的变量中,以方便后续使用。 ...
实际项目中如何使用Git做分支管理
前言 Git是一种强大的分布式版本控制系统,在实际项目开发中使用Git进行分支管理是非常常见的做法,因为它可以帮助团队高效的协作和管理项目的不同版本,今天我们来讲讲在实际项目中最常用的Git分支管理策略Git Flow。 常见的Git分支管理策略 Git Flow: Git Flow是一种非常流行的 ...
C#数据去重的5种方式,你知道几种?
前言 今天我们一起来讨论一下关于C#数据去重的的5种方式,每种方法都有其特点和适用场景,我们根据具体需求选择最合适的方式。当然欢迎你在评论区留下你觉得更好的C#数据去重的方式。 使用HashSet去重 C# 中的 HashSet 是一种集合类型,它确保其中的元素是唯一的,不允许重复值的存在。当你尝试 ...
.NET Emit 入门教程:第六部分:IL 指令:3:详解 ILGenerator 指令方法:参数加载指令
本篇教程深入探讨了 ILGenerator 中的参数加载指令,通过详细解释Ldarg、Ldarga、Ldloc和Ldloca等指令的使用,读者能够清晰地认识到Ld指令用于加载参数或本地变量到堆栈,而St指令用于将值从堆栈存储到参数或本地变量中。这些指令为动态方法的生成提供了基础,帮助开发者更好地掌握... ...
为 AI 而生的编程语言「GitHub 热点速览」
Mojo 是一种面向 AI 开发者的新型编程语言。它致力于将 Python 的简洁语法和 C 语言的高性能相结合,以填补研究和生产应用之间的差距。Mojo 自去年 5 月发布后,终于又有动作了。最近,Mojo 的标准库核心模块已在 GitHub 上开源,采用 Apache 2 开源协议,开源后迅速受... ...