compiler platform net sdk

【译】.NET 7 中的性能改进(五)

原文 | Stephen Toub 翻译 | 郑子铭 循环提升和克隆 (Loop Hoisting and Cloning) 我们之前看到PGO是如何与循环提升和克隆互动的,这些优化也有其他改进。 从历史上看,JIT对提升的支持仅限于将一个不变量提升到一个层级。 考虑一下这个例子: [Benchma ......
性能 NET

【译】.NET 7 中的性能改进(六)

原文 | Stephen Toub 翻译 | 郑子铭 矢量化 (Vectorization) SIMD,即单指令多数据 (Single Instruction Multiple Data),是一种处理方式,其中一条指令同时适用于多条数据。你有一个数字列表,你想找到一个特定值的索引?你可以在列表中一次 ......
性能 NET

【译】.NET 7 中的性能改进(七)

原文 | Stephen Toub 翻译 | 郑子铭 Arm64 在.NET 7中,大量的努力用于使Arm64的代码生成与x64的代码生成一样好或更好。我已经讨论了一些与架构无关的PR,还有一些是专门针对Arm的,但还有很多。我们来列举其中的一些。 寻址模式 (Addressing modes) " ......
性能 NET

【译】使用 ML.NET 进行机器学习 - 集群完整指南

原文 | Nikola M. Zivkovic 翻译 | 郑子铭 在之前的几篇文章中,我们探索了一些基本的机器学习算法。到目前为止,我们介绍了一些简单的回归算法,分类 算法。我们使用 ML.NET 实现和应用这些算法。到目前为止,我们探索了使用监督学习的算法。这意味着我们始终拥有用于训练机器学习模型 ......
集群 机器 指南 NET ML

如何将 Autofac 整合进 Net6.0 Core MVC 项目中

一、前言 1、简而言之 Asp.Net Core Mvc,我也用了很长一段时间了,它现在的编程模型和方式还是特别棒的,都是组件开发,什么都可以替换,当然了,您别抬杠,有些还是不能替换的。自从我们进入了跨平台开发的时代,IOC容器也成了一个不可或缺的东西了。微软为我们提供了一个默认实现,那就是 ISe ......
Autofac 项目 Net6 Core Net

如何在Net6.0里配置多版本支持并支持注释说明的Swagger

一、前言 现在已经进入了微服务的开发时代了,在这个时代,如果有人问你什么是微服务,你说不知道,就有点太丢人了,别人会有异样的眼光看你,俗话说:唾液淹死人。没办法,我们只能去学习新的东西。一提到微服务,有一个绕不过的话题就是作为微服务的载体,WebAPI是离不开的。但是我们今天不讲WebAPI是什么, ......
注释 Swagger 版本 Net6 Net

ASP.NET Core知识之RabbitMQ组件使用(二)

近期,业务调整,需要内网读取数据后存入到外网,同时,其他服务器也需要读取数据,于是我又盯上了RabbitMQ。在展开业务代码前,先看下RabbitMQ整体架构,可以看到Exchange和队列是多对多关系。 下面,我们详细说说RabbitMQ的队列模式:简单队列、工作队列、发布订阅模式、路由模式、主题 ......
组件 RabbitMQ 知识 Core ASP

.Net6 微服务之Ocelot+IdentityServer4入门看这篇就够了

前言 .Net 6 使用 Consul 实现服务注册与发现 看这篇就够了.Net6 使用 Ocelot + Consul 看这篇就够了.Net6 微服务之Polly入门看这篇就够了 书接上文,本文将继续建立在 .Net6 使用 Ocelot + Consul 看这篇就够了文章中的项目基础上来进行Oc ......

.NET微服务系统迁移至.NET6.0的故事

本次迁移涉及的是公司内部一个业务子系统,该系统是一个多样化的应用,支撑着公司的多个业务方向。目前,该系统由40多个基于.NET的微服务应用构成,使用数千个CPU核心和数TB内存,在数百个Linux容器中运行。每天,该系统需要处理数十亿次请求。 该系统其中大部分服务是在2018-2019年左右由老旧. ......
服务系统 NET 故事 系统 NET6

.NET遍历二维数组-先行/先列哪个更快?

上周在.NET性能优化群里面有一个很有意思的讨论,讨论的问题如下所示: 请教大佬:2D数组,用C#先遍历行再遍历列,或者先遍历列再遍历行,两种方式在性能上有区别吗? 据我所知,Julia或者python的 pandas,一般建议先遍历列,再遍历行 在群里面引发了很多大佬的讨论,总的来说观点分为以下三 ......
数组 更快 NET

.NET周报 【2月第2期 2023-02-11】

国内文章 SQLSERVER的truncate和delete有区别吗? https://mp.weixin.qq.com/s/wTIeW8rjj3cRzoaQcg2sOw 在面试中我相信有很多朋友会被问到 truncate 和 delete 有什么区别 ,这是一个很有意思的话题,本篇我就试着来回答一 ......
周报 2023 NET 02 11

.NET周报 【2月第3期 2023-02-18】

国内文章 2023 年.NET仓库社区年度调查已经开始 https://mp.weixin.qq.com/s/H9xUAO_yAdqm5CIHBs_eqA 中国地区是 .NET 的一个重要的市场和社区,有着众多的 .NET 开发者和爱好者。中国地区也有着很多优秀的 .NET 相关的项目和资源。这些项 ......
周报 2023 NET 02 18

【Oculus Interaction SDK】(十)在 VR 中使用手势识别

在 VR 中使用手势识别功能,并且能够根据手腕与手掌的不同方向区分手指状态相同的不同手势,如:“兔子”与“剪刀” ......
手势 Interaction Oculus SDK VR

【Oculus Interaction SDK】(七)使用射线进行交互(物体 & UI)

前言 前段时间 Oculus 的 SDK 频繁更新,很多已有的教程都不再适用于现在的版本了。本系列文章的主要目的是记录现版本常见功能的实现方法,便于自己后续开发。当然,不排除我文章刚写完 SDK 又变了的可能性,所以如果有人发现文章的内容已经不适用于新版本了,也可以留评论或者私信我,我会持续更新文章 ......
射线 物体 Interaction Oculus SDK

【Oculus Interaction SDK】(十二)Meta Quest 如何开启透视(Passthrough)

前言 前段时间 Oculus 的 SDK 频繁更新,很多已有的教程都不再适用于现在的版本了。本系列文章的主要目的是记录现版本常见功能的实现方法,便于自己后续开发。当然,不排除我文章刚写完 SDK 又变了的可能性,所以如果有人发现文章的内容已经不适用于新版本了,也可以留评论或者私信我,我会持续更新文章 ......
Interaction Passthrough Oculus Quest Meta

【Oculus Interaction SDK】(九)使用控制器时显示手的模型

前言 前段时间 Oculus 的 SDK 频繁更新,很多已有的教程都不再适用于现在的版本了。本系列文章的主要目的是记录现版本常见功能的实现方法,便于自己后续开发。当然,不排除我文章刚写完 SDK 又变了的可能性,所以如果有人发现文章的内容已经不适用于新版本了,也可以留评论或者私信我,我会持续更新文章 ......
控制器 Interaction 模型 Oculus SDK

快学会这个技能-.NET API拦截技法

大家好,我是沙漠尽头的狼。 本文先抛出以下问题,请在文中寻找答案,可在评论区回答: 什么是API拦截? 一个方法被很多地方调用,怎么在不修改这个方法源码情况下,记录这个方法调用的前后时间? 同2,不修改源码的情况下,怎么对方法的参数进行校正(篡改)? 同3,不修改源码的情况下,怎么对方法的返回值进行 ......
技法 技能 NET API

MongoDB从入门到实战之.NET Core使用MongoDB开发ToDoList系统(3)-系统数据集合设计

前言 前几章教程我们把ToDoList系统的基本框架搭建好了,现在我们需要根据我们的需求把ToDoList系统所需要的系统集合(相当于关系型数据库中的数据库表)。接下来我们先简单概述一下这个系统主要需要实现的功能以及实现这些功能我们需要设计那些数据库集合。 MongoDB从入门到实战的相关教程 Mo ......
MongoDB 系统 实战 ToDoList 数据

ASP.NET Core - 入口文件

1. 入口文件 一个应用程序总有一个入口文件,是应用启动代码开始执行的地方,这里往往也会涉及到应用的各种配置。当我们接触到一个新框架的时候,可以从入口文件入手,了解入口文件,能够帮助我们更好地理解应用的相关配置以及应用的工作方式。 .Net Core 应用的入口文件是 Program.cs,这里是应 ......
入口 文件 Core ASP NET

ASP.NET Core - IStartupFilter 与 IHostingStartup

1. IStartupFilter 上面讲到的方式虽然能够根据不同环境将Startup中的启动逻辑进行分离,但是有些时候我们还会可以根据应用中的功能点将将一系列相关中间件的注册封装到一起,从 Startup 类中分离,单独进行维护,以便更清晰地管理我们的代码。 这时候我们可以实现 IStartupF ......
IHostingStartup IStartupFilter Core ASP NET

ASP.NET6 + Mongo + OData

准备工作 Docker环境 Mongo数据库 配置Mongo数据库 ASP.NET6 集成Mongo 安装MongoDB.Driver { "Logging": { "LogLevel": { "Default": "Information", "Microsoft.AspNetCore": "Wa ......
Mongo OData NET6 ASP NET

【ASP.NET Core】动态映射MVC路由

ASP.NET Core 中的几大功能模块(Razor Pages、MVC、SignalR/Blazor、Mini-API 等等)都以终结点(End Point)的方式公开。在HTTP管道上调用时,其扩展方法基本是以 Map 开头,如 MapControllers、MapBlazorHub。 对于 ......
路由 动态 Core ASP NET

.Net 7 高端玩法,自定义一个CLR运行时

前言: 曾几何时,一直想自己定制一个CLR运行时玩玩。本篇带你一步一步打造一个属于自己的.Net 7运行时。 概括 假设你的电脑已经安装了.Net,并且运行正常。在进行自定义运行时之前,首先需要准备三样东西。 其一: 找到你当前安装的.Net宿主目录,一般的默认目录都是: C:\Program Fi ......
玩法 高端 Net CLR

.NET 团队 更新了 .NET 语言策略

2023年2月6日 ,.NET团队在官方博客上发布了.NET 语言策略的更新文章,具体参见 https://devblogs.microsoft.com/dotnet/update-to-the-dotnet-language-strategy/。微软在.NET平台上提供3种语言 - C#,F#和V ......
NET 团队 策略 语言

2023年 .NET Monorepo 来了

Monorepo(monolithic repository)是一种项目架构,简单来说就是,将多个项目或包文件放到一个git仓库来管理,很多前端项目vue3、element都是采用的这种架构模式。 之所以应用monorepo,主要是解决以下问题:代码复用的问题 。开发流程统一 。高效管理多项目/包。 ......
Monorepo 2023 NET

Asp.Net Core中利用过滤器控制Nginx的缓存时间

前言 Web项目中很多网页资源比如html、js、css通常会做服务器端的缓存,加快网页的加载速度 一些周期性变化的API数据也可以做缓存,例如广告资源位数据,菜单数据,商品类目数据,商品详情数据,商品列表数据,公共配置数据等,这样就可以省去很多在服务端手动实现缓存的操作 最早资源缓存大部分都用Ex ......
过滤器 缓存 时间 Nginx Core

.NET与大数据

前言 当别人做大数据用Java、Python的时候,我使用.NET做大数据、数据挖掘,这确实是值得一说的事。 写的并不全面,但都是实际工作中的内容。 .NET在大数据项目中,可以做什么? 写脚本(使用控制台程序+顶级语句) 写工具(使用Winform) 写接口、写服务 使用C#写代码的优点是什么? ......
数据 NET

ASP.NET Core RESTful学习理解

一、了解什么是REST REST是“REpresentational State Transfer”的缩写 ,表述性状态传递;REST是一种软件架构风格,用于构造简单、可靠、高性能的WEB应用程序;REST中,资源(Resource)是最基本的概念,任何能够命名的对象都是一个资源,每个资源都有一个统 ......
RESTful Core ASP NET

在 Asp.Net Core 中什么是认证和授权

认证(Authentication) 和 授权(Authorization)在 Asp.Net core 充当了两个不同的职责。有的老伙计在理解的时候还存在误解。本文我们将会通过一些简单的例子来说明这两个概念。 ......
Core Asp Net

.NET 6学习笔记(7)——ASP.NET Core通过配置文件启用HTTPS

本质上我还是一个Windows App Developer,所以虽然会做一些ASP.NET Core的工作,但通常这些ASP.NET Core的程序会托管在Windows Service上,并且大部分时候跑在局域网环境。说实话传统行业的Win DEV对Web这一套其实不怎么精通,今天我们来看一下AS ......
NET 文件 笔记 HTTPS Core