TensorRT C# API 项目更新 (1):支持动态Bath输入模型推理
1. 项目介绍 NVIDIA® TensRT™ 是一款用于高性能深度学习推理的 SDK,包括深度学习推理优化器和运行时,可为推理应用程序提供低延迟和高吞吐量。基于 NVIDIA TensRT 的应用程序在推理过程中的执行速度比纯 CPU 平台快 36 倍,使您能够优化在所有主要框架上训练的神经网络模型,以高精度校准低精度,并部署到超大规模数据中心、嵌入式平台或汽车产品平台。TensRT 基于 NVIDIA CUDA® 并行编程模型构建,使您能够在 NVIDIA GPU 上使用量化、层和张量融合、内核
consul:啥?我被优化没了?AgileConfig+Yarp替代Ocelot+Consul实现服务发现和自动网关配置
现在软件就业环境不景气,各行各业都忙着裁员优化。作为一个小开发,咱也不能光等着别人来优化咱,也得想办法优化下自己。就拿手头上的工作来说吧,我发现我的微服务应用里,既有AgileConfig这个配置中心组件,又有一个Consul 服务发现组件。本来吧他俩也没啥事,各干个的。但是,我在操作AgileConfig的时候发现了一个事 然后我又一百度发现了这个AgileConfig 1.6.0 发布 支持服务注册与发现 Agile.Zhou 博客园 (cnblogs.com),有点意思。稍微一思索,我们现在的
Taurus.MVC 性能压力测试(ap 压测 和 linux 下wrk 压测):.NET Core 版本
前言: 最近的 Taurus.MVC 版本,对性能这一块有了不少优化,因此准备进行一下压测,来测试并记录一下 Taurus.MVC 框架的性能,以便后续持续优化改进。 今天先压测 . Ce 版本,后续有时间再压测一下. 版本。 下面来看不同场景下的压测结果,以下测试结果会由两台电脑进行分别测试。 一、旧电脑环境:CPU :Intel(R) Ce(TM) i59400 CPU @ 2.90GHz 内核: 6 逻辑处理器: 6内存:16G程序在 .8 编绎,以 Kestrel 为主机直接运行在 Window
C#方法调用追溯:选择正确的方式,轻松找到调用者
概述:在C#中,寻找调用当前方法的方法可采用`StackTrace`和`CallerMemberName`两种方式。`StackTrace`通过分析堆栈信息提供详细信息,而`CallerMemberName`则简化了获取调用者方法名的过程,更轻量且效率较高。选择取决于需求,若需要堆栈信息,可选`StackTrace`;若只需调用者方法名,可使用更简便的`CallerMemberName`。 在C#中,有多种方法可以找到调用当前方法的方法。其中两种常用的方式是使用StackTrace和CallerMembe
05_ElementPlus安装过程
官网:一个 Vue 3 UI 框架 | Element Plus (elementplus.g) 1.安装:运行cmd,转到我的项目的目录下\vuedemo ,执行命令:npm install elementplus save 2.整体导入Elementplus修改mian.js文件impt { createApp } from 'vue'导入Pinia的createPinia方法用于创建Pinia实例(状态管理库) impt { createPinia } from 'pinia' 从 piniaplu
Avalonia中的自绘控件
在构建用户界面时,控件扮演着至关重要的角色。它们不仅负责展示内容,还处理用户的交互。然而,有时标准的控件库可能无法满足我们的需求,这时自绘控件就显得尤为重要。在Avalonia UI框架中,自绘控件允许我们完全掌控控件的渲染逻辑,实现高度自定义的UI元素。本文将深入探讨自绘控件的概念、优势、应用场景,并通过示例代码展示如何创建自绘控件以及自定义事件。 什么是自绘控件? 自绘控件,顾名思义,是指需要开发者自行绘制和渲染的控件。与传统的由框架负责渲染的控件不同,自绘控件的渲染逻辑完全由开发者掌控。这意味着开发
选择结构还是类?C#中的最佳实践与性能优化指南
概述:在C#中,选择使用结构(struct)而非类(class)取决于数据大小、不可变性和性能需求。结构适用于小型、不可变的数据对象,具有轻量级和高性能的优势。然而,对于复杂对象和需要继承的情况,应选择类。以下是一个简单的结构示例,演示了结构在栈上分配内存和不可变性的特性。在程序设计中,根据实际需求谨慎选择结构或类,以优化代码性能。 在C#中,结构(struct)和类(class)是两种用于创建自定义数据类型的方式。选择使用结构还是类取决于各种因素,包括性能、内存使用、语义等。下面详细讲解什么时候应该在C
02_使用Vite搭建Vue3项目
首先插件添加:Live Server、Vue Official、Vue VSCode Snippets、别名路径跳转 官网:Vite | 下一代的前端工具链 (vitejs.dev) 1.创建一个文件夹VueApp,运行cmd转到该目录下,执行命令:npm create vite@latest2.然后转到vuedemo目录下命令:cd vuedemo, 3.执行命令:npm install。文件夹内会新添加node_modules文件夹和packagelock.json文件。 npm会根据项目根目录下的
04_Vue Router
官网:Vue Router | Vue.js 的官方路由 (vuejs.g) 安装命令:npm install vuerouter@4 1.添加两个页面\vuedemo\src\views\index.vue、\vuedemo\src\views\content.vue 2.添加\vuedemo\src\router\index.js文件用来定义路由规则impt { createRouter createWebHashHisty createWebHisty } from "vuerouter"定义路由
Avalonia跨平台智能提问ChatAI
Avalonia跨平台智能提问ChatAI 1.写在前面 最近想做一个跨平台智能提问,在网上找了一些智能提问的资料。百度智能云和腾讯云。 2.AvaloniaAvalonia 是 Dot 的跨平台 UI 框架,提供灵活的样式系统,支持 Windows、macOS、Linux、iOS、roid 等多种平台。 Avalonia官方文档:https:docs.avaloniaui.zhHansdocswelcome 最新版本11.0 3.智能对话百度智能云:https:console.bce.baidu.com
.NET Emit 入门教程:第六部分:IL 指令:6:详解 ILGenerator 指令方法:方法调用指令
前言: 经过前面几篇的学习,我们了解到指令的大概分类,如: 参数加载指令,该加载指令以 Ld 开头,将参数加载到栈中,以便于后续执行操作命令。 参数存储指令,其指令以 St 开头,将栈中的数据,存储到指定的变量中,以方便后续使用。 创建实例指令,其指令以 New 开头,用于在运行时动态生成并初始化对象。 本篇介绍方法调用指令,该指令以 Call 开头,用于在运行时调用其它方法。 方法调用指令介绍: 在. Emit 中,方法调用指令是一种关键的操作,它允许我们在运行时动态地调用各种方法。 这些指令提供了一种
Avalonia的模板控件(Templated Controls)
在Avalonia的UI框架中,TemplatedControl是一个核心组件,它提供了一种强大的方式来创建可重用且高度可定制的控件。 本文将深入探讨TemplatedControl的概念、其带来的优势以及它在实际开发中的应用场景,并通过一个示例代码来展示其用法。 什么是TemplatedControl TemplatedControl是Avalonia中一个特殊的控件类型,它允许开发者定义控件的模板结构。 这个模板可以包含其他控件、布局、数据绑定等,从而定义控件的外观和行为。 通过将控件的逻辑和外观分离
01_node.js安装和使用
1.安装node.js : Node.js — Run Javript Everywhere (nodejs.g) 2.查看安装版本命令:node v 、 npm v, npm是Node.js包管理器 用来安装各种库、框架和工具。 3.查看当前的镜像源: npm get registry 4.设置当前镜像源:npm config set registry https:registry.npm.taobao.g 或 npm config set registry https:registry.npm
C#实现的下拉多选框,下拉多选树,多级节点
今天给大家上个硬货,下拉多选框,同时也是下拉多选树,支持父节点跟子节点!该控件是基于Telerik控件封装实现的,所以大家在使用的过程中需要引用Telerik.WinControls.dll、Telerik.WinControls.UI.dll,还有一些相关的类库,大家有需要的可以去网上自己找,另外我也会把一些动态库放到CSDN上面,大家需要可以去下载。[ToolboxItem(true)]public partial class DownTreeViewControl : RadControl{publ
WPF系列文章合集(低调奢华版)
自上一个系列文章写完之后,最近的两三个月时间,一直在写WPF相关技术文章,断断续续地写了近二十几篇文章,为了方便大家阅读,现将本系列文章分类整理,汇总如下。 浅谈WPF系列文章本系列共17篇文章,目录如下: 浅谈WPF之UI布局浅谈WPF之样式与资源浅谈WPF之各种Template浅谈WPF之Binding数据校验和类型转换浅谈WPF之路由事件浅谈WPF之属性系统浅谈WPF之控件模板和数据模板浅谈WPF之DataGrid过滤,分组,排序浅谈WPF之UnifmGrid和ItemsControl浅谈WPF
.NET Emit 入门教程:第六部分:IL 指令:5:详解 ILGenerator 指令方法:创建实例指令
前言: 上上篇介绍了 IL 指令的分类以及参数加载指令,该加载指令以 Ld 开头,将参数加载到栈中,以便于后续执行操作命令。 上一篇介绍参数存储指令,其指令以 St 开头,将栈中的数据,存储到指定的变量中,以方便后续使用。 本篇将介绍创建实例指令,其指令以 New 开头,用于在运行时动态生成并初始化对象。 创建实例指令简介 在. Emit 中,使用 ILGenerat 创建实例是一项重要的操作,它允许我们动态生成对象实例和数组实例的代码。 通过创建实例指令,我们可以在运行时动态生成并初始化对象,为程序提供
Avalonia的自定义用户组件
Avalonia中的自定义用户控件 Avalonia是一个跨平台的. UI框架,它允许开发者使用C#和XAML来构建丰富的桌面应用程序。 自定义用户控件(UserControl)是Avalonia中一种重要的组件,它允许我们将多个控件组合成一个可重用的单元。 本文将介绍如何在Avalonia中定义和使用自定义用户控件,并展示如何定义自定义事件与属性。 定义自定义用户控件 首先,我们需要定义一个自定义用户控件。 假设我们要创建一个简单的用户控件,它包含一个按钮和一个文本框,当点击按钮时,文本框的内容会发生变
记一次 .NET某管理局检测系统 内存暴涨分析
一:背景 1. 讲故事 前些天有位朋友微信找到我,说他们的WPF程序有内存泄漏的情况,让我帮忙看下怎么回事?并且dump也抓到了,网上关于程序内存泄漏,内存暴涨的文章不计其数,看样子这个dump不是很好分析,不管怎么说,上 windbg 说话。 二:WinDbg分析 1. 内存真的暴涨吗 在.调试训练营中我一直强调要相信数据,不要相信别人的一面之词,往往会把你带到沟里去,接下来使用 !address summary 观察下提交内存。0:000 !address summary Usage Summary
WPF开发一个可以自适应排列的Panel控件
一.控件介绍 初看标题可能无法理解,我们看看什么是自适应排列。乍一看它有点像WrapPanel控件,都是从左至右排列,如果一行排列不下就换行继续排列,但是细看你就会发现不对,WrapPanel控件行尾是不会对齐的,也就是说只要WrapPanel的子控件的宽度不一致,每一行的末尾就会必定留下一段空白,而这个控件每一行末尾都是对齐的,这就让人很疑惑了,既然每个子控件的宽度不一样,怎么可能每一行的子控件宽度都正好? 二.实现思路 首先我们要解决子控件高度问题,不同于WrapPanel控件取一个最
单元测试篇2-TDD三大法则解密
引言 在我们上一篇文章了解了单元测试的基本概念和用法之后,今天我们来聊一下 TDD(测试驱动开发) 测试驱动开发 (TDD) 测试驱动开发英文全称是Test Driven Development 简称 TDD。 根据 UncleBob 的 TDD 描述总结 我们先创建一个测试项目 直接在 VS 创建即可可以参考上一篇文章的创建过程 The Three Laws of TDD.You are not allowed to write any production code unless it is to m
在Keycloak中实现多租户并在ASP.NET Core下进行验证
Keycloak是一个功能强大的开源身份和访问管理系统,提供了一整套解决方案,包括用户认证、单点登录(SSO)、身份联合、用户注册、用户管理、角色映射、多因素认证和访问控制等。它广泛应用于企业和云服务,可以简化和统一不同应用程序和服务的安全管理,支持自托管或云部署,适用于需要安全、灵活且易于扩展的用户身份管理和访问控制的场景。 SaaS(Software as a Service,软件即服务)是一种软件分发模式,其中软件应用程序通过互联网托管并由服务提供商管理。用户通常通过订阅模式访问这些服务,而不是购买
Avalonia的UI组件
Avalonia是一个强大的跨平台UI框架,允许开发者构建丰富的桌面应用程序。 它提供了众多UI组件、灵活的布局系统、可定制的样式以及事件处理机制。 在这篇博客中,我们将详细解析Avalonia的UI组件、UI组件的生命周期、布局、样式和事件处理。 一、UI组件 Avalonia提供了丰富的UI组件,包括按钮(Button)、文本框(TextBox)、列表框(ListBox)等。这些组件可以通过XAML或C#代码进行创建和配置。 示例代码: 在XAML中定义一个按钮:Window xmlns="https
gRPC入门学习之旅(五)
gRPC入门学习之旅(一) gRPC入门学习之旅(二) gRPC入门学习之旅(三) gRPC入门学习之旅(四) 通过之前的文章,我们已经创建了gRPC的服务端应用程序,那么应该如何来使用这个服务端应用程序呢,接下来介绍如何通过客户端来使用这个服务端应用程序。 3、创建gRPC客户端 3.1、创建gRPC的控制台客户端项目 1. 在Visual Studio 2022菜单栏上选择“文件—》新建—》项目”。 或者在Visual St
Avalonia的Window生命周期
Avalonia中的Window 在Avalonia中,Window是一个基本的UI元素,它代表了一个应用程序的窗口。每个Window都可以包含其他的UI元素,如按钮、文本框等,并可以响应各种用户输入事件。 在下面的例子中,制定了当前应用的Window是MainWindowpublic partial class App : Application {public override void Initialize(){AvaloniaXamlLoader.Load(this)}public overrid
OOP 定义
面向对象编程(OOP)是一种使用对象及其相互作用设计应用和计算机程序的编程范例。 OOP 中有一些基本的编程概念:抽象化 (抽象化,也在我们编程世界中 所有类都是抽象化,物以类聚,拥有共同的特性或者行为)椅子类 人类 动物类 【本质就是归类】多态性 【一类多种表现形态】【本质就是抽象化的程度】封装形式 【抽像后的共同行为的封装【吹冷风】】,就是隐藏对象行为实现的细节。出冷风() 需要不需要管方法内部实现逻辑。【对接三方支付一样】继承【抽象过程,儿子(子类)可以继承父亲(父类)的共有财产】抽象通过建模适合
WPF实现树形下拉列表框(TreeComboBox)
前言树形下拉菜单是许多WPF应用程序中常见的用户界面元素,它能够以分层的方式展示数据,提供更好的用户体验。本文将深入探讨如何基于WPF创建一个可定制的树形下拉菜单控件,涵盖从原理到实际实现的关键步骤。 一、需求分析 树形下拉菜单控件的核心是将ComboBox与TreeView结合起来,以实现下拉时的树状数据展示。在WPF中,可以通过自定义控件模板、样式和数据绑定来实现这一目标。 我们首先来分析一下ComboBox控件的模板。ControlTemplate x:Key="ComboB
surging版本有哪些?
surging 一直在升级开发各个版本,以下是各个版本的费用,有需要可以联系或者可以聘请我为架构师,技术顾问,后期会升级多语言版本,推广至海外。 基于surging 的物联网技术架构平台版本:
2024.04.04 网站初步搭建完成
今天,我终于把自己耗时一年左右的时间搭建的一个网站终于初步完成了,这个网站就是咸蛋Online,这个从后端到前端都是自己一步一步摸索出来的,对于一个完全不懂前端的人来讲,过程可谓坎坷,借此,把这个过程记录下来,也和大家分享下。自己的文采不是很好,有很多想写但是写不出来的,大家多多包涵。 首先,从技术上来讲,项目是采用前后端分离的模式,后端使用.6.0+efce+sqlserver+redis,前端使用vue3+vite+type+elementplus 其中,项目
【Redis】.Net Core 面试破冰
目录1.Redis简介2.使用场景3.C# 具体使用介绍(Nuget)StackExchange.RedisFreeRedisNewLife.RedisServiceStack.Redis (收费)4.Redis 常用面试问题以及回答5.建议及经验分享建议Redis 经验分享ShareFlow 1.Redis简介 Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式、可选持久性的键值对(KeyValue)存储数据库,并提供多种语言的 API。 Redis
.Net单元测试xUnit和集成测试指南(1)
引言 在现代化的软件开发中,单元测试和集成测试是确保代码质量和可靠性的关键部分。ASP. Ce 社区内提供了强大的单元测试框架,xUnit 是其中之一,它提供了简单、清晰和强大的测试功能,编写单元测试有许多优点;有助于回归、提供文档及辅助良好的设计。下面几节我们来深入浅出探讨如何使用 xUnit 进行 ASP. Ce 应用程序的单元测试和集成测试。 内容大纲: xUnit 简介xUnit. 是一个免费、开源、面向社区的. 单元测试工具。由 NUnit v2 的原始发明者编写,xUnit. 是用于 C#和