configuration源码core asp
Ef Core花里胡哨系列(5) 动态修改追踪的实体、动态查询
Ef Core花里胡哨系列(5) 动态修改追踪的实体、动态查询 同样还是IModelCacheKeyFactory,不过这次要采用主动刷新的方式。 实现DbContext 动态实体,根据配置等生成动态类型来当作数据库实体使用,当配置修改时,可以调用DynamicModelCacheKeyFactor ......
Rocketmq源码学习1——Rocketmq基础
1.什么是Rocketmq RocketMQ是一款开源的分布式消息中间件,由阿里巴巴团队最初开发,并于2016年贡献给Apache软件基金会,后成为Apache顶级项目。RocketMQ设计用于处理高并发、高吞吐量的场景,支持丰富的消息交互模式。 以下是RocketMQ的一些关键特性: 分布式架构: ......
Ef Core花里胡哨系列(4) 多租户
Ef Core花里胡哨系列(4) 多租户 当然,我们要考虑设计问题,例如,切换Schema或者改变数据库时,Ef Core同样也会刷新改实体的缓存,所以,首次查询将会很慢,不适合大表。 基于Schema实现多租户 在我的上一篇博客中 [Ef Core花里胡哨系列(3) 动态修改实体对应的表(分表)、 ......
Ef Core花里胡哨系列(2) 移除外键、扩展操作
Ef Core花里胡哨系列(2) 移除外键、扩展操作 虽然数据库的外键有着举足轻重的作用,但是在通常的软件设计中,很多人嫌弃麻烦,从而放弃了Ef Core的Codo-First模式而转向Db-First模式。但是Db-First不是很严谨,所以我这里就是提供一种相对折中的方式:在Code-Frist ......
Ef Core花里胡哨系列(3) 动态修改实体对应的表(分表)、多租户
Ef Core花里胡哨系列(3) 动态修改实体对应的表(分表)、多租户 Ef Core在加载的时候,会执行一次OnModelCreating用来加载所用到的实体。我们要做的就是刷新Ef Core上下文中之前缓存的内容。 分表 我们假如有一个程序,会每个月创建一个Table年月的表,我们要做的是每个月 ......
Ef Core花里胡哨系列(1) SafeDelete、ReadOnly、Audit 安全删除、只读、审计等
Ef Core花里胡哨系列(1) SafeDelete、ReadOnly、Audit 安全删除、只读、审计等 在软件设计中,软删除是一种常见的数据管理技术,用于标记和隐藏被删除的数据,而不是永久地从数据库中删除它们。软删除通常通过在数据表中添加一个额外的标志列(例如"IsDeleted")来实现。当 ......
CBV源码
三板斧问题 # 在视图函数中写函数和普通函数不太一样 # Django中使用的局部是request def index(request): pass HttpResponse:返回的字符串 render:返回的HTML页面,并且再返回给浏览器之前还可以给HTML文件传值 redirect:重定向 " ......
【OpenCV】 OpenCV 源码编译并实现 CUDA 加速 (Windows)
OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。项目源码由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算... ......
Linux内核listen系统调用源码分析
一、环境说明 内核版本:Linux 3.10 内核源码地址:https://elixir.bootlin.com/linux/v3.10/source (包含各个版本内核源码,且网页可全局搜索函数) 二、应用层-listen()函数 /** * sockfd:要监听的socket描述字 * back ......
【ASP.NET Core】使用SignalR推送服务器日志
一个多月前接手了一个产线机器人项目,上位机以读写寄存器的方式控制机器人,服务器就是用 ASP.NET Core 写的 Web API。由于前一位开发者写的代码质量问题,导致上位机需要16秒才能启动。经过我近一个月的改造,除了保留业务逻辑代码,其他的基本重写。如今上位机的启动时间在网络状态良好的条件下 ......
ASP.NET Core 配置系列一
ASP.NET Core 配置主要通过这3个文件设置: 1 项目文件也叫.csproj 文件 2 Program.cs 3 appsettings.json 这些配置告诉ASP.NET Core 应用程序基于用户的交互是如何工作的,在本节中我们理解ASP.NET Core 项目配置文件,我们创建一下 ......
ASP.NET Core Razor融合JS库Demo
cshtml.cs using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; namespace RazorTest.Pages { public class PrivacyModel : PageModel ......
Linux内核bind系统调用源码分析
一、环境说明 内核版本:Linux 3.10 内核源码地址:https://elixir.bootlin.com/linux/v3.10/source (包含各个版本内核源码,且网页可全局搜索函数) 二、应用层-bind()函数 将socket 套接字绑定指定的地址: /* * sockfd:由so ......
快速上手 dbt 数据转换工具 -- dbt core 命令进阶篇
引 根据第一篇文章的约定,我想通过接下来的几篇文章带大家进一步了解 dbt 的用法,原计划这篇文章我会介绍 dbt 命令的进阶用法,进一步认识 dbt 的配置以及如何创建增量表等等零零散散十几个方面的知识点,结果在我写完命令部分发现篇幅就过长了,考虑到大家对于知识的吸收,想了想还是把命令单独作为一个 ......
ASP.NET Core (.NET 7) 中的速率限制中间件
ASP.NET Core 中的速率限制中间件可以用于限制特定资源在一段时间内允许的请求次数。速率限制可以用于保护服务器资源,防止拒绝服务 (DoS) 攻击。Microsoft.AspNetCore.RateLimiting 或 AspNetCoreRateLimit 中间件提供速率限制中间件。 ......
Linux内核socket系统调用源码分析
一、环境说明 内核版本:Linux 3.10 内核源码地址:https://elixir.bootlin.com/linux/v3.10/source (包含各个版本内核源码,且网页可全局搜索函数) 二、应用层-socket()函数 应用层创建 socket 对象返回整型的文件描述符。 /* fam ......
ASP.NET Core 之路由相关
ASP.NET Core中路由的过程:routing middleware把传入的url与一系列模板进行比对,选择相应的endpoint handler,并将其记录在HttpContext上的request上。endpoint middleware执行选择的endpoint hander,并返回re ......
pysyncobj源码剖析和raft协议理解
什么是PySyncObj 源代码地址:https://github.com/bakwc/PySyncObj PySyncObj是一个python库,可以辅助去搭建一个可容错的分布式系统,通过复制备份你的应用数据在多个服务器上来达到。 实现的功能:基于raft协议的leader选举和日志复制;日志的压 ......
Asp .Net Core 集成 FluentValidation 强类型验证规则库
目录入门程序安装案例:登录验证器内置验证器自定义验证器编写自定义验证器可重复使用的属性验证器本地化DI自动验证 官网:https://docs.fluentvalidation.net/en/latest/index.html 入门程序 安装 使用 Visual Studio 中的 NuGet 包管 ......
ASP.NET Core MiniAPI中 EndPoint相关
1.状态码返回之演化之路 1.1最基本的就是用Results或者TypedResults返回带有状态码的响应(可选Json响应体) app.MapGet("/fruit/{id}", (string id) => { if (_fruit.TryGetValue(id, out Fruit frui ......
.Net Core WebAPI 缓存
Asp.Net Core WebAPI 缓存 一、缓存 缓存指在中间层中存储数据的行为,该行为可使后续数据检索更快。 从概念上讲,缓存是一种性能优化策略和设计考虑因素。 缓存可以显著提高应用性能,方法是提高不常更改(或检索成本高)的数据的就绪性。 二、RFC9111 在最新的缓存控制规范文件RFC9 ......
ASP.NET Core 6(.NET 6) Program.cs中使用读取appsettings.json配置文件
在ASP.NET Core 6 (.NET 6)中,可以使用Json格式的appsettings.json配置文件来配置应用程序,用于存储应用程序的配置信息,方便我们灵活的配置应用程序。本文主要介绍Program.cs中,使用读取appsettings.json配置文件的方法,以及相关的示例代码 ......
Volcano 原理、源码分析(一)
0. 总结前置 1. 概述 2. Volcano 核心概念 2.1 认识 Queue、PodGroup 和 VolcanoJob 2.2. Queue、PodGroup 和 VolcanoJob 的关系 3. Volcano 调度框架概览 4. 源码分析 4.1 Action 实现在哪里? 4.2 ......
CountDownLatch源码解析
CountDownLatch源码解析 countdown是倒计时的意思,latch是门闩的意思,也有门锁的意思,合起来字面意思就是一个倒计树计锁器的意思,先来看一个具体的案例分析大致了解 import java.util.concurrent.CountDownLatch; public class ......
如何在 EF Core 中使用乐观并发控制
什么是乐观并发控制? 乐观并发控制是一种处理并发访问的数据的方法,它基于一种乐观的假设,即认为并发访问的数据冲突的概率很低。在乐观并发控制中,系统不会立即对并发访问的数据进行加锁,而是在数据被修改时,再检查是否有其他并发操作已经修改了数据。如果检测到冲突,系统 再采取相应的措施来解决冲突。 EF C ......
Vite + ESBuild error: No loader is configured for ".node" files: node_modules/fsevents/fsevents.node
Vite + ESBuild error: No loader is configured for ".node" files: node_modules/fsevents/fsevents.node Add fsevents to your optimizeDeps exclude in your ......
.net core 单元测试项目搭建
背景和目的 为了提高系统稳定性,通常我们有两方面的计划: 黑盒测试:自动化测试,以接口来主体,通过控制入参的形式,检验出参,来模拟用户在线上的实际业务;(可以覆盖绝大部分的业务) 白盒测试:单元测试,以关键逻辑方法为主体,通过控制入参的形式,检验数据变化,站在开发的角度上来模拟实际调用(可以覆盖复杂 ......
ReentrantReadWriteLock源码阅读
ReentrantReadWriteLock源码阅读 目录ReentrantReadWriteLock源码阅读简介例子代码分析总览Syncstate定义lock count和hold countSync.HoldCounter类Sync类其他成员变量tryAcquiretryReleasetryAc ......
Taurus .Net Core 微服务开源框架:Admin 插件【4-8】 - 配置管理-Mvc【Plugin-Limit 接口访问限制、IP限制、Ack限制】
本篇主要介绍Taurus.Mvc 微服务框架的配置项:系统配置节点:Mvc - Plugin - Limit 接口访问限制、IP限制、Ack限制的相关内容。 ......
sync.Pool底层源码详解
Golang中sync.Pool用来提高对象复用几率,减少gc的压力,减少内存分配,它是线程安全的,常用来存储并复用临时对象。 任何存放区其中的值可以在任何时候被删除而不通知,在高负载下可以动态的扩容,在不活跃时对象池会收缩。 可伸缩的,其大小仅受限于内存的大小,可以被看作是一个存放可重用对象的值的 ......